[Home] [Help]
PACKAGE BODY: APPS.XLA_00200_AAD_S_000002_PKG
Source
1 PACKAGE BODY XLA_00200_AAD_S_000002_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_000002_PKG |
10 | |
11 | DESCRIPTION |
12 | Package generated From Product Accounting Definition |
13 | Name : Accrual Basis |
14 | Code : ACCRUAL |
15 | Owner : PRODUCT |
16 | Version : |
17 | AMB Context Code: DEFAULT |
18 | HISTORY |
19 | Generated at 30-03-2009 at 05:03:39 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_000002_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_000002_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_000002_PKG.ValidateLookupMeaning');
204 --
205 END ValidateLookupMeaning;
206 --
207 --
208
209 FUNCTION GetMeaning (
210 p_flex_value_set_id IN INTEGER
211 , p_flex_value IN VARCHAR2
212 , p_source_code IN VARCHAR2
213 , p_source_type_code IN VARCHAR2
214 , p_source_application_id IN INTEGER
215 )
216 RETURN VARCHAR2
217 IS
218 BEGIN
219 --
220 RETURN NULL ;
221 --
222 EXCEPTION
223 WHEN xla_exceptions_pkg.application_exception THEN
224 RAISE;
225 WHEN OTHERS THEN
226 xla_exceptions_pkg.raise_message
227 (p_location => 'XLA_00200_AAD_S_000002_PKG.GetMeaning');
228 END GetMeaning;
229 --
230
231 ---------------------------------------
232 --
233 -- PRIVATE FUNCTION
234 -- Description_1
235 --
236 ---------------------------------------
237 FUNCTION Description_1 (
238 p_application_id IN NUMBER
239 , p_ae_header_id IN NUMBER DEFAULT NULL
240 --Invoice Distribution Description
241 , p_source_1 IN VARCHAR2
242 )
243 RETURN VARCHAR2
244 IS
245 l_component_type VARCHAR2(80) ;
246 l_component_code VARCHAR2(30) ;
247 l_component_type_code VARCHAR2(1) ;
248 l_component_appl_id INTEGER ;
249 l_amb_context_code VARCHAR2(30) ;
250 l_ledger_language VARCHAR2(30) ;
251 l_source VARCHAR2(1996) ;
252 l_description VARCHAR2(2000) ;
253 l_log_module VARCHAR2(240) ;
254 BEGIN
255 IF g_log_enabled THEN
256 l_log_module := C_DEFAULT_MODULE||'.Description_1';
257 END IF;
258 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
259 trace
260 (p_msg => 'BEGIN of Description_1'
261 ,p_level => C_LEVEL_PROCEDURE
262 ,p_module => l_log_module);
263 END IF;
264
265 l_ledger_language := xla_ae_journal_entry_pkg.g_cache_ledgers_info.description_language;
266 l_component_type := 'AMB_DESCRIPTION';
267 l_component_code := 'JE_INV_DIST_DESCRIPTION';
268 l_component_type_code := 'S';
269 l_component_appl_id := 200;
270 l_amb_context_code := 'DEFAULT';
271 l_source := NULL;
272 l_description := NULL;
273
274
275
276 l_source := SUBSTR(p_source_1,1,1996);
277 IF l_source IS NOT NULL THEN
278 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
279 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
280 END IF;
281 l_description := SUBSTR(l_description,1,1996);
282 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
283 trace
284 (p_msg => 'END of Description_1'
285 ,p_level => C_LEVEL_PROCEDURE
286 ,p_module => l_log_module);
287
288 END IF;
289 RETURN l_description;
290
291 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
292 trace
293 (p_msg => 'END of Description_1'
294 ,p_level => C_LEVEL_PROCEDURE
295 ,p_module => l_log_module);
296 END IF;
297 RETURN NULL;
298 EXCEPTION
299 WHEN VALUE_ERROR THEN
300 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
301 trace
302 (p_msg => 'ERROR: '||sqlerrm
303 ,p_level => C_LEVEL_EXCEPTION
304 ,p_module => l_log_module);
305 END IF;
306 RAISE;
307 WHEN xla_exceptions_pkg.application_exception THEN
308 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
309 trace
310 (p_msg => 'ERROR: '||sqlerrm
311 ,p_level => C_LEVEL_EXCEPTION
312 ,p_module => l_log_module);
316 xla_exceptions_pkg.raise_message
313 END IF;
314 RAISE;
315 WHEN OTHERS THEN
317 (p_location => 'XLA_00200_AAD_S_000002_PKG.Description_1');
318 END Description_1;
319
320 ---------------------------------------
321 --
322 -- PRIVATE FUNCTION
323 -- Description_2
324 --
325 ---------------------------------------
326 FUNCTION Description_2 (
327 p_application_id IN NUMBER
328 , p_ae_header_id IN NUMBER DEFAULT NULL
329 --Invoice Number
330 , p_source_3 IN VARCHAR2
331 --Invoice Date
332 , p_source_4 IN DATE
333 --Invoice Document Sequence Category
334 , p_source_5 IN VARCHAR2
335 --Document Sequence Name
336 , p_source_6 IN VARCHAR2
337 --Invoice Voucher Number from Sequential Numbering
338 , p_source_7 IN NUMBER
339 --Invoice Description
340 , p_source_8 IN VARCHAR2
341 )
342 RETURN VARCHAR2
343 IS
344 l_component_type VARCHAR2(80) ;
345 l_component_code VARCHAR2(30) ;
346 l_component_type_code VARCHAR2(1) ;
347 l_component_appl_id INTEGER ;
348 l_amb_context_code VARCHAR2(30) ;
349 l_ledger_language VARCHAR2(30) ;
350 l_source VARCHAR2(1996) ;
351 l_description VARCHAR2(2000) ;
352 l_log_module VARCHAR2(240) ;
353 BEGIN
354 IF g_log_enabled THEN
355 l_log_module := C_DEFAULT_MODULE||'.Description_2';
356 END IF;
357 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
358 trace
359 (p_msg => 'BEGIN of Description_2'
360 ,p_level => C_LEVEL_PROCEDURE
361 ,p_module => l_log_module);
362 END IF;
363
364 l_ledger_language := xla_ae_journal_entry_pkg.g_cache_ledgers_info.description_language;
365 l_component_type := 'AMB_DESCRIPTION';
366 l_component_code := 'JE_INV_HEADER _DESC';
367 l_component_type_code := 'S';
368 l_component_appl_id := 200;
369 l_amb_context_code := 'DEFAULT';
370 l_source := NULL;
371 l_description := NULL;
372
373
374 IF p_source_7 IS NOT NULL
375 THEN
376
377 l_source := SUBSTR(
378 xla_ae_sources_pkg.GetSystemSourceChar(
379 p_source_code => 'XLA_EVENT_TYPE_NAME'
380 , p_source_type_code => 'Y'
381 , p_source_application_id => 602
382 ),1,1996);
383 IF l_source IS NOT NULL THEN
384 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
385 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
386 END IF;
387 IF
388 l_ledger_language = 'US' THEN
389 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
390 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
391 END IF;
392 IF
393 l_ledger_language = 'US' THEN
394 l_description := SUBSTR(CONCAT(l_description,'Invoice Number:'),1,2000);
395 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
396 END IF;
397 l_source := SUBSTR(p_source_3,1,1996);
398 IF l_source IS NOT NULL THEN
399 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
400 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
401 END IF;
402 IF
403 l_ledger_language = 'US' THEN
404 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
405 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
406 END IF;
407 IF
408 l_ledger_language = 'US' THEN
409 l_description := SUBSTR(CONCAT(l_description,'Date:'),1,2000);
410 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
411 END IF;
412 l_source := SUBSTR(xla_ae_sources_pkg.DATE_TO_CHAR(p_source_4,
413 xla_ae_journal_entry_pkg.g_cache_ledgers_info.nls_desc_language),1,1996);
414 IF l_source IS NOT NULL THEN
415 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
416 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
417 END IF;
418 IF
419 l_ledger_language = 'US' THEN
420 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
421 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
422 END IF;
423 IF
424 l_ledger_language = 'US' THEN
425 l_description := SUBSTR(CONCAT(l_description,'Document Sequence Category:'),1,2000);
426 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
427 END IF;
428 l_source := SUBSTR(p_source_5,1,1996);
429 IF l_source IS NOT NULL THEN
430 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
431 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
432 END IF;
433 IF
434 l_ledger_language = 'US' THEN
435 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
436 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
437 END IF;
438 IF
439 l_ledger_language = 'US' THEN
440 l_description := SUBSTR(CONCAT(l_description,'Document Sequence Name:'),1,2000);
441 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
442 END IF;
443 l_source := SUBSTR(p_source_6,1,1996);
444 IF l_source IS NOT NULL THEN
445 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
449 l_ledger_language = 'US' THEN
446 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
447 END IF;
448 IF
450 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
451 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
452 END IF;
453 IF
454 l_ledger_language = 'US' THEN
455 l_description := SUBSTR(CONCAT(l_description,'Invoice Voucher Number:'),1,2000);
456 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
457 END IF;
458 l_source := SUBSTR(TO_CHAR(p_source_7),1,1996);
459 IF l_source IS NOT NULL THEN
460 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
461 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
462 END IF;
463 IF
464 l_ledger_language = 'US' THEN
465 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
466 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
467 END IF;
468 IF
469 l_ledger_language = 'US' THEN
470 l_description := SUBSTR(CONCAT(l_description,'Invoice Description:'),1,2000);
471 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
472 END IF;
473 l_source := SUBSTR(p_source_8,1,1996);
474 IF l_source IS NOT NULL THEN
475 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
476 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
477 END IF;
478 l_description := SUBSTR(l_description,1,1996);
479 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
480 trace
481 (p_msg => 'END of Description_2'
482 ,p_level => C_LEVEL_PROCEDURE
483 ,p_module => l_log_module);
484
485 END IF;
486 RETURN l_description;
487
488 ELSIF p_source_7 IS NULL
489 THEN
490
491 l_source := SUBSTR(
492 xla_ae_sources_pkg.GetSystemSourceChar(
493 p_source_code => 'XLA_EVENT_TYPE_NAME'
494 , p_source_type_code => 'Y'
495 , p_source_application_id => 602
496 ),1,1996);
497 IF l_source IS NOT NULL THEN
498 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
499 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
500 END IF;
501 IF
502 l_ledger_language = 'US' THEN
503 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
504 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
505 END IF;
506 IF
507 l_ledger_language = 'US' THEN
508 l_description := SUBSTR(CONCAT(l_description,'Invoice Number:'),1,2000);
509 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
510 END IF;
511 l_source := SUBSTR(p_source_3,1,1996);
512 IF l_source IS NOT NULL THEN
513 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
514 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
515 END IF;
516 IF
517 l_ledger_language = 'US' THEN
518 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
519 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
520 END IF;
521 IF
522 l_ledger_language = 'US' THEN
523 l_description := SUBSTR(CONCAT(l_description,'Invoice Date:'),1,2000);
524 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
525 END IF;
526 l_source := SUBSTR(xla_ae_sources_pkg.DATE_TO_CHAR(p_source_4,
527 xla_ae_journal_entry_pkg.g_cache_ledgers_info.nls_desc_language),1,1996);
528 IF l_source IS NOT NULL THEN
529 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
530 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
531 END IF;
532 IF
533 l_ledger_language = 'US' THEN
534 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
535 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
536 END IF;
537 IF
538 l_ledger_language = 'US' THEN
539 l_description := SUBSTR(CONCAT(l_description,'Invoice Description:'),1,2000);
540 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
541 END IF;
542 l_source := SUBSTR(p_source_8,1,1996);
543 IF l_source IS NOT NULL THEN
544 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
545 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
546 END IF;
547 l_description := SUBSTR(l_description,1,1996);
548 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
549 trace
550 (p_msg => 'END of Description_2'
551 ,p_level => C_LEVEL_PROCEDURE
552 ,p_module => l_log_module);
553
554 END IF;
555 RETURN l_description;
556
557 END IF;
558 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
559 trace
560 (p_msg => 'END of Description_2'
561 ,p_level => C_LEVEL_PROCEDURE
562 ,p_module => l_log_module);
563 END IF;
564 RETURN NULL;
565 EXCEPTION
566 WHEN VALUE_ERROR THEN
567 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
568 trace
569 (p_msg => 'ERROR: '||sqlerrm
570 ,p_level => C_LEVEL_EXCEPTION
571 ,p_module => l_log_module);
572 END IF;
573 RAISE;
574 WHEN xla_exceptions_pkg.application_exception THEN
575 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
576 trace
580 END IF;
577 (p_msg => 'ERROR: '||sqlerrm
578 ,p_level => C_LEVEL_EXCEPTION
579 ,p_module => l_log_module);
581 RAISE;
582 WHEN OTHERS THEN
583 xla_exceptions_pkg.raise_message
584 (p_location => 'XLA_00200_AAD_S_000002_PKG.Description_2');
585 END Description_2;
586
587 ---------------------------------------
588 --
589 -- PRIVATE FUNCTION
590 -- Description_3
591 --
592 ---------------------------------------
593 FUNCTION Description_3 (
594 p_application_id IN NUMBER
595 , p_ae_header_id IN NUMBER DEFAULT NULL
596 --Document Sequence Name
597 , p_source_6 IN VARCHAR2
598 --Payment Document Voucher Number
599 , p_source_9 IN NUMBER
600 --Payment Transaction Number
601 , p_source_10 IN NUMBER
602 --Payment Document Date
603 , p_source_11 IN DATE
604 --Bank Account Name
605 , p_source_12 IN VARCHAR2
606 --Payment Currency Code
607 , p_source_13 IN VARCHAR2
608 )
609 RETURN VARCHAR2
610 IS
611 l_component_type VARCHAR2(80) ;
612 l_component_code VARCHAR2(30) ;
613 l_component_type_code VARCHAR2(1) ;
614 l_component_appl_id INTEGER ;
615 l_amb_context_code VARCHAR2(30) ;
616 l_ledger_language VARCHAR2(30) ;
617 l_source VARCHAR2(1996) ;
618 l_description VARCHAR2(2000) ;
619 l_log_module VARCHAR2(240) ;
620 BEGIN
621 IF g_log_enabled THEN
622 l_log_module := C_DEFAULT_MODULE||'.Description_3';
623 END IF;
624 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
625 trace
626 (p_msg => 'BEGIN of Description_3'
627 ,p_level => C_LEVEL_PROCEDURE
628 ,p_module => l_log_module);
629 END IF;
630
631 l_ledger_language := xla_ae_journal_entry_pkg.g_cache_ledgers_info.description_language;
632 l_component_type := 'AMB_DESCRIPTION';
633 l_component_code := 'JE_PAYMENT_HEADER_DESC';
634 l_component_type_code := 'S';
635 l_component_appl_id := 200;
636 l_amb_context_code := 'DEFAULT';
637 l_source := NULL;
638 l_description := NULL;
639
640
641 IF p_source_9 IS NOT NULL
642 THEN
643
644 l_source := SUBSTR(
645 xla_ae_sources_pkg.GetSystemSourceChar(
646 p_source_code => 'XLA_EVENT_TYPE_NAME'
647 , p_source_type_code => 'Y'
648 , p_source_application_id => 602
649 ),1,1996);
650 IF l_source IS NOT NULL THEN
651 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
652 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
653 END IF;
654 IF
655 l_ledger_language = 'US' THEN
656 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
657 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
658 END IF;
659 IF
660 l_ledger_language = 'US' THEN
661 l_description := SUBSTR(CONCAT(l_description,'Payment Document Sequence Name:'),1,2000);
662 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
663 END IF;
664 l_source := SUBSTR(p_source_6,1,1996);
665 IF l_source IS NOT NULL THEN
666 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
667 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
668 END IF;
669 IF
670 l_ledger_language = 'US' THEN
671 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
672 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
673 END IF;
674 IF
675 l_ledger_language = 'US' THEN
676 l_description := SUBSTR(CONCAT(l_description,'Payment Document Sequence Number:'),1,2000);
677 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
678 END IF;
679 l_source := SUBSTR(TO_CHAR(p_source_9),1,1996);
680 IF l_source IS NOT NULL THEN
681 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
682 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
683 END IF;
684 IF
685 l_ledger_language = 'US' THEN
686 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
687 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
688 END IF;
689 IF
690 l_ledger_language = 'US' THEN
691 l_description := SUBSTR(CONCAT(l_description,'Payment Number:'),1,2000);
692 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
693 END IF;
694 l_source := SUBSTR(TO_CHAR(p_source_10),1,1996);
695 IF l_source IS NOT NULL THEN
696 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
697 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
698 END IF;
699 IF
700 l_ledger_language = 'US' THEN
701 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
702 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
703 END IF;
704 IF
705 l_ledger_language = 'US' THEN
706 l_description := SUBSTR(CONCAT(l_description,'Payment Date:'),1,2000);
707 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
708 END IF;
709 l_source := SUBSTR(xla_ae_sources_pkg.DATE_TO_CHAR(p_source_11,
710 xla_ae_journal_entry_pkg.g_cache_ledgers_info.nls_desc_language),1,1996);
711 IF l_source IS NOT NULL THEN
715 IF
712 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
713 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
714 END IF;
716 l_ledger_language = 'US' THEN
717 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
718 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
719 END IF;
720 IF
721 l_ledger_language = 'US' THEN
722 l_description := SUBSTR(CONCAT(l_description,'Bank Name:'),1,2000);
723 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
724 END IF;
725 l_source := SUBSTR(p_source_12,1,1996);
726 IF l_source IS NOT NULL THEN
727 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
728 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
729 END IF;
730 IF
731 l_ledger_language = 'US' THEN
732 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
733 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
734 END IF;
735 IF
736 l_ledger_language = 'US' THEN
737 l_description := SUBSTR(CONCAT(l_description,'Payment Currency Code'),1,2000);
738 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
739 END IF;
740 l_source := SUBSTR(p_source_13,1,1996);
741 IF l_source IS NOT NULL THEN
742 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
743 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
744 END IF;
745 l_description := SUBSTR(l_description,1,1996);
746 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
747 trace
748 (p_msg => 'END of Description_3'
749 ,p_level => C_LEVEL_PROCEDURE
750 ,p_module => l_log_module);
751
752 END IF;
753 RETURN l_description;
754
755 ELSIF p_source_9 IS NULL
756 THEN
757
758 l_source := SUBSTR(
759 xla_ae_sources_pkg.GetSystemSourceChar(
760 p_source_code => 'XLA_EVENT_TYPE_NAME'
761 , p_source_type_code => 'Y'
762 , p_source_application_id => 602
763 ),1,1996);
764 IF l_source IS NOT NULL THEN
765 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
766 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
767 END IF;
768 IF
769 l_ledger_language = 'US' THEN
770 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
771 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
772 END IF;
773 IF
774 l_ledger_language = 'US' THEN
775 l_description := SUBSTR(CONCAT(l_description,'Payment Number:'),1,2000);
776 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
777 END IF;
778 l_source := SUBSTR(TO_CHAR(p_source_10),1,1996);
779 IF l_source IS NOT NULL THEN
780 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
781 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
782 END IF;
783 IF
784 l_ledger_language = 'US' THEN
785 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
786 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
787 END IF;
788 IF
789 l_ledger_language = 'US' THEN
790 l_description := SUBSTR(CONCAT(l_description,'Payment Date:'),1,2000);
791 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
792 END IF;
793 l_source := SUBSTR(xla_ae_sources_pkg.DATE_TO_CHAR(p_source_11,
794 xla_ae_journal_entry_pkg.g_cache_ledgers_info.nls_desc_language),1,1996);
795 IF l_source IS NOT NULL THEN
796 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
797 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
798 END IF;
799 IF
800 l_ledger_language = 'US' THEN
801 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
802 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
803 END IF;
804 IF
805 l_ledger_language = 'US' THEN
806 l_description := SUBSTR(CONCAT(l_description,'Bank Name:'),1,2000);
807 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
808 END IF;
809 l_source := SUBSTR(p_source_12,1,1996);
810 IF l_source IS NOT NULL THEN
811 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
812 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
813 END IF;
814 IF
815 l_ledger_language = 'US' THEN
816 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
817 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
818 END IF;
819 IF
820 l_ledger_language = 'US' THEN
821 l_description := SUBSTR(CONCAT(l_description,'Payment Currency Code'),1,2000);
822 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
823 END IF;
824 l_source := SUBSTR(p_source_13,1,1996);
825 IF l_source IS NOT NULL THEN
826 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
827 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
828 END IF;
829 l_description := SUBSTR(l_description,1,1996);
830 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
831 trace
832 (p_msg => 'END of Description_3'
833 ,p_level => C_LEVEL_PROCEDURE
834 ,p_module => l_log_module);
835
836 END IF;
837 RETURN l_description;
838
839 END IF;
840 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
841 trace
845 END IF;
842 (p_msg => 'END of Description_3'
843 ,p_level => C_LEVEL_PROCEDURE
844 ,p_module => l_log_module);
846 RETURN NULL;
847 EXCEPTION
848 WHEN VALUE_ERROR THEN
849 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
850 trace
851 (p_msg => 'ERROR: '||sqlerrm
852 ,p_level => C_LEVEL_EXCEPTION
853 ,p_module => l_log_module);
854 END IF;
855 RAISE;
856 WHEN xla_exceptions_pkg.application_exception THEN
857 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
858 trace
859 (p_msg => 'ERROR: '||sqlerrm
860 ,p_level => C_LEVEL_EXCEPTION
861 ,p_module => l_log_module);
862 END IF;
863 RAISE;
864 WHEN OTHERS THEN
865 xla_exceptions_pkg.raise_message
866 (p_location => 'XLA_00200_AAD_S_000002_PKG.Description_3');
867 END Description_3;
868
869 ---------------------------------------
870 --
871 -- PRIVATE FUNCTION
872 -- AcctDerRule_4
873 --
874 ---------------------------------------
875 FUNCTION AcctDerRule_4 (
876 p_application_id IN NUMBER
877 , p_ae_header_id IN NUMBER
878 , p_side IN VARCHAR2
879 , p_override_seg_flag IN VARCHAR2
880 --Bank Charges Account
881 , p_source_14 IN NUMBER
882 --Automatic Offsets Value
883 , p_source_15 IN VARCHAR2
884 , p_source_15_meaning IN VARCHAR2
885 , x_transaction_coa_id OUT NOCOPY NUMBER
886 , x_accounting_coa_id OUT NOCOPY NUMBER
887 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
888 , x_flex_value_set_id OUT NOCOPY NUMBER
889 , x_value_type_code OUT NOCOPY VARCHAR2
890 , x_value_combination_id OUT NOCOPY NUMBER
891 , x_value_segment_code OUT NOCOPY VARCHAR2
892 )
893 RETURN VARCHAR2
894 IS
895 l_component_type VARCHAR2(80) ;
896 l_component_code VARCHAR2(30) ;
897 l_component_type_code VARCHAR2(1) ;
898 l_component_appl_id INTEGER ;
899 l_amb_context_code VARCHAR2(30) ;
900 l_log_module VARCHAR2(240) ;
901 l_output_value VARCHAR2(30) ;
902 BEGIN
903 IF g_log_enabled THEN
904 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_4';
905 END IF;
906 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
907
908 trace
909 (p_msg => 'BEGIN of AcctDerRule_4'
910 ,p_level => C_LEVEL_PROCEDURE
911 ,p_module => l_log_module);
912
913 END IF;
914
915 l_component_type := 'AMB_ADR';
916 l_component_code := 'AP_BANK_CHARGES_NAT_ACCT_SEG';
917 l_component_type_code := 'S';
918 l_component_appl_id := 200;
919 l_amb_context_code := 'DEFAULT';
920 x_transaction_coa_id := null;
921 x_accounting_coa_id := null;
922 x_flexfield_segment_code := 'GL_ACCOUNT';
923 x_flex_value_set_id := null ;
924
925
926 IF NVL(p_source_15,'
927 ') = 'ACCOUNT_SEGMENT_VALUE'
928 THEN
929 --
930 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
931
932 trace
933 (p_msg => 'END of AcctDerRule_4'
934 ,p_level => C_LEVEL_PROCEDURE
935 ,p_module => l_log_module);
936
937 END IF;
938 x_value_combination_id := TO_NUMBER(p_source_14) ;
939 x_value_segment_code := 'GL_ACCOUNT' ;
940 x_value_type_code := 'S';
941 l_output_value := null;
942 RETURN l_output_value;
943
944 ELSE
945 IF p_override_seg_flag = 'Y' THEN
946 RETURN '#$NO_OVERRIDE#$';
947 END IF;
948 END IF;
949
950 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
951
952 trace
953 (p_msg => 'END of AcctDerRule_4(invalid)'
954 ,p_level => C_LEVEL_PROCEDURE
955 ,p_module => l_log_module);
956
957 END IF;
958
959 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
960 x_value_combination_id := null;
961 x_value_segment_code := null;
962 x_value_type_code := null;
963 l_output_value := null;
964 xla_accounting_err_pkg.build_message
965 (p_appli_s_name => 'XLA'
966 ,p_msg_name => 'XLA_AP_INVALID_ADR'
967 ,p_token_1 => 'COMPONENT_NAME'
968 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
969 l_component_type
970 , l_component_code
971 , l_component_type_code
972 , l_component_appl_id
973 , l_amb_context_code
974 )
975 ,p_token_2 => 'OWNER'
976 ,p_value_2 => xla_lookups_pkg.get_meaning(
977 'XLA_OWNER_TYPE'
978 ,l_component_type_code
979 )
980 ,p_token_3 => 'PAD_NAME'
984 'XLA_OWNER_TYPE'
981 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
982 ,p_token_4 => 'PAD_OWNER'
983 ,p_value_4 => xla_lookups_pkg.get_meaning(
985 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
986 )
987 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
988 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
989 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
990 ,p_ae_header_id => NULL
991 );
992 RETURN l_output_value;
993 EXCEPTION
994 WHEN xla_exceptions_pkg.application_exception THEN
995 RAISE;
996 WHEN OTHERS THEN
997 xla_exceptions_pkg.raise_message
998 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_4');
999 END AcctDerRule_4;
1000 --
1001
1002 ---------------------------------------
1003 --
1004 -- PRIVATE FUNCTION
1005 -- AcctDerRule_5
1006 --
1007 ---------------------------------------
1008 FUNCTION AcctDerRule_5 (
1009 p_application_id IN NUMBER
1010 , p_ae_header_id IN NUMBER
1011 , p_side IN VARCHAR2
1012 , p_override_seg_flag IN VARCHAR2
1013 --Automatic Offsets Value
1014 , p_source_15 IN VARCHAR2
1015 , p_source_15_meaning IN VARCHAR2
1016 --Bank Errors Account
1017 , p_source_16 IN NUMBER
1018 , x_transaction_coa_id OUT NOCOPY NUMBER
1019 , x_accounting_coa_id OUT NOCOPY NUMBER
1020 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
1021 , x_flex_value_set_id OUT NOCOPY NUMBER
1022 , x_value_type_code OUT NOCOPY VARCHAR2
1023 , x_value_combination_id OUT NOCOPY NUMBER
1024 , x_value_segment_code OUT NOCOPY VARCHAR2
1025 )
1026 RETURN VARCHAR2
1027 IS
1028 l_component_type VARCHAR2(80) ;
1029 l_component_code VARCHAR2(30) ;
1030 l_component_type_code VARCHAR2(1) ;
1031 l_component_appl_id INTEGER ;
1032 l_amb_context_code VARCHAR2(30) ;
1033 l_log_module VARCHAR2(240) ;
1034 l_output_value VARCHAR2(30) ;
1035 BEGIN
1036 IF g_log_enabled THEN
1037 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_5';
1038 END IF;
1039 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1040
1041 trace
1042 (p_msg => 'BEGIN of AcctDerRule_5'
1043 ,p_level => C_LEVEL_PROCEDURE
1044 ,p_module => l_log_module);
1045
1046 END IF;
1047
1048 l_component_type := 'AMB_ADR';
1049 l_component_code := 'AP_BANK_ERRORS_NAT_ACCT_SEG';
1050 l_component_type_code := 'S';
1051 l_component_appl_id := 200;
1052 l_amb_context_code := 'DEFAULT';
1053 x_transaction_coa_id := null;
1054 x_accounting_coa_id := null;
1055 x_flexfield_segment_code := 'GL_ACCOUNT';
1056 x_flex_value_set_id := null ;
1057
1058
1059 IF NVL(p_source_15,'
1060 ') = 'ACCOUNT_SEGMENT_VALUE'
1061 THEN
1062 --
1063 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1064
1065 trace
1066 (p_msg => 'END of AcctDerRule_5'
1067 ,p_level => C_LEVEL_PROCEDURE
1068 ,p_module => l_log_module);
1069
1070 END IF;
1071 x_value_combination_id := TO_NUMBER(p_source_16) ;
1072 x_value_segment_code := 'GL_ACCOUNT' ;
1073 x_value_type_code := 'S';
1074 l_output_value := null;
1075 RETURN l_output_value;
1076
1077 ELSE
1078 IF p_override_seg_flag = 'Y' THEN
1079 RETURN '#$NO_OVERRIDE#$';
1080 END IF;
1081 END IF;
1082
1083 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1084
1085 trace
1086 (p_msg => 'END of AcctDerRule_5(invalid)'
1087 ,p_level => C_LEVEL_PROCEDURE
1088 ,p_module => l_log_module);
1089
1090 END IF;
1091
1092 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1093 x_value_combination_id := null;
1094 x_value_segment_code := null;
1095 x_value_type_code := null;
1096 l_output_value := null;
1097 xla_accounting_err_pkg.build_message
1098 (p_appli_s_name => 'XLA'
1099 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1100 ,p_token_1 => 'COMPONENT_NAME'
1101 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1102 l_component_type
1103 , l_component_code
1104 , l_component_type_code
1105 , l_component_appl_id
1106 , l_amb_context_code
1107 )
1108 ,p_token_2 => 'OWNER'
1109 ,p_value_2 => xla_lookups_pkg.get_meaning(
1110 'XLA_OWNER_TYPE'
1114 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1111 ,l_component_type_code
1112 )
1113 ,p_token_3 => 'PAD_NAME'
1115 ,p_token_4 => 'PAD_OWNER'
1116 ,p_value_4 => xla_lookups_pkg.get_meaning(
1117 'XLA_OWNER_TYPE'
1118 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1119 )
1120 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1121 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1122 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1123 ,p_ae_header_id => NULL
1124 );
1125 RETURN l_output_value;
1126 EXCEPTION
1127 WHEN xla_exceptions_pkg.application_exception THEN
1128 RAISE;
1129 WHEN OTHERS THEN
1130 xla_exceptions_pkg.raise_message
1131 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_5');
1132 END AcctDerRule_5;
1133 --
1134
1135 ---------------------------------------
1136 --
1137 -- PRIVATE FUNCTION
1138 -- AcctDerRule_6
1139 --
1140 ---------------------------------------
1141 FUNCTION AcctDerRule_6 (
1142 p_application_id IN NUMBER
1143 , p_ae_header_id IN NUMBER
1144 , p_side IN VARCHAR2
1145 , p_override_seg_flag IN VARCHAR2
1146 --Bank Cash Account
1147 , p_source_17 IN NUMBER
1148 , x_transaction_coa_id OUT NOCOPY NUMBER
1149 , x_accounting_coa_id OUT NOCOPY NUMBER
1150 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
1151 , x_flex_value_set_id OUT NOCOPY NUMBER
1152 , x_value_type_code OUT NOCOPY VARCHAR2
1153 , x_value_combination_id OUT NOCOPY NUMBER
1154 , x_value_segment_code OUT NOCOPY VARCHAR2
1155 )
1156 RETURN VARCHAR2
1157 IS
1158 l_component_type VARCHAR2(80) ;
1159 l_component_code VARCHAR2(30) ;
1160 l_component_type_code VARCHAR2(1) ;
1161 l_component_appl_id INTEGER ;
1162 l_amb_context_code VARCHAR2(30) ;
1163 l_log_module VARCHAR2(240) ;
1164 l_output_value VARCHAR2(30) ;
1165 BEGIN
1166 IF g_log_enabled THEN
1167 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_6';
1168 END IF;
1169 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1170
1171 trace
1172 (p_msg => 'BEGIN of AcctDerRule_6'
1173 ,p_level => C_LEVEL_PROCEDURE
1174 ,p_module => l_log_module);
1175
1176 END IF;
1177
1178 l_component_type := 'AMB_ADR';
1179 l_component_code := 'AP_CASH_NATURAL_ACCT_SEG';
1180 l_component_type_code := 'S';
1181 l_component_appl_id := 200;
1182 l_amb_context_code := 'DEFAULT';
1183 x_transaction_coa_id := null;
1184 x_accounting_coa_id := null;
1185 x_flexfield_segment_code := 'GL_ACCOUNT';
1186 x_flex_value_set_id := null ;
1187
1188
1189 --
1190 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1191
1192 trace
1193 (p_msg => 'END of AcctDerRule_6'
1194 ,p_level => C_LEVEL_PROCEDURE
1195 ,p_module => l_log_module);
1196
1197 END IF;
1198 x_value_combination_id := TO_NUMBER(p_source_17) ;
1199 x_value_segment_code := 'GL_ACCOUNT' ;
1200 x_value_type_code := 'S';
1201 l_output_value := null;
1202 RETURN l_output_value;
1203
1204
1205 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1206
1207 trace
1208 (p_msg => 'END of AcctDerRule_6(invalid)'
1209 ,p_level => C_LEVEL_PROCEDURE
1210 ,p_module => l_log_module);
1211
1212 END IF;
1213
1214 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1215 x_value_combination_id := null;
1216 x_value_segment_code := null;
1217 x_value_type_code := null;
1218 l_output_value := null;
1219 xla_accounting_err_pkg.build_message
1220 (p_appli_s_name => 'XLA'
1221 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1222 ,p_token_1 => 'COMPONENT_NAME'
1223 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1224 l_component_type
1225 , l_component_code
1226 , l_component_type_code
1227 , l_component_appl_id
1228 , l_amb_context_code
1229 )
1230 ,p_token_2 => 'OWNER'
1231 ,p_value_2 => xla_lookups_pkg.get_meaning(
1232 'XLA_OWNER_TYPE'
1233 ,l_component_type_code
1234 )
1235 ,p_token_3 => 'PAD_NAME'
1239 'XLA_OWNER_TYPE'
1236 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1237 ,p_token_4 => 'PAD_OWNER'
1238 ,p_value_4 => xla_lookups_pkg.get_meaning(
1240 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1241 )
1242 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1243 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1244 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1245 ,p_ae_header_id => NULL
1246 );
1247 RETURN l_output_value;
1248 EXCEPTION
1249 WHEN xla_exceptions_pkg.application_exception THEN
1250 RAISE;
1251 WHEN OTHERS THEN
1252 xla_exceptions_pkg.raise_message
1253 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_6');
1254 END AcctDerRule_6;
1255 --
1256
1257 ---------------------------------------
1258 --
1259 -- PRIVATE FUNCTION
1260 -- AcctDerRule_7
1261 --
1262 ---------------------------------------
1263 FUNCTION AcctDerRule_7 (
1264 p_application_id IN NUMBER
1265 , p_ae_header_id IN NUMBER
1266 , p_side IN VARCHAR2
1267 , p_override_seg_flag IN VARCHAR2
1268 --Automatic Offsets Value
1269 , p_source_15 IN VARCHAR2
1270 , p_source_15_meaning IN VARCHAR2
1271 --System Discount Account
1272 , p_source_18 IN NUMBER
1273 --Discount Distribution Method
1274 , p_source_19 IN VARCHAR2
1275 , p_source_19_meaning IN VARCHAR2
1276 , x_transaction_coa_id OUT NOCOPY NUMBER
1277 , x_accounting_coa_id OUT NOCOPY NUMBER
1278 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
1279 , x_flex_value_set_id OUT NOCOPY NUMBER
1280 , x_value_type_code OUT NOCOPY VARCHAR2
1281 , x_value_combination_id OUT NOCOPY NUMBER
1282 , x_value_segment_code OUT NOCOPY VARCHAR2
1283 )
1284 RETURN VARCHAR2
1285 IS
1286 l_component_type VARCHAR2(80) ;
1287 l_component_code VARCHAR2(30) ;
1288 l_component_type_code VARCHAR2(1) ;
1289 l_component_appl_id INTEGER ;
1290 l_amb_context_code VARCHAR2(30) ;
1291 l_log_module VARCHAR2(240) ;
1292 l_output_value VARCHAR2(30) ;
1293 BEGIN
1294 IF g_log_enabled THEN
1295 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_7';
1296 END IF;
1297 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1298
1299 trace
1300 (p_msg => 'BEGIN of AcctDerRule_7'
1301 ,p_level => C_LEVEL_PROCEDURE
1302 ,p_module => l_log_module);
1303
1304 END IF;
1305
1306 l_component_type := 'AMB_ADR';
1307 l_component_code := 'AP_DISCOUNT_NAT_ACCT_SEG';
1308 l_component_type_code := 'S';
1309 l_component_appl_id := 200;
1310 l_amb_context_code := 'DEFAULT';
1311 x_transaction_coa_id := null;
1312 x_accounting_coa_id := null;
1313 x_flexfield_segment_code := 'GL_ACCOUNT';
1314 x_flex_value_set_id := null ;
1315
1316
1317 IF NVL(p_source_19,'
1318 ') = 'SYSTEM' AND
1319 NVL(p_source_15,'
1320 ') = 'ACCOUNT_SEGMENT_VALUE'
1321 THEN
1322 --
1323 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1324
1325 trace
1326 (p_msg => 'END of AcctDerRule_7'
1327 ,p_level => C_LEVEL_PROCEDURE
1328 ,p_module => l_log_module);
1329
1330 END IF;
1331 x_value_combination_id := TO_NUMBER(p_source_18) ;
1332 x_value_segment_code := 'GL_ACCOUNT' ;
1333 x_value_type_code := 'S';
1334 l_output_value := null;
1335 RETURN l_output_value;
1336
1337 ELSE
1338 IF p_override_seg_flag = 'Y' THEN
1339 RETURN '#$NO_OVERRIDE#$';
1340 END IF;
1341 END IF;
1342
1343 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1344
1345 trace
1346 (p_msg => 'END of AcctDerRule_7(invalid)'
1347 ,p_level => C_LEVEL_PROCEDURE
1348 ,p_module => l_log_module);
1349
1350 END IF;
1351
1352 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1353 x_value_combination_id := null;
1354 x_value_segment_code := null;
1355 x_value_type_code := null;
1356 l_output_value := null;
1357 xla_accounting_err_pkg.build_message
1358 (p_appli_s_name => 'XLA'
1359 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1360 ,p_token_1 => 'COMPONENT_NAME'
1361 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1362 l_component_type
1363 , l_component_code
1364 , l_component_type_code
1365 , l_component_appl_id
1366 , l_amb_context_code
1367 )
1368 ,p_token_2 => 'OWNER'
1372 )
1369 ,p_value_2 => xla_lookups_pkg.get_meaning(
1370 'XLA_OWNER_TYPE'
1371 ,l_component_type_code
1373 ,p_token_3 => 'PAD_NAME'
1374 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1375 ,p_token_4 => 'PAD_OWNER'
1376 ,p_value_4 => xla_lookups_pkg.get_meaning(
1377 'XLA_OWNER_TYPE'
1378 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1379 )
1380 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1381 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1382 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1383 ,p_ae_header_id => NULL
1384 );
1385 RETURN l_output_value;
1386 EXCEPTION
1387 WHEN xla_exceptions_pkg.application_exception THEN
1388 RAISE;
1389 WHEN OTHERS THEN
1390 xla_exceptions_pkg.raise_message
1391 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_7');
1392 END AcctDerRule_7;
1393 --
1394
1395 ---------------------------------------
1396 --
1397 -- PRIVATE FUNCTION
1398 -- AcctDerRule_8
1399 --
1400 ---------------------------------------
1401 FUNCTION AcctDerRule_8 (
1402 p_application_id IN NUMBER
1403 , p_ae_header_id IN NUMBER
1404 , p_side IN VARCHAR2
1405 , p_override_seg_flag IN VARCHAR2
1406 --Automatic Offsets Value
1407 , p_source_15 IN VARCHAR2
1408 , p_source_15_meaning IN VARCHAR2
1409 --Purchase Order Rate Variance Gain Account
1410 , p_source_20 IN NUMBER
1411 --Invoice Distribution Ledger Amount
1412 , p_source_21 IN NUMBER
1413 --Destination Type of the PO Distribution
1414 , p_source_22 IN VARCHAR2
1415 , p_source_22_meaning IN VARCHAR2
1416 --Purchase Order Rate Variance Loss Account
1417 , p_source_23 IN NUMBER
1418 , x_transaction_coa_id OUT NOCOPY NUMBER
1419 , x_accounting_coa_id OUT NOCOPY NUMBER
1420 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
1421 , x_flex_value_set_id OUT NOCOPY NUMBER
1422 , x_value_type_code OUT NOCOPY VARCHAR2
1423 , x_value_combination_id OUT NOCOPY NUMBER
1424 , x_value_segment_code OUT NOCOPY VARCHAR2
1425 )
1426 RETURN VARCHAR2
1427 IS
1428 l_component_type VARCHAR2(80) ;
1429 l_component_code VARCHAR2(30) ;
1430 l_component_type_code VARCHAR2(1) ;
1431 l_component_appl_id INTEGER ;
1432 l_amb_context_code VARCHAR2(30) ;
1433 l_log_module VARCHAR2(240) ;
1434 l_output_value VARCHAR2(30) ;
1435 BEGIN
1436 IF g_log_enabled THEN
1437 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_8';
1438 END IF;
1439 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1440
1441 trace
1442 (p_msg => 'BEGIN of AcctDerRule_8'
1443 ,p_level => C_LEVEL_PROCEDURE
1444 ,p_module => l_log_module);
1445
1446 END IF;
1447
1448 l_component_type := 'AMB_ADR';
1449 l_component_code := 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG';
1450 l_component_type_code := 'S';
1451 l_component_appl_id := 200;
1452 l_amb_context_code := 'DEFAULT';
1453 x_transaction_coa_id := null;
1454 x_accounting_coa_id := null;
1455 x_flexfield_segment_code := 'GL_ACCOUNT';
1456 x_flex_value_set_id := null ;
1457
1458
1459 IF NVL(p_source_15,'
1460 ') = 'ACCOUNT_SEGMENT_VALUE' AND
1461 p_source_21 < 0 AND
1462 NVL(p_source_22,'
1463 ') = 'INVENTORY'
1464 THEN
1465 --
1466 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1467
1468 trace
1469 (p_msg => 'END of AcctDerRule_8'
1470 ,p_level => C_LEVEL_PROCEDURE
1471 ,p_module => l_log_module);
1472
1473 END IF;
1474 x_value_combination_id := TO_NUMBER(p_source_20) ;
1475 x_value_segment_code := 'GL_ACCOUNT' ;
1476 x_value_type_code := 'S';
1477 l_output_value := null;
1478 RETURN l_output_value;
1479
1480 ELSIF NVL(p_source_15,'
1481 ') = 'ACCOUNT_SEGMENT_VALUE' AND
1482 p_source_21 > 0 AND
1483 NVL(p_source_22,'
1484 ') = 'INVENTORY'
1485 THEN
1486 --
1487 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1488
1489 trace
1490 (p_msg => 'END of AcctDerRule_8'
1491 ,p_level => C_LEVEL_PROCEDURE
1492 ,p_module => l_log_module);
1493
1494 END IF;
1495 x_value_combination_id := TO_NUMBER(p_source_23) ;
1496 x_value_segment_code := 'GL_ACCOUNT' ;
1497 x_value_type_code := 'S';
1498 l_output_value := null;
1499 RETURN l_output_value;
1500
1501 ELSE
1502 IF p_override_seg_flag = 'Y' THEN
1503 RETURN '#$NO_OVERRIDE#$';
1504 END IF;
1505 END IF;
1506
1507 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1508
1509 trace
1513
1510 (p_msg => 'END of AcctDerRule_8(invalid)'
1511 ,p_level => C_LEVEL_PROCEDURE
1512 ,p_module => l_log_module);
1514 END IF;
1515
1516 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1517 x_value_combination_id := null;
1518 x_value_segment_code := null;
1519 x_value_type_code := null;
1520 l_output_value := null;
1521 xla_accounting_err_pkg.build_message
1522 (p_appli_s_name => 'XLA'
1523 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1524 ,p_token_1 => 'COMPONENT_NAME'
1525 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1526 l_component_type
1527 , l_component_code
1528 , l_component_type_code
1529 , l_component_appl_id
1530 , l_amb_context_code
1531 )
1532 ,p_token_2 => 'OWNER'
1533 ,p_value_2 => xla_lookups_pkg.get_meaning(
1534 'XLA_OWNER_TYPE'
1535 ,l_component_type_code
1536 )
1537 ,p_token_3 => 'PAD_NAME'
1538 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1539 ,p_token_4 => 'PAD_OWNER'
1540 ,p_value_4 => xla_lookups_pkg.get_meaning(
1541 'XLA_OWNER_TYPE'
1542 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1543 )
1544 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1545 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1546 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1547 ,p_ae_header_id => NULL
1548 );
1549 RETURN l_output_value;
1550 EXCEPTION
1551 WHEN xla_exceptions_pkg.application_exception THEN
1552 RAISE;
1553 WHEN OTHERS THEN
1554 xla_exceptions_pkg.raise_message
1555 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_8');
1556 END AcctDerRule_8;
1557 --
1558
1559 ---------------------------------------
1560 --
1561 -- PRIVATE FUNCTION
1562 -- AcctDerRule_9
1563 --
1564 ---------------------------------------
1565 FUNCTION AcctDerRule_9 (
1566 p_application_id IN NUMBER
1567 , p_ae_header_id IN NUMBER
1568 , p_side IN VARCHAR2
1569 , p_override_seg_flag IN VARCHAR2
1570 --Automatic Offsets Value
1571 , p_source_15 IN VARCHAR2
1572 , p_source_15_meaning IN VARCHAR2
1573 --Purchase Order Rate Variance Gain Account
1574 , p_source_20 IN NUMBER
1575 --Destination Type of the PO Distribution
1576 , p_source_22 IN VARCHAR2
1577 , p_source_22_meaning IN VARCHAR2
1578 , x_transaction_coa_id OUT NOCOPY NUMBER
1579 , x_accounting_coa_id OUT NOCOPY NUMBER
1580 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
1581 , x_flex_value_set_id OUT NOCOPY NUMBER
1582 , x_value_type_code OUT NOCOPY VARCHAR2
1583 , x_value_combination_id OUT NOCOPY NUMBER
1584 , x_value_segment_code OUT NOCOPY VARCHAR2
1585 )
1586 RETURN VARCHAR2
1587 IS
1588 l_component_type VARCHAR2(80) ;
1589 l_component_code VARCHAR2(30) ;
1590 l_component_type_code VARCHAR2(1) ;
1591 l_component_appl_id INTEGER ;
1592 l_amb_context_code VARCHAR2(30) ;
1593 l_log_module VARCHAR2(240) ;
1594 l_output_value VARCHAR2(30) ;
1595 BEGIN
1596 IF g_log_enabled THEN
1597 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_9';
1598 END IF;
1599 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1600
1601 trace
1602 (p_msg => 'BEGIN of AcctDerRule_9'
1603 ,p_level => C_LEVEL_PROCEDURE
1604 ,p_module => l_log_module);
1605
1606 END IF;
1607
1608 l_component_type := 'AMB_ADR';
1609 l_component_code := 'AP_ERV_GAIN_NAT_ACCT_SEG';
1610 l_component_type_code := 'S';
1611 l_component_appl_id := 200;
1612 l_amb_context_code := 'DEFAULT';
1613 x_transaction_coa_id := null;
1614 x_accounting_coa_id := null;
1615 x_flexfield_segment_code := 'GL_ACCOUNT';
1616 x_flex_value_set_id := null ;
1617
1618
1619 IF NVL(p_source_15,'
1620 ') = 'ACCOUNT_SEGMENT_VALUE' AND
1621 NVL(p_source_22,'
1622 ') = 'INVENTORY'
1623 THEN
1624 --
1625 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1626
1627 trace
1628 (p_msg => 'END of AcctDerRule_9'
1629 ,p_level => C_LEVEL_PROCEDURE
1630 ,p_module => l_log_module);
1631
1632 END IF;
1636 l_output_value := null;
1633 x_value_combination_id := TO_NUMBER(p_source_20) ;
1634 x_value_segment_code := 'GL_ACCOUNT' ;
1635 x_value_type_code := 'S';
1637 RETURN l_output_value;
1638
1639 ELSE
1640 IF p_override_seg_flag = 'Y' THEN
1641 RETURN '#$NO_OVERRIDE#$';
1642 END IF;
1643 END IF;
1644
1645 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1646
1647 trace
1648 (p_msg => 'END of AcctDerRule_9(invalid)'
1649 ,p_level => C_LEVEL_PROCEDURE
1650 ,p_module => l_log_module);
1651
1652 END IF;
1653
1654 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1655 x_value_combination_id := null;
1656 x_value_segment_code := null;
1657 x_value_type_code := null;
1658 l_output_value := null;
1659 xla_accounting_err_pkg.build_message
1660 (p_appli_s_name => 'XLA'
1661 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1662 ,p_token_1 => 'COMPONENT_NAME'
1663 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1664 l_component_type
1665 , l_component_code
1666 , l_component_type_code
1667 , l_component_appl_id
1668 , l_amb_context_code
1669 )
1670 ,p_token_2 => 'OWNER'
1671 ,p_value_2 => xla_lookups_pkg.get_meaning(
1672 'XLA_OWNER_TYPE'
1673 ,l_component_type_code
1674 )
1675 ,p_token_3 => 'PAD_NAME'
1676 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1677 ,p_token_4 => 'PAD_OWNER'
1678 ,p_value_4 => xla_lookups_pkg.get_meaning(
1679 'XLA_OWNER_TYPE'
1680 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1681 )
1682 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1683 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1684 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1685 ,p_ae_header_id => NULL
1686 );
1687 RETURN l_output_value;
1688 EXCEPTION
1689 WHEN xla_exceptions_pkg.application_exception THEN
1690 RAISE;
1691 WHEN OTHERS THEN
1692 xla_exceptions_pkg.raise_message
1693 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_9');
1694 END AcctDerRule_9;
1695 --
1696
1697 ---------------------------------------
1698 --
1699 -- PRIVATE FUNCTION
1700 -- AcctDerRule_10
1701 --
1702 ---------------------------------------
1703 FUNCTION AcctDerRule_10 (
1704 p_application_id IN NUMBER
1705 , p_ae_header_id IN NUMBER
1706 , p_side IN VARCHAR2
1707 , p_override_seg_flag IN VARCHAR2
1708 --Automatic Offsets Value
1709 , p_source_15 IN VARCHAR2
1710 , p_source_15_meaning IN VARCHAR2
1711 --Destination Type of the PO Distribution
1712 , p_source_22 IN VARCHAR2
1713 , p_source_22_meaning IN VARCHAR2
1714 --Purchase Order Rate Variance Loss Account
1715 , p_source_23 IN NUMBER
1716 , x_transaction_coa_id OUT NOCOPY NUMBER
1717 , x_accounting_coa_id OUT NOCOPY NUMBER
1718 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
1719 , x_flex_value_set_id OUT NOCOPY NUMBER
1720 , x_value_type_code OUT NOCOPY VARCHAR2
1721 , x_value_combination_id OUT NOCOPY NUMBER
1722 , x_value_segment_code OUT NOCOPY VARCHAR2
1723 )
1724 RETURN VARCHAR2
1725 IS
1726 l_component_type VARCHAR2(80) ;
1727 l_component_code VARCHAR2(30) ;
1728 l_component_type_code VARCHAR2(1) ;
1729 l_component_appl_id INTEGER ;
1730 l_amb_context_code VARCHAR2(30) ;
1731 l_log_module VARCHAR2(240) ;
1732 l_output_value VARCHAR2(30) ;
1733 BEGIN
1734 IF g_log_enabled THEN
1735 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_10';
1736 END IF;
1737 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1738
1739 trace
1740 (p_msg => 'BEGIN of AcctDerRule_10'
1741 ,p_level => C_LEVEL_PROCEDURE
1742 ,p_module => l_log_module);
1743
1744 END IF;
1745
1746 l_component_type := 'AMB_ADR';
1747 l_component_code := 'AP_ERV_LOSS_NAT_ACCT_SEG';
1748 l_component_type_code := 'S';
1749 l_component_appl_id := 200;
1750 l_amb_context_code := 'DEFAULT';
1751 x_transaction_coa_id := null;
1752 x_accounting_coa_id := null;
1753 x_flexfield_segment_code := 'GL_ACCOUNT';
1754 x_flex_value_set_id := null ;
1755
1756
1760 ') = 'INVENTORY'
1757 IF NVL(p_source_15,'
1758 ') = 'ACCOUNT_SEGMENT_VALUE' AND
1759 NVL(p_source_22,'
1761 THEN
1762 --
1763 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1764
1765 trace
1766 (p_msg => 'END of AcctDerRule_10'
1767 ,p_level => C_LEVEL_PROCEDURE
1768 ,p_module => l_log_module);
1769
1770 END IF;
1771 x_value_combination_id := TO_NUMBER(p_source_23) ;
1772 x_value_segment_code := 'GL_ACCOUNT' ;
1773 x_value_type_code := 'S';
1774 l_output_value := null;
1775 RETURN l_output_value;
1776
1777 ELSE
1778 IF p_override_seg_flag = 'Y' THEN
1779 RETURN '#$NO_OVERRIDE#$';
1780 END IF;
1781 END IF;
1782
1783 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1784
1785 trace
1786 (p_msg => 'END of AcctDerRule_10(invalid)'
1787 ,p_level => C_LEVEL_PROCEDURE
1788 ,p_module => l_log_module);
1789
1790 END IF;
1791
1792 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1793 x_value_combination_id := null;
1794 x_value_segment_code := null;
1795 x_value_type_code := null;
1796 l_output_value := null;
1797 xla_accounting_err_pkg.build_message
1798 (p_appli_s_name => 'XLA'
1799 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1800 ,p_token_1 => 'COMPONENT_NAME'
1801 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1802 l_component_type
1803 , l_component_code
1804 , l_component_type_code
1805 , l_component_appl_id
1806 , l_amb_context_code
1807 )
1808 ,p_token_2 => 'OWNER'
1809 ,p_value_2 => xla_lookups_pkg.get_meaning(
1810 'XLA_OWNER_TYPE'
1811 ,l_component_type_code
1812 )
1813 ,p_token_3 => 'PAD_NAME'
1814 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1815 ,p_token_4 => 'PAD_OWNER'
1816 ,p_value_4 => xla_lookups_pkg.get_meaning(
1817 'XLA_OWNER_TYPE'
1818 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1819 )
1820 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1821 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1822 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1823 ,p_ae_header_id => NULL
1824 );
1825 RETURN l_output_value;
1826 EXCEPTION
1827 WHEN xla_exceptions_pkg.application_exception THEN
1828 RAISE;
1829 WHEN OTHERS THEN
1830 xla_exceptions_pkg.raise_message
1831 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_10');
1832 END AcctDerRule_10;
1833 --
1834
1835 ---------------------------------------
1836 --
1837 -- PRIVATE FUNCTION
1838 -- AcctDerRule_11
1839 --
1840 ---------------------------------------
1841 FUNCTION AcctDerRule_11 (
1842 p_application_id IN NUMBER
1843 , p_ae_header_id IN NUMBER
1844 , p_side IN VARCHAR2
1845 , p_override_seg_flag IN VARCHAR2
1846 --Automatic Offsets Value
1847 , p_source_15 IN VARCHAR2
1848 , p_source_15_meaning IN VARCHAR2
1849 --Bank Future Dated Payment Account
1850 , p_source_24 IN NUMBER
1851 --Future Dated Payment Account Source Option
1852 , p_source_25 IN VARCHAR2
1853 , p_source_25_meaning IN VARCHAR2
1854 --Financials Options Future Dated Payment Account
1855 , p_source_26 IN NUMBER
1856 --Supplier Site Future Dated Payment Account
1857 , p_source_27 IN NUMBER
1858 , x_transaction_coa_id OUT NOCOPY NUMBER
1859 , x_accounting_coa_id OUT NOCOPY NUMBER
1860 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
1861 , x_flex_value_set_id OUT NOCOPY NUMBER
1862 , x_value_type_code OUT NOCOPY VARCHAR2
1863 , x_value_combination_id OUT NOCOPY NUMBER
1864 , x_value_segment_code OUT NOCOPY VARCHAR2
1865 )
1866 RETURN VARCHAR2
1867 IS
1868 l_component_type VARCHAR2(80) ;
1869 l_component_code VARCHAR2(30) ;
1870 l_component_type_code VARCHAR2(1) ;
1871 l_component_appl_id INTEGER ;
1872 l_amb_context_code VARCHAR2(30) ;
1873 l_log_module VARCHAR2(240) ;
1874 l_output_value VARCHAR2(30) ;
1875 BEGIN
1876 IF g_log_enabled THEN
1877 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_11';
1878 END IF;
1879 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1880
1881 trace
1882 (p_msg => 'BEGIN of AcctDerRule_11'
1883 ,p_level => C_LEVEL_PROCEDURE
1884 ,p_module => l_log_module);
1885
1889 l_component_code := 'AP_FUTURE_DTD_PMT_NAT_ACCT_SEG';
1886 END IF;
1887
1888 l_component_type := 'AMB_ADR';
1890 l_component_type_code := 'S';
1891 l_component_appl_id := 200;
1892 l_amb_context_code := 'DEFAULT';
1893 x_transaction_coa_id := null;
1894 x_accounting_coa_id := null;
1895 x_flexfield_segment_code := 'GL_ACCOUNT';
1896 x_flex_value_set_id := null ;
1897
1898
1899 IF (NVL(p_source_15,'
1900 ') = 'ACCOUNT_SEGMENT_VALUE' AND
1901 NVL(p_source_25,'
1902 ') = 'BANK ACCOUNT') AND
1903 TO_NUMBER(p_source_24) IS NOT NULL
1904 THEN
1905 --
1906 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1907
1908 trace
1909 (p_msg => 'END of AcctDerRule_11'
1910 ,p_level => C_LEVEL_PROCEDURE
1911 ,p_module => l_log_module);
1912
1913 END IF;
1914 x_value_combination_id := TO_NUMBER(p_source_24) ;
1915 x_value_segment_code := 'GL_ACCOUNT' ;
1916 x_value_type_code := 'S';
1917 l_output_value := null;
1918 RETURN l_output_value;
1919
1920 ELSIF NVL(p_source_15,'
1921 ') = 'ACCOUNT_SEGMENT_VALUE' AND
1922 NVL(p_source_25,'
1923 ') = 'BANK ACCOUNT'
1924 THEN
1925 --
1926 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1927
1928 trace
1929 (p_msg => 'END of AcctDerRule_11'
1930 ,p_level => C_LEVEL_PROCEDURE
1931 ,p_module => l_log_module);
1932
1933 END IF;
1934 x_value_combination_id := TO_NUMBER(p_source_26) ;
1935 x_value_segment_code := 'GL_ACCOUNT' ;
1936 x_value_type_code := 'S';
1937 l_output_value := null;
1938 RETURN l_output_value;
1939
1940 ELSIF NVL(p_source_15,'
1941 ') = 'ACCOUNT_SEGMENT_VALUE' AND
1942 NVL(p_source_25,'
1943 ') = 'SUPPLIER SITE' AND
1944 TO_NUMBER(p_source_27) IS NOT NULL
1945 THEN
1946 --
1947 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1948
1949 trace
1950 (p_msg => 'END of AcctDerRule_11'
1951 ,p_level => C_LEVEL_PROCEDURE
1952 ,p_module => l_log_module);
1953
1954 END IF;
1955 x_value_combination_id := TO_NUMBER(p_source_27) ;
1956 x_value_segment_code := 'GL_ACCOUNT' ;
1957 x_value_type_code := 'S';
1958 l_output_value := null;
1959 RETURN l_output_value;
1960
1961 ELSIF NVL(p_source_15,'
1962 ') = 'ACCOUNT_SEGMENT_VALUE' AND
1963 NVL(p_source_25,'
1964 ') = 'SUPPLIER SITE'
1965 THEN
1966 --
1967 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1968
1969 trace
1970 (p_msg => 'END of AcctDerRule_11'
1971 ,p_level => C_LEVEL_PROCEDURE
1972 ,p_module => l_log_module);
1973
1974 END IF;
1975 x_value_combination_id := TO_NUMBER(p_source_26) ;
1976 x_value_segment_code := 'GL_ACCOUNT' ;
1977 x_value_type_code := 'S';
1978 l_output_value := null;
1979 RETURN l_output_value;
1980
1981 ELSE
1982 IF p_override_seg_flag = 'Y' THEN
1983 RETURN '#$NO_OVERRIDE#$';
1984 END IF;
1985 END IF;
1986
1987 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1988
1989 trace
1990 (p_msg => 'END of AcctDerRule_11(invalid)'
1991 ,p_level => C_LEVEL_PROCEDURE
1992 ,p_module => l_log_module);
1993
1994 END IF;
1995
1996 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1997 x_value_combination_id := null;
1998 x_value_segment_code := null;
1999 x_value_type_code := null;
2000 l_output_value := null;
2001 xla_accounting_err_pkg.build_message
2002 (p_appli_s_name => 'XLA'
2003 ,p_msg_name => 'XLA_AP_INVALID_ADR'
2004 ,p_token_1 => 'COMPONENT_NAME'
2005 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
2006 l_component_type
2007 , l_component_code
2008 , l_component_type_code
2009 , l_component_appl_id
2010 , l_amb_context_code
2011 )
2012 ,p_token_2 => 'OWNER'
2013 ,p_value_2 => xla_lookups_pkg.get_meaning(
2014 'XLA_OWNER_TYPE'
2015 ,l_component_type_code
2016 )
2017 ,p_token_3 => 'PAD_NAME'
2018 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
2019 ,p_token_4 => 'PAD_OWNER'
2020 ,p_value_4 => xla_lookups_pkg.get_meaning(
2021 'XLA_OWNER_TYPE'
2022 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
2026 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2023 )
2024 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
2025 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
2027 ,p_ae_header_id => NULL
2028 );
2029 RETURN l_output_value;
2030 EXCEPTION
2031 WHEN xla_exceptions_pkg.application_exception THEN
2032 RAISE;
2033 WHEN OTHERS THEN
2034 xla_exceptions_pkg.raise_message
2035 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_11');
2036 END AcctDerRule_11;
2037 --
2038
2039 ---------------------------------------
2040 --
2041 -- PRIVATE FUNCTION
2042 -- AcctDerRule_12
2043 --
2044 ---------------------------------------
2045 FUNCTION AcctDerRule_12 (
2046 p_application_id IN NUMBER
2047 , p_ae_header_id IN NUMBER
2048 , p_side IN VARCHAR2
2049 , p_override_seg_flag IN VARCHAR2
2050 --Interest Account
2051 , p_source_28 IN NUMBER
2052 --Prorate Interest Invoice Across Distributions Option
2053 , p_source_29 IN VARCHAR2
2054 , x_transaction_coa_id OUT NOCOPY NUMBER
2055 , x_accounting_coa_id OUT NOCOPY NUMBER
2056 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
2057 , x_flex_value_set_id OUT NOCOPY NUMBER
2058 , x_value_type_code OUT NOCOPY VARCHAR2
2059 , x_value_combination_id OUT NOCOPY NUMBER
2060 , x_value_segment_code OUT NOCOPY VARCHAR2
2061 )
2062 RETURN VARCHAR2
2063 IS
2064 l_component_type VARCHAR2(80) ;
2065 l_component_code VARCHAR2(30) ;
2066 l_component_type_code VARCHAR2(1) ;
2067 l_component_appl_id INTEGER ;
2068 l_amb_context_code VARCHAR2(30) ;
2069 l_log_module VARCHAR2(240) ;
2070 l_output_value VARCHAR2(30) ;
2071 BEGIN
2072 IF g_log_enabled THEN
2073 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_12';
2074 END IF;
2075 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2076
2077 trace
2078 (p_msg => 'BEGIN of AcctDerRule_12'
2079 ,p_level => C_LEVEL_PROCEDURE
2080 ,p_module => l_log_module);
2081
2082 END IF;
2083
2084 l_component_type := 'AMB_ADR';
2085 l_component_code := 'AP_INTEREST_NAT_ACCT_SEG';
2086 l_component_type_code := 'S';
2087 l_component_appl_id := 200;
2088 l_amb_context_code := 'DEFAULT';
2089 x_transaction_coa_id := null;
2090 x_accounting_coa_id := null;
2091 x_flexfield_segment_code := 'GL_ACCOUNT';
2092 x_flex_value_set_id := null ;
2093
2094
2095 IF NVL(p_source_29,'
2096 ') = 'Y'
2097 THEN
2098 --
2099 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2100
2101 trace
2102 (p_msg => 'END of AcctDerRule_12'
2103 ,p_level => C_LEVEL_PROCEDURE
2104 ,p_module => l_log_module);
2105
2106 END IF;
2107 x_value_combination_id := TO_NUMBER(p_source_28) ;
2108 x_value_segment_code := 'GL_ACCOUNT' ;
2109 x_value_type_code := 'S';
2110 l_output_value := null;
2111 RETURN l_output_value;
2112
2113 ELSE
2114 IF p_override_seg_flag = 'Y' THEN
2115 RETURN '#$NO_OVERRIDE#$';
2116 END IF;
2117 END IF;
2118
2119 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2120
2121 trace
2122 (p_msg => 'END of AcctDerRule_12(invalid)'
2123 ,p_level => C_LEVEL_PROCEDURE
2124 ,p_module => l_log_module);
2125
2126 END IF;
2127
2128 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
2129 x_value_combination_id := null;
2130 x_value_segment_code := null;
2131 x_value_type_code := null;
2132 l_output_value := null;
2133 xla_accounting_err_pkg.build_message
2134 (p_appli_s_name => 'XLA'
2135 ,p_msg_name => 'XLA_AP_INVALID_ADR'
2136 ,p_token_1 => 'COMPONENT_NAME'
2137 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
2138 l_component_type
2139 , l_component_code
2140 , l_component_type_code
2141 , l_component_appl_id
2142 , l_amb_context_code
2143 )
2144 ,p_token_2 => 'OWNER'
2145 ,p_value_2 => xla_lookups_pkg.get_meaning(
2146 'XLA_OWNER_TYPE'
2147 ,l_component_type_code
2148 )
2149 ,p_token_3 => 'PAD_NAME'
2150 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
2151 ,p_token_4 => 'PAD_OWNER'
2152 ,p_value_4 => xla_lookups_pkg.get_meaning(
2156 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
2153 'XLA_OWNER_TYPE'
2154 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
2155 )
2157 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
2158 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2159 ,p_ae_header_id => NULL
2160 );
2161 RETURN l_output_value;
2162 EXCEPTION
2163 WHEN xla_exceptions_pkg.application_exception THEN
2164 RAISE;
2165 WHEN OTHERS THEN
2166 xla_exceptions_pkg.raise_message
2167 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_12');
2168 END AcctDerRule_12;
2169 --
2170
2171 ---------------------------------------
2172 --
2173 -- PRIVATE FUNCTION
2174 -- AcctDerRule_13
2175 --
2176 ---------------------------------------
2177 FUNCTION AcctDerRule_13 (
2178 p_application_id IN NUMBER
2179 , p_ae_header_id IN NUMBER
2180 , p_side IN VARCHAR2
2181 , p_override_seg_flag IN VARCHAR2
2182 --Invoice Distribution Account
2183 , p_source_30 IN NUMBER
2184 --Prepaid Expense Account Source Option
2185 , p_source_31 IN VARCHAR2
2186 , p_source_31_meaning IN VARCHAR2
2187 --Purchase Order Number
2188 , p_source_32 IN VARCHAR2
2189 --Invoice Distribution Type
2190 , p_source_33 IN VARCHAR2
2191 , p_source_33_meaning IN VARCHAR2
2192 , x_transaction_coa_id OUT NOCOPY NUMBER
2193 , x_accounting_coa_id OUT NOCOPY NUMBER
2194 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
2195 , x_flex_value_set_id OUT NOCOPY NUMBER
2196 , x_value_type_code OUT NOCOPY VARCHAR2
2197 , x_value_combination_id OUT NOCOPY NUMBER
2198 , x_value_segment_code OUT NOCOPY VARCHAR2
2199 )
2200 RETURN VARCHAR2
2201 IS
2202 l_component_type VARCHAR2(80) ;
2203 l_component_code VARCHAR2(30) ;
2204 l_component_type_code VARCHAR2(1) ;
2205 l_component_appl_id INTEGER ;
2206 l_amb_context_code VARCHAR2(30) ;
2207 l_log_module VARCHAR2(240) ;
2208 l_output_value VARCHAR2(30) ;
2209 BEGIN
2210 IF g_log_enabled THEN
2211 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_13';
2212 END IF;
2213 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2214
2215 trace
2216 (p_msg => 'BEGIN of AcctDerRule_13'
2217 ,p_level => C_LEVEL_PROCEDURE
2218 ,p_module => l_log_module);
2219
2220 END IF;
2221
2222 l_component_type := 'AMB_ADR';
2223 l_component_code := 'AP_INVOICE_DIST_NAT_ACCT_ITEM';
2224 l_component_type_code := 'S';
2225 l_component_appl_id := 200;
2226 l_amb_context_code := 'DEFAULT';
2227 x_transaction_coa_id := null;
2228 x_accounting_coa_id := null;
2229 x_flexfield_segment_code := 'GL_ACCOUNT';
2230 x_flex_value_set_id := null ;
2231
2232
2233 IF NVL(p_source_31,'
2234 ') = 'Y' AND
2235 p_source_32 IS NOT NULL AND
2236 NVL(p_source_33,'
2237 ') = 'ITEM'
2238 THEN
2239 --
2240 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2241
2242 trace
2243 (p_msg => 'END of AcctDerRule_13'
2244 ,p_level => C_LEVEL_PROCEDURE
2245 ,p_module => l_log_module);
2246
2247 END IF;
2248 x_value_combination_id := TO_NUMBER(p_source_30) ;
2249 x_value_segment_code := 'GL_ACCOUNT' ;
2250 x_value_type_code := 'S';
2251 l_output_value := null;
2252 RETURN l_output_value;
2253
2254 ELSE
2255 IF p_override_seg_flag = 'Y' THEN
2256 RETURN '#$NO_OVERRIDE#$';
2257 END IF;
2258 END IF;
2259
2260 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2261
2262 trace
2263 (p_msg => 'END of AcctDerRule_13(invalid)'
2264 ,p_level => C_LEVEL_PROCEDURE
2265 ,p_module => l_log_module);
2266
2267 END IF;
2268
2269 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
2270 x_value_combination_id := null;
2271 x_value_segment_code := null;
2272 x_value_type_code := null;
2273 l_output_value := null;
2274 xla_accounting_err_pkg.build_message
2275 (p_appli_s_name => 'XLA'
2276 ,p_msg_name => 'XLA_AP_INVALID_ADR'
2277 ,p_token_1 => 'COMPONENT_NAME'
2278 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
2279 l_component_type
2280 , l_component_code
2281 , l_component_type_code
2282 , l_component_appl_id
2283 , l_amb_context_code
2284 )
2285 ,p_token_2 => 'OWNER'
2286 ,p_value_2 => xla_lookups_pkg.get_meaning(
2290 ,p_token_3 => 'PAD_NAME'
2287 'XLA_OWNER_TYPE'
2288 ,l_component_type_code
2289 )
2291 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
2292 ,p_token_4 => 'PAD_OWNER'
2293 ,p_value_4 => xla_lookups_pkg.get_meaning(
2294 'XLA_OWNER_TYPE'
2295 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
2296 )
2297 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
2298 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
2299 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2300 ,p_ae_header_id => NULL
2301 );
2302 RETURN l_output_value;
2303 EXCEPTION
2304 WHEN xla_exceptions_pkg.application_exception THEN
2305 RAISE;
2306 WHEN OTHERS THEN
2307 xla_exceptions_pkg.raise_message
2308 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_13');
2309 END AcctDerRule_13;
2310 --
2311
2312 ---------------------------------------
2313 --
2314 -- PRIVATE FUNCTION
2315 -- AcctDerRule_14
2316 --
2317 ---------------------------------------
2318 FUNCTION AcctDerRule_14 (
2319 p_application_id IN NUMBER
2320 , p_ae_header_id IN NUMBER
2321 , p_side IN VARCHAR2
2322 , p_override_seg_flag IN VARCHAR2
2323 --Automatic Offsets Value
2324 , p_source_15 IN VARCHAR2
2325 , p_source_15_meaning IN VARCHAR2
2326 --Invoice Distribution Account
2327 , p_source_30 IN NUMBER
2328 , x_transaction_coa_id OUT NOCOPY NUMBER
2329 , x_accounting_coa_id OUT NOCOPY NUMBER
2330 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
2331 , x_flex_value_set_id OUT NOCOPY NUMBER
2332 , x_value_type_code OUT NOCOPY VARCHAR2
2333 , x_value_combination_id OUT NOCOPY NUMBER
2334 , x_value_segment_code OUT NOCOPY VARCHAR2
2335 )
2336 RETURN VARCHAR2
2337 IS
2338 l_component_type VARCHAR2(80) ;
2339 l_component_code VARCHAR2(30) ;
2340 l_component_type_code VARCHAR2(1) ;
2341 l_component_appl_id INTEGER ;
2342 l_amb_context_code VARCHAR2(30) ;
2343 l_log_module VARCHAR2(240) ;
2344 l_output_value VARCHAR2(30) ;
2345 BEGIN
2346 IF g_log_enabled THEN
2347 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_14';
2348 END IF;
2349 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2350
2351 trace
2352 (p_msg => 'BEGIN of AcctDerRule_14'
2353 ,p_level => C_LEVEL_PROCEDURE
2354 ,p_module => l_log_module);
2355
2356 END IF;
2357
2358 l_component_type := 'AMB_ADR';
2359 l_component_code := 'AP_INVOICE_DIST_NAT_ACCT_SEG';
2360 l_component_type_code := 'S';
2361 l_component_appl_id := 200;
2362 l_amb_context_code := 'DEFAULT';
2363 x_transaction_coa_id := null;
2364 x_accounting_coa_id := null;
2365 x_flexfield_segment_code := 'GL_ACCOUNT';
2366 x_flex_value_set_id := null ;
2367
2368
2369 IF NVL(p_source_15,'
2370 ') = 'ACCOUNT_SEGMENT_VALUE'
2371 THEN
2372 --
2373 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2374
2375 trace
2376 (p_msg => 'END of AcctDerRule_14'
2377 ,p_level => C_LEVEL_PROCEDURE
2378 ,p_module => l_log_module);
2379
2380 END IF;
2381 x_value_combination_id := TO_NUMBER(p_source_30) ;
2382 x_value_segment_code := 'GL_ACCOUNT' ;
2383 x_value_type_code := 'S';
2384 l_output_value := null;
2385 RETURN l_output_value;
2386
2387 ELSE
2388 IF p_override_seg_flag = 'Y' THEN
2389 RETURN '#$NO_OVERRIDE#$';
2390 END IF;
2391 END IF;
2392
2393 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2394
2395 trace
2396 (p_msg => 'END of AcctDerRule_14(invalid)'
2397 ,p_level => C_LEVEL_PROCEDURE
2398 ,p_module => l_log_module);
2399
2400 END IF;
2401
2402 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
2403 x_value_combination_id := null;
2404 x_value_segment_code := null;
2405 x_value_type_code := null;
2406 l_output_value := null;
2407 xla_accounting_err_pkg.build_message
2408 (p_appli_s_name => 'XLA'
2409 ,p_msg_name => 'XLA_AP_INVALID_ADR'
2410 ,p_token_1 => 'COMPONENT_NAME'
2411 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
2412 l_component_type
2413 , l_component_code
2414 , l_component_type_code
2415 , l_component_appl_id
2416 , l_amb_context_code
2417 )
2418 ,p_token_2 => 'OWNER'
2419 ,p_value_2 => xla_lookups_pkg.get_meaning(
2423 ,p_token_3 => 'PAD_NAME'
2420 'XLA_OWNER_TYPE'
2421 ,l_component_type_code
2422 )
2424 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
2425 ,p_token_4 => 'PAD_OWNER'
2426 ,p_value_4 => xla_lookups_pkg.get_meaning(
2427 'XLA_OWNER_TYPE'
2428 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
2429 )
2430 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
2431 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
2432 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2433 ,p_ae_header_id => NULL
2434 );
2435 RETURN l_output_value;
2436 EXCEPTION
2437 WHEN xla_exceptions_pkg.application_exception THEN
2438 RAISE;
2439 WHEN OTHERS THEN
2440 xla_exceptions_pkg.raise_message
2441 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_14');
2442 END AcctDerRule_14;
2443 --
2444
2445 ---------------------------------------
2446 --
2447 -- PRIVATE FUNCTION
2448 -- AcctDerRule_15
2449 --
2450 ---------------------------------------
2451 FUNCTION AcctDerRule_15 (
2452 p_application_id IN NUMBER
2453 , p_ae_header_id IN NUMBER
2454 , p_side IN VARCHAR2
2455 , p_override_seg_flag IN VARCHAR2
2456 --Invoice Liability Account
2457 , p_source_34 IN NUMBER
2458 , x_transaction_coa_id OUT NOCOPY NUMBER
2459 , x_accounting_coa_id OUT NOCOPY NUMBER
2460 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
2461 , x_flex_value_set_id OUT NOCOPY NUMBER
2462 , x_value_type_code OUT NOCOPY VARCHAR2
2463 , x_value_combination_id OUT NOCOPY NUMBER
2464 , x_value_segment_code OUT NOCOPY VARCHAR2
2465 )
2466 RETURN VARCHAR2
2467 IS
2468 l_component_type VARCHAR2(80) ;
2469 l_component_code VARCHAR2(30) ;
2470 l_component_type_code VARCHAR2(1) ;
2471 l_component_appl_id INTEGER ;
2472 l_amb_context_code VARCHAR2(30) ;
2473 l_log_module VARCHAR2(240) ;
2474 l_output_value VARCHAR2(30) ;
2475 BEGIN
2476 IF g_log_enabled THEN
2477 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_15';
2478 END IF;
2479 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2480
2481 trace
2482 (p_msg => 'BEGIN of AcctDerRule_15'
2483 ,p_level => C_LEVEL_PROCEDURE
2484 ,p_module => l_log_module);
2485
2486 END IF;
2487
2488 l_component_type := 'AMB_ADR';
2489 l_component_code := 'AP_LIAB_NAT_ACCT_SEG';
2490 l_component_type_code := 'S';
2491 l_component_appl_id := 200;
2492 l_amb_context_code := 'DEFAULT';
2493 x_transaction_coa_id := null;
2494 x_accounting_coa_id := null;
2495 x_flexfield_segment_code := 'GL_ACCOUNT';
2496 x_flex_value_set_id := null ;
2497
2498
2499 --
2500 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2501
2502 trace
2503 (p_msg => 'END of AcctDerRule_15'
2504 ,p_level => C_LEVEL_PROCEDURE
2505 ,p_module => l_log_module);
2506
2507 END IF;
2508 x_value_combination_id := TO_NUMBER(p_source_34) ;
2509 x_value_segment_code := 'GL_ACCOUNT' ;
2510 x_value_type_code := 'S';
2511 l_output_value := null;
2512 RETURN l_output_value;
2513
2514
2515 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2516
2517 trace
2518 (p_msg => 'END of AcctDerRule_15(invalid)'
2519 ,p_level => C_LEVEL_PROCEDURE
2520 ,p_module => l_log_module);
2521
2522 END IF;
2523
2524 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
2525 x_value_combination_id := null;
2526 x_value_segment_code := null;
2527 x_value_type_code := null;
2528 l_output_value := null;
2529 xla_accounting_err_pkg.build_message
2530 (p_appli_s_name => 'XLA'
2531 ,p_msg_name => 'XLA_AP_INVALID_ADR'
2532 ,p_token_1 => 'COMPONENT_NAME'
2533 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
2534 l_component_type
2535 , l_component_code
2536 , l_component_type_code
2537 , l_component_appl_id
2538 , l_amb_context_code
2539 )
2540 ,p_token_2 => 'OWNER'
2541 ,p_value_2 => xla_lookups_pkg.get_meaning(
2542 'XLA_OWNER_TYPE'
2543 ,l_component_type_code
2547 ,p_token_4 => 'PAD_OWNER'
2544 )
2545 ,p_token_3 => 'PAD_NAME'
2546 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
2548 ,p_value_4 => xla_lookups_pkg.get_meaning(
2549 'XLA_OWNER_TYPE'
2550 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
2551 )
2552 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
2553 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
2554 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2555 ,p_ae_header_id => NULL
2556 );
2557 RETURN l_output_value;
2558 EXCEPTION
2559 WHEN xla_exceptions_pkg.application_exception THEN
2560 RAISE;
2561 WHEN OTHERS THEN
2562 xla_exceptions_pkg.raise_message
2563 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_15');
2564 END AcctDerRule_15;
2565 --
2566
2567 ---------------------------------------
2568 --
2569 -- PRIVATE FUNCTION
2570 -- AcctDerRule_16
2571 --
2572 ---------------------------------------
2573 FUNCTION AcctDerRule_16 (
2574 p_application_id IN NUMBER
2575 , p_ae_header_id IN NUMBER
2576 , p_side IN VARCHAR2
2577 , p_override_seg_flag IN VARCHAR2
2578 --Bank Cash Clearing Account
2579 , p_source_35 IN NUMBER
2580 , x_transaction_coa_id OUT NOCOPY NUMBER
2581 , x_accounting_coa_id OUT NOCOPY NUMBER
2582 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
2583 , x_flex_value_set_id OUT NOCOPY NUMBER
2584 , x_value_type_code OUT NOCOPY VARCHAR2
2585 , x_value_combination_id OUT NOCOPY NUMBER
2586 , x_value_segment_code OUT NOCOPY VARCHAR2
2587 )
2588 RETURN VARCHAR2
2589 IS
2590 l_component_type VARCHAR2(80) ;
2591 l_component_code VARCHAR2(30) ;
2592 l_component_type_code VARCHAR2(1) ;
2593 l_component_appl_id INTEGER ;
2594 l_amb_context_code VARCHAR2(30) ;
2595 l_log_module VARCHAR2(240) ;
2596 l_output_value VARCHAR2(30) ;
2597 BEGIN
2598 IF g_log_enabled THEN
2599 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_16';
2600 END IF;
2601 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2602
2603 trace
2604 (p_msg => 'BEGIN of AcctDerRule_16'
2605 ,p_level => C_LEVEL_PROCEDURE
2606 ,p_module => l_log_module);
2607
2608 END IF;
2609
2610 l_component_type := 'AMB_ADR';
2611 l_component_code := 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL';
2612 l_component_type_code := 'S';
2613 l_component_appl_id := 200;
2614 l_amb_context_code := 'DEFAULT';
2615 x_transaction_coa_id := null;
2616 x_accounting_coa_id := null;
2617 x_flexfield_segment_code := 'GL_ACCOUNT';
2618 x_flex_value_set_id := null ;
2619
2620
2621 --
2622 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2623
2624 trace
2625 (p_msg => 'END of AcctDerRule_16'
2626 ,p_level => C_LEVEL_PROCEDURE
2627 ,p_module => l_log_module);
2628
2629 END IF;
2630 x_value_combination_id := TO_NUMBER(p_source_35) ;
2631 x_value_segment_code := 'GL_ACCOUNT' ;
2632 x_value_type_code := 'S';
2633 l_output_value := null;
2634 RETURN l_output_value;
2635
2636
2637 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2638
2639 trace
2640 (p_msg => 'END of AcctDerRule_16(invalid)'
2641 ,p_level => C_LEVEL_PROCEDURE
2642 ,p_module => l_log_module);
2643
2644 END IF;
2645
2646 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
2647 x_value_combination_id := null;
2648 x_value_segment_code := null;
2649 x_value_type_code := null;
2650 l_output_value := null;
2651 xla_accounting_err_pkg.build_message
2652 (p_appli_s_name => 'XLA'
2653 ,p_msg_name => 'XLA_AP_INVALID_ADR'
2654 ,p_token_1 => 'COMPONENT_NAME'
2655 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
2656 l_component_type
2657 , l_component_code
2658 , l_component_type_code
2659 , l_component_appl_id
2660 , l_amb_context_code
2661 )
2662 ,p_token_2 => 'OWNER'
2663 ,p_value_2 => xla_lookups_pkg.get_meaning(
2664 'XLA_OWNER_TYPE'
2665 ,l_component_type_code
2666 )
2667 ,p_token_3 => 'PAD_NAME'
2671 'XLA_OWNER_TYPE'
2668 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
2669 ,p_token_4 => 'PAD_OWNER'
2670 ,p_value_4 => xla_lookups_pkg.get_meaning(
2672 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
2673 )
2674 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
2675 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
2676 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2677 ,p_ae_header_id => NULL
2678 );
2679 RETURN l_output_value;
2680 EXCEPTION
2681 WHEN xla_exceptions_pkg.application_exception THEN
2682 RAISE;
2683 WHEN OTHERS THEN
2684 xla_exceptions_pkg.raise_message
2685 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_16');
2686 END AcctDerRule_16;
2687 --
2688
2689 ---------------------------------------
2690 --
2691 -- PRIVATE FUNCTION
2692 -- AcctDerRule_17
2693 --
2694 ---------------------------------------
2695 FUNCTION AcctDerRule_17 (
2696 p_application_id IN NUMBER
2697 , p_ae_header_id IN NUMBER
2698 , p_side IN VARCHAR2
2699 , p_override_seg_flag IN VARCHAR2
2700 --Automatic Offsets Value
2701 , p_source_15 IN VARCHAR2
2702 , p_source_15_meaning IN VARCHAR2
2703 --Internal Realized Gain Account
2704 , p_source_36 IN NUMBER
2705 --Bank Gain Account
2706 , p_source_37 IN NUMBER
2707 , x_transaction_coa_id OUT NOCOPY NUMBER
2708 , x_accounting_coa_id OUT NOCOPY NUMBER
2709 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
2710 , x_flex_value_set_id OUT NOCOPY NUMBER
2711 , x_value_type_code OUT NOCOPY VARCHAR2
2712 , x_value_combination_id OUT NOCOPY NUMBER
2713 , x_value_segment_code OUT NOCOPY VARCHAR2
2714 )
2715 RETURN VARCHAR2
2716 IS
2717 l_component_type VARCHAR2(80) ;
2718 l_component_code VARCHAR2(30) ;
2719 l_component_type_code VARCHAR2(1) ;
2720 l_component_appl_id INTEGER ;
2721 l_amb_context_code VARCHAR2(30) ;
2722 l_log_module VARCHAR2(240) ;
2723 l_output_value VARCHAR2(30) ;
2724 BEGIN
2725 IF g_log_enabled THEN
2726 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_17';
2727 END IF;
2728 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2729
2730 trace
2731 (p_msg => 'BEGIN of AcctDerRule_17'
2732 ,p_level => C_LEVEL_PROCEDURE
2733 ,p_module => l_log_module);
2734
2735 END IF;
2736
2737 l_component_type := 'AMB_ADR';
2738 l_component_code := 'AP_REAL_GAIN_NAT_ACCT_SEG';
2739 l_component_type_code := 'S';
2740 l_component_appl_id := 200;
2741 l_amb_context_code := 'DEFAULT';
2742 x_transaction_coa_id := null;
2743 x_accounting_coa_id := null;
2744 x_flexfield_segment_code := 'GL_ACCOUNT';
2745 x_flex_value_set_id := null ;
2746
2747
2748 IF NVL(p_source_15,'
2749 ') = 'ACCOUNT_SEGMENT_VALUE'
2750 THEN
2751 --
2752 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2753
2754 trace
2755 (p_msg => 'END of AcctDerRule_17'
2756 ,p_level => C_LEVEL_PROCEDURE
2757 ,p_module => l_log_module);
2758
2759 END IF;
2760 x_value_combination_id := TO_NUMBER(p_source_36) ;
2761 x_value_segment_code := 'GL_ACCOUNT' ;
2762 x_value_type_code := 'S';
2763 l_output_value := null;
2764 RETURN l_output_value;
2765
2766 ELSIF NVL(p_source_15,'
2767 ') = 'ACCOUNT_SEGMENT_VALUE'
2768 THEN
2769 --
2770 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2771
2772 trace
2773 (p_msg => 'END of AcctDerRule_17'
2774 ,p_level => C_LEVEL_PROCEDURE
2775 ,p_module => l_log_module);
2776
2777 END IF;
2778 x_value_combination_id := TO_NUMBER(p_source_37) ;
2779 x_value_segment_code := 'GL_ACCOUNT' ;
2780 x_value_type_code := 'S';
2781 l_output_value := null;
2782 RETURN l_output_value;
2783
2784 ELSE
2785 IF p_override_seg_flag = 'Y' THEN
2786 RETURN '#$NO_OVERRIDE#$';
2787 END IF;
2788 END IF;
2789
2790 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2791
2792 trace
2793 (p_msg => 'END of AcctDerRule_17(invalid)'
2794 ,p_level => C_LEVEL_PROCEDURE
2795 ,p_module => l_log_module);
2796
2797 END IF;
2798
2799 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
2800 x_value_combination_id := null;
2801 x_value_segment_code := null;
2802 x_value_type_code := null;
2803 l_output_value := null;
2804 xla_accounting_err_pkg.build_message
2805 (p_appli_s_name => 'XLA'
2806 ,p_msg_name => 'XLA_AP_INVALID_ADR'
2807 ,p_token_1 => 'COMPONENT_NAME'
2811 , l_component_type_code
2808 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
2809 l_component_type
2810 , l_component_code
2812 , l_component_appl_id
2813 , l_amb_context_code
2814 )
2815 ,p_token_2 => 'OWNER'
2816 ,p_value_2 => xla_lookups_pkg.get_meaning(
2817 'XLA_OWNER_TYPE'
2818 ,l_component_type_code
2819 )
2820 ,p_token_3 => 'PAD_NAME'
2821 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
2822 ,p_token_4 => 'PAD_OWNER'
2823 ,p_value_4 => xla_lookups_pkg.get_meaning(
2824 'XLA_OWNER_TYPE'
2825 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
2826 )
2827 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
2828 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
2829 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2830 ,p_ae_header_id => NULL
2831 );
2832 RETURN l_output_value;
2833 EXCEPTION
2834 WHEN xla_exceptions_pkg.application_exception THEN
2835 RAISE;
2836 WHEN OTHERS THEN
2837 xla_exceptions_pkg.raise_message
2838 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_17');
2839 END AcctDerRule_17;
2840 --
2841
2842 ---------------------------------------
2843 --
2844 -- PRIVATE FUNCTION
2845 -- AcctDerRule_18
2846 --
2847 ---------------------------------------
2848 FUNCTION AcctDerRule_18 (
2849 p_application_id IN NUMBER
2850 , p_ae_header_id IN NUMBER
2851 , p_side IN VARCHAR2
2852 , p_override_seg_flag IN VARCHAR2
2853 --Automatic Offsets Value
2854 , p_source_15 IN VARCHAR2
2855 , p_source_15_meaning IN VARCHAR2
2856 --Internal Realized Loss Account
2857 , p_source_38 IN NUMBER
2858 --Bank Loss Account
2859 , p_source_39 IN NUMBER
2860 , x_transaction_coa_id OUT NOCOPY NUMBER
2861 , x_accounting_coa_id OUT NOCOPY NUMBER
2862 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
2863 , x_flex_value_set_id OUT NOCOPY NUMBER
2864 , x_value_type_code OUT NOCOPY VARCHAR2
2865 , x_value_combination_id OUT NOCOPY NUMBER
2866 , x_value_segment_code OUT NOCOPY VARCHAR2
2867 )
2868 RETURN VARCHAR2
2869 IS
2870 l_component_type VARCHAR2(80) ;
2871 l_component_code VARCHAR2(30) ;
2872 l_component_type_code VARCHAR2(1) ;
2873 l_component_appl_id INTEGER ;
2874 l_amb_context_code VARCHAR2(30) ;
2875 l_log_module VARCHAR2(240) ;
2876 l_output_value VARCHAR2(30) ;
2877 BEGIN
2878 IF g_log_enabled THEN
2879 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_18';
2880 END IF;
2881 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2882
2883 trace
2884 (p_msg => 'BEGIN of AcctDerRule_18'
2885 ,p_level => C_LEVEL_PROCEDURE
2886 ,p_module => l_log_module);
2887
2888 END IF;
2889
2890 l_component_type := 'AMB_ADR';
2891 l_component_code := 'AP_REAL_LOSS_NAT_ACCT_SEG';
2892 l_component_type_code := 'S';
2893 l_component_appl_id := 200;
2894 l_amb_context_code := 'DEFAULT';
2895 x_transaction_coa_id := null;
2896 x_accounting_coa_id := null;
2897 x_flexfield_segment_code := 'GL_ACCOUNT';
2898 x_flex_value_set_id := null ;
2899
2900
2901 IF NVL(p_source_15,'
2902 ') = 'ACCOUNT_SEGMENT_VALUE'
2903 THEN
2904 --
2905 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2906
2907 trace
2908 (p_msg => 'END of AcctDerRule_18'
2909 ,p_level => C_LEVEL_PROCEDURE
2910 ,p_module => l_log_module);
2911
2912 END IF;
2913 x_value_combination_id := TO_NUMBER(p_source_38) ;
2914 x_value_segment_code := 'GL_ACCOUNT' ;
2915 x_value_type_code := 'S';
2916 l_output_value := null;
2917 RETURN l_output_value;
2918
2919 ELSIF NVL(p_source_15,'
2920 ') = 'ACCOUNT_SEGMENT_VALUE'
2921 THEN
2922 --
2923 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2924
2925 trace
2926 (p_msg => 'END of AcctDerRule_18'
2927 ,p_level => C_LEVEL_PROCEDURE
2928 ,p_module => l_log_module);
2929
2930 END IF;
2931 x_value_combination_id := TO_NUMBER(p_source_39) ;
2932 x_value_segment_code := 'GL_ACCOUNT' ;
2933 x_value_type_code := 'S';
2934 l_output_value := null;
2935 RETURN l_output_value;
2936
2937 ELSE
2938 IF p_override_seg_flag = 'Y' THEN
2939 RETURN '#$NO_OVERRIDE#$';
2943 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2940 END IF;
2941 END IF;
2942
2944
2945 trace
2946 (p_msg => 'END of AcctDerRule_18(invalid)'
2947 ,p_level => C_LEVEL_PROCEDURE
2948 ,p_module => l_log_module);
2949
2950 END IF;
2951
2952 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
2953 x_value_combination_id := null;
2954 x_value_segment_code := null;
2955 x_value_type_code := null;
2956 l_output_value := null;
2957 xla_accounting_err_pkg.build_message
2958 (p_appli_s_name => 'XLA'
2959 ,p_msg_name => 'XLA_AP_INVALID_ADR'
2960 ,p_token_1 => 'COMPONENT_NAME'
2961 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
2962 l_component_type
2963 , l_component_code
2964 , l_component_type_code
2965 , l_component_appl_id
2966 , l_amb_context_code
2967 )
2968 ,p_token_2 => 'OWNER'
2969 ,p_value_2 => xla_lookups_pkg.get_meaning(
2970 'XLA_OWNER_TYPE'
2971 ,l_component_type_code
2972 )
2973 ,p_token_3 => 'PAD_NAME'
2974 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
2975 ,p_token_4 => 'PAD_OWNER'
2976 ,p_value_4 => xla_lookups_pkg.get_meaning(
2977 'XLA_OWNER_TYPE'
2978 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
2979 )
2980 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
2981 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
2982 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2983 ,p_ae_header_id => NULL
2984 );
2985 RETURN l_output_value;
2986 EXCEPTION
2987 WHEN xla_exceptions_pkg.application_exception THEN
2988 RAISE;
2989 WHEN OTHERS THEN
2990 xla_exceptions_pkg.raise_message
2991 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_18');
2992 END AcctDerRule_18;
2993 --
2994
2995 ---------------------------------------
2996 --
2997 -- PRIVATE FUNCTION
2998 -- AcctDerRule_19
2999 --
3000 ---------------------------------------
3001 FUNCTION AcctDerRule_19 (
3002 p_application_id IN NUMBER
3003 , p_ae_header_id IN NUMBER
3004 , p_side IN VARCHAR2
3005 , p_override_seg_flag IN VARCHAR2
3006 --Retainage Account
3007 , p_source_40 IN NUMBER
3008 , x_transaction_coa_id OUT NOCOPY NUMBER
3009 , x_accounting_coa_id OUT NOCOPY NUMBER
3010 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
3011 , x_flex_value_set_id OUT NOCOPY NUMBER
3012 , x_value_type_code OUT NOCOPY VARCHAR2
3013 , x_value_combination_id OUT NOCOPY NUMBER
3014 , x_value_segment_code OUT NOCOPY VARCHAR2
3015 )
3016 RETURN VARCHAR2
3017 IS
3018 l_component_type VARCHAR2(80) ;
3019 l_component_code VARCHAR2(30) ;
3020 l_component_type_code VARCHAR2(1) ;
3021 l_component_appl_id INTEGER ;
3022 l_amb_context_code VARCHAR2(30) ;
3023 l_log_module VARCHAR2(240) ;
3024 l_output_value VARCHAR2(30) ;
3025 BEGIN
3026 IF g_log_enabled THEN
3027 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_19';
3028 END IF;
3029 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3030
3031 trace
3032 (p_msg => 'BEGIN of AcctDerRule_19'
3033 ,p_level => C_LEVEL_PROCEDURE
3034 ,p_module => l_log_module);
3035
3036 END IF;
3037
3038 l_component_type := 'AMB_ADR';
3039 l_component_code := 'AP_RETAIN_NAT_ACCT_SEG';
3040 l_component_type_code := 'S';
3041 l_component_appl_id := 200;
3042 l_amb_context_code := 'DEFAULT';
3043 x_transaction_coa_id := null;
3044 x_accounting_coa_id := null;
3045 x_flexfield_segment_code := 'GL_ACCOUNT';
3046 x_flex_value_set_id := null ;
3047
3048
3049 --
3050 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3051
3052 trace
3053 (p_msg => 'END of AcctDerRule_19'
3054 ,p_level => C_LEVEL_PROCEDURE
3055 ,p_module => l_log_module);
3056
3057 END IF;
3058 x_value_combination_id := TO_NUMBER(p_source_40) ;
3059 x_value_segment_code := 'GL_ACCOUNT' ;
3060 x_value_type_code := 'S';
3061 l_output_value := null;
3062 RETURN l_output_value;
3063
3064
3065 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3066
3067 trace
3071
3068 (p_msg => 'END of AcctDerRule_19(invalid)'
3069 ,p_level => C_LEVEL_PROCEDURE
3070 ,p_module => l_log_module);
3072 END IF;
3073
3074 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
3075 x_value_combination_id := null;
3076 x_value_segment_code := null;
3077 x_value_type_code := null;
3078 l_output_value := null;
3079 xla_accounting_err_pkg.build_message
3080 (p_appli_s_name => 'XLA'
3081 ,p_msg_name => 'XLA_AP_INVALID_ADR'
3082 ,p_token_1 => 'COMPONENT_NAME'
3083 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
3084 l_component_type
3085 , l_component_code
3086 , l_component_type_code
3087 , l_component_appl_id
3088 , l_amb_context_code
3089 )
3090 ,p_token_2 => 'OWNER'
3091 ,p_value_2 => xla_lookups_pkg.get_meaning(
3092 'XLA_OWNER_TYPE'
3093 ,l_component_type_code
3094 )
3095 ,p_token_3 => 'PAD_NAME'
3096 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
3097 ,p_token_4 => 'PAD_OWNER'
3098 ,p_value_4 => xla_lookups_pkg.get_meaning(
3099 'XLA_OWNER_TYPE'
3100 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
3101 )
3102 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
3103 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
3104 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
3105 ,p_ae_header_id => NULL
3106 );
3107 RETURN l_output_value;
3108 EXCEPTION
3109 WHEN xla_exceptions_pkg.application_exception THEN
3110 RAISE;
3111 WHEN OTHERS THEN
3112 xla_exceptions_pkg.raise_message
3113 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_19');
3114 END AcctDerRule_19;
3115 --
3116
3117 ---------------------------------------
3118 --
3119 -- PRIVATE FUNCTION
3120 -- AcctDerRule_20
3121 --
3122 ---------------------------------------
3123 FUNCTION AcctDerRule_20 (
3124 p_application_id IN NUMBER
3125 , p_ae_header_id IN NUMBER
3126 , p_side IN VARCHAR2
3127 , p_override_seg_flag IN VARCHAR2
3128 --Payables Options Tax Difference Account
3129 , p_source_41 IN NUMBER
3130 , x_transaction_coa_id OUT NOCOPY NUMBER
3131 , x_accounting_coa_id OUT NOCOPY NUMBER
3132 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
3133 , x_flex_value_set_id OUT NOCOPY NUMBER
3134 , x_value_type_code OUT NOCOPY VARCHAR2
3135 , x_value_combination_id OUT NOCOPY NUMBER
3136 , x_value_segment_code OUT NOCOPY VARCHAR2
3137 )
3138 RETURN VARCHAR2
3139 IS
3140 l_component_type VARCHAR2(80) ;
3141 l_component_code VARCHAR2(30) ;
3142 l_component_type_code VARCHAR2(1) ;
3143 l_component_appl_id INTEGER ;
3144 l_amb_context_code VARCHAR2(30) ;
3145 l_log_module VARCHAR2(240) ;
3146 l_output_value VARCHAR2(30) ;
3147 BEGIN
3148 IF g_log_enabled THEN
3149 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_20';
3150 END IF;
3151 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3152
3153 trace
3154 (p_msg => 'BEGIN of AcctDerRule_20'
3155 ,p_level => C_LEVEL_PROCEDURE
3156 ,p_module => l_log_module);
3157
3158 END IF;
3159
3160 l_component_type := 'AMB_ADR';
3161 l_component_code := 'AP_TAX_DIFFERENCE_NAT_ACCT';
3162 l_component_type_code := 'S';
3163 l_component_appl_id := 200;
3164 l_amb_context_code := 'DEFAULT';
3165 x_transaction_coa_id := null;
3166 x_accounting_coa_id := null;
3167 x_flexfield_segment_code := 'GL_ACCOUNT';
3168 x_flex_value_set_id := null ;
3169
3170
3171 --
3172 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3173
3174 trace
3175 (p_msg => 'END of AcctDerRule_20'
3176 ,p_level => C_LEVEL_PROCEDURE
3177 ,p_module => l_log_module);
3178
3179 END IF;
3180 x_value_combination_id := TO_NUMBER(p_source_41) ;
3181 x_value_segment_code := 'GL_ACCOUNT' ;
3182 x_value_type_code := 'S';
3183 l_output_value := null;
3184 RETURN l_output_value;
3185
3186
3187 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3188
3189 trace
3193
3190 (p_msg => 'END of AcctDerRule_20(invalid)'
3191 ,p_level => C_LEVEL_PROCEDURE
3192 ,p_module => l_log_module);
3194 END IF;
3195
3196 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
3197 x_value_combination_id := null;
3198 x_value_segment_code := null;
3199 x_value_type_code := null;
3200 l_output_value := null;
3201 xla_accounting_err_pkg.build_message
3202 (p_appli_s_name => 'XLA'
3203 ,p_msg_name => 'XLA_AP_INVALID_ADR'
3204 ,p_token_1 => 'COMPONENT_NAME'
3205 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
3206 l_component_type
3207 , l_component_code
3208 , l_component_type_code
3209 , l_component_appl_id
3210 , l_amb_context_code
3211 )
3212 ,p_token_2 => 'OWNER'
3213 ,p_value_2 => xla_lookups_pkg.get_meaning(
3214 'XLA_OWNER_TYPE'
3215 ,l_component_type_code
3216 )
3217 ,p_token_3 => 'PAD_NAME'
3218 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
3219 ,p_token_4 => 'PAD_OWNER'
3220 ,p_value_4 => xla_lookups_pkg.get_meaning(
3221 'XLA_OWNER_TYPE'
3222 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
3223 )
3224 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
3225 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
3226 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
3227 ,p_ae_header_id => NULL
3228 );
3229 RETURN l_output_value;
3230 EXCEPTION
3231 WHEN xla_exceptions_pkg.application_exception THEN
3232 RAISE;
3233 WHEN OTHERS THEN
3234 xla_exceptions_pkg.raise_message
3235 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_20');
3236 END AcctDerRule_20;
3237 --
3238
3239 ---------------------------------------
3240 --
3241 -- PRIVATE FUNCTION
3242 -- AcctDerRule_21
3243 --
3244 ---------------------------------------
3245 FUNCTION AcctDerRule_21 (
3246 p_application_id IN NUMBER
3247 , p_ae_header_id IN NUMBER
3248 , p_side IN VARCHAR2
3249 , p_override_seg_flag IN VARCHAR2
3250 --Automatic Offsets Value
3251 , p_source_15 IN VARCHAR2
3252 , p_source_15_meaning IN VARCHAR2
3253 --Discount Distribution Method
3254 , p_source_19 IN VARCHAR2
3255 , p_source_19_meaning IN VARCHAR2
3256 --Invoice Distribution Account
3257 , p_source_30 IN NUMBER
3258 , x_transaction_coa_id OUT NOCOPY NUMBER
3259 , x_accounting_coa_id OUT NOCOPY NUMBER
3260 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
3261 , x_flex_value_set_id OUT NOCOPY NUMBER
3262 , x_value_type_code OUT NOCOPY VARCHAR2
3263 , x_value_combination_id OUT NOCOPY NUMBER
3264 , x_value_segment_code OUT NOCOPY VARCHAR2
3265 )
3266 RETURN VARCHAR2
3267 IS
3268 l_component_type VARCHAR2(80) ;
3269 l_component_code VARCHAR2(30) ;
3270 l_component_type_code VARCHAR2(1) ;
3271 l_component_appl_id INTEGER ;
3272 l_amb_context_code VARCHAR2(30) ;
3273 l_log_module VARCHAR2(240) ;
3274 l_output_value VARCHAR2(30) ;
3275 BEGIN
3276 IF g_log_enabled THEN
3277 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_21';
3278 END IF;
3279 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3280
3281 trace
3282 (p_msg => 'BEGIN of AcctDerRule_21'
3283 ,p_level => C_LEVEL_PROCEDURE
3284 ,p_module => l_log_module);
3285
3286 END IF;
3287
3288 l_component_type := 'AMB_ADR';
3289 l_component_code := 'AP_DISCOUNT_BAL_ACCT_SEG';
3290 l_component_type_code := 'S';
3291 l_component_appl_id := 200;
3292 l_amb_context_code := 'DEFAULT';
3293 x_transaction_coa_id := null;
3294 x_accounting_coa_id := null;
3295 x_flexfield_segment_code := 'GL_BALANCING';
3296 x_flex_value_set_id := null ;
3297
3298
3299 IF NVL(p_source_19,'
3300 ') = 'SYSTEM' AND
3301 NVL(p_source_15,'
3302 ') = 'BALANCING_SEGMENT'
3303 THEN
3304 --
3305 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3306
3307 trace
3308 (p_msg => 'END of AcctDerRule_21'
3309 ,p_level => C_LEVEL_PROCEDURE
3310 ,p_module => l_log_module);
3311
3312 END IF;
3313 x_value_combination_id := TO_NUMBER(p_source_30) ;
3314 x_value_segment_code := 'GL_BALANCING' ;
3318
3315 x_value_type_code := 'S';
3316 l_output_value := null;
3317 RETURN l_output_value;
3319 ELSE
3320 IF p_override_seg_flag = 'Y' THEN
3321 RETURN '#$NO_OVERRIDE#$';
3322 END IF;
3323 END IF;
3324
3325 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3326
3327 trace
3328 (p_msg => 'END of AcctDerRule_21(invalid)'
3329 ,p_level => C_LEVEL_PROCEDURE
3330 ,p_module => l_log_module);
3331
3332 END IF;
3333
3334 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
3335 x_value_combination_id := null;
3336 x_value_segment_code := null;
3337 x_value_type_code := null;
3338 l_output_value := null;
3339 xla_accounting_err_pkg.build_message
3340 (p_appli_s_name => 'XLA'
3341 ,p_msg_name => 'XLA_AP_INVALID_ADR'
3342 ,p_token_1 => 'COMPONENT_NAME'
3343 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
3344 l_component_type
3345 , l_component_code
3346 , l_component_type_code
3347 , l_component_appl_id
3348 , l_amb_context_code
3349 )
3350 ,p_token_2 => 'OWNER'
3351 ,p_value_2 => xla_lookups_pkg.get_meaning(
3352 'XLA_OWNER_TYPE'
3353 ,l_component_type_code
3354 )
3355 ,p_token_3 => 'PAD_NAME'
3356 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
3357 ,p_token_4 => 'PAD_OWNER'
3358 ,p_value_4 => xla_lookups_pkg.get_meaning(
3359 'XLA_OWNER_TYPE'
3360 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
3361 )
3362 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
3363 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
3364 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
3365 ,p_ae_header_id => NULL
3366 );
3367 RETURN l_output_value;
3368 EXCEPTION
3369 WHEN xla_exceptions_pkg.application_exception THEN
3370 RAISE;
3371 WHEN OTHERS THEN
3372 xla_exceptions_pkg.raise_message
3373 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_21');
3374 END AcctDerRule_21;
3375 --
3376
3377 ---------------------------------------
3378 --
3379 -- PRIVATE FUNCTION
3380 -- AcctDerRule_22
3381 --
3382 ---------------------------------------
3383 FUNCTION AcctDerRule_22 (
3384 p_application_id IN NUMBER
3385 , p_ae_header_id IN NUMBER
3386 , p_side IN VARCHAR2
3387 , p_override_seg_flag IN VARCHAR2
3388 --Automatic Offsets Value
3389 , p_source_15 IN VARCHAR2
3390 , p_source_15_meaning IN VARCHAR2
3391 --Invoice Distribution Account
3392 , p_source_30 IN NUMBER
3393 , x_transaction_coa_id OUT NOCOPY NUMBER
3394 , x_accounting_coa_id OUT NOCOPY NUMBER
3395 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
3396 , x_flex_value_set_id OUT NOCOPY NUMBER
3397 , x_value_type_code OUT NOCOPY VARCHAR2
3398 , x_value_combination_id OUT NOCOPY NUMBER
3399 , x_value_segment_code OUT NOCOPY VARCHAR2
3400 )
3401 RETURN VARCHAR2
3402 IS
3403 l_component_type VARCHAR2(80) ;
3404 l_component_code VARCHAR2(30) ;
3405 l_component_type_code VARCHAR2(1) ;
3406 l_component_appl_id INTEGER ;
3407 l_amb_context_code VARCHAR2(30) ;
3408 l_log_module VARCHAR2(240) ;
3409 l_output_value VARCHAR2(30) ;
3410 BEGIN
3411 IF g_log_enabled THEN
3412 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_22';
3413 END IF;
3414 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3415
3416 trace
3417 (p_msg => 'BEGIN of AcctDerRule_22'
3418 ,p_level => C_LEVEL_PROCEDURE
3419 ,p_module => l_log_module);
3420
3421 END IF;
3422
3423 l_component_type := 'AMB_ADR';
3424 l_component_code := 'AP_INV_DIST_BAL_SEG';
3425 l_component_type_code := 'S';
3426 l_component_appl_id := 200;
3427 l_amb_context_code := 'DEFAULT';
3428 x_transaction_coa_id := null;
3429 x_accounting_coa_id := null;
3430 x_flexfield_segment_code := 'GL_BALANCING';
3431 x_flex_value_set_id := null ;
3432
3433
3434 IF NVL(p_source_15,'
3435 ') = 'BALANCING_SEGMENT'
3436 THEN
3437 --
3438 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3439
3440 trace
3441 (p_msg => 'END of AcctDerRule_22'
3442 ,p_level => C_LEVEL_PROCEDURE
3446 x_value_combination_id := TO_NUMBER(p_source_30) ;
3443 ,p_module => l_log_module);
3444
3445 END IF;
3447 x_value_segment_code := 'GL_BALANCING' ;
3448 x_value_type_code := 'S';
3449 l_output_value := null;
3450 RETURN l_output_value;
3451
3452 ELSE
3453 IF p_override_seg_flag = 'Y' THEN
3454 RETURN '#$NO_OVERRIDE#$';
3455 END IF;
3456 END IF;
3457
3458 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3459
3460 trace
3461 (p_msg => 'END of AcctDerRule_22(invalid)'
3462 ,p_level => C_LEVEL_PROCEDURE
3463 ,p_module => l_log_module);
3464
3465 END IF;
3466
3467 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
3468 x_value_combination_id := null;
3469 x_value_segment_code := null;
3470 x_value_type_code := null;
3471 l_output_value := null;
3472 xla_accounting_err_pkg.build_message
3473 (p_appli_s_name => 'XLA'
3474 ,p_msg_name => 'XLA_AP_INVALID_ADR'
3475 ,p_token_1 => 'COMPONENT_NAME'
3476 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
3477 l_component_type
3478 , l_component_code
3479 , l_component_type_code
3480 , l_component_appl_id
3481 , l_amb_context_code
3482 )
3483 ,p_token_2 => 'OWNER'
3484 ,p_value_2 => xla_lookups_pkg.get_meaning(
3485 'XLA_OWNER_TYPE'
3486 ,l_component_type_code
3487 )
3488 ,p_token_3 => 'PAD_NAME'
3489 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
3490 ,p_token_4 => 'PAD_OWNER'
3491 ,p_value_4 => xla_lookups_pkg.get_meaning(
3492 'XLA_OWNER_TYPE'
3493 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
3494 )
3495 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
3496 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
3497 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
3498 ,p_ae_header_id => NULL
3499 );
3500 RETURN l_output_value;
3501 EXCEPTION
3502 WHEN xla_exceptions_pkg.application_exception THEN
3503 RAISE;
3504 WHEN OTHERS THEN
3505 xla_exceptions_pkg.raise_message
3506 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_22');
3507 END AcctDerRule_22;
3508 --
3509
3510 ---------------------------------------
3511 --
3512 -- PRIVATE FUNCTION
3513 -- AcctDerRule_23
3514 --
3515 ---------------------------------------
3516 FUNCTION AcctDerRule_23 (
3517 p_application_id IN NUMBER
3518 , p_ae_header_id IN NUMBER
3519 , p_side IN VARCHAR2
3520 , p_override_seg_flag IN VARCHAR2
3521 --Automatic Offsets Value
3522 , p_source_15 IN VARCHAR2
3523 , p_source_15_meaning IN VARCHAR2
3524 --Destination Type of the PO Distribution
3525 , p_source_22 IN VARCHAR2
3526 , p_source_22_meaning IN VARCHAR2
3527 --Invoice Distribution Account
3528 , p_source_30 IN NUMBER
3529 , x_transaction_coa_id OUT NOCOPY NUMBER
3530 , x_accounting_coa_id OUT NOCOPY NUMBER
3531 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
3532 , x_flex_value_set_id OUT NOCOPY NUMBER
3533 , x_value_type_code OUT NOCOPY VARCHAR2
3534 , x_value_combination_id OUT NOCOPY NUMBER
3535 , x_value_segment_code OUT NOCOPY VARCHAR2
3536 )
3537 RETURN VARCHAR2
3538 IS
3539 l_component_type VARCHAR2(80) ;
3540 l_component_code VARCHAR2(30) ;
3541 l_component_type_code VARCHAR2(1) ;
3542 l_component_appl_id INTEGER ;
3543 l_amb_context_code VARCHAR2(30) ;
3544 l_log_module VARCHAR2(240) ;
3545 l_output_value VARCHAR2(30) ;
3546 BEGIN
3547 IF g_log_enabled THEN
3548 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_23';
3549 END IF;
3550 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3551
3552 trace
3553 (p_msg => 'BEGIN of AcctDerRule_23'
3554 ,p_level => C_LEVEL_PROCEDURE
3555 ,p_module => l_log_module);
3556
3557 END IF;
3558
3559 l_component_type := 'AMB_ADR';
3560 l_component_code := 'AP_RELATED_DIST_BAL_SEG';
3561 l_component_type_code := 'S';
3562 l_component_appl_id := 200;
3563 l_amb_context_code := 'DEFAULT';
3564 x_transaction_coa_id := null;
3565 x_accounting_coa_id := null;
3566 x_flexfield_segment_code := 'GL_BALANCING';
3570 IF NVL(p_source_15,'
3567 x_flex_value_set_id := null ;
3568
3569
3571 ') = 'BALANCING_SEGMENT' AND
3572 NVL(p_source_22,'
3573 ') = 'INVENTORY'
3574 THEN
3575 --
3576 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3577
3578 trace
3579 (p_msg => 'END of AcctDerRule_23'
3580 ,p_level => C_LEVEL_PROCEDURE
3581 ,p_module => l_log_module);
3582
3583 END IF;
3584 x_value_combination_id := TO_NUMBER(p_source_30) ;
3585 x_value_segment_code := 'GL_BALANCING' ;
3586 x_value_type_code := 'S';
3587 l_output_value := null;
3588 RETURN l_output_value;
3589
3590 ELSE
3591 IF p_override_seg_flag = 'Y' THEN
3592 RETURN '#$NO_OVERRIDE#$';
3593 END IF;
3594 END IF;
3595
3596 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3597
3598 trace
3599 (p_msg => 'END of AcctDerRule_23(invalid)'
3600 ,p_level => C_LEVEL_PROCEDURE
3601 ,p_module => l_log_module);
3602
3603 END IF;
3604
3605 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
3606 x_value_combination_id := null;
3607 x_value_segment_code := null;
3608 x_value_type_code := null;
3609 l_output_value := null;
3610 xla_accounting_err_pkg.build_message
3611 (p_appli_s_name => 'XLA'
3612 ,p_msg_name => 'XLA_AP_INVALID_ADR'
3613 ,p_token_1 => 'COMPONENT_NAME'
3614 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
3615 l_component_type
3616 , l_component_code
3617 , l_component_type_code
3618 , l_component_appl_id
3619 , l_amb_context_code
3620 )
3621 ,p_token_2 => 'OWNER'
3622 ,p_value_2 => xla_lookups_pkg.get_meaning(
3623 'XLA_OWNER_TYPE'
3624 ,l_component_type_code
3625 )
3626 ,p_token_3 => 'PAD_NAME'
3627 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
3628 ,p_token_4 => 'PAD_OWNER'
3629 ,p_value_4 => xla_lookups_pkg.get_meaning(
3630 'XLA_OWNER_TYPE'
3631 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
3632 )
3633 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
3634 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
3635 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
3636 ,p_ae_header_id => NULL
3637 );
3638 RETURN l_output_value;
3639 EXCEPTION
3640 WHEN xla_exceptions_pkg.application_exception THEN
3641 RAISE;
3642 WHEN OTHERS THEN
3643 xla_exceptions_pkg.raise_message
3644 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_23');
3645 END AcctDerRule_23;
3646 --
3647
3648 ---------------------------------------
3649 --
3650 -- PRIVATE FUNCTION
3651 -- AcctDerRule_24
3652 --
3653 ---------------------------------------
3654 FUNCTION AcctDerRule_24 (
3655 p_application_id IN NUMBER
3656 , p_ae_header_id IN NUMBER
3657 , p_side IN VARCHAR2
3658 , p_override_seg_flag IN VARCHAR2
3659 --Automatic Offsets Value
3660 , p_source_15 IN VARCHAR2
3661 , p_source_15_meaning IN VARCHAR2
3662 --Retainage Related Item Distribution Account
3663 , p_source_42 IN NUMBER
3664 , x_transaction_coa_id OUT NOCOPY NUMBER
3665 , x_accounting_coa_id OUT NOCOPY NUMBER
3666 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
3667 , x_flex_value_set_id OUT NOCOPY NUMBER
3668 , x_value_type_code OUT NOCOPY VARCHAR2
3669 , x_value_combination_id OUT NOCOPY NUMBER
3670 , x_value_segment_code OUT NOCOPY VARCHAR2
3671 )
3672 RETURN VARCHAR2
3673 IS
3674 l_component_type VARCHAR2(80) ;
3675 l_component_code VARCHAR2(30) ;
3676 l_component_type_code VARCHAR2(1) ;
3677 l_component_appl_id INTEGER ;
3678 l_amb_context_code VARCHAR2(30) ;
3679 l_log_module VARCHAR2(240) ;
3680 l_output_value VARCHAR2(30) ;
3681 BEGIN
3682 IF g_log_enabled THEN
3683 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_24';
3684 END IF;
3685 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3686
3687 trace
3688 (p_msg => 'BEGIN of AcctDerRule_24'
3689 ,p_level => C_LEVEL_PROCEDURE
3690 ,p_module => l_log_module);
3691
3692 END IF;
3693
3694 l_component_type := 'AMB_ADR';
3695 l_component_code := 'AP_RETAIN_RELATED_BAL_SEG';
3699 x_transaction_coa_id := null;
3696 l_component_type_code := 'S';
3697 l_component_appl_id := 200;
3698 l_amb_context_code := 'DEFAULT';
3700 x_accounting_coa_id := null;
3701 x_flexfield_segment_code := 'GL_BALANCING';
3702 x_flex_value_set_id := null ;
3703
3704
3705 IF NVL(p_source_15,'
3706 ') = 'BALANCING_SEGMENT'
3707 THEN
3708 --
3709 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3710
3711 trace
3712 (p_msg => 'END of AcctDerRule_24'
3713 ,p_level => C_LEVEL_PROCEDURE
3714 ,p_module => l_log_module);
3715
3716 END IF;
3717 x_value_combination_id := TO_NUMBER(p_source_42) ;
3718 x_value_segment_code := 'GL_BALANCING' ;
3719 x_value_type_code := 'S';
3720 l_output_value := null;
3721 RETURN l_output_value;
3722
3723 ELSE
3724 IF p_override_seg_flag = 'Y' THEN
3725 RETURN '#$NO_OVERRIDE#$';
3726 END IF;
3727 END IF;
3728
3729 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3730
3731 trace
3732 (p_msg => 'END of AcctDerRule_24(invalid)'
3733 ,p_level => C_LEVEL_PROCEDURE
3734 ,p_module => l_log_module);
3735
3736 END IF;
3737
3738 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
3739 x_value_combination_id := null;
3740 x_value_segment_code := null;
3741 x_value_type_code := null;
3742 l_output_value := null;
3743 xla_accounting_err_pkg.build_message
3744 (p_appli_s_name => 'XLA'
3745 ,p_msg_name => 'XLA_AP_INVALID_ADR'
3746 ,p_token_1 => 'COMPONENT_NAME'
3747 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
3748 l_component_type
3749 , l_component_code
3750 , l_component_type_code
3751 , l_component_appl_id
3752 , l_amb_context_code
3753 )
3754 ,p_token_2 => 'OWNER'
3755 ,p_value_2 => xla_lookups_pkg.get_meaning(
3756 'XLA_OWNER_TYPE'
3757 ,l_component_type_code
3758 )
3759 ,p_token_3 => 'PAD_NAME'
3760 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
3761 ,p_token_4 => 'PAD_OWNER'
3762 ,p_value_4 => xla_lookups_pkg.get_meaning(
3763 'XLA_OWNER_TYPE'
3764 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
3765 )
3766 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
3767 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
3768 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
3769 ,p_ae_header_id => NULL
3770 );
3771 RETURN l_output_value;
3772 EXCEPTION
3773 WHEN xla_exceptions_pkg.application_exception THEN
3774 RAISE;
3775 WHEN OTHERS THEN
3776 xla_exceptions_pkg.raise_message
3777 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_24');
3778 END AcctDerRule_24;
3779 --
3780
3781 ---------------------------------------
3782 --
3783 -- PRIVATE FUNCTION
3784 -- AcctDerRule_25
3785 --
3786 ---------------------------------------
3787 FUNCTION AcctDerRule_25 (
3788 p_application_id IN NUMBER
3789 , p_ae_header_id IN NUMBER
3790 , p_side IN VARCHAR2
3791 , p_override_seg_flag IN VARCHAR2
3792 --Automatic Offsets Value
3793 , p_source_15 IN VARCHAR2
3794 , p_source_15_meaning IN VARCHAR2
3795 --Withholding Related Distribution Account
3796 , p_source_43 IN NUMBER
3797 , x_transaction_coa_id OUT NOCOPY NUMBER
3798 , x_accounting_coa_id OUT NOCOPY NUMBER
3799 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
3800 , x_flex_value_set_id OUT NOCOPY NUMBER
3801 , x_value_type_code OUT NOCOPY VARCHAR2
3802 , x_value_combination_id OUT NOCOPY NUMBER
3803 , x_value_segment_code OUT NOCOPY VARCHAR2
3804 )
3805 RETURN VARCHAR2
3806 IS
3807 l_component_type VARCHAR2(80) ;
3808 l_component_code VARCHAR2(30) ;
3809 l_component_type_code VARCHAR2(1) ;
3810 l_component_appl_id INTEGER ;
3811 l_amb_context_code VARCHAR2(30) ;
3812 l_log_module VARCHAR2(240) ;
3813 l_output_value VARCHAR2(30) ;
3814 BEGIN
3815 IF g_log_enabled THEN
3816 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_25';
3817 END IF;
3818 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3819
3820 trace
3821 (p_msg => 'BEGIN of AcctDerRule_25'
3822 ,p_level => C_LEVEL_PROCEDURE
3826
3823 ,p_module => l_log_module);
3824
3825 END IF;
3827 l_component_type := 'AMB_ADR';
3828 l_component_code := 'AP_WH_RELATED_DIST_BAL_SEG';
3829 l_component_type_code := 'S';
3830 l_component_appl_id := 200;
3831 l_amb_context_code := 'DEFAULT';
3832 x_transaction_coa_id := null;
3833 x_accounting_coa_id := null;
3834 x_flexfield_segment_code := 'GL_BALANCING';
3835 x_flex_value_set_id := null ;
3836
3837
3838 IF NVL(p_source_15,'
3839 ') = 'BALANCING_SEGMENT'
3840 THEN
3841 --
3842 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3843
3844 trace
3845 (p_msg => 'END of AcctDerRule_25'
3846 ,p_level => C_LEVEL_PROCEDURE
3847 ,p_module => l_log_module);
3848
3849 END IF;
3850 x_value_combination_id := TO_NUMBER(p_source_43) ;
3851 x_value_segment_code := 'GL_BALANCING' ;
3852 x_value_type_code := 'S';
3853 l_output_value := null;
3854 RETURN l_output_value;
3855
3856 ELSE
3857 IF p_override_seg_flag = 'Y' THEN
3858 RETURN '#$NO_OVERRIDE#$';
3859 END IF;
3860 END IF;
3861
3862 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3863
3864 trace
3865 (p_msg => 'END of AcctDerRule_25(invalid)'
3866 ,p_level => C_LEVEL_PROCEDURE
3867 ,p_module => l_log_module);
3868
3869 END IF;
3870
3871 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
3872 x_value_combination_id := null;
3873 x_value_segment_code := null;
3874 x_value_type_code := null;
3875 l_output_value := null;
3876 xla_accounting_err_pkg.build_message
3877 (p_appli_s_name => 'XLA'
3878 ,p_msg_name => 'XLA_AP_INVALID_ADR'
3879 ,p_token_1 => 'COMPONENT_NAME'
3880 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
3881 l_component_type
3882 , l_component_code
3883 , l_component_type_code
3884 , l_component_appl_id
3885 , l_amb_context_code
3886 )
3887 ,p_token_2 => 'OWNER'
3888 ,p_value_2 => xla_lookups_pkg.get_meaning(
3889 'XLA_OWNER_TYPE'
3890 ,l_component_type_code
3891 )
3892 ,p_token_3 => 'PAD_NAME'
3893 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
3894 ,p_token_4 => 'PAD_OWNER'
3895 ,p_value_4 => xla_lookups_pkg.get_meaning(
3896 'XLA_OWNER_TYPE'
3897 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
3898 )
3899 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
3900 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
3901 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
3902 ,p_ae_header_id => NULL
3903 );
3904 RETURN l_output_value;
3905 EXCEPTION
3906 WHEN xla_exceptions_pkg.application_exception THEN
3907 RAISE;
3908 WHEN OTHERS THEN
3909 xla_exceptions_pkg.raise_message
3910 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_25');
3911 END AcctDerRule_25;
3912 --
3913
3914 ---------------------------------------
3915 --
3916 -- PRIVATE FUNCTION
3917 -- AcctDerRule_26
3918 --
3919 ---------------------------------------
3920 FUNCTION AcctDerRule_26 (
3921 p_application_id IN NUMBER
3922 , p_ae_header_id IN NUMBER
3923 , p_side IN VARCHAR2
3924 --Bank Charges Account
3925 , p_source_14 IN NUMBER
3926 --Automatic Offsets Value
3927 , p_source_15 IN VARCHAR2
3928 , p_source_15_meaning IN VARCHAR2
3929 --Invoice Distribution Account
3930 , p_source_30 IN NUMBER
3931 , x_transaction_coa_id OUT NOCOPY NUMBER
3932 , x_accounting_coa_id OUT NOCOPY NUMBER
3933 , x_value_type_code OUT NOCOPY VARCHAR2
3934 )
3935 RETURN NUMBER
3936 IS
3937 l_component_type VARCHAR2(80) ;
3938 l_component_code VARCHAR2(30) ;
3939 l_component_type_code VARCHAR2(1) ;
3940 l_component_appl_id INTEGER ;
3941 l_amb_context_code VARCHAR2(30) ;
3942 l_log_module VARCHAR2(240) ;
3943 l_output_value NUMBER ;
3944 BEGIN
3945 IF g_log_enabled THEN
3946 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_26';
3947 END IF;
3948 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3949 trace
3950 (p_msg => 'BEGIN of AcctDerRule_26'
3951 ,p_level => C_LEVEL_PROCEDURE
3955 l_component_type := 'AMB_ADR';
3952 ,p_module => l_log_module);
3953 END IF;
3954 --
3956 l_component_code := 'AP_BANK_CHARGES';
3957 l_component_type_code := 'S';
3958 l_component_appl_id := 200;
3959 l_amb_context_code := 'DEFAULT';
3960 x_transaction_coa_id := null;
3961 x_accounting_coa_id := null;
3962 --
3963
3964 IF NVL(p_source_15,'
3965 ') <> 'ACCOUNT_SEGMENT_VALUE'
3966 THEN
3967 --
3968 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3969 trace
3970 (p_msg => 'END of AcctDerRule_26'
3971 ,p_level => C_LEVEL_PROCEDURE
3972 ,p_module => l_log_module);
3973 END IF;
3974 x_value_type_code := 'S';
3975 l_output_value := TO_NUMBER(TO_NUMBER(p_source_14));
3976 RETURN l_output_value;
3977
3978 ELSIF NVL(p_source_15,'
3979 ') = 'ACCOUNT_SEGMENT_VALUE'
3980 THEN
3981 --
3982 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3983 trace
3984 (p_msg => 'END of AcctDerRule_26'
3985 ,p_level => C_LEVEL_PROCEDURE
3986 ,p_module => l_log_module);
3987 END IF;
3988 x_value_type_code := 'S';
3989 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
3990 RETURN l_output_value;
3991
3992 END IF;
3993 --
3994 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3995 trace
3996 (p_msg => 'END of AcctDerRule_26(invalid)'
3997 ,p_level => C_LEVEL_PROCEDURE
3998 ,p_module => l_log_module);
3999 END IF;
4000 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
4001 x_value_type_code := null;
4002 l_output_value := null;
4003 xla_accounting_err_pkg.build_message
4004 (p_appli_s_name => 'XLA'
4005 ,p_msg_name => 'XLA_AP_INVALID_ADR'
4006 ,p_token_1 => 'COMPONENT_NAME'
4007 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
4008 l_component_type
4009 , l_component_code
4010 , l_component_type_code
4011 , l_component_appl_id
4012 , l_amb_context_code
4013 )
4014 ,p_token_2 => 'OWNER'
4015 ,p_value_2 => xla_lookups_pkg.get_meaning(
4016 'XLA_OWNER_TYPE'
4017 ,l_component_type_code
4018 )
4019 ,p_token_3 => 'PAD_NAME'
4020 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
4021 ,p_token_4 => 'PAD_OWNER'
4022 ,p_value_4 => xla_lookups_pkg.get_meaning(
4023 'XLA_OWNER_TYPE'
4024 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
4025 )
4026 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
4027 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
4028 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
4029 ,p_ae_header_id => NULL
4030 );
4031 RETURN l_output_value;
4032 EXCEPTION
4033 WHEN xla_exceptions_pkg.application_exception THEN
4034 RAISE;
4035 WHEN OTHERS THEN
4036 xla_exceptions_pkg.raise_message
4037 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_26');
4038 END AcctDerRule_26;
4039 --
4040
4041 ---------------------------------------
4042 --
4043 -- PRIVATE FUNCTION
4044 -- AcctDerRule_27
4045 --
4046 ---------------------------------------
4047 FUNCTION AcctDerRule_27 (
4048 p_application_id IN NUMBER
4049 , p_ae_header_id IN NUMBER
4050 , p_side IN VARCHAR2
4051 --Automatic Offsets Value
4052 , p_source_15 IN VARCHAR2
4053 , p_source_15_meaning IN VARCHAR2
4054 --Bank Errors Account
4055 , p_source_16 IN NUMBER
4056 --Invoice Distribution Account
4057 , p_source_30 IN NUMBER
4058 , x_transaction_coa_id OUT NOCOPY NUMBER
4059 , x_accounting_coa_id OUT NOCOPY NUMBER
4060 , x_value_type_code OUT NOCOPY VARCHAR2
4061 )
4062 RETURN NUMBER
4063 IS
4064 l_component_type VARCHAR2(80) ;
4065 l_component_code VARCHAR2(30) ;
4066 l_component_type_code VARCHAR2(1) ;
4067 l_component_appl_id INTEGER ;
4068 l_amb_context_code VARCHAR2(30) ;
4069 l_log_module VARCHAR2(240) ;
4070 l_output_value NUMBER ;
4071 BEGIN
4072 IF g_log_enabled THEN
4073 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_27';
4074 END IF;
4075 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4076 trace
4077 (p_msg => 'BEGIN of AcctDerRule_27'
4078 ,p_level => C_LEVEL_PROCEDURE
4082 l_component_type := 'AMB_ADR';
4079 ,p_module => l_log_module);
4080 END IF;
4081 --
4083 l_component_code := 'AP_BANK_ERRORS';
4084 l_component_type_code := 'S';
4085 l_component_appl_id := 200;
4086 l_amb_context_code := 'DEFAULT';
4087 x_transaction_coa_id := null;
4088 x_accounting_coa_id := null;
4089 --
4090
4091 IF NVL(p_source_15,'
4092 ') <> 'ACCOUNT_SEGMENT_VALUE'
4093 THEN
4094 --
4095 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4096 trace
4097 (p_msg => 'END of AcctDerRule_27'
4098 ,p_level => C_LEVEL_PROCEDURE
4099 ,p_module => l_log_module);
4100 END IF;
4101 x_value_type_code := 'S';
4102 l_output_value := TO_NUMBER(TO_NUMBER(p_source_16));
4103 RETURN l_output_value;
4104
4105 ELSIF NVL(p_source_15,'
4106 ') = 'ACCOUNT_SEGMENT_VALUE'
4107 THEN
4108 --
4109 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4110 trace
4111 (p_msg => 'END of AcctDerRule_27'
4112 ,p_level => C_LEVEL_PROCEDURE
4113 ,p_module => l_log_module);
4114 END IF;
4115 x_value_type_code := 'S';
4116 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
4117 RETURN l_output_value;
4118
4119 END IF;
4120 --
4121 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4122 trace
4123 (p_msg => 'END of AcctDerRule_27(invalid)'
4124 ,p_level => C_LEVEL_PROCEDURE
4125 ,p_module => l_log_module);
4126 END IF;
4127 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
4128 x_value_type_code := null;
4129 l_output_value := null;
4130 xla_accounting_err_pkg.build_message
4131 (p_appli_s_name => 'XLA'
4132 ,p_msg_name => 'XLA_AP_INVALID_ADR'
4133 ,p_token_1 => 'COMPONENT_NAME'
4134 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
4135 l_component_type
4136 , l_component_code
4137 , l_component_type_code
4138 , l_component_appl_id
4139 , l_amb_context_code
4140 )
4141 ,p_token_2 => 'OWNER'
4142 ,p_value_2 => xla_lookups_pkg.get_meaning(
4143 'XLA_OWNER_TYPE'
4144 ,l_component_type_code
4145 )
4146 ,p_token_3 => 'PAD_NAME'
4147 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
4148 ,p_token_4 => 'PAD_OWNER'
4149 ,p_value_4 => xla_lookups_pkg.get_meaning(
4150 'XLA_OWNER_TYPE'
4151 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
4152 )
4153 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
4154 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
4155 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
4156 ,p_ae_header_id => NULL
4157 );
4158 RETURN l_output_value;
4159 EXCEPTION
4160 WHEN xla_exceptions_pkg.application_exception THEN
4161 RAISE;
4162 WHEN OTHERS THEN
4163 xla_exceptions_pkg.raise_message
4164 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_27');
4165 END AcctDerRule_27;
4166 --
4167
4168 ---------------------------------------
4169 --
4170 -- PRIVATE FUNCTION
4171 -- AcctDerRule_28
4172 --
4173 ---------------------------------------
4174 FUNCTION AcctDerRule_28 (
4175 p_application_id IN NUMBER
4176 , p_ae_header_id IN NUMBER
4177 , p_side IN VARCHAR2
4178 --Bank Cash Account
4179 , p_source_17 IN NUMBER
4180 , x_transaction_coa_id OUT NOCOPY NUMBER
4181 , x_accounting_coa_id OUT NOCOPY NUMBER
4182 , x_value_type_code OUT NOCOPY VARCHAR2
4183 )
4184 RETURN NUMBER
4185 IS
4186 l_component_type VARCHAR2(80) ;
4187 l_component_code VARCHAR2(30) ;
4188 l_component_type_code VARCHAR2(1) ;
4189 l_component_appl_id INTEGER ;
4190 l_amb_context_code VARCHAR2(30) ;
4191 l_log_module VARCHAR2(240) ;
4192 l_output_value NUMBER ;
4193 BEGIN
4194 IF g_log_enabled THEN
4195 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_28';
4196 END IF;
4197 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4198 trace
4199 (p_msg => 'BEGIN of AcctDerRule_28'
4200 ,p_level => C_LEVEL_PROCEDURE
4201 ,p_module => l_log_module);
4202 END IF;
4203 --
4204 l_component_type := 'AMB_ADR';
4205 l_component_code := 'AP_CASH';
4206 l_component_type_code := 'S';
4210 x_accounting_coa_id := null;
4207 l_component_appl_id := 200;
4208 l_amb_context_code := 'DEFAULT';
4209 x_transaction_coa_id := null;
4211 --
4212
4213 --
4214 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4215 trace
4216 (p_msg => 'END of AcctDerRule_28'
4217 ,p_level => C_LEVEL_PROCEDURE
4218 ,p_module => l_log_module);
4219 END IF;
4220 x_value_type_code := 'S';
4221 l_output_value := TO_NUMBER(TO_NUMBER(p_source_17));
4222 RETURN l_output_value;
4223
4224 --
4225 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4226 trace
4227 (p_msg => 'END of AcctDerRule_28(invalid)'
4228 ,p_level => C_LEVEL_PROCEDURE
4229 ,p_module => l_log_module);
4230 END IF;
4231 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
4232 x_value_type_code := null;
4233 l_output_value := null;
4234 xla_accounting_err_pkg.build_message
4235 (p_appli_s_name => 'XLA'
4236 ,p_msg_name => 'XLA_AP_INVALID_ADR'
4237 ,p_token_1 => 'COMPONENT_NAME'
4238 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
4239 l_component_type
4240 , l_component_code
4241 , l_component_type_code
4242 , l_component_appl_id
4243 , l_amb_context_code
4244 )
4245 ,p_token_2 => 'OWNER'
4246 ,p_value_2 => xla_lookups_pkg.get_meaning(
4247 'XLA_OWNER_TYPE'
4248 ,l_component_type_code
4249 )
4250 ,p_token_3 => 'PAD_NAME'
4251 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
4252 ,p_token_4 => 'PAD_OWNER'
4253 ,p_value_4 => xla_lookups_pkg.get_meaning(
4254 'XLA_OWNER_TYPE'
4255 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
4256 )
4257 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
4258 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
4259 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
4260 ,p_ae_header_id => NULL
4261 );
4262 RETURN l_output_value;
4263 EXCEPTION
4264 WHEN xla_exceptions_pkg.application_exception THEN
4265 RAISE;
4266 WHEN OTHERS THEN
4267 xla_exceptions_pkg.raise_message
4268 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_28');
4269 END AcctDerRule_28;
4270 --
4271
4272 ---------------------------------------
4273 --
4274 -- PRIVATE FUNCTION
4275 -- AcctDerRule_29
4276 --
4277 ---------------------------------------
4278 FUNCTION AcctDerRule_29 (
4279 p_application_id IN NUMBER
4280 , p_ae_header_id IN NUMBER
4281 , p_side IN VARCHAR2
4282 --Automatic Offsets Value
4283 , p_source_15 IN VARCHAR2
4284 , p_source_15_meaning IN VARCHAR2
4285 --System Discount Account
4286 , p_source_18 IN NUMBER
4287 --Discount Distribution Method
4288 , p_source_19 IN VARCHAR2
4289 , p_source_19_meaning IN VARCHAR2
4290 --Invoice Distribution Account
4291 , p_source_30 IN NUMBER
4292 --Invoice Distribution Type
4293 , p_source_33 IN VARCHAR2
4294 , p_source_33_meaning IN VARCHAR2
4295 --Discount Account
4296 , p_source_44 IN NUMBER
4297 --Purchase Order Charge Account
4298 , p_source_45 IN NUMBER
4299 --Purchase Order Variance Account
4300 , p_source_46 IN NUMBER
4301 , x_transaction_coa_id OUT NOCOPY NUMBER
4302 , x_accounting_coa_id OUT NOCOPY NUMBER
4303 , x_value_type_code OUT NOCOPY VARCHAR2
4304 )
4305 RETURN NUMBER
4306 IS
4307 l_component_type VARCHAR2(80) ;
4308 l_component_code VARCHAR2(30) ;
4309 l_component_type_code VARCHAR2(1) ;
4310 l_component_appl_id INTEGER ;
4311 l_amb_context_code VARCHAR2(30) ;
4312 l_log_module VARCHAR2(240) ;
4313 l_output_value NUMBER ;
4314 BEGIN
4315 IF g_log_enabled THEN
4316 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_29';
4317 END IF;
4318 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4319 trace
4320 (p_msg => 'BEGIN of AcctDerRule_29'
4321 ,p_level => C_LEVEL_PROCEDURE
4322 ,p_module => l_log_module);
4323 END IF;
4324 --
4325 l_component_type := 'AMB_ADR';
4326 l_component_code := 'AP_DISCOUNT';
4327 l_component_type_code := 'S';
4328 l_component_appl_id := 200;
4329 l_amb_context_code := 'DEFAULT';
4330 x_transaction_coa_id := null;
4331 x_accounting_coa_id := null;
4335 ') = 'SYSTEM' AND
4332 --
4333
4334 IF NVL(p_source_19,'
4336 NVL(p_source_15,'
4337 ') <> 'ACCOUNT_SEGMENT_VALUE'
4338 THEN
4339 --
4340 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4341 trace
4342 (p_msg => 'END of AcctDerRule_29'
4343 ,p_level => C_LEVEL_PROCEDURE
4344 ,p_module => l_log_module);
4345 END IF;
4346 x_value_type_code := 'S';
4347 l_output_value := TO_NUMBER(TO_NUMBER(p_source_44));
4348 RETURN l_output_value;
4349
4350 ELSIF NVL(p_source_19,'
4351 ') = 'SYSTEM' AND
4352 NVL(p_source_15,'
4353 ') = 'ACCOUNT_SEGMENT_VALUE' AND
4354 NVL(p_source_33,'
4355 ') <> 'ACCRUAL'
4356 THEN
4357 --
4358 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4359 trace
4360 (p_msg => 'END of AcctDerRule_29'
4361 ,p_level => C_LEVEL_PROCEDURE
4362 ,p_module => l_log_module);
4363 END IF;
4364 x_value_type_code := 'S';
4365 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
4366 RETURN l_output_value;
4367
4368 ELSIF NVL(p_source_19,'
4369 ') = 'SYSTEM' AND
4370 NVL(p_source_15,'
4371 ') = 'ACCOUNT_SEGMENT_VALUE' AND
4372 NVL(p_source_33,'
4373 ') = 'ACCRUAL'
4374 THEN
4375 --
4376 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4377 trace
4378 (p_msg => 'END of AcctDerRule_29'
4379 ,p_level => C_LEVEL_PROCEDURE
4380 ,p_module => l_log_module);
4381 END IF;
4382 x_value_type_code := 'S';
4383 l_output_value := TO_NUMBER(TO_NUMBER(p_source_45));
4384 RETURN l_output_value;
4385
4386 ELSIF NVL(p_source_19,'
4387 ') = 'EXPENSE' AND
4388 NVL(p_source_33,'
4389 ') <> 'ACCRUAL'
4390 THEN
4391 --
4392 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4393 trace
4394 (p_msg => 'END of AcctDerRule_29'
4395 ,p_level => C_LEVEL_PROCEDURE
4396 ,p_module => l_log_module);
4397 END IF;
4398 x_value_type_code := 'S';
4399 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
4400 RETURN l_output_value;
4401
4402 ELSIF NVL(p_source_19,'
4403 ') = 'EXPENSE' AND
4404 NVL(p_source_33,'
4405 ') = 'ACCRUAL'
4406 THEN
4407 --
4408 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4409 trace
4410 (p_msg => 'END of AcctDerRule_29'
4411 ,p_level => C_LEVEL_PROCEDURE
4412 ,p_module => l_log_module);
4413 END IF;
4414 x_value_type_code := 'S';
4415 l_output_value := TO_NUMBER(TO_NUMBER(p_source_46));
4416 RETURN l_output_value;
4417
4418 ELSIF NVL(p_source_19,'
4419 ') = 'TAX' AND
4420 NVL(p_source_15,'
4421 ') <> 'ACCOUNT_SEGMENT_VALUE' AND
4422 (NVL(p_source_33,'
4423 ') = 'REC_TAX' OR
4424 NVL(p_source_33,'
4425 ') = 'NONREC_TAX' OR
4426 NVL(p_source_33,'
4427 ') = 'TIPV' OR
4428 NVL(p_source_33,'
4429 ') = 'TRV')
4430 THEN
4431 --
4432 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4433 trace
4434 (p_msg => 'END of AcctDerRule_29'
4435 ,p_level => C_LEVEL_PROCEDURE
4436 ,p_module => l_log_module);
4437 END IF;
4438 x_value_type_code := 'S';
4439 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
4440 RETURN l_output_value;
4441
4442 ELSIF NVL(p_source_19,'
4443 ') = 'TAX' AND
4444 NVL(p_source_15,'
4445 ') <> 'ACCOUNT_SEGMENT_VALUE' AND
4446 (NVL(p_source_33,'
4447 ') <> 'REC_TAX' OR
4448 NVL(p_source_33,'
4449 ') <> 'NONREC_TAX' OR
4450 NVL(p_source_33,'
4451 ') <> 'TIPV' OR
4452 NVL(p_source_33,'
4453 ') <> 'TRV')
4454 THEN
4455 --
4456 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4457 trace
4458 (p_msg => 'END of AcctDerRule_29'
4459 ,p_level => C_LEVEL_PROCEDURE
4460 ,p_module => l_log_module);
4461 END IF;
4462 x_value_type_code := 'S';
4463 l_output_value := TO_NUMBER(TO_NUMBER(p_source_18));
4464 RETURN l_output_value;
4465
4466 ELSIF NVL(p_source_19,'
4467 ') = 'TAX' AND
4468 NVL(p_source_15,'
4469 ') = 'ACCOUNT_SEGMENT_VALUE' AND
4470 NVL(p_source_33,'
4471 ') <> 'ACCRUAL'
4472 THEN
4473 --
4474 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4475 trace
4476 (p_msg => 'END of AcctDerRule_29'
4477 ,p_level => C_LEVEL_PROCEDURE
4478 ,p_module => l_log_module);
4479 END IF;
4480 x_value_type_code := 'S';
4481 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
4482 RETURN l_output_value;
4483
4484 ELSIF NVL(p_source_19,'
4485 ') = 'TAX' AND
4486 NVL(p_source_15,'
4487 ') = 'ACCOUNT_SEGMENT_VALUE' AND
4488 NVL(p_source_33,'
4489 ') = 'ACCRUAL'
4490 THEN
4491 --
4492 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4493 trace
4494 (p_msg => 'END of AcctDerRule_29'
4495 ,p_level => C_LEVEL_PROCEDURE
4496 ,p_module => l_log_module);
4497 END IF;
4498 x_value_type_code := 'S';
4499 l_output_value := TO_NUMBER(TO_NUMBER(p_source_45));
4500 RETURN l_output_value;
4501
4502 END IF;
4503 --
4507 ,p_level => C_LEVEL_PROCEDURE
4504 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4505 trace
4506 (p_msg => 'END of AcctDerRule_29(invalid)'
4508 ,p_module => l_log_module);
4509 END IF;
4510 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
4511 x_value_type_code := null;
4512 l_output_value := null;
4513 xla_accounting_err_pkg.build_message
4514 (p_appli_s_name => 'XLA'
4515 ,p_msg_name => 'XLA_AP_INVALID_ADR'
4516 ,p_token_1 => 'COMPONENT_NAME'
4517 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
4518 l_component_type
4519 , l_component_code
4520 , l_component_type_code
4521 , l_component_appl_id
4522 , l_amb_context_code
4523 )
4524 ,p_token_2 => 'OWNER'
4525 ,p_value_2 => xla_lookups_pkg.get_meaning(
4526 'XLA_OWNER_TYPE'
4527 ,l_component_type_code
4528 )
4529 ,p_token_3 => 'PAD_NAME'
4530 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
4531 ,p_token_4 => 'PAD_OWNER'
4532 ,p_value_4 => xla_lookups_pkg.get_meaning(
4533 'XLA_OWNER_TYPE'
4534 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
4535 )
4536 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
4537 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
4538 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
4539 ,p_ae_header_id => NULL
4540 );
4541 RETURN l_output_value;
4542 EXCEPTION
4543 WHEN xla_exceptions_pkg.application_exception THEN
4544 RAISE;
4545 WHEN OTHERS THEN
4546 xla_exceptions_pkg.raise_message
4547 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_29');
4548 END AcctDerRule_29;
4549 --
4550
4551 ---------------------------------------
4552 --
4553 -- PRIVATE FUNCTION
4554 -- AcctDerRule_30
4555 --
4556 ---------------------------------------
4557 FUNCTION AcctDerRule_30 (
4558 p_application_id IN NUMBER
4559 , p_ae_header_id IN NUMBER
4560 , p_side IN VARCHAR2
4561 --Automatic Offsets Value
4562 , p_source_15 IN VARCHAR2
4563 , p_source_15_meaning IN VARCHAR2
4564 --Purchase Order Rate Variance Gain Account
4565 , p_source_20 IN NUMBER
4566 --Invoice Distribution Ledger Amount
4567 , p_source_21 IN NUMBER
4568 --Destination Type of the PO Distribution
4569 , p_source_22 IN VARCHAR2
4570 , p_source_22_meaning IN VARCHAR2
4571 --Purchase Order Rate Variance Loss Account
4572 , p_source_23 IN NUMBER
4573 --Invoice Distribution Account
4574 , p_source_30 IN NUMBER
4575 --Automatic Offsets Flag
4576 , p_source_47 IN VARCHAR2
4577 , p_source_47_meaning IN VARCHAR2
4578 , x_transaction_coa_id OUT NOCOPY NUMBER
4579 , x_accounting_coa_id OUT NOCOPY NUMBER
4580 , x_value_type_code OUT NOCOPY VARCHAR2
4581 )
4582 RETURN NUMBER
4583 IS
4584 l_component_type VARCHAR2(80) ;
4585 l_component_code VARCHAR2(30) ;
4586 l_component_type_code VARCHAR2(1) ;
4587 l_component_appl_id INTEGER ;
4588 l_amb_context_code VARCHAR2(30) ;
4589 l_log_module VARCHAR2(240) ;
4590 l_output_value NUMBER ;
4591 BEGIN
4592 IF g_log_enabled THEN
4593 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_30';
4594 END IF;
4595 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4596 trace
4597 (p_msg => 'BEGIN of AcctDerRule_30'
4598 ,p_level => C_LEVEL_PROCEDURE
4599 ,p_module => l_log_module);
4600 END IF;
4601 --
4602 l_component_type := 'AMB_ADR';
4603 l_component_code := 'AP_EXCHG_TAXEXCHG_RATE_VAR';
4604 l_component_type_code := 'S';
4605 l_component_appl_id := 200;
4606 l_amb_context_code := 'DEFAULT';
4607 x_transaction_coa_id := null;
4608 x_accounting_coa_id := null;
4609 --
4610
4611 IF NVL(p_source_22,'
4612 ') = 'EXPENSE' OR
4613 (NVL(p_source_22,'
4614 ') = 'INVENTORY' AND
4615 NVL(p_source_15,'
4616 ') = 'ACCOUNT_SEGMENT_VALUE')
4617 THEN
4618 --
4619 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4620 trace
4621 (p_msg => 'END of AcctDerRule_30'
4622 ,p_level => C_LEVEL_PROCEDURE
4623 ,p_module => l_log_module);
4624 END IF;
4628
4625 x_value_type_code := 'S';
4626 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
4627 RETURN l_output_value;
4629 ELSIF NVL(p_source_22,'
4630 ') <> 'EXPENSE' AND
4631 p_source_21 <= 0 AND
4632 (NVL(p_source_47,'
4633 ') = 'N' OR
4634 NVL(p_source_15,'
4635 ') = 'BALANCING_SEGMENT')
4636 THEN
4637 --
4638 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4639 trace
4640 (p_msg => 'END of AcctDerRule_30'
4641 ,p_level => C_LEVEL_PROCEDURE
4642 ,p_module => l_log_module);
4643 END IF;
4644 x_value_type_code := 'S';
4645 l_output_value := TO_NUMBER(TO_NUMBER(p_source_20));
4646 RETURN l_output_value;
4647
4648 ELSIF NVL(p_source_22,'
4649 ') <> 'EXPENSE' AND
4650 p_source_21 > 0 AND
4651 (NVL(p_source_47,'
4652 ') = 'N' OR
4653 NVL(p_source_15,'
4654 ') = 'BALANCING_SEGMENT')
4655 THEN
4656 --
4657 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4658 trace
4659 (p_msg => 'END of AcctDerRule_30'
4660 ,p_level => C_LEVEL_PROCEDURE
4661 ,p_module => l_log_module);
4662 END IF;
4663 x_value_type_code := 'S';
4664 l_output_value := TO_NUMBER(TO_NUMBER(p_source_23));
4665 RETURN l_output_value;
4666
4667 END IF;
4668 --
4669 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4670 trace
4671 (p_msg => 'END of AcctDerRule_30(invalid)'
4672 ,p_level => C_LEVEL_PROCEDURE
4673 ,p_module => l_log_module);
4674 END IF;
4675 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
4676 x_value_type_code := null;
4677 l_output_value := null;
4678 xla_accounting_err_pkg.build_message
4679 (p_appli_s_name => 'XLA'
4680 ,p_msg_name => 'XLA_AP_INVALID_ADR'
4681 ,p_token_1 => 'COMPONENT_NAME'
4682 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
4683 l_component_type
4684 , l_component_code
4685 , l_component_type_code
4686 , l_component_appl_id
4687 , l_amb_context_code
4688 )
4689 ,p_token_2 => 'OWNER'
4690 ,p_value_2 => xla_lookups_pkg.get_meaning(
4691 'XLA_OWNER_TYPE'
4692 ,l_component_type_code
4693 )
4694 ,p_token_3 => 'PAD_NAME'
4695 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
4696 ,p_token_4 => 'PAD_OWNER'
4697 ,p_value_4 => xla_lookups_pkg.get_meaning(
4698 'XLA_OWNER_TYPE'
4699 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
4700 )
4701 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
4702 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
4703 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
4704 ,p_ae_header_id => NULL
4705 );
4706 RETURN l_output_value;
4707 EXCEPTION
4708 WHEN xla_exceptions_pkg.application_exception THEN
4709 RAISE;
4710 WHEN OTHERS THEN
4711 xla_exceptions_pkg.raise_message
4712 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_30');
4713 END AcctDerRule_30;
4714 --
4715
4716 ---------------------------------------
4717 --
4718 -- PRIVATE FUNCTION
4719 -- AcctDerRule_31
4720 --
4721 ---------------------------------------
4722 FUNCTION AcctDerRule_31 (
4723 p_application_id IN NUMBER
4724 , p_ae_header_id IN NUMBER
4725 , p_side IN VARCHAR2
4726 --Automatic Offsets Value
4727 , p_source_15 IN VARCHAR2
4728 , p_source_15_meaning IN VARCHAR2
4729 --Bank Future Dated Payment Account
4730 , p_source_24 IN NUMBER
4731 --Future Dated Payment Account Source Option
4732 , p_source_25 IN VARCHAR2
4733 , p_source_25_meaning IN VARCHAR2
4734 --Financials Options Future Dated Payment Account
4735 , p_source_26 IN NUMBER
4736 --Supplier Site Future Dated Payment Account
4737 , p_source_27 IN NUMBER
4738 --Invoice Distribution Account
4739 , p_source_30 IN NUMBER
4740 , x_transaction_coa_id OUT NOCOPY NUMBER
4741 , x_accounting_coa_id OUT NOCOPY NUMBER
4742 , x_value_type_code OUT NOCOPY VARCHAR2
4743 )
4744 RETURN NUMBER
4745 IS
4746 l_component_type VARCHAR2(80) ;
4747 l_component_code VARCHAR2(30) ;
4748 l_component_type_code VARCHAR2(1) ;
4749 l_component_appl_id INTEGER ;
4750 l_amb_context_code VARCHAR2(30) ;
4751 l_log_module VARCHAR2(240) ;
4752 l_output_value NUMBER ;
4753 BEGIN
4754 IF g_log_enabled THEN
4758 trace
4755 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_31';
4756 END IF;
4757 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4759 (p_msg => 'BEGIN of AcctDerRule_31'
4760 ,p_level => C_LEVEL_PROCEDURE
4761 ,p_module => l_log_module);
4762 END IF;
4763 --
4764 l_component_type := 'AMB_ADR';
4765 l_component_code := 'AP_FUTURE_DATED_PMT';
4766 l_component_type_code := 'S';
4767 l_component_appl_id := 200;
4768 l_amb_context_code := 'DEFAULT';
4769 x_transaction_coa_id := null;
4770 x_accounting_coa_id := null;
4771 --
4772
4773 IF NVL(p_source_15,'
4774 ') <> 'ACCOUNT_SEGMENT_VALUE' AND
4775 NVL(p_source_25,'
4776 ') = 'BANK ACCOUNT' AND
4777 TO_NUMBER(p_source_24) IS NOT NULL
4778 THEN
4779 --
4780 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4781 trace
4782 (p_msg => 'END of AcctDerRule_31'
4783 ,p_level => C_LEVEL_PROCEDURE
4784 ,p_module => l_log_module);
4785 END IF;
4786 x_value_type_code := 'S';
4787 l_output_value := TO_NUMBER(TO_NUMBER(p_source_24));
4788 RETURN l_output_value;
4789
4790 ELSIF NVL(p_source_15,'
4791 ') <> 'ACCOUNT_SEGMENT_VALUE' AND
4792 NVL(p_source_25,'
4793 ') = 'BANK ACCOUNT'
4794 THEN
4795 --
4796 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4797 trace
4798 (p_msg => 'END of AcctDerRule_31'
4799 ,p_level => C_LEVEL_PROCEDURE
4800 ,p_module => l_log_module);
4801 END IF;
4802 x_value_type_code := 'S';
4803 l_output_value := TO_NUMBER(TO_NUMBER(p_source_26));
4804 RETURN l_output_value;
4805
4806 ELSIF NVL(p_source_15,'
4807 ') <> 'ACCOUNT_SEGMENT_VALUE' AND
4808 NVL(p_source_25,'
4809 ') = 'SUPPLIER SITE' AND
4810 TO_NUMBER(p_source_27) IS NOT NULL
4811 THEN
4812 --
4813 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4814 trace
4815 (p_msg => 'END of AcctDerRule_31'
4816 ,p_level => C_LEVEL_PROCEDURE
4817 ,p_module => l_log_module);
4818 END IF;
4819 x_value_type_code := 'S';
4820 l_output_value := TO_NUMBER(TO_NUMBER(p_source_27));
4821 RETURN l_output_value;
4822
4823 ELSIF NVL(p_source_15,'
4824 ') <> 'ACCOUNT_SEGMENT_VALUE' AND
4825 NVL(p_source_25,'
4826 ') = 'SUPPLIER SITE'
4827 THEN
4828 --
4829 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4830 trace
4831 (p_msg => 'END of AcctDerRule_31'
4832 ,p_level => C_LEVEL_PROCEDURE
4833 ,p_module => l_log_module);
4834 END IF;
4835 x_value_type_code := 'S';
4836 l_output_value := TO_NUMBER(TO_NUMBER(p_source_26));
4837 RETURN l_output_value;
4838
4839 ELSIF NVL(p_source_15,'
4840 ') = 'ACCOUNT_SEGMENT_VALUE'
4841 THEN
4842 --
4843 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4844 trace
4845 (p_msg => 'END of AcctDerRule_31'
4846 ,p_level => C_LEVEL_PROCEDURE
4847 ,p_module => l_log_module);
4848 END IF;
4849 x_value_type_code := 'S';
4850 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
4851 RETURN l_output_value;
4852
4853 END IF;
4854 --
4855 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4856 trace
4857 (p_msg => 'END of AcctDerRule_31(invalid)'
4858 ,p_level => C_LEVEL_PROCEDURE
4859 ,p_module => l_log_module);
4860 END IF;
4861 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
4862 x_value_type_code := null;
4863 l_output_value := null;
4864 xla_accounting_err_pkg.build_message
4865 (p_appli_s_name => 'XLA'
4866 ,p_msg_name => 'XLA_AP_INVALID_ADR'
4867 ,p_token_1 => 'COMPONENT_NAME'
4868 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
4869 l_component_type
4870 , l_component_code
4871 , l_component_type_code
4872 , l_component_appl_id
4873 , l_amb_context_code
4874 )
4875 ,p_token_2 => 'OWNER'
4876 ,p_value_2 => xla_lookups_pkg.get_meaning(
4877 'XLA_OWNER_TYPE'
4878 ,l_component_type_code
4879 )
4880 ,p_token_3 => 'PAD_NAME'
4881 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
4882 ,p_token_4 => 'PAD_OWNER'
4883 ,p_value_4 => xla_lookups_pkg.get_meaning(
4884 'XLA_OWNER_TYPE'
4885 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
4886 )
4890 ,p_ae_header_id => NULL
4887 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
4888 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
4889 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
4891 );
4892 RETURN l_output_value;
4893 EXCEPTION
4894 WHEN xla_exceptions_pkg.application_exception THEN
4895 RAISE;
4896 WHEN OTHERS THEN
4897 xla_exceptions_pkg.raise_message
4898 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_31');
4899 END AcctDerRule_31;
4900 --
4901
4902 ---------------------------------------
4903 --
4904 -- PRIVATE FUNCTION
4905 -- AcctDerRule_32
4906 --
4907 ---------------------------------------
4908 FUNCTION AcctDerRule_32 (
4909 p_application_id IN NUMBER
4910 , p_ae_header_id IN NUMBER
4911 , p_side IN VARCHAR2
4912 --Interest Account
4913 , p_source_28 IN NUMBER
4914 --Prorate Interest Invoice Across Distributions Option
4915 , p_source_29 IN VARCHAR2
4916 --Invoice Distribution Account
4917 , p_source_30 IN NUMBER
4918 , x_transaction_coa_id OUT NOCOPY NUMBER
4919 , x_accounting_coa_id OUT NOCOPY NUMBER
4920 , x_value_type_code OUT NOCOPY VARCHAR2
4921 )
4922 RETURN NUMBER
4923 IS
4924 l_component_type VARCHAR2(80) ;
4925 l_component_code VARCHAR2(30) ;
4926 l_component_type_code VARCHAR2(1) ;
4927 l_component_appl_id INTEGER ;
4928 l_amb_context_code VARCHAR2(30) ;
4929 l_log_module VARCHAR2(240) ;
4930 l_output_value NUMBER ;
4931 BEGIN
4932 IF g_log_enabled THEN
4933 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_32';
4934 END IF;
4935 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4936 trace
4937 (p_msg => 'BEGIN of AcctDerRule_32'
4938 ,p_level => C_LEVEL_PROCEDURE
4939 ,p_module => l_log_module);
4940 END IF;
4941 --
4942 l_component_type := 'AMB_ADR';
4943 l_component_code := 'AP_INTEREST';
4944 l_component_type_code := 'S';
4945 l_component_appl_id := 200;
4946 l_amb_context_code := 'DEFAULT';
4947 x_transaction_coa_id := null;
4948 x_accounting_coa_id := null;
4949 --
4950
4951 IF NVL(p_source_29,'
4952 ') = 'N'
4953 THEN
4954 --
4955 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4956 trace
4957 (p_msg => 'END of AcctDerRule_32'
4958 ,p_level => C_LEVEL_PROCEDURE
4959 ,p_module => l_log_module);
4960 END IF;
4961 x_value_type_code := 'S';
4962 l_output_value := TO_NUMBER(TO_NUMBER(p_source_28));
4963 RETURN l_output_value;
4964
4965 ELSIF NVL(p_source_29,'
4966 ') = 'Y'
4967 THEN
4968 --
4969 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4970 trace
4971 (p_msg => 'END of AcctDerRule_32'
4972 ,p_level => C_LEVEL_PROCEDURE
4973 ,p_module => l_log_module);
4974 END IF;
4975 x_value_type_code := 'S';
4976 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
4977 RETURN l_output_value;
4978
4979 END IF;
4980 --
4981 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4982 trace
4983 (p_msg => 'END of AcctDerRule_32(invalid)'
4984 ,p_level => C_LEVEL_PROCEDURE
4985 ,p_module => l_log_module);
4986 END IF;
4987 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
4988 x_value_type_code := null;
4989 l_output_value := null;
4990 xla_accounting_err_pkg.build_message
4991 (p_appli_s_name => 'XLA'
4992 ,p_msg_name => 'XLA_AP_INVALID_ADR'
4993 ,p_token_1 => 'COMPONENT_NAME'
4994 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
4995 l_component_type
4996 , l_component_code
4997 , l_component_type_code
4998 , l_component_appl_id
4999 , l_amb_context_code
5000 )
5001 ,p_token_2 => 'OWNER'
5002 ,p_value_2 => xla_lookups_pkg.get_meaning(
5003 'XLA_OWNER_TYPE'
5004 ,l_component_type_code
5005 )
5006 ,p_token_3 => 'PAD_NAME'
5007 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5008 ,p_token_4 => 'PAD_OWNER'
5009 ,p_value_4 => xla_lookups_pkg.get_meaning(
5010 'XLA_OWNER_TYPE'
5011 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5012 )
5016 ,p_ae_header_id => NULL
5013 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5014 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5015 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5017 );
5018 RETURN l_output_value;
5019 EXCEPTION
5020 WHEN xla_exceptions_pkg.application_exception THEN
5021 RAISE;
5022 WHEN OTHERS THEN
5023 xla_exceptions_pkg.raise_message
5024 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_32');
5025 END AcctDerRule_32;
5026 --
5027
5028 ---------------------------------------
5029 --
5030 -- PRIVATE FUNCTION
5031 -- AcctDerRule_33
5032 --
5033 ---------------------------------------
5034 FUNCTION AcctDerRule_33 (
5035 p_application_id IN NUMBER
5036 , p_ae_header_id IN NUMBER
5037 , p_side IN VARCHAR2
5038 --Invoice Distribution Account
5039 , p_source_30 IN NUMBER
5040 , x_transaction_coa_id OUT NOCOPY NUMBER
5041 , x_accounting_coa_id OUT NOCOPY NUMBER
5042 , x_value_type_code OUT NOCOPY VARCHAR2
5043 )
5044 RETURN NUMBER
5045 IS
5046 l_component_type VARCHAR2(80) ;
5047 l_component_code VARCHAR2(30) ;
5048 l_component_type_code VARCHAR2(1) ;
5049 l_component_appl_id INTEGER ;
5050 l_amb_context_code VARCHAR2(30) ;
5051 l_log_module VARCHAR2(240) ;
5052 l_output_value NUMBER ;
5053 BEGIN
5054 IF g_log_enabled THEN
5055 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_33';
5056 END IF;
5057 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5058 trace
5059 (p_msg => 'BEGIN of AcctDerRule_33'
5060 ,p_level => C_LEVEL_PROCEDURE
5061 ,p_module => l_log_module);
5062 END IF;
5063 --
5064 l_component_type := 'AMB_ADR';
5065 l_component_code := 'AP_INVOICE_DIST';
5066 l_component_type_code := 'S';
5067 l_component_appl_id := 200;
5068 l_amb_context_code := 'DEFAULT';
5069 x_transaction_coa_id := null;
5070 x_accounting_coa_id := null;
5071 --
5072
5073 --
5074 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5075 trace
5076 (p_msg => 'END of AcctDerRule_33'
5077 ,p_level => C_LEVEL_PROCEDURE
5078 ,p_module => l_log_module);
5079 END IF;
5080 x_value_type_code := 'S';
5081 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
5082 RETURN l_output_value;
5083
5084 --
5085 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5086 trace
5087 (p_msg => 'END of AcctDerRule_33(invalid)'
5088 ,p_level => C_LEVEL_PROCEDURE
5089 ,p_module => l_log_module);
5090 END IF;
5091 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5092 x_value_type_code := null;
5093 l_output_value := null;
5094 xla_accounting_err_pkg.build_message
5095 (p_appli_s_name => 'XLA'
5096 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5097 ,p_token_1 => 'COMPONENT_NAME'
5098 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5099 l_component_type
5100 , l_component_code
5101 , l_component_type_code
5102 , l_component_appl_id
5103 , l_amb_context_code
5104 )
5105 ,p_token_2 => 'OWNER'
5106 ,p_value_2 => xla_lookups_pkg.get_meaning(
5107 'XLA_OWNER_TYPE'
5108 ,l_component_type_code
5109 )
5110 ,p_token_3 => 'PAD_NAME'
5111 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5112 ,p_token_4 => 'PAD_OWNER'
5113 ,p_value_4 => xla_lookups_pkg.get_meaning(
5114 'XLA_OWNER_TYPE'
5115 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5116 )
5117 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5118 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5119 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5120 ,p_ae_header_id => NULL
5121 );
5122 RETURN l_output_value;
5123 EXCEPTION
5124 WHEN xla_exceptions_pkg.application_exception THEN
5125 RAISE;
5126 WHEN OTHERS THEN
5127 xla_exceptions_pkg.raise_message
5128 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_33');
5129 END AcctDerRule_33;
5130 --
5131
5132 ---------------------------------------
5133 --
5137 ---------------------------------------
5134 -- PRIVATE FUNCTION
5135 -- AcctDerRule_34
5136 --
5138 FUNCTION AcctDerRule_34 (
5139 p_application_id IN NUMBER
5140 , p_ae_header_id IN NUMBER
5141 , p_side IN VARCHAR2
5142 --Invoice Liability Account
5143 , p_source_34 IN NUMBER
5144 , x_transaction_coa_id OUT NOCOPY NUMBER
5145 , x_accounting_coa_id OUT NOCOPY NUMBER
5146 , x_value_type_code OUT NOCOPY VARCHAR2
5147 )
5148 RETURN NUMBER
5149 IS
5150 l_component_type VARCHAR2(80) ;
5151 l_component_code VARCHAR2(30) ;
5152 l_component_type_code VARCHAR2(1) ;
5153 l_component_appl_id INTEGER ;
5154 l_amb_context_code VARCHAR2(30) ;
5155 l_log_module VARCHAR2(240) ;
5156 l_output_value NUMBER ;
5157 BEGIN
5158 IF g_log_enabled THEN
5159 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_34';
5160 END IF;
5161 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5162 trace
5163 (p_msg => 'BEGIN of AcctDerRule_34'
5164 ,p_level => C_LEVEL_PROCEDURE
5165 ,p_module => l_log_module);
5166 END IF;
5167 --
5168 l_component_type := 'AMB_ADR';
5169 l_component_code := 'AP_LIAB';
5170 l_component_type_code := 'S';
5171 l_component_appl_id := 200;
5172 l_amb_context_code := 'DEFAULT';
5173 x_transaction_coa_id := null;
5174 x_accounting_coa_id := null;
5175 --
5176
5177 --
5178 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5179 trace
5180 (p_msg => 'END of AcctDerRule_34'
5181 ,p_level => C_LEVEL_PROCEDURE
5182 ,p_module => l_log_module);
5183 END IF;
5184 x_value_type_code := 'S';
5185 l_output_value := TO_NUMBER(TO_NUMBER(p_source_34));
5186 RETURN l_output_value;
5187
5188 --
5189 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5190 trace
5191 (p_msg => 'END of AcctDerRule_34(invalid)'
5192 ,p_level => C_LEVEL_PROCEDURE
5193 ,p_module => l_log_module);
5194 END IF;
5195 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5196 x_value_type_code := null;
5197 l_output_value := null;
5198 xla_accounting_err_pkg.build_message
5199 (p_appli_s_name => 'XLA'
5200 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5201 ,p_token_1 => 'COMPONENT_NAME'
5202 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5203 l_component_type
5204 , l_component_code
5205 , l_component_type_code
5206 , l_component_appl_id
5207 , l_amb_context_code
5208 )
5209 ,p_token_2 => 'OWNER'
5210 ,p_value_2 => xla_lookups_pkg.get_meaning(
5211 'XLA_OWNER_TYPE'
5212 ,l_component_type_code
5213 )
5214 ,p_token_3 => 'PAD_NAME'
5215 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5216 ,p_token_4 => 'PAD_OWNER'
5217 ,p_value_4 => xla_lookups_pkg.get_meaning(
5218 'XLA_OWNER_TYPE'
5219 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5220 )
5221 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5222 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5223 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5224 ,p_ae_header_id => NULL
5225 );
5226 RETURN l_output_value;
5227 EXCEPTION
5228 WHEN xla_exceptions_pkg.application_exception THEN
5229 RAISE;
5230 WHEN OTHERS THEN
5231 xla_exceptions_pkg.raise_message
5232 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_34');
5233 END AcctDerRule_34;
5234 --
5235
5236 ---------------------------------------
5237 --
5238 -- PRIVATE FUNCTION
5239 -- AcctDerRule_35
5240 --
5241 ---------------------------------------
5242 FUNCTION AcctDerRule_35 (
5243 p_application_id IN NUMBER
5244 , p_ae_header_id IN NUMBER
5245 , p_side IN VARCHAR2
5246 --Payment Card Accrued Account
5247 , p_source_48 IN NUMBER
5248 , x_transaction_coa_id OUT NOCOPY NUMBER
5249 , x_accounting_coa_id OUT NOCOPY NUMBER
5250 , x_value_type_code OUT NOCOPY VARCHAR2
5251 )
5252 RETURN NUMBER
5253 IS
5254 l_component_type VARCHAR2(80) ;
5255 l_component_code VARCHAR2(30) ;
5256 l_component_type_code VARCHAR2(1) ;
5257 l_component_appl_id INTEGER ;
5258 l_amb_context_code VARCHAR2(30) ;
5262 IF g_log_enabled THEN
5259 l_log_module VARCHAR2(240) ;
5260 l_output_value NUMBER ;
5261 BEGIN
5263 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_35';
5264 END IF;
5265 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5266 trace
5267 (p_msg => 'BEGIN of AcctDerRule_35'
5268 ,p_level => C_LEVEL_PROCEDURE
5269 ,p_module => l_log_module);
5270 END IF;
5271 --
5272 l_component_type := 'AMB_ADR';
5273 l_component_code := 'AP_PAYCARD_ACCRUED_ADR';
5274 l_component_type_code := 'S';
5275 l_component_appl_id := 200;
5276 l_amb_context_code := 'DEFAULT';
5277 x_transaction_coa_id := null;
5278 x_accounting_coa_id := null;
5279 --
5280
5281 --
5282 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5283 trace
5284 (p_msg => 'END of AcctDerRule_35'
5285 ,p_level => C_LEVEL_PROCEDURE
5286 ,p_module => l_log_module);
5287 END IF;
5288 x_value_type_code := 'S';
5289 l_output_value := TO_NUMBER(TO_NUMBER(p_source_48));
5290 RETURN l_output_value;
5291
5292 --
5293 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5294 trace
5295 (p_msg => 'END of AcctDerRule_35(invalid)'
5296 ,p_level => C_LEVEL_PROCEDURE
5297 ,p_module => l_log_module);
5298 END IF;
5299 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5300 x_value_type_code := null;
5301 l_output_value := null;
5302 xla_accounting_err_pkg.build_message
5303 (p_appli_s_name => 'XLA'
5304 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5305 ,p_token_1 => 'COMPONENT_NAME'
5306 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5307 l_component_type
5308 , l_component_code
5309 , l_component_type_code
5310 , l_component_appl_id
5311 , l_amb_context_code
5312 )
5313 ,p_token_2 => 'OWNER'
5314 ,p_value_2 => xla_lookups_pkg.get_meaning(
5315 'XLA_OWNER_TYPE'
5316 ,l_component_type_code
5317 )
5318 ,p_token_3 => 'PAD_NAME'
5319 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5320 ,p_token_4 => 'PAD_OWNER'
5321 ,p_value_4 => xla_lookups_pkg.get_meaning(
5322 'XLA_OWNER_TYPE'
5323 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5324 )
5325 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5326 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5327 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5328 ,p_ae_header_id => NULL
5329 );
5330 RETURN l_output_value;
5331 EXCEPTION
5332 WHEN xla_exceptions_pkg.application_exception THEN
5333 RAISE;
5334 WHEN OTHERS THEN
5335 xla_exceptions_pkg.raise_message
5336 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_35');
5337 END AcctDerRule_35;
5338 --
5339
5340 ---------------------------------------
5341 --
5342 -- PRIVATE FUNCTION
5343 -- AcctDerRule_36
5344 --
5345 ---------------------------------------
5346 FUNCTION AcctDerRule_36 (
5347 p_application_id IN NUMBER
5348 , p_ae_header_id IN NUMBER
5349 , p_side IN VARCHAR2
5350 --Bank Cash Clearing Account
5351 , p_source_35 IN NUMBER
5352 , x_transaction_coa_id OUT NOCOPY NUMBER
5353 , x_accounting_coa_id OUT NOCOPY NUMBER
5354 , x_value_type_code OUT NOCOPY VARCHAR2
5355 )
5356 RETURN NUMBER
5357 IS
5358 l_component_type VARCHAR2(80) ;
5359 l_component_code VARCHAR2(30) ;
5360 l_component_type_code VARCHAR2(1) ;
5361 l_component_appl_id INTEGER ;
5362 l_amb_context_code VARCHAR2(30) ;
5363 l_log_module VARCHAR2(240) ;
5364 l_output_value NUMBER ;
5365 BEGIN
5366 IF g_log_enabled THEN
5367 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_36';
5368 END IF;
5369 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5370 trace
5371 (p_msg => 'BEGIN of AcctDerRule_36'
5372 ,p_level => C_LEVEL_PROCEDURE
5373 ,p_module => l_log_module);
5374 END IF;
5375 --
5376 l_component_type := 'AMB_ADR';
5377 l_component_code := 'AP_PMT_CASH_CLEAR';
5378 l_component_type_code := 'S';
5379 l_component_appl_id := 200;
5380 l_amb_context_code := 'DEFAULT';
5381 x_transaction_coa_id := null;
5382 x_accounting_coa_id := null;
5383 --
5384
5385 --
5386 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5387 trace
5388 (p_msg => 'END of AcctDerRule_36'
5389 ,p_level => C_LEVEL_PROCEDURE
5393 l_output_value := TO_NUMBER(TO_NUMBER(p_source_35));
5390 ,p_module => l_log_module);
5391 END IF;
5392 x_value_type_code := 'S';
5394 RETURN l_output_value;
5395
5396 --
5397 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5398 trace
5399 (p_msg => 'END of AcctDerRule_36(invalid)'
5400 ,p_level => C_LEVEL_PROCEDURE
5401 ,p_module => l_log_module);
5402 END IF;
5403 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5404 x_value_type_code := null;
5405 l_output_value := null;
5406 xla_accounting_err_pkg.build_message
5407 (p_appli_s_name => 'XLA'
5408 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5409 ,p_token_1 => 'COMPONENT_NAME'
5410 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5411 l_component_type
5412 , l_component_code
5413 , l_component_type_code
5414 , l_component_appl_id
5415 , l_amb_context_code
5416 )
5417 ,p_token_2 => 'OWNER'
5418 ,p_value_2 => xla_lookups_pkg.get_meaning(
5419 'XLA_OWNER_TYPE'
5420 ,l_component_type_code
5421 )
5422 ,p_token_3 => 'PAD_NAME'
5423 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5424 ,p_token_4 => 'PAD_OWNER'
5425 ,p_value_4 => xla_lookups_pkg.get_meaning(
5426 'XLA_OWNER_TYPE'
5427 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5428 )
5429 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5430 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5431 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5432 ,p_ae_header_id => NULL
5433 );
5434 RETURN l_output_value;
5435 EXCEPTION
5436 WHEN xla_exceptions_pkg.application_exception THEN
5437 RAISE;
5438 WHEN OTHERS THEN
5439 xla_exceptions_pkg.raise_message
5440 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_36');
5441 END AcctDerRule_36;
5442 --
5443
5444 ---------------------------------------
5445 --
5446 -- PRIVATE FUNCTION
5447 -- AcctDerRule_37
5448 --
5449 ---------------------------------------
5450 FUNCTION AcctDerRule_37 (
5451 p_application_id IN NUMBER
5452 , p_ae_header_id IN NUMBER
5453 , p_side IN VARCHAR2
5454 --Invoice Distribution Account
5455 , p_source_30 IN NUMBER
5456 --Prepaid Expense Account Source Option
5457 , p_source_31 IN VARCHAR2
5458 , p_source_31_meaning IN VARCHAR2
5459 --Purchase Order Number
5460 , p_source_32 IN VARCHAR2
5461 --Invoice Distribution Type
5462 , p_source_33 IN VARCHAR2
5463 , p_source_33_meaning IN VARCHAR2
5464 --Purchase Order Charge Account
5465 , p_source_45 IN NUMBER
5466 , x_transaction_coa_id OUT NOCOPY NUMBER
5467 , x_accounting_coa_id OUT NOCOPY NUMBER
5468 , x_value_type_code OUT NOCOPY VARCHAR2
5469 )
5470 RETURN NUMBER
5471 IS
5472 l_component_type VARCHAR2(80) ;
5473 l_component_code VARCHAR2(30) ;
5474 l_component_type_code VARCHAR2(1) ;
5475 l_component_appl_id INTEGER ;
5476 l_amb_context_code VARCHAR2(30) ;
5477 l_log_module VARCHAR2(240) ;
5478 l_output_value NUMBER ;
5479 BEGIN
5480 IF g_log_enabled THEN
5481 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_37';
5482 END IF;
5483 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5484 trace
5485 (p_msg => 'BEGIN of AcctDerRule_37'
5486 ,p_level => C_LEVEL_PROCEDURE
5487 ,p_module => l_log_module);
5488 END IF;
5489 --
5490 l_component_type := 'AMB_ADR';
5491 l_component_code := 'AP_PREPAY_INVOICE_DIST';
5492 l_component_type_code := 'S';
5493 l_component_appl_id := 200;
5494 l_amb_context_code := 'DEFAULT';
5495 x_transaction_coa_id := null;
5496 x_accounting_coa_id := null;
5497 --
5498
5499 IF NVL(p_source_31,'
5500 ') <> 'Y' OR
5501 (NVL(p_source_31,'
5502 ') = 'Y' AND
5503 p_source_32 IS NULL )
5504 THEN
5505 --
5506 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5507 trace
5508 (p_msg => 'END of AcctDerRule_37'
5509 ,p_level => C_LEVEL_PROCEDURE
5510 ,p_module => l_log_module);
5511 END IF;
5512 x_value_type_code := 'S';
5513 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
5514 RETURN l_output_value;
5515
5516 ELSIF NVL(p_source_31,'
5517 ') = 'Y' AND
5518 p_source_32 IS NOT NULL AND
5519 NVL(p_source_33,'
5523 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5520 ') = 'ITEM'
5521 THEN
5522 --
5524 trace
5525 (p_msg => 'END of AcctDerRule_37'
5526 ,p_level => C_LEVEL_PROCEDURE
5527 ,p_module => l_log_module);
5528 END IF;
5529 x_value_type_code := 'S';
5530 l_output_value := TO_NUMBER(TO_NUMBER(p_source_45));
5531 RETURN l_output_value;
5532
5533 END IF;
5534 --
5535 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5536 trace
5537 (p_msg => 'END of AcctDerRule_37(invalid)'
5538 ,p_level => C_LEVEL_PROCEDURE
5539 ,p_module => l_log_module);
5540 END IF;
5541 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5542 x_value_type_code := null;
5543 l_output_value := null;
5544 xla_accounting_err_pkg.build_message
5545 (p_appli_s_name => 'XLA'
5546 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5547 ,p_token_1 => 'COMPONENT_NAME'
5548 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5549 l_component_type
5550 , l_component_code
5551 , l_component_type_code
5552 , l_component_appl_id
5553 , l_amb_context_code
5554 )
5555 ,p_token_2 => 'OWNER'
5556 ,p_value_2 => xla_lookups_pkg.get_meaning(
5557 'XLA_OWNER_TYPE'
5558 ,l_component_type_code
5559 )
5560 ,p_token_3 => 'PAD_NAME'
5561 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5562 ,p_token_4 => 'PAD_OWNER'
5563 ,p_value_4 => xla_lookups_pkg.get_meaning(
5564 'XLA_OWNER_TYPE'
5565 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5566 )
5567 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5568 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5569 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5570 ,p_ae_header_id => NULL
5571 );
5572 RETURN l_output_value;
5573 EXCEPTION
5574 WHEN xla_exceptions_pkg.application_exception THEN
5575 RAISE;
5576 WHEN OTHERS THEN
5577 xla_exceptions_pkg.raise_message
5578 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_37');
5579 END AcctDerRule_37;
5580 --
5581
5582 ---------------------------------------
5583 --
5584 -- PRIVATE FUNCTION
5585 -- AcctDerRule_38
5586 --
5587 ---------------------------------------
5588 FUNCTION AcctDerRule_38 (
5589 p_application_id IN NUMBER
5590 , p_ae_header_id IN NUMBER
5591 , p_side IN VARCHAR2
5592 --Automatic Offsets Value
5593 , p_source_15 IN VARCHAR2
5594 , p_source_15_meaning IN VARCHAR2
5595 --Invoice Distribution Account
5596 , p_source_30 IN NUMBER
5597 --Internal Realized Gain Account
5598 , p_source_36 IN NUMBER
5599 --Bank Gain Account
5600 , p_source_37 IN NUMBER
5601 , x_transaction_coa_id OUT NOCOPY NUMBER
5602 , x_accounting_coa_id OUT NOCOPY NUMBER
5603 , x_value_type_code OUT NOCOPY VARCHAR2
5604 )
5605 RETURN NUMBER
5606 IS
5607 l_component_type VARCHAR2(80) ;
5608 l_component_code VARCHAR2(30) ;
5609 l_component_type_code VARCHAR2(1) ;
5610 l_component_appl_id INTEGER ;
5611 l_amb_context_code VARCHAR2(30) ;
5612 l_log_module VARCHAR2(240) ;
5613 l_output_value NUMBER ;
5614 BEGIN
5615 IF g_log_enabled THEN
5616 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_38';
5617 END IF;
5618 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5619 trace
5620 (p_msg => 'BEGIN of AcctDerRule_38'
5621 ,p_level => C_LEVEL_PROCEDURE
5622 ,p_module => l_log_module);
5623 END IF;
5624 --
5625 l_component_type := 'AMB_ADR';
5626 l_component_code := 'AP_REAL_GAIN';
5627 l_component_type_code := 'S';
5628 l_component_appl_id := 200;
5629 l_amb_context_code := 'DEFAULT';
5630 x_transaction_coa_id := null;
5631 x_accounting_coa_id := null;
5632 --
5633
5634 IF NVL(p_source_15,'
5635 ') <> 'ACCOUNT_SEGMENT_VALUE'
5636 THEN
5637 --
5638 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5639 trace
5640 (p_msg => 'END of AcctDerRule_38'
5641 ,p_level => C_LEVEL_PROCEDURE
5642 ,p_module => l_log_module);
5643 END IF;
5644 x_value_type_code := 'S';
5645 l_output_value := TO_NUMBER(TO_NUMBER(p_source_36));
5646 RETURN l_output_value;
5650 THEN
5647
5648 ELSIF NVL(p_source_15,'
5649 ') <> 'ACCOUNT_SEGMENT_VALUE'
5651 --
5652 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5653 trace
5654 (p_msg => 'END of AcctDerRule_38'
5655 ,p_level => C_LEVEL_PROCEDURE
5656 ,p_module => l_log_module);
5657 END IF;
5658 x_value_type_code := 'S';
5659 l_output_value := TO_NUMBER(TO_NUMBER(p_source_37));
5660 RETURN l_output_value;
5661
5662 ELSIF NVL(p_source_15,'
5663 ') = 'ACCOUNT_SEGMENT_VALUE'
5664 THEN
5665 --
5666 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5667 trace
5668 (p_msg => 'END of AcctDerRule_38'
5669 ,p_level => C_LEVEL_PROCEDURE
5670 ,p_module => l_log_module);
5671 END IF;
5672 x_value_type_code := 'S';
5673 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
5674 RETURN l_output_value;
5675
5676 END IF;
5677 --
5678 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5679 trace
5680 (p_msg => 'END of AcctDerRule_38(invalid)'
5681 ,p_level => C_LEVEL_PROCEDURE
5682 ,p_module => l_log_module);
5683 END IF;
5684 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5685 x_value_type_code := null;
5686 l_output_value := null;
5687 xla_accounting_err_pkg.build_message
5688 (p_appli_s_name => 'XLA'
5689 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5690 ,p_token_1 => 'COMPONENT_NAME'
5691 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5692 l_component_type
5693 , l_component_code
5694 , l_component_type_code
5695 , l_component_appl_id
5696 , l_amb_context_code
5697 )
5698 ,p_token_2 => 'OWNER'
5699 ,p_value_2 => xla_lookups_pkg.get_meaning(
5700 'XLA_OWNER_TYPE'
5701 ,l_component_type_code
5702 )
5703 ,p_token_3 => 'PAD_NAME'
5704 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5705 ,p_token_4 => 'PAD_OWNER'
5706 ,p_value_4 => xla_lookups_pkg.get_meaning(
5707 'XLA_OWNER_TYPE'
5708 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5709 )
5710 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5711 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5712 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5713 ,p_ae_header_id => NULL
5714 );
5715 RETURN l_output_value;
5716 EXCEPTION
5717 WHEN xla_exceptions_pkg.application_exception THEN
5718 RAISE;
5719 WHEN OTHERS THEN
5720 xla_exceptions_pkg.raise_message
5721 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_38');
5722 END AcctDerRule_38;
5723 --
5724
5725 ---------------------------------------
5726 --
5727 -- PRIVATE FUNCTION
5728 -- AcctDerRule_39
5729 --
5730 ---------------------------------------
5731 FUNCTION AcctDerRule_39 (
5732 p_application_id IN NUMBER
5733 , p_ae_header_id IN NUMBER
5734 , p_side IN VARCHAR2
5735 --Automatic Offsets Value
5736 , p_source_15 IN VARCHAR2
5737 , p_source_15_meaning IN VARCHAR2
5738 --Invoice Distribution Account
5739 , p_source_30 IN NUMBER
5740 --Internal Realized Loss Account
5741 , p_source_38 IN NUMBER
5742 --Bank Loss Account
5743 , p_source_39 IN NUMBER
5744 , x_transaction_coa_id OUT NOCOPY NUMBER
5745 , x_accounting_coa_id OUT NOCOPY NUMBER
5746 , x_value_type_code OUT NOCOPY VARCHAR2
5747 )
5748 RETURN NUMBER
5749 IS
5750 l_component_type VARCHAR2(80) ;
5751 l_component_code VARCHAR2(30) ;
5752 l_component_type_code VARCHAR2(1) ;
5753 l_component_appl_id INTEGER ;
5754 l_amb_context_code VARCHAR2(30) ;
5755 l_log_module VARCHAR2(240) ;
5756 l_output_value NUMBER ;
5757 BEGIN
5758 IF g_log_enabled THEN
5759 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_39';
5760 END IF;
5761 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5762 trace
5763 (p_msg => 'BEGIN of AcctDerRule_39'
5764 ,p_level => C_LEVEL_PROCEDURE
5765 ,p_module => l_log_module);
5766 END IF;
5767 --
5768 l_component_type := 'AMB_ADR';
5769 l_component_code := 'AP_REAL_LOSS';
5770 l_component_type_code := 'S';
5771 l_component_appl_id := 200;
5772 l_amb_context_code := 'DEFAULT';
5773 x_transaction_coa_id := null;
5777 IF NVL(p_source_15,'
5774 x_accounting_coa_id := null;
5775 --
5776
5778 ') <> 'ACCOUNT_SEGMENT_VALUE'
5779 THEN
5780 --
5781 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5782 trace
5783 (p_msg => 'END of AcctDerRule_39'
5784 ,p_level => C_LEVEL_PROCEDURE
5785 ,p_module => l_log_module);
5786 END IF;
5787 x_value_type_code := 'S';
5788 l_output_value := TO_NUMBER(TO_NUMBER(p_source_38));
5789 RETURN l_output_value;
5790
5791 ELSIF NVL(p_source_15,'
5792 ') <> 'ACCOUNT_SEGMENT_VALUE'
5793 THEN
5794 --
5795 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5796 trace
5797 (p_msg => 'END of AcctDerRule_39'
5798 ,p_level => C_LEVEL_PROCEDURE
5799 ,p_module => l_log_module);
5800 END IF;
5801 x_value_type_code := 'S';
5802 l_output_value := TO_NUMBER(TO_NUMBER(p_source_39));
5803 RETURN l_output_value;
5804
5805 ELSIF NVL(p_source_15,'
5806 ') = 'ACCOUNT_SEGMENT_VALUE'
5807 THEN
5808 --
5809 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5810 trace
5811 (p_msg => 'END of AcctDerRule_39'
5812 ,p_level => C_LEVEL_PROCEDURE
5813 ,p_module => l_log_module);
5814 END IF;
5815 x_value_type_code := 'S';
5816 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
5817 RETURN l_output_value;
5818
5819 END IF;
5820 --
5821 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5822 trace
5823 (p_msg => 'END of AcctDerRule_39(invalid)'
5824 ,p_level => C_LEVEL_PROCEDURE
5825 ,p_module => l_log_module);
5826 END IF;
5827 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5828 x_value_type_code := null;
5829 l_output_value := null;
5830 xla_accounting_err_pkg.build_message
5831 (p_appli_s_name => 'XLA'
5832 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5833 ,p_token_1 => 'COMPONENT_NAME'
5834 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5835 l_component_type
5836 , l_component_code
5837 , l_component_type_code
5838 , l_component_appl_id
5839 , l_amb_context_code
5840 )
5841 ,p_token_2 => 'OWNER'
5842 ,p_value_2 => xla_lookups_pkg.get_meaning(
5843 'XLA_OWNER_TYPE'
5844 ,l_component_type_code
5845 )
5846 ,p_token_3 => 'PAD_NAME'
5847 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5848 ,p_token_4 => 'PAD_OWNER'
5849 ,p_value_4 => xla_lookups_pkg.get_meaning(
5850 'XLA_OWNER_TYPE'
5851 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5852 )
5853 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5854 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5855 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5856 ,p_ae_header_id => NULL
5857 );
5858 RETURN l_output_value;
5859 EXCEPTION
5860 WHEN xla_exceptions_pkg.application_exception THEN
5861 RAISE;
5862 WHEN OTHERS THEN
5863 xla_exceptions_pkg.raise_message
5864 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_39');
5865 END AcctDerRule_39;
5866 --
5867
5868 ---------------------------------------
5869 --
5870 -- PRIVATE FUNCTION
5871 -- AcctDerRule_40
5872 --
5873 ---------------------------------------
5874 FUNCTION AcctDerRule_40 (
5875 p_application_id IN NUMBER
5876 , p_ae_header_id IN NUMBER
5877 , p_side IN VARCHAR2
5878 --Automatic Offsets Value
5879 , p_source_15 IN VARCHAR2
5880 , p_source_15_meaning IN VARCHAR2
5881 --Invoice Distribution Account
5882 , p_source_30 IN NUMBER
5883 --Retainage Related Item Distribution Account
5884 , p_source_42 IN NUMBER
5885 , x_transaction_coa_id OUT NOCOPY NUMBER
5886 , x_accounting_coa_id OUT NOCOPY NUMBER
5887 , x_value_type_code OUT NOCOPY VARCHAR2
5888 )
5889 RETURN NUMBER
5890 IS
5891 l_component_type VARCHAR2(80) ;
5892 l_component_code VARCHAR2(30) ;
5893 l_component_type_code VARCHAR2(1) ;
5894 l_component_appl_id INTEGER ;
5895 l_amb_context_code VARCHAR2(30) ;
5896 l_log_module VARCHAR2(240) ;
5897 l_output_value NUMBER ;
5898 BEGIN
5899 IF g_log_enabled THEN
5900 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_40';
5901 END IF;
5905 ,p_level => C_LEVEL_PROCEDURE
5902 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5903 trace
5904 (p_msg => 'BEGIN of AcctDerRule_40'
5906 ,p_module => l_log_module);
5907 END IF;
5908 --
5909 l_component_type := 'AMB_ADR';
5910 l_component_code := 'AP_RETAINAGE';
5911 l_component_type_code := 'S';
5912 l_component_appl_id := 200;
5913 l_amb_context_code := 'DEFAULT';
5914 x_transaction_coa_id := null;
5915 x_accounting_coa_id := null;
5916 --
5917
5918 IF NVL(p_source_15,'
5919 ') <> 'ACCOUNT_SEGMENT_VALUE'
5920 THEN
5921 --
5922 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5923 trace
5924 (p_msg => 'END of AcctDerRule_40'
5925 ,p_level => C_LEVEL_PROCEDURE
5926 ,p_module => l_log_module);
5927 END IF;
5928 x_value_type_code := 'S';
5929 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
5930 RETURN l_output_value;
5931
5932 ELSIF NVL(p_source_15,'
5933 ') = 'ACCOUNT_SEGMENT_VALUE'
5934 THEN
5935 --
5936 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5937 trace
5938 (p_msg => 'END of AcctDerRule_40'
5939 ,p_level => C_LEVEL_PROCEDURE
5940 ,p_module => l_log_module);
5941 END IF;
5942 x_value_type_code := 'S';
5943 l_output_value := TO_NUMBER(TO_NUMBER(p_source_42));
5944 RETURN l_output_value;
5945
5946 END IF;
5947 --
5948 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5949 trace
5950 (p_msg => 'END of AcctDerRule_40(invalid)'
5951 ,p_level => C_LEVEL_PROCEDURE
5952 ,p_module => l_log_module);
5953 END IF;
5954 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5955 x_value_type_code := null;
5956 l_output_value := null;
5957 xla_accounting_err_pkg.build_message
5958 (p_appli_s_name => 'XLA'
5959 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5960 ,p_token_1 => 'COMPONENT_NAME'
5961 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5962 l_component_type
5963 , l_component_code
5964 , l_component_type_code
5965 , l_component_appl_id
5966 , l_amb_context_code
5967 )
5968 ,p_token_2 => 'OWNER'
5969 ,p_value_2 => xla_lookups_pkg.get_meaning(
5970 'XLA_OWNER_TYPE'
5971 ,l_component_type_code
5972 )
5973 ,p_token_3 => 'PAD_NAME'
5974 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5975 ,p_token_4 => 'PAD_OWNER'
5976 ,p_value_4 => xla_lookups_pkg.get_meaning(
5977 'XLA_OWNER_TYPE'
5978 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5979 )
5980 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5981 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5982 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5983 ,p_ae_header_id => NULL
5984 );
5985 RETURN l_output_value;
5986 EXCEPTION
5987 WHEN xla_exceptions_pkg.application_exception THEN
5988 RAISE;
5989 WHEN OTHERS THEN
5990 xla_exceptions_pkg.raise_message
5991 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_40');
5992 END AcctDerRule_40;
5993 --
5994
5995 ---------------------------------------
5996 --
5997 -- PRIVATE FUNCTION
5998 -- AcctDerRule_41
5999 --
6000 ---------------------------------------
6001 FUNCTION AcctDerRule_41 (
6002 p_application_id IN NUMBER
6003 , p_ae_header_id IN NUMBER
6004 , p_side IN VARCHAR2
6005 --Automatic Offsets Value
6006 , p_source_15 IN VARCHAR2
6007 , p_source_15_meaning IN VARCHAR2
6008 --Invoice Distribution Account
6009 , p_source_30 IN NUMBER
6010 --Payables Options Rounding Account
6011 , p_source_49 IN NUMBER
6012 , x_transaction_coa_id OUT NOCOPY NUMBER
6013 , x_accounting_coa_id OUT NOCOPY NUMBER
6014 , x_value_type_code OUT NOCOPY VARCHAR2
6015 )
6016 RETURN NUMBER
6017 IS
6018 l_component_type VARCHAR2(80) ;
6019 l_component_code VARCHAR2(30) ;
6020 l_component_type_code VARCHAR2(1) ;
6021 l_component_appl_id INTEGER ;
6022 l_amb_context_code VARCHAR2(30) ;
6023 l_log_module VARCHAR2(240) ;
6024 l_output_value NUMBER ;
6025 BEGIN
6026 IF g_log_enabled THEN
6027 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_41';
6028 END IF;
6032 ,p_level => C_LEVEL_PROCEDURE
6029 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6030 trace
6031 (p_msg => 'BEGIN of AcctDerRule_41'
6033 ,p_module => l_log_module);
6034 END IF;
6035 --
6036 l_component_type := 'AMB_ADR';
6037 l_component_code := 'AP_ROUNDING';
6038 l_component_type_code := 'S';
6039 l_component_appl_id := 200;
6040 l_amb_context_code := 'DEFAULT';
6041 x_transaction_coa_id := null;
6042 x_accounting_coa_id := null;
6043 --
6044
6045 IF NVL(p_source_15,'
6046 ') <> 'ACCOUNT_SEGMENT_VALUE'
6047 THEN
6048 --
6049 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6050 trace
6051 (p_msg => 'END of AcctDerRule_41'
6052 ,p_level => C_LEVEL_PROCEDURE
6053 ,p_module => l_log_module);
6054 END IF;
6055 x_value_type_code := 'S';
6056 l_output_value := TO_NUMBER(TO_NUMBER(p_source_49));
6057 RETURN l_output_value;
6058
6059 ELSIF NVL(p_source_15,'
6060 ') = 'ACCOUNT_SEGMENT_VALUE'
6061 THEN
6062 --
6063 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6064 trace
6065 (p_msg => 'END of AcctDerRule_41'
6066 ,p_level => C_LEVEL_PROCEDURE
6067 ,p_module => l_log_module);
6068 END IF;
6069 x_value_type_code := 'S';
6070 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
6071 RETURN l_output_value;
6072
6073 END IF;
6074 --
6075 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6076 trace
6077 (p_msg => 'END of AcctDerRule_41(invalid)'
6078 ,p_level => C_LEVEL_PROCEDURE
6079 ,p_module => l_log_module);
6080 END IF;
6081 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
6082 x_value_type_code := null;
6083 l_output_value := null;
6084 xla_accounting_err_pkg.build_message
6085 (p_appli_s_name => 'XLA'
6086 ,p_msg_name => 'XLA_AP_INVALID_ADR'
6087 ,p_token_1 => 'COMPONENT_NAME'
6088 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
6089 l_component_type
6090 , l_component_code
6091 , l_component_type_code
6092 , l_component_appl_id
6093 , l_amb_context_code
6094 )
6095 ,p_token_2 => 'OWNER'
6096 ,p_value_2 => xla_lookups_pkg.get_meaning(
6097 'XLA_OWNER_TYPE'
6098 ,l_component_type_code
6099 )
6100 ,p_token_3 => 'PAD_NAME'
6101 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
6102 ,p_token_4 => 'PAD_OWNER'
6103 ,p_value_4 => xla_lookups_pkg.get_meaning(
6104 'XLA_OWNER_TYPE'
6105 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
6106 )
6107 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
6108 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
6109 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
6110 ,p_ae_header_id => NULL
6111 );
6112 RETURN l_output_value;
6113 EXCEPTION
6114 WHEN xla_exceptions_pkg.application_exception THEN
6115 RAISE;
6116 WHEN OTHERS THEN
6117 xla_exceptions_pkg.raise_message
6118 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_41');
6119 END AcctDerRule_41;
6120 --
6121
6122 ---------------------------------------
6123 --
6124 -- PRIVATE FUNCTION
6125 -- AcctDerRule_42
6126 --
6127 ---------------------------------------
6128 FUNCTION AcctDerRule_42 (
6129 p_application_id IN NUMBER
6130 , p_ae_header_id IN NUMBER
6131 , p_side IN VARCHAR2
6132 --Self-Assessed Tax Account
6133 , p_source_50 IN NUMBER
6134 , x_transaction_coa_id OUT NOCOPY NUMBER
6135 , x_accounting_coa_id OUT NOCOPY NUMBER
6136 , x_value_type_code OUT NOCOPY VARCHAR2
6137 )
6138 RETURN NUMBER
6139 IS
6140 l_component_type VARCHAR2(80) ;
6141 l_component_code VARCHAR2(30) ;
6142 l_component_type_code VARCHAR2(1) ;
6143 l_component_appl_id INTEGER ;
6144 l_amb_context_code VARCHAR2(30) ;
6145 l_log_module VARCHAR2(240) ;
6146 l_output_value NUMBER ;
6147 BEGIN
6148 IF g_log_enabled THEN
6149 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_42';
6150 END IF;
6151 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6152 trace
6153 (p_msg => 'BEGIN of AcctDerRule_42'
6154 ,p_level => C_LEVEL_PROCEDURE
6155 ,p_module => l_log_module);
6159 l_component_code := 'AP_SELF_ASSESSED_TAX';
6156 END IF;
6157 --
6158 l_component_type := 'AMB_ADR';
6160 l_component_type_code := 'S';
6161 l_component_appl_id := 200;
6162 l_amb_context_code := 'DEFAULT';
6163 x_transaction_coa_id := null;
6164 x_accounting_coa_id := null;
6165 --
6166
6167 --
6168 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6169 trace
6170 (p_msg => 'END of AcctDerRule_42'
6171 ,p_level => C_LEVEL_PROCEDURE
6172 ,p_module => l_log_module);
6173 END IF;
6174 x_value_type_code := 'S';
6175 l_output_value := TO_NUMBER(TO_NUMBER(p_source_50));
6176 RETURN l_output_value;
6177
6178 --
6179 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6180 trace
6181 (p_msg => 'END of AcctDerRule_42(invalid)'
6182 ,p_level => C_LEVEL_PROCEDURE
6183 ,p_module => l_log_module);
6184 END IF;
6185 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
6186 x_value_type_code := null;
6187 l_output_value := null;
6188 xla_accounting_err_pkg.build_message
6189 (p_appli_s_name => 'XLA'
6190 ,p_msg_name => 'XLA_AP_INVALID_ADR'
6191 ,p_token_1 => 'COMPONENT_NAME'
6192 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
6193 l_component_type
6194 , l_component_code
6195 , l_component_type_code
6196 , l_component_appl_id
6197 , l_amb_context_code
6198 )
6199 ,p_token_2 => 'OWNER'
6200 ,p_value_2 => xla_lookups_pkg.get_meaning(
6201 'XLA_OWNER_TYPE'
6202 ,l_component_type_code
6203 )
6204 ,p_token_3 => 'PAD_NAME'
6205 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
6206 ,p_token_4 => 'PAD_OWNER'
6207 ,p_value_4 => xla_lookups_pkg.get_meaning(
6208 'XLA_OWNER_TYPE'
6209 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
6210 )
6211 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
6212 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
6213 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
6214 ,p_ae_header_id => NULL
6215 );
6216 RETURN l_output_value;
6217 EXCEPTION
6218 WHEN xla_exceptions_pkg.application_exception THEN
6219 RAISE;
6220 WHEN OTHERS THEN
6221 xla_exceptions_pkg.raise_message
6222 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_42');
6223 END AcctDerRule_42;
6224 --
6225
6226 ---------------------------------------
6227 --
6228 -- PRIVATE FUNCTION
6229 -- AcctDerRule_43
6230 --
6231 ---------------------------------------
6232 FUNCTION AcctDerRule_43 (
6233 p_application_id IN NUMBER
6234 , p_ae_header_id IN NUMBER
6235 , p_side IN VARCHAR2
6236 --Self-Assessed Tax Liability Account
6237 , p_source_51 IN NUMBER
6238 , x_transaction_coa_id OUT NOCOPY NUMBER
6239 , x_accounting_coa_id OUT NOCOPY NUMBER
6240 , x_value_type_code OUT NOCOPY VARCHAR2
6241 )
6242 RETURN NUMBER
6243 IS
6244 l_component_type VARCHAR2(80) ;
6245 l_component_code VARCHAR2(30) ;
6246 l_component_type_code VARCHAR2(1) ;
6247 l_component_appl_id INTEGER ;
6248 l_amb_context_code VARCHAR2(30) ;
6249 l_log_module VARCHAR2(240) ;
6250 l_output_value NUMBER ;
6251 BEGIN
6252 IF g_log_enabled THEN
6253 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_43';
6254 END IF;
6255 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6256 trace
6257 (p_msg => 'BEGIN of AcctDerRule_43'
6258 ,p_level => C_LEVEL_PROCEDURE
6259 ,p_module => l_log_module);
6260 END IF;
6261 --
6262 l_component_type := 'AMB_ADR';
6263 l_component_code := 'AP_SELF_ASSESSED_TAX_LIAB';
6264 l_component_type_code := 'S';
6265 l_component_appl_id := 200;
6266 l_amb_context_code := 'DEFAULT';
6267 x_transaction_coa_id := null;
6268 x_accounting_coa_id := null;
6269 --
6270
6271 --
6272 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6273 trace
6274 (p_msg => 'END of AcctDerRule_43'
6275 ,p_level => C_LEVEL_PROCEDURE
6276 ,p_module => l_log_module);
6277 END IF;
6278 x_value_type_code := 'S';
6282 --
6279 l_output_value := TO_NUMBER(TO_NUMBER(p_source_51));
6280 RETURN l_output_value;
6281
6283 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6284 trace
6285 (p_msg => 'END of AcctDerRule_43(invalid)'
6286 ,p_level => C_LEVEL_PROCEDURE
6287 ,p_module => l_log_module);
6288 END IF;
6289 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
6290 x_value_type_code := null;
6291 l_output_value := null;
6292 xla_accounting_err_pkg.build_message
6293 (p_appli_s_name => 'XLA'
6294 ,p_msg_name => 'XLA_AP_INVALID_ADR'
6295 ,p_token_1 => 'COMPONENT_NAME'
6296 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
6297 l_component_type
6298 , l_component_code
6299 , l_component_type_code
6300 , l_component_appl_id
6301 , l_amb_context_code
6302 )
6303 ,p_token_2 => 'OWNER'
6304 ,p_value_2 => xla_lookups_pkg.get_meaning(
6305 'XLA_OWNER_TYPE'
6306 ,l_component_type_code
6307 )
6308 ,p_token_3 => 'PAD_NAME'
6309 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
6310 ,p_token_4 => 'PAD_OWNER'
6311 ,p_value_4 => xla_lookups_pkg.get_meaning(
6312 'XLA_OWNER_TYPE'
6313 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
6314 )
6315 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
6316 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
6317 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
6318 ,p_ae_header_id => NULL
6319 );
6320 RETURN l_output_value;
6321 EXCEPTION
6322 WHEN xla_exceptions_pkg.application_exception THEN
6323 RAISE;
6324 WHEN OTHERS THEN
6325 xla_exceptions_pkg.raise_message
6326 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_43');
6327 END AcctDerRule_43;
6328 --
6329
6330 ---------------------------------------
6331 --
6332 -- PRIVATE FUNCTION
6333 -- AcctDerRule_44
6334 --
6335 ---------------------------------------
6336 FUNCTION AcctDerRule_44 (
6337 p_application_id IN NUMBER
6338 , p_ae_header_id IN NUMBER
6339 , p_side IN VARCHAR2
6340 --Recoverable Tax Account
6341 , p_source_52 IN NUMBER
6342 , x_transaction_coa_id OUT NOCOPY NUMBER
6343 , x_accounting_coa_id OUT NOCOPY NUMBER
6344 , x_value_type_code OUT NOCOPY VARCHAR2
6345 )
6346 RETURN NUMBER
6347 IS
6348 l_component_type VARCHAR2(80) ;
6349 l_component_code VARCHAR2(30) ;
6350 l_component_type_code VARCHAR2(1) ;
6351 l_component_appl_id INTEGER ;
6352 l_amb_context_code VARCHAR2(30) ;
6353 l_log_module VARCHAR2(240) ;
6354 l_output_value NUMBER ;
6355 BEGIN
6356 IF g_log_enabled THEN
6357 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_44';
6358 END IF;
6359 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6360 trace
6361 (p_msg => 'BEGIN of AcctDerRule_44'
6362 ,p_level => C_LEVEL_PROCEDURE
6363 ,p_module => l_log_module);
6364 END IF;
6365 --
6366 l_component_type := 'AMB_ADR';
6367 l_component_code := 'AP_TAX_ACCOUNT';
6368 l_component_type_code := 'S';
6369 l_component_appl_id := 200;
6370 l_amb_context_code := 'DEFAULT';
6371 x_transaction_coa_id := null;
6372 x_accounting_coa_id := null;
6373 --
6374
6375 --
6376 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6377 trace
6378 (p_msg => 'END of AcctDerRule_44'
6379 ,p_level => C_LEVEL_PROCEDURE
6380 ,p_module => l_log_module);
6381 END IF;
6382 x_value_type_code := 'S';
6383 l_output_value := TO_NUMBER(TO_NUMBER(p_source_52));
6384 RETURN l_output_value;
6385
6386 --
6387 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6388 trace
6389 (p_msg => 'END of AcctDerRule_44(invalid)'
6390 ,p_level => C_LEVEL_PROCEDURE
6391 ,p_module => l_log_module);
6392 END IF;
6393 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
6394 x_value_type_code := null;
6395 l_output_value := null;
6396 xla_accounting_err_pkg.build_message
6397 (p_appli_s_name => 'XLA'
6398 ,p_msg_name => 'XLA_AP_INVALID_ADR'
6399 ,p_token_1 => 'COMPONENT_NAME'
6403 , l_component_type_code
6400 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
6401 l_component_type
6402 , l_component_code
6404 , l_component_appl_id
6405 , l_amb_context_code
6406 )
6407 ,p_token_2 => 'OWNER'
6408 ,p_value_2 => xla_lookups_pkg.get_meaning(
6409 'XLA_OWNER_TYPE'
6410 ,l_component_type_code
6411 )
6412 ,p_token_3 => 'PAD_NAME'
6413 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
6414 ,p_token_4 => 'PAD_OWNER'
6415 ,p_value_4 => xla_lookups_pkg.get_meaning(
6416 'XLA_OWNER_TYPE'
6417 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
6418 )
6419 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
6420 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
6421 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
6422 ,p_ae_header_id => NULL
6423 );
6424 RETURN l_output_value;
6425 EXCEPTION
6426 WHEN xla_exceptions_pkg.application_exception THEN
6427 RAISE;
6428 WHEN OTHERS THEN
6429 xla_exceptions_pkg.raise_message
6430 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_44');
6431 END AcctDerRule_44;
6432 --
6433
6434 ---------------------------------------
6435 --
6436 -- PRIVATE FUNCTION
6437 -- AcctDerRule_45
6438 --
6439 ---------------------------------------
6440 FUNCTION AcctDerRule_45 (
6441 p_application_id IN NUMBER
6442 , p_ae_header_id IN NUMBER
6443 , p_side IN VARCHAR2
6444 --Automatic Offsets Value
6445 , p_source_15 IN VARCHAR2
6446 , p_source_15_meaning IN VARCHAR2
6447 --Invoice Distribution Account
6448 , p_source_30 IN NUMBER
6449 --Payables Options Tax Difference Account
6450 , p_source_41 IN NUMBER
6451 , x_transaction_coa_id OUT NOCOPY NUMBER
6452 , x_accounting_coa_id OUT NOCOPY NUMBER
6453 , x_value_type_code OUT NOCOPY VARCHAR2
6454 )
6455 RETURN NUMBER
6456 IS
6457 l_component_type VARCHAR2(80) ;
6458 l_component_code VARCHAR2(30) ;
6459 l_component_type_code VARCHAR2(1) ;
6460 l_component_appl_id INTEGER ;
6461 l_amb_context_code VARCHAR2(30) ;
6462 l_log_module VARCHAR2(240) ;
6463 l_output_value NUMBER ;
6464 BEGIN
6465 IF g_log_enabled THEN
6466 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_45';
6467 END IF;
6468 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6469 trace
6470 (p_msg => 'BEGIN of AcctDerRule_45'
6471 ,p_level => C_LEVEL_PROCEDURE
6472 ,p_module => l_log_module);
6473 END IF;
6474 --
6475 l_component_type := 'AMB_ADR';
6476 l_component_code := 'AP_TAX_DIFFERENCE';
6477 l_component_type_code := 'S';
6478 l_component_appl_id := 200;
6479 l_amb_context_code := 'DEFAULT';
6480 x_transaction_coa_id := null;
6481 x_accounting_coa_id := null;
6482 --
6483
6484 IF NVL(p_source_15,'
6485 ') <> 'ACCOUNT_SEGMENT_VALUE'
6486 THEN
6487 --
6488 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6489 trace
6490 (p_msg => 'END of AcctDerRule_45'
6491 ,p_level => C_LEVEL_PROCEDURE
6492 ,p_module => l_log_module);
6493 END IF;
6494 x_value_type_code := 'S';
6495 l_output_value := TO_NUMBER(TO_NUMBER(p_source_41));
6496 RETURN l_output_value;
6497
6498 ELSIF NVL(p_source_15,'
6499 ') = 'ACCOUNT_SEGMENT_VALUE'
6500 THEN
6501 --
6502 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6503 trace
6504 (p_msg => 'END of AcctDerRule_45'
6505 ,p_level => C_LEVEL_PROCEDURE
6506 ,p_module => l_log_module);
6507 END IF;
6508 x_value_type_code := 'S';
6509 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
6510 RETURN l_output_value;
6511
6512 END IF;
6513 --
6514 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6515 trace
6516 (p_msg => 'END of AcctDerRule_45(invalid)'
6517 ,p_level => C_LEVEL_PROCEDURE
6518 ,p_module => l_log_module);
6519 END IF;
6520 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
6521 x_value_type_code := null;
6522 l_output_value := null;
6523 xla_accounting_err_pkg.build_message
6524 (p_appli_s_name => 'XLA'
6525 ,p_msg_name => 'XLA_AP_INVALID_ADR'
6529 , l_component_code
6526 ,p_token_1 => 'COMPONENT_NAME'
6527 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
6528 l_component_type
6530 , l_component_type_code
6531 , l_component_appl_id
6532 , l_amb_context_code
6533 )
6534 ,p_token_2 => 'OWNER'
6535 ,p_value_2 => xla_lookups_pkg.get_meaning(
6536 'XLA_OWNER_TYPE'
6537 ,l_component_type_code
6538 )
6539 ,p_token_3 => 'PAD_NAME'
6540 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
6541 ,p_token_4 => 'PAD_OWNER'
6542 ,p_value_4 => xla_lookups_pkg.get_meaning(
6543 'XLA_OWNER_TYPE'
6544 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
6545 )
6546 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
6547 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
6548 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
6549 ,p_ae_header_id => NULL
6550 );
6551 RETURN l_output_value;
6552 EXCEPTION
6553 WHEN xla_exceptions_pkg.application_exception THEN
6554 RAISE;
6555 WHEN OTHERS THEN
6556 xla_exceptions_pkg.raise_message
6557 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_45');
6558 END AcctDerRule_45;
6559 --
6560
6561 ---------------------------------------
6562 --
6563 -- PRIVATE FUNCTION
6564 -- AcctDerRule_46
6565 --
6566 ---------------------------------------
6567 FUNCTION AcctDerRule_46 (
6568 p_application_id IN NUMBER
6569 , p_ae_header_id IN NUMBER
6570 , p_side IN VARCHAR2
6571 --Automatic Offsets Value
6572 , p_source_15 IN VARCHAR2
6573 , p_source_15_meaning IN VARCHAR2
6574 --Invoice Distribution Account
6575 , p_source_30 IN NUMBER
6576 --Withholding Related Distribution Account
6577 , p_source_43 IN NUMBER
6578 , x_transaction_coa_id OUT NOCOPY NUMBER
6579 , x_accounting_coa_id OUT NOCOPY NUMBER
6580 , x_value_type_code OUT NOCOPY VARCHAR2
6581 )
6582 RETURN NUMBER
6583 IS
6584 l_component_type VARCHAR2(80) ;
6585 l_component_code VARCHAR2(30) ;
6586 l_component_type_code VARCHAR2(1) ;
6587 l_component_appl_id INTEGER ;
6588 l_amb_context_code VARCHAR2(30) ;
6589 l_log_module VARCHAR2(240) ;
6590 l_output_value NUMBER ;
6591 BEGIN
6592 IF g_log_enabled THEN
6593 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_46';
6594 END IF;
6595 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6596 trace
6597 (p_msg => 'BEGIN of AcctDerRule_46'
6598 ,p_level => C_LEVEL_PROCEDURE
6599 ,p_module => l_log_module);
6600 END IF;
6601 --
6602 l_component_type := 'AMB_ADR';
6603 l_component_code := 'AP_WH_DIST_ACCT';
6604 l_component_type_code := 'S';
6605 l_component_appl_id := 200;
6606 l_amb_context_code := 'DEFAULT';
6607 x_transaction_coa_id := null;
6608 x_accounting_coa_id := null;
6609 --
6610
6611 IF NVL(p_source_15,'
6612 ') <> 'ACCOUNT_SEGMENT_VALUE'
6613 THEN
6614 --
6615 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6616 trace
6617 (p_msg => 'END of AcctDerRule_46'
6618 ,p_level => C_LEVEL_PROCEDURE
6619 ,p_module => l_log_module);
6620 END IF;
6621 x_value_type_code := 'S';
6622 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
6623 RETURN l_output_value;
6624
6625 ELSIF NVL(p_source_15,'
6626 ') = 'ACCOUNT_SEGMENT_VALUE'
6627 THEN
6628 --
6629 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6630 trace
6631 (p_msg => 'END of AcctDerRule_46'
6632 ,p_level => C_LEVEL_PROCEDURE
6633 ,p_module => l_log_module);
6634 END IF;
6635 x_value_type_code := 'S';
6636 l_output_value := TO_NUMBER(TO_NUMBER(p_source_43));
6637 RETURN l_output_value;
6638
6639 END IF;
6640 --
6641 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6642 trace
6643 (p_msg => 'END of AcctDerRule_46(invalid)'
6644 ,p_level => C_LEVEL_PROCEDURE
6645 ,p_module => l_log_module);
6646 END IF;
6647 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
6648 x_value_type_code := null;
6649 l_output_value := null;
6650 xla_accounting_err_pkg.build_message
6651 (p_appli_s_name => 'XLA'
6655 l_component_type
6652 ,p_msg_name => 'XLA_AP_INVALID_ADR'
6653 ,p_token_1 => 'COMPONENT_NAME'
6654 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
6656 , l_component_code
6657 , l_component_type_code
6658 , l_component_appl_id
6659 , l_amb_context_code
6660 )
6661 ,p_token_2 => 'OWNER'
6662 ,p_value_2 => xla_lookups_pkg.get_meaning(
6663 'XLA_OWNER_TYPE'
6664 ,l_component_type_code
6665 )
6666 ,p_token_3 => 'PAD_NAME'
6667 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
6668 ,p_token_4 => 'PAD_OWNER'
6669 ,p_value_4 => xla_lookups_pkg.get_meaning(
6670 'XLA_OWNER_TYPE'
6671 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
6672 )
6673 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
6674 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
6675 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
6676 ,p_ae_header_id => NULL
6677 );
6678 RETURN l_output_value;
6679 EXCEPTION
6680 WHEN xla_exceptions_pkg.application_exception THEN
6681 RAISE;
6682 WHEN OTHERS THEN
6683 xla_exceptions_pkg.raise_message
6684 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctDerRule_46');
6685 END AcctDerRule_46;
6686 --
6687
6688 ---------------------------------------
6689 --
6690 -- PRIVATE FUNCTION
6691 -- AcctLineType_47
6692 --
6693 ---------------------------------------
6694 PROCEDURE AcctLineType_47 (
6695 p_application_id IN NUMBER
6696 ,p_event_id IN NUMBER
6697 ,p_calculate_acctd_flag IN VARCHAR2
6698 ,p_calculate_g_l_flag IN VARCHAR2
6699 ,p_actual_flag IN OUT VARCHAR2
6700 ,p_balance_type_code OUT VARCHAR2
6701 ,p_gain_or_loss_ref OUT VARCHAR2
6702
6703 --Invoice Distribution Description
6704 , p_source_1 IN VARCHAR2
6705 --Invoice Distribution Ledger Amount
6706 , p_source_21 IN NUMBER
6707 --Invoice Distribution Account
6708 , p_source_30 IN NUMBER
6709 --Invoice Distribution Type
6710 , p_source_33 IN VARCHAR2
6711 , p_source_33_meaning IN VARCHAR2
6712 --Accounting Reversal Indicator
6713 , p_source_53 IN VARCHAR2
6714 --Distribution Link Type
6715 , p_source_55 IN VARCHAR2
6716 --Allocation to Main Distribution Identifier
6717 , p_source_57 IN NUMBER
6718 --Invoice Identifier
6719 , p_source_58 IN NUMBER
6720 --Business Flow Purchasing Application Identifier
6721 , p_source_59 IN NUMBER
6722 --Business Flow Purchase Order Distribution Type
6723 , p_source_60 IN VARCHAR2
6724 --Business Flow Purchase Order Entity Code
6725 , p_source_61 IN VARCHAR2
6726 --Business Flow Purchase Order Distribution Identifier
6727 , p_source_62 IN NUMBER
6728 --Business Flow Purchasing Document Identifier
6729 , p_source_63 IN NUMBER
6730 --Invoice Distribution Identifier
6731 , p_source_64 IN NUMBER
6732 --Payables Encumbrance Upgrade Credit Account
6733 , p_source_65 IN NUMBER
6734 --Payables Encumbrance Upgrade Credit Amount
6735 , p_source_66 IN NUMBER
6736 --Invoice Currency Code
6737 , p_source_67 IN VARCHAR2
6738 --Payables Encumbrance Upgrade Credit Base Amount
6739 , p_source_68 IN NUMBER
6740 --Payables Encumbrance Upgrade Debit Account
6741 , p_source_69 IN NUMBER
6742 --Payables Encumbrance Upgrade Debit Amount
6743 , p_source_70 IN NUMBER
6744 --Payables Encumbrance Upgrade Debit Base Amount
6745 , p_source_71 IN NUMBER
6746 --Payables Encumbrance Upgrade Option
6747 , p_source_72 IN VARCHAR2
6748 --Invoice Distribution Amount
6749 , p_source_73 IN NUMBER
6750 --Purchase Order Exchange Rate Date
6751 , p_source_74 IN DATE
6752 --Purchase Order Exchange Rate
6753 , p_source_75 IN NUMBER
6754 --Purchase Order Exchange Rate Type
6755 , p_source_76 IN VARCHAR2
6756 --Deferred Accounting End Date
6757 , p_source_77 IN DATE
6758 --Deferred Accounting Option
6759 , p_source_78 IN VARCHAR2
6760 --Deferred Accounting Start Date
6761 , p_source_79 IN DATE
6762 --Override Accounted Amount Indicator
6763 , p_source_80 IN VARCHAR2
6764 , p_source_80_meaning IN VARCHAR2
6765 --Invoice Supplier Identifier
6766 , p_source_81 IN NUMBER
6767 --Invoice Supplier Site Identifier
6768 , p_source_82 IN NUMBER
6772 , p_source_84 IN NUMBER
6769 --Third Party Type
6770 , p_source_83 IN VARCHAR2
6771 --Parent Reversal Identifier
6773 --Invoice Distribution Statistical Amount
6774 , p_source_85 IN NUMBER
6775 --Invoice Distribution Tax Line Identifier
6776 , p_source_86 IN NUMBER
6777 --Invoice Distribution Tax Distribution Identifier from Tax
6778 , p_source_87 IN NUMBER
6779 --Invoice Distribution Summary Tax Line Identifier
6780 , p_source_88 IN NUMBER
6781 --Payables Upgrade Credit Encumbrance Type Identifier
6782 , p_source_89 IN NUMBER
6783 --Payables Upgrade Debit Encumbrance Type Identifier
6784 , p_source_90 IN NUMBER
6785 )
6786 IS
6787
6788 l_component_type VARCHAR2(80);
6789 l_component_code VARCHAR2(30);
6790 l_component_type_code VARCHAR2(1);
6791 l_component_appl_id INTEGER;
6792 l_amb_context_code VARCHAR2(30);
6793 l_entity_code VARCHAR2(30);
6794 l_event_class_code VARCHAR2(30);
6795 l_ae_header_id NUMBER;
6796 l_event_type_code VARCHAR2(30);
6797 l_line_definition_code VARCHAR2(30);
6798 l_line_definition_owner_code VARCHAR2(1);
6799 --
6800 -- adr variables
6801 l_segment VARCHAR2(30);
6802 l_ccid NUMBER;
6803 l_adr_transaction_coa_id NUMBER;
6804 l_adr_accounting_coa_id NUMBER;
6805 l_adr_flexfield_segment_code VARCHAR2(30);
6806 l_adr_flex_value_set_id NUMBER;
6807 l_adr_value_type_code VARCHAR2(30);
6808 l_adr_value_combination_id NUMBER;
6809 l_adr_value_segment_code VARCHAR2(30);
6810
6811 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
6812 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
6813 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
6814 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
6815
6816 -- 4262811 Variables ------------------------------------------------------------------------------------------
6817 l_entered_amt_idx NUMBER;
6818 l_accted_amt_idx NUMBER;
6819 l_acc_rev_flag VARCHAR2(1);
6820 l_accrual_line_num NUMBER;
6821 l_tmp_amt NUMBER;
6822 l_acc_rev_natural_side_code VARCHAR2(1);
6823
6824 l_num_entries NUMBER;
6825 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
6826 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
6827 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
6828 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
6829 l_recog_line_1 NUMBER;
6830 l_recog_line_2 NUMBER;
6831
6832 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
6833 l_bflow_applied_to_amt NUMBER; -- 5132302
6834 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
6835
6836 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
6837
6838 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
6839 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
6840
6841 ---------------------------------------------------------------------------------------------------------------
6842
6843
6844 --
6845 -- bulk performance
6846 --
6847 l_balance_type_code VARCHAR2(1);
6848 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
6849 l_log_module VARCHAR2(240);
6850
6851 --
6852 -- Upgrade strategy
6853 --
6854 l_actual_upg_option VARCHAR2(1);
6855 l_enc_upg_option VARCHAR2(1);
6856
6857 --
6858 BEGIN
6859 --
6860 IF g_log_enabled THEN
6861 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_47';
6862 END IF;
6863 --
6864 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6865
6866 trace
6867 (p_msg => 'BEGIN of AcctLineType_47'
6868 ,p_level => C_LEVEL_PROCEDURE
6869 ,p_module => l_log_module);
6870
6871 END IF;
6872 --
6873 l_component_type := 'AMB_JLT';
6874 l_component_code := 'AP_ACCRUAL_CM';
6875 l_component_type_code := 'S';
6876 l_component_appl_id := 200;
6877 l_amb_context_code := 'DEFAULT';
6878 l_entity_code := 'AP_INVOICES';
6879 l_event_class_code := 'CREDIT MEMOS';
6880 l_event_type_code := 'CREDIT MEMOS_ALL';
6881 l_line_definition_owner_code := 'S';
6882 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
6883 --
6884 l_balance_type_code := 'A';
6885 l_segment := NULL;
6886 l_ccid := NULL;
6887 l_adr_transaction_coa_id := NULL;
6888 l_adr_accounting_coa_id := NULL;
6889 l_adr_flexfield_segment_code := NULL;
6890 l_adr_flex_value_set_id := NULL;
6891 l_adr_value_type_code := NULL;
6892 l_adr_value_combination_id := NULL;
6893 l_adr_value_segment_code := NULL;
6894
6895 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
6896 l_bflow_class_code := ''; -- 4219869 Business Flow
6897 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
6901 l_bflow_applied_to_amt := NULL; -- 5132302
6898 l_budgetary_control_flag := 'N';
6899
6900 l_bflow_applied_to_amt_idx := NULL; -- 5132302
6902 l_entered_amt_idx := NULL; -- 4262811
6903 l_accted_amt_idx := NULL; -- 4262811
6904 l_acc_rev_flag := NULL; -- 4262811
6905 l_accrual_line_num := NULL; -- 4262811
6906 l_tmp_amt := NULL; -- 4262811
6907 --
6908
6909 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
6910 l_balance_type_code <> 'B' THEN
6911 IF NVL(p_source_33,'
6912 ') = 'RETROACCRUAL' OR
6913 NVL(p_source_33,'
6914 ') = 'ACCRUAL'
6915 THEN
6916
6917 --
6918 XLA_AE_LINES_PKG.SetNewLine;
6919
6920 p_balance_type_code := l_balance_type_code;
6921 -- set the flag so later we will know whether the gain loss line needs to be created
6922
6923 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
6924 p_actual_flag :='A';
6925 END IF;
6926
6927 --
6928 -- bulk performance
6929 --
6930 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
6931 p_header_num => 0); -- 4262811
6932 --
6933 -- set accounting line options
6934 --
6935 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
6936 p_natural_side_code => 'D'
6937 , p_gain_or_loss_flag => 'N'
6938 , p_gl_transfer_mode_code => 'S'
6939 , p_acct_entry_type_code => 'A'
6940 , p_switch_side_flag => 'Y'
6941 , p_merge_duplicate_code => 'A'
6942 );
6943 --
6944 l_acc_rev_natural_side_code := 'C'; -- 4262811
6945 --
6946 --
6947 -- set accounting line type info
6948 --
6949 xla_ae_lines_pkg.SetAcctLineType
6950 (p_component_type => l_component_type
6951 ,p_event_type_code => l_event_type_code
6952 ,p_line_definition_owner_code => l_line_definition_owner_code
6953 ,p_line_definition_code => l_line_definition_code
6954 ,p_accounting_line_code => l_component_code
6955 ,p_accounting_line_type_code => l_component_type_code
6956 ,p_accounting_line_appl_id => l_component_appl_id
6957 ,p_amb_context_code => l_amb_context_code
6958 ,p_entity_code => l_entity_code
6959 ,p_event_class_code => l_event_class_code);
6960 --
6961 -- set accounting class
6962 --
6963 xla_ae_lines_pkg.SetAcctClass(
6964 p_accounting_class_code => 'ACCRUAL'
6965 , p_ae_header_id => l_ae_header_id
6966 );
6967
6968 --
6969 -- set rounding class
6970 --
6971 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
6972 'ACCRUAL';
6973
6974 --
6975 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
6976 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
6977 --
6978 -- bulk performance
6979 --
6980 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
6981
6982 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
6983 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
6984
6985 -- 4955764
6986 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6987 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
6988
6989 -- 4458381 Public Sector Enh
6990
6991 --
6992 -- set accounting attributes for the line type
6993 --
6994 l_entered_amt_idx := 23;
6995 l_accted_amt_idx := 28;
6996 l_bflow_applied_to_amt_idx := NULL; -- 5132302
6997 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
6998 l_rec_acct_attrs.array_char_value(1) := p_source_53;
6999 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
7000 l_rec_acct_attrs.array_num_value(2) :=
7001 xla_ae_sources_pkg.GetSystemSourceNum(
7002 p_source_code => 'XLA_EVENT_APPL_ID'
7003 , p_source_type_code => 'Y'
7004 , p_source_application_id => 602
7005 );
7006 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
7007 l_rec_acct_attrs.array_char_value(3) := p_source_55;
7008 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
7009 l_rec_acct_attrs.array_char_value(4) :=
7010 xla_ae_sources_pkg.GetSystemSourceChar(
7011 p_source_code => 'XLA_ENTITY_CODE'
7012 , p_source_type_code => 'Y'
7013 , p_source_application_id => 602
7014 );
7015 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
7016 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
7017 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
7018 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
7019 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
7020 l_rec_acct_attrs.array_num_value(7) := p_source_59;
7021 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
7025 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
7022 l_rec_acct_attrs.array_char_value(8) := p_source_60;
7023 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
7024 l_rec_acct_attrs.array_char_value(9) := p_source_61;
7026 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_62);
7027 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
7028 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_63);
7029 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
7030 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
7031 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
7032 l_rec_acct_attrs.array_char_value(13) := p_source_55;
7033 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
7034 l_rec_acct_attrs.array_num_value(14) := p_source_65;
7035 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
7036 l_rec_acct_attrs.array_num_value(15) := p_source_66;
7037 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
7038 l_rec_acct_attrs.array_char_value(16) := p_source_67;
7039 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
7040 l_rec_acct_attrs.array_num_value(17) := p_source_68;
7041 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
7042 l_rec_acct_attrs.array_num_value(18) := p_source_69;
7043 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
7044 l_rec_acct_attrs.array_num_value(19) := p_source_70;
7045 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
7046 l_rec_acct_attrs.array_char_value(20) := p_source_67;
7047 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
7048 l_rec_acct_attrs.array_num_value(21) := p_source_71;
7049 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
7050 l_rec_acct_attrs.array_char_value(22) := p_source_72;
7051 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
7052 l_rec_acct_attrs.array_num_value(23) := p_source_73;
7053 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
7054 l_rec_acct_attrs.array_char_value(24) := p_source_67;
7055 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
7056 l_rec_acct_attrs.array_date_value(25) := p_source_74;
7057 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
7058 l_rec_acct_attrs.array_num_value(26) := p_source_75;
7059 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
7060 l_rec_acct_attrs.array_char_value(27) := p_source_76;
7061 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
7062 l_rec_acct_attrs.array_num_value(28) := p_source_21;
7063 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
7064 l_rec_acct_attrs.array_date_value(29) := p_source_77;
7065 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
7066 l_rec_acct_attrs.array_char_value(30) := p_source_78;
7067 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
7068 l_rec_acct_attrs.array_date_value(31) := p_source_79;
7069 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
7070 l_rec_acct_attrs.array_char_value(32) := p_source_80;
7071 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
7072 l_rec_acct_attrs.array_num_value(33) := p_source_81;
7073 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
7074 l_rec_acct_attrs.array_num_value(34) := p_source_82;
7075 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
7076 l_rec_acct_attrs.array_char_value(35) := p_source_83;
7077 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
7078 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
7079 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
7080 l_rec_acct_attrs.array_char_value(37) := p_source_55;
7081 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
7082 l_rec_acct_attrs.array_num_value(38) := p_source_85;
7083 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
7084 l_rec_acct_attrs.array_num_value(39) := p_source_86;
7085 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
7086 l_rec_acct_attrs.array_num_value(40) := p_source_87;
7087 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
7088 l_rec_acct_attrs.array_num_value(41) := p_source_88;
7089 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
7090 l_rec_acct_attrs.array_num_value(42) := p_source_89;
7091 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
7092 l_rec_acct_attrs.array_num_value(43) := p_source_90;
7093
7094 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
7095 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
7096
7097 ---------------------------------------------------------------------------------------------------------------
7098 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7099 ---------------------------------------------------------------------------------------------------------------
7100 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7101
7102 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7103 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7104
7105 IF xla_accounting_cache_pkg.GetValueChar
7109 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
7106 (p_source_code => 'LEDGER_CATEGORY_CODE'
7107 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
7108 AND l_bflow_method_code = 'PRIOR_ENTRY'
7110 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
7111 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
7112 )
7113 THEN
7114 xla_ae_lines_pkg.BflowUpgEntry
7115 (p_business_method_code => l_bflow_method_code
7116 ,p_business_class_code => l_bflow_class_code
7117 ,p_balance_type => l_balance_type_code);
7118 ELSE
7119 NULL;
7120 -- No business flow processing for business flow method of NONE.
7121 END IF;
7122
7123 --
7124 -- call analytical criteria
7125 --
7126
7127 --
7128 -- call description
7129 --
7130
7131 xla_ae_lines_pkg.SetLineDescription(
7132 p_ae_header_id => l_ae_header_id
7133 ,p_description => Description_1 (
7134 p_application_id => p_application_id
7135 , p_ae_header_id => l_ae_header_id
7136 , p_source_1 => p_source_1
7137 )
7138 );
7139
7140
7141 --
7142 -- call ADRs
7143 -- Bug 4922099
7144 --
7145 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
7146 (NVL(l_actual_upg_option, 'N') = 'O') OR
7147 (NVL(l_enc_upg_option, 'N') = 'O')
7148 )
7149 THEN
7150 NULL;
7151 --
7152 --
7153
7154 l_ccid := AcctDerRule_33(
7155 p_application_id => p_application_id
7156 , p_ae_header_id => l_ae_header_id
7157 , p_source_30 => p_source_30
7158 , x_transaction_coa_id => l_adr_transaction_coa_id
7159 , x_accounting_coa_id => l_adr_accounting_coa_id
7160 , x_value_type_code => l_adr_value_type_code
7161 , p_side => 'NA'
7162 );
7163
7164 xla_ae_lines_pkg.set_ccid(
7165 p_code_combination_id => l_ccid
7166 , p_value_type_code => l_adr_value_type_code
7167 , p_transaction_coa_id => l_adr_transaction_coa_id
7168 , p_accounting_coa_id => l_adr_accounting_coa_id
7169 , p_adr_code => 'AP_INVOICE_DIST'
7170 , p_adr_type_code => 'S'
7171 , p_component_type => l_component_type
7172 , p_component_code => l_component_code
7173 , p_component_type_code => l_component_type_code
7174 , p_component_appl_id => l_component_appl_id
7175 , p_amb_context_code => l_amb_context_code
7176 , p_side => 'NA'
7177 );
7178
7179
7180 --
7181 --
7182 END IF;
7183 --
7184 -- Bug 4922099
7185 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
7186 (NVL(l_enc_upg_option, 'N') = 'O')
7187 ) AND
7188 (l_bflow_method_code = 'PRIOR_ENTRY')
7189 )
7190 THEN
7191 IF
7192 --
7193 1 = 2
7194 --
7195 THEN
7196 xla_accounting_err_pkg.build_message
7197 (p_appli_s_name => 'XLA'
7198 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
7199 ,p_token_1 => 'LINE_NUMBER'
7200 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
7201 ,p_token_2 => 'LINE_TYPE_NAME'
7202 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
7203 l_component_type
7204 ,l_component_code
7205 ,l_component_type_code
7206 ,l_component_appl_id
7207 ,l_amb_context_code
7208 ,l_entity_code
7209 ,l_event_class_code
7210 )
7211 ,p_token_3 => 'OWNER'
7212 ,p_value_3 => xla_lookups_pkg.get_meaning(
7213 p_lookup_type => 'XLA_OWNER_TYPE'
7214 ,p_lookup_code => l_component_type_code
7215 )
7216 ,p_token_4 => 'PRODUCT_NAME'
7217 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
7218 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
7219 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
7220 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
7224 IF (C_LEVEL_ERROR>= g_log_level) THEN
7221 ,p_ae_header_id => NULL
7222 );
7223
7225 trace
7226 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
7227 ,p_level => C_LEVEL_ERROR
7228 ,p_module => l_log_module);
7229 END IF;
7230 END IF;
7231 END IF;
7232 --
7233 --
7234 ------------------------------------------------------------------------------------------------
7235 -- 4219869 Business Flow
7236 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
7237 -- Prior Entry. Currently, the following code is always generated.
7238 ------------------------------------------------------------------------------------------------
7239 XLA_AE_LINES_PKG.ValidateCurrentLine;
7240
7241 ------------------------------------------------------------------------------------
7242 -- 4219869 Business Flow
7243 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
7244 ------------------------------------------------------------------------------------
7245 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7246
7247 ----------------------------------------------------------------------------------
7248 -- 4219869 Business Flow
7249 -- Update journal entry status -- Need to generate this within IF <condition>
7250 ----------------------------------------------------------------------------------
7251 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7252 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
7253 ,p_balance_type_code => l_balance_type_code
7254 );
7255
7256 -------------------------------------------------------------------------------------------
7257 -- 4262811 - Generate the Accrual Reversal lines
7258 -------------------------------------------------------------------------------------------
7259 BEGIN
7260 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
7261 (g_array_event(p_event_id).array_value_num('header_index'));
7262 IF l_acc_rev_flag IS NULL THEN
7263 l_acc_rev_flag := 'N';
7264 END IF;
7265 EXCEPTION
7266 WHEN OTHERS THEN
7267 l_acc_rev_flag := 'N';
7268 END;
7269 --
7270 IF (l_acc_rev_flag = 'Y') THEN
7271
7272 -- 4645092 ------------------------------------------------------------------------------
7273 -- To allow MPA report to determine if it should generate report process
7274 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
7275 ------------------------------------------------------------------------------------------
7276
7277 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
7278 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
7279 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
7280 -- call ADRs
7281 -- Bug 4922099
7282 --
7283 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
7284 (NVL(l_actual_upg_option, 'N') = 'O') OR
7285 (NVL(l_enc_upg_option, 'N') = 'O')
7286 )
7287 THEN
7288 NULL;
7289 --
7290 --
7291
7292 l_ccid := AcctDerRule_33(
7293 p_application_id => p_application_id
7294 , p_ae_header_id => l_ae_header_id
7295 , p_source_30 => p_source_30
7296 , x_transaction_coa_id => l_adr_transaction_coa_id
7297 , x_accounting_coa_id => l_adr_accounting_coa_id
7298 , x_value_type_code => l_adr_value_type_code
7299 , p_side => 'NA'
7300 );
7301
7302 xla_ae_lines_pkg.set_ccid(
7303 p_code_combination_id => l_ccid
7304 , p_value_type_code => l_adr_value_type_code
7305 , p_transaction_coa_id => l_adr_transaction_coa_id
7306 , p_accounting_coa_id => l_adr_accounting_coa_id
7307 , p_adr_code => 'AP_INVOICE_DIST'
7308 , p_adr_type_code => 'S'
7309 , p_component_type => l_component_type
7310 , p_component_code => l_component_code
7311 , p_component_type_code => l_component_type_code
7312 , p_component_appl_id => l_component_appl_id
7313 , p_amb_context_code => l_amb_context_code
7314 , p_side => 'NA'
7315 );
7316
7317
7318 --
7319 --
7320 END IF;
7321
7322 --
7323 -- Update the line information that should be overwritten
7324 --
7325 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
7326 p_header_num => 1);
7327 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
7328
7329 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7330
7331 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
7332 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
7333 END IF;
7334
7335 --
7336 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
7337 --
7341 ---------------------------------------------------------------------------------------------------
7338 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
7339 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
7340 ELSE
7342 -- 4262811a Switch Sign
7343 ---------------------------------------------------------------------------------------------------
7344 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7345 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7346 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7347 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7348 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7349 -- 5132302
7350 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7351 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7352
7353 END IF;
7354
7355 -- 4955764
7356 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7357 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
7358
7359
7360 XLA_AE_LINES_PKG.ValidateCurrentLine;
7361 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7362
7363 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7364 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
7365 ,p_balance_type_code => l_balance_type_code);
7366
7367 END IF;
7368
7369 -----------------------------------------------------------------------------------------
7370 -- 4262811 Multiperiod Accounting
7371 -----------------------------------------------------------------------------------------
7372 -- No MPA option is assigned.
7373
7374
7375 END IF;
7376 END IF;
7377 --
7378
7379 --
7380 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7381 trace
7382 (p_msg => 'END of AcctLineType_47'
7383 ,p_level => C_LEVEL_PROCEDURE
7384 ,p_module => l_log_module);
7385 END IF;
7386 --
7387 EXCEPTION
7388 WHEN xla_exceptions_pkg.application_exception THEN
7389 RAISE;
7390 WHEN OTHERS THEN
7391 xla_exceptions_pkg.raise_message
7392 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_47');
7393 END AcctLineType_47;
7394 --
7395
7396 ---------------------------------------
7397 --
7398 -- PRIVATE FUNCTION
7399 -- AcctLineType_48
7400 --
7401 ---------------------------------------
7402 PROCEDURE AcctLineType_48 (
7403 p_application_id IN NUMBER
7404 ,p_event_id IN NUMBER
7405 ,p_calculate_acctd_flag IN VARCHAR2
7406 ,p_calculate_g_l_flag IN VARCHAR2
7407 ,p_actual_flag IN OUT VARCHAR2
7408 ,p_balance_type_code OUT VARCHAR2
7409 ,p_gain_or_loss_ref OUT VARCHAR2
7410
7411 --Invoice Distribution Description
7412 , p_source_1 IN VARCHAR2
7413 --Invoice Distribution Ledger Amount
7414 , p_source_21 IN NUMBER
7415 --Invoice Distribution Account
7416 , p_source_30 IN NUMBER
7417 --Invoice Distribution Type
7418 , p_source_33 IN VARCHAR2
7419 , p_source_33_meaning IN VARCHAR2
7420 --Accounting Reversal Indicator
7421 , p_source_53 IN VARCHAR2
7422 --Distribution Link Type
7423 , p_source_55 IN VARCHAR2
7424 --Allocation to Main Distribution Identifier
7425 , p_source_57 IN NUMBER
7426 --Invoice Identifier
7427 , p_source_58 IN NUMBER
7428 --Business Flow Purchasing Application Identifier
7429 , p_source_59 IN NUMBER
7430 --Business Flow Purchase Order Distribution Type
7431 , p_source_60 IN VARCHAR2
7432 --Business Flow Purchase Order Entity Code
7433 , p_source_61 IN VARCHAR2
7434 --Business Flow Purchase Order Distribution Identifier
7435 , p_source_62 IN NUMBER
7436 --Business Flow Purchasing Document Identifier
7437 , p_source_63 IN NUMBER
7438 --Invoice Distribution Identifier
7439 , p_source_64 IN NUMBER
7440 --Payables Encumbrance Upgrade Credit Account
7441 , p_source_65 IN NUMBER
7442 --Payables Encumbrance Upgrade Credit Amount
7443 , p_source_66 IN NUMBER
7444 --Invoice Currency Code
7445 , p_source_67 IN VARCHAR2
7446 --Payables Encumbrance Upgrade Credit Base Amount
7447 , p_source_68 IN NUMBER
7448 --Payables Encumbrance Upgrade Debit Account
7449 , p_source_69 IN NUMBER
7450 --Payables Encumbrance Upgrade Debit Amount
7451 , p_source_70 IN NUMBER
7452 --Payables Encumbrance Upgrade Debit Base Amount
7453 , p_source_71 IN NUMBER
7454 --Payables Encumbrance Upgrade Option
7455 , p_source_72 IN VARCHAR2
7456 --Invoice Distribution Amount
7457 , p_source_73 IN NUMBER
7458 --Purchase Order Exchange Rate Date
7459 , p_source_74 IN DATE
7460 --Purchase Order Exchange Rate
7461 , p_source_75 IN NUMBER
7462 --Purchase Order Exchange Rate Type
7466 --Deferred Accounting Option
7463 , p_source_76 IN VARCHAR2
7464 --Deferred Accounting End Date
7465 , p_source_77 IN DATE
7467 , p_source_78 IN VARCHAR2
7468 --Deferred Accounting Start Date
7469 , p_source_79 IN DATE
7470 --Override Accounted Amount Indicator
7471 , p_source_80 IN VARCHAR2
7472 , p_source_80_meaning IN VARCHAR2
7473 --Invoice Supplier Identifier
7474 , p_source_81 IN NUMBER
7475 --Invoice Supplier Site Identifier
7476 , p_source_82 IN NUMBER
7477 --Third Party Type
7478 , p_source_83 IN VARCHAR2
7479 --Parent Reversal Identifier
7480 , p_source_84 IN NUMBER
7481 --Invoice Distribution Tax Line Identifier
7482 , p_source_86 IN NUMBER
7483 --Invoice Distribution Tax Distribution Identifier from Tax
7484 , p_source_87 IN NUMBER
7485 --Invoice Distribution Summary Tax Line Identifier
7486 , p_source_88 IN NUMBER
7487 --Payables Upgrade Credit Encumbrance Type Identifier
7488 , p_source_89 IN NUMBER
7489 --Payables Upgrade Debit Encumbrance Type Identifier
7490 , p_source_90 IN NUMBER
7491 )
7492 IS
7493
7494 l_component_type VARCHAR2(80);
7495 l_component_code VARCHAR2(30);
7496 l_component_type_code VARCHAR2(1);
7497 l_component_appl_id INTEGER;
7498 l_amb_context_code VARCHAR2(30);
7499 l_entity_code VARCHAR2(30);
7500 l_event_class_code VARCHAR2(30);
7501 l_ae_header_id NUMBER;
7502 l_event_type_code VARCHAR2(30);
7503 l_line_definition_code VARCHAR2(30);
7504 l_line_definition_owner_code VARCHAR2(1);
7505 --
7506 -- adr variables
7507 l_segment VARCHAR2(30);
7508 l_ccid NUMBER;
7509 l_adr_transaction_coa_id NUMBER;
7510 l_adr_accounting_coa_id NUMBER;
7511 l_adr_flexfield_segment_code VARCHAR2(30);
7512 l_adr_flex_value_set_id NUMBER;
7513 l_adr_value_type_code VARCHAR2(30);
7514 l_adr_value_combination_id NUMBER;
7515 l_adr_value_segment_code VARCHAR2(30);
7516
7517 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
7518 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
7519 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
7520 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
7521
7522 -- 4262811 Variables ------------------------------------------------------------------------------------------
7523 l_entered_amt_idx NUMBER;
7524 l_accted_amt_idx NUMBER;
7525 l_acc_rev_flag VARCHAR2(1);
7526 l_accrual_line_num NUMBER;
7527 l_tmp_amt NUMBER;
7528 l_acc_rev_natural_side_code VARCHAR2(1);
7529
7530 l_num_entries NUMBER;
7531 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
7532 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
7533 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
7534 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
7535 l_recog_line_1 NUMBER;
7536 l_recog_line_2 NUMBER;
7537
7538 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
7539 l_bflow_applied_to_amt NUMBER; -- 5132302
7540 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
7541
7542 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
7543
7544 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
7545 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
7546
7547 ---------------------------------------------------------------------------------------------------------------
7548
7549
7550 --
7551 -- bulk performance
7552 --
7553 l_balance_type_code VARCHAR2(1);
7554 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
7555 l_log_module VARCHAR2(240);
7556
7557 --
7558 -- Upgrade strategy
7559 --
7560 l_actual_upg_option VARCHAR2(1);
7561 l_enc_upg_option VARCHAR2(1);
7562
7563 --
7564 BEGIN
7565 --
7566 IF g_log_enabled THEN
7567 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_48';
7568 END IF;
7569 --
7570 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7571
7572 trace
7573 (p_msg => 'BEGIN of AcctLineType_48'
7574 ,p_level => C_LEVEL_PROCEDURE
7575 ,p_module => l_log_module);
7576
7577 END IF;
7578 --
7579 l_component_type := 'AMB_JLT';
7580 l_component_code := 'AP_ACCRUAL_DM';
7581 l_component_type_code := 'S';
7582 l_component_appl_id := 200;
7583 l_amb_context_code := 'DEFAULT';
7584 l_entity_code := 'AP_INVOICES';
7585 l_event_class_code := 'DEBIT MEMOS';
7586 l_event_type_code := 'DEBIT MEMOS_ALL';
7587 l_line_definition_owner_code := 'S';
7588 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
7589 --
7590 l_balance_type_code := 'A';
7591 l_segment := NULL;
7592 l_ccid := NULL;
7593 l_adr_transaction_coa_id := NULL;
7597 l_adr_value_type_code := NULL;
7594 l_adr_accounting_coa_id := NULL;
7595 l_adr_flexfield_segment_code := NULL;
7596 l_adr_flex_value_set_id := NULL;
7598 l_adr_value_combination_id := NULL;
7599 l_adr_value_segment_code := NULL;
7600
7601 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
7602 l_bflow_class_code := ''; -- 4219869 Business Flow
7603 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
7604 l_budgetary_control_flag := 'N';
7605
7606 l_bflow_applied_to_amt_idx := NULL; -- 5132302
7607 l_bflow_applied_to_amt := NULL; -- 5132302
7608 l_entered_amt_idx := NULL; -- 4262811
7609 l_accted_amt_idx := NULL; -- 4262811
7610 l_acc_rev_flag := NULL; -- 4262811
7611 l_accrual_line_num := NULL; -- 4262811
7612 l_tmp_amt := NULL; -- 4262811
7613 --
7614
7615 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
7616 l_balance_type_code <> 'B' THEN
7617 IF NVL(p_source_33,'
7618 ') = 'RETROACCRUAL' OR
7619 NVL(p_source_33,'
7620 ') = 'ACCRUAL'
7621 THEN
7622
7623 --
7624 XLA_AE_LINES_PKG.SetNewLine;
7625
7626 p_balance_type_code := l_balance_type_code;
7627 -- set the flag so later we will know whether the gain loss line needs to be created
7628
7629 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
7630 p_actual_flag :='A';
7631 END IF;
7632
7633 --
7634 -- bulk performance
7635 --
7636 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
7637 p_header_num => 0); -- 4262811
7638 --
7639 -- set accounting line options
7640 --
7641 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
7642 p_natural_side_code => 'D'
7643 , p_gain_or_loss_flag => 'N'
7644 , p_gl_transfer_mode_code => 'S'
7645 , p_acct_entry_type_code => 'A'
7646 , p_switch_side_flag => 'Y'
7647 , p_merge_duplicate_code => 'A'
7648 );
7649 --
7650 l_acc_rev_natural_side_code := 'C'; -- 4262811
7651 --
7652 --
7653 -- set accounting line type info
7654 --
7655 xla_ae_lines_pkg.SetAcctLineType
7656 (p_component_type => l_component_type
7657 ,p_event_type_code => l_event_type_code
7658 ,p_line_definition_owner_code => l_line_definition_owner_code
7659 ,p_line_definition_code => l_line_definition_code
7660 ,p_accounting_line_code => l_component_code
7661 ,p_accounting_line_type_code => l_component_type_code
7662 ,p_accounting_line_appl_id => l_component_appl_id
7663 ,p_amb_context_code => l_amb_context_code
7664 ,p_entity_code => l_entity_code
7665 ,p_event_class_code => l_event_class_code);
7666 --
7667 -- set accounting class
7668 --
7669 xla_ae_lines_pkg.SetAcctClass(
7670 p_accounting_class_code => 'ACCRUAL'
7671 , p_ae_header_id => l_ae_header_id
7672 );
7673
7674 --
7675 -- set rounding class
7676 --
7677 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
7678 'ACCRUAL';
7679
7680 --
7681 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
7682 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
7683 --
7684 -- bulk performance
7685 --
7686 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
7687
7688 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
7689 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
7690
7691 -- 4955764
7692 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7693 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
7694
7695 -- 4458381 Public Sector Enh
7696
7697 --
7698 -- set accounting attributes for the line type
7699 --
7700 l_entered_amt_idx := 23;
7701 l_accted_amt_idx := 28;
7702 l_bflow_applied_to_amt_idx := NULL; -- 5132302
7703 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
7704 l_rec_acct_attrs.array_char_value(1) := p_source_53;
7705 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
7706 l_rec_acct_attrs.array_num_value(2) :=
7707 xla_ae_sources_pkg.GetSystemSourceNum(
7708 p_source_code => 'XLA_EVENT_APPL_ID'
7709 , p_source_type_code => 'Y'
7710 , p_source_application_id => 602
7711 );
7712 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
7713 l_rec_acct_attrs.array_char_value(3) := p_source_55;
7714 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
7715 l_rec_acct_attrs.array_char_value(4) :=
7716 xla_ae_sources_pkg.GetSystemSourceChar(
7717 p_source_code => 'XLA_ENTITY_CODE'
7718 , p_source_type_code => 'Y'
7719 , p_source_application_id => 602
7720 );
7721 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
7725 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
7722 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
7723 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
7724 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
7726 l_rec_acct_attrs.array_num_value(7) := p_source_59;
7727 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
7728 l_rec_acct_attrs.array_char_value(8) := p_source_60;
7729 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
7730 l_rec_acct_attrs.array_char_value(9) := p_source_61;
7731 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
7732 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_62);
7733 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
7734 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_63);
7735 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
7736 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
7737 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
7738 l_rec_acct_attrs.array_char_value(13) := p_source_55;
7739 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
7740 l_rec_acct_attrs.array_num_value(14) := p_source_65;
7741 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
7742 l_rec_acct_attrs.array_num_value(15) := p_source_66;
7743 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
7744 l_rec_acct_attrs.array_char_value(16) := p_source_67;
7745 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
7746 l_rec_acct_attrs.array_num_value(17) := p_source_68;
7747 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
7748 l_rec_acct_attrs.array_num_value(18) := p_source_69;
7749 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
7750 l_rec_acct_attrs.array_num_value(19) := p_source_70;
7751 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
7752 l_rec_acct_attrs.array_char_value(20) := p_source_67;
7753 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
7754 l_rec_acct_attrs.array_num_value(21) := p_source_71;
7755 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
7756 l_rec_acct_attrs.array_char_value(22) := p_source_72;
7757 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
7758 l_rec_acct_attrs.array_num_value(23) := p_source_73;
7759 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
7760 l_rec_acct_attrs.array_char_value(24) := p_source_67;
7761 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
7762 l_rec_acct_attrs.array_date_value(25) := p_source_74;
7763 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
7764 l_rec_acct_attrs.array_num_value(26) := p_source_75;
7765 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
7766 l_rec_acct_attrs.array_char_value(27) := p_source_76;
7767 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
7768 l_rec_acct_attrs.array_num_value(28) := p_source_21;
7769 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
7770 l_rec_acct_attrs.array_date_value(29) := p_source_77;
7771 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
7772 l_rec_acct_attrs.array_char_value(30) := p_source_78;
7773 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
7774 l_rec_acct_attrs.array_date_value(31) := p_source_79;
7775 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
7776 l_rec_acct_attrs.array_char_value(32) := p_source_80;
7777 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
7778 l_rec_acct_attrs.array_num_value(33) := p_source_81;
7779 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
7780 l_rec_acct_attrs.array_num_value(34) := p_source_82;
7781 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
7782 l_rec_acct_attrs.array_char_value(35) := p_source_83;
7783 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
7784 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
7785 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
7786 l_rec_acct_attrs.array_char_value(37) := p_source_55;
7787 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
7788 l_rec_acct_attrs.array_num_value(38) := p_source_86;
7789 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
7790 l_rec_acct_attrs.array_num_value(39) := p_source_87;
7791 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
7792 l_rec_acct_attrs.array_num_value(40) := p_source_88;
7793 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
7794 l_rec_acct_attrs.array_num_value(41) := p_source_89;
7795 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
7796 l_rec_acct_attrs.array_num_value(42) := p_source_90;
7797
7798 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
7799 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
7800
7801 ---------------------------------------------------------------------------------------------------------------
7802 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7803 ---------------------------------------------------------------------------------------------------------------
7804 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7805
7809 IF xla_accounting_cache_pkg.GetValueChar
7806 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7807 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7808
7810 (p_source_code => 'LEDGER_CATEGORY_CODE'
7811 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
7812 AND l_bflow_method_code = 'PRIOR_ENTRY'
7813 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
7814 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
7815 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
7816 )
7817 THEN
7818 xla_ae_lines_pkg.BflowUpgEntry
7819 (p_business_method_code => l_bflow_method_code
7820 ,p_business_class_code => l_bflow_class_code
7821 ,p_balance_type => l_balance_type_code);
7822 ELSE
7823 NULL;
7824 -- No business flow processing for business flow method of NONE.
7825 END IF;
7826
7827 --
7828 -- call analytical criteria
7829 --
7830
7831 --
7832 -- call description
7833 --
7834
7835 xla_ae_lines_pkg.SetLineDescription(
7836 p_ae_header_id => l_ae_header_id
7837 ,p_description => Description_1 (
7838 p_application_id => p_application_id
7839 , p_ae_header_id => l_ae_header_id
7840 , p_source_1 => p_source_1
7841 )
7842 );
7843
7844
7845 --
7846 -- call ADRs
7847 -- Bug 4922099
7848 --
7849 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
7850 (NVL(l_actual_upg_option, 'N') = 'O') OR
7851 (NVL(l_enc_upg_option, 'N') = 'O')
7852 )
7853 THEN
7854 NULL;
7855 --
7856 --
7857
7858 l_ccid := AcctDerRule_33(
7859 p_application_id => p_application_id
7860 , p_ae_header_id => l_ae_header_id
7861 , p_source_30 => p_source_30
7862 , x_transaction_coa_id => l_adr_transaction_coa_id
7863 , x_accounting_coa_id => l_adr_accounting_coa_id
7864 , x_value_type_code => l_adr_value_type_code
7865 , p_side => 'NA'
7866 );
7867
7868 xla_ae_lines_pkg.set_ccid(
7869 p_code_combination_id => l_ccid
7870 , p_value_type_code => l_adr_value_type_code
7871 , p_transaction_coa_id => l_adr_transaction_coa_id
7872 , p_accounting_coa_id => l_adr_accounting_coa_id
7873 , p_adr_code => 'AP_INVOICE_DIST'
7874 , p_adr_type_code => 'S'
7875 , p_component_type => l_component_type
7876 , p_component_code => l_component_code
7877 , p_component_type_code => l_component_type_code
7878 , p_component_appl_id => l_component_appl_id
7879 , p_amb_context_code => l_amb_context_code
7880 , p_side => 'NA'
7881 );
7882
7883
7884 --
7885 --
7886 END IF;
7887 --
7888 -- Bug 4922099
7889 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
7890 (NVL(l_enc_upg_option, 'N') = 'O')
7891 ) AND
7892 (l_bflow_method_code = 'PRIOR_ENTRY')
7893 )
7894 THEN
7895 IF
7896 --
7897 1 = 2
7898 --
7899 THEN
7900 xla_accounting_err_pkg.build_message
7901 (p_appli_s_name => 'XLA'
7902 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
7903 ,p_token_1 => 'LINE_NUMBER'
7904 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
7905 ,p_token_2 => 'LINE_TYPE_NAME'
7906 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
7907 l_component_type
7908 ,l_component_code
7909 ,l_component_type_code
7910 ,l_component_appl_id
7911 ,l_amb_context_code
7912 ,l_entity_code
7913 ,l_event_class_code
7914 )
7915 ,p_token_3 => 'OWNER'
7916 ,p_value_3 => xla_lookups_pkg.get_meaning(
7917 p_lookup_type => 'XLA_OWNER_TYPE'
7918 ,p_lookup_code => l_component_type_code
7919 )
7920 ,p_token_4 => 'PRODUCT_NAME'
7924 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
7921 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
7922 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
7923 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
7925 ,p_ae_header_id => NULL
7926 );
7927
7928 IF (C_LEVEL_ERROR>= g_log_level) THEN
7929 trace
7930 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
7931 ,p_level => C_LEVEL_ERROR
7932 ,p_module => l_log_module);
7933 END IF;
7934 END IF;
7935 END IF;
7936 --
7937 --
7938 ------------------------------------------------------------------------------------------------
7939 -- 4219869 Business Flow
7940 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
7941 -- Prior Entry. Currently, the following code is always generated.
7942 ------------------------------------------------------------------------------------------------
7943 XLA_AE_LINES_PKG.ValidateCurrentLine;
7944
7945 ------------------------------------------------------------------------------------
7946 -- 4219869 Business Flow
7947 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
7948 ------------------------------------------------------------------------------------
7949 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7950
7951 ----------------------------------------------------------------------------------
7952 -- 4219869 Business Flow
7953 -- Update journal entry status -- Need to generate this within IF <condition>
7954 ----------------------------------------------------------------------------------
7955 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7956 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
7957 ,p_balance_type_code => l_balance_type_code
7958 );
7959
7960 -------------------------------------------------------------------------------------------
7961 -- 4262811 - Generate the Accrual Reversal lines
7962 -------------------------------------------------------------------------------------------
7963 BEGIN
7964 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
7965 (g_array_event(p_event_id).array_value_num('header_index'));
7966 IF l_acc_rev_flag IS NULL THEN
7967 l_acc_rev_flag := 'N';
7968 END IF;
7969 EXCEPTION
7970 WHEN OTHERS THEN
7971 l_acc_rev_flag := 'N';
7972 END;
7973 --
7974 IF (l_acc_rev_flag = 'Y') THEN
7975
7976 -- 4645092 ------------------------------------------------------------------------------
7977 -- To allow MPA report to determine if it should generate report process
7978 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
7979 ------------------------------------------------------------------------------------------
7980
7981 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
7982 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
7983 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
7984 -- call ADRs
7985 -- Bug 4922099
7986 --
7987 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
7988 (NVL(l_actual_upg_option, 'N') = 'O') OR
7989 (NVL(l_enc_upg_option, 'N') = 'O')
7990 )
7991 THEN
7992 NULL;
7993 --
7994 --
7995
7996 l_ccid := AcctDerRule_33(
7997 p_application_id => p_application_id
7998 , p_ae_header_id => l_ae_header_id
7999 , p_source_30 => p_source_30
8000 , x_transaction_coa_id => l_adr_transaction_coa_id
8001 , x_accounting_coa_id => l_adr_accounting_coa_id
8002 , x_value_type_code => l_adr_value_type_code
8003 , p_side => 'NA'
8004 );
8005
8006 xla_ae_lines_pkg.set_ccid(
8007 p_code_combination_id => l_ccid
8008 , p_value_type_code => l_adr_value_type_code
8009 , p_transaction_coa_id => l_adr_transaction_coa_id
8010 , p_accounting_coa_id => l_adr_accounting_coa_id
8011 , p_adr_code => 'AP_INVOICE_DIST'
8012 , p_adr_type_code => 'S'
8013 , p_component_type => l_component_type
8014 , p_component_code => l_component_code
8015 , p_component_type_code => l_component_type_code
8016 , p_component_appl_id => l_component_appl_id
8017 , p_amb_context_code => l_amb_context_code
8018 , p_side => 'NA'
8019 );
8020
8021
8022 --
8023 --
8024 END IF;
8025
8026 --
8027 -- Update the line information that should be overwritten
8028 --
8029 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
8030 p_header_num => 1);
8031 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
8032
8033 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
8034
8038
8035 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
8036 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
8037 END IF;
8039 --
8040 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
8041 --
8042 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
8043 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
8044 ELSE
8045 ---------------------------------------------------------------------------------------------------
8046 -- 4262811a Switch Sign
8047 ---------------------------------------------------------------------------------------------------
8048 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8049 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8050 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8051 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8052 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8053 -- 5132302
8054 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8055 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8056
8057 END IF;
8058
8059 -- 4955764
8060 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8061 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
8062
8063
8064 XLA_AE_LINES_PKG.ValidateCurrentLine;
8065 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
8066
8067 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
8068 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
8069 ,p_balance_type_code => l_balance_type_code);
8070
8071 END IF;
8072
8073 -----------------------------------------------------------------------------------------
8074 -- 4262811 Multiperiod Accounting
8075 -----------------------------------------------------------------------------------------
8076 -- No MPA option is assigned.
8077
8078
8079 END IF;
8080 END IF;
8081 --
8082
8083 --
8084 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
8085 trace
8086 (p_msg => 'END of AcctLineType_48'
8087 ,p_level => C_LEVEL_PROCEDURE
8088 ,p_module => l_log_module);
8089 END IF;
8090 --
8091 EXCEPTION
8092 WHEN xla_exceptions_pkg.application_exception THEN
8093 RAISE;
8094 WHEN OTHERS THEN
8095 xla_exceptions_pkg.raise_message
8096 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_48');
8097 END AcctLineType_48;
8098 --
8099
8100 ---------------------------------------
8101 --
8102 -- PRIVATE FUNCTION
8103 -- AcctLineType_49
8104 --
8105 ---------------------------------------
8106 PROCEDURE AcctLineType_49 (
8107 p_application_id IN NUMBER
8108 ,p_event_id IN NUMBER
8109 ,p_calculate_acctd_flag IN VARCHAR2
8110 ,p_calculate_g_l_flag IN VARCHAR2
8111 ,p_actual_flag IN OUT VARCHAR2
8112 ,p_balance_type_code OUT VARCHAR2
8113 ,p_gain_or_loss_ref OUT VARCHAR2
8114
8115 --Invoice Distribution Description
8116 , p_source_1 IN VARCHAR2
8117 --Invoice Distribution Ledger Amount
8118 , p_source_21 IN NUMBER
8119 --Invoice Distribution Account
8120 , p_source_30 IN NUMBER
8121 --Invoice Distribution Type
8122 , p_source_33 IN VARCHAR2
8123 , p_source_33_meaning IN VARCHAR2
8124 --Accounting Reversal Indicator
8125 , p_source_53 IN VARCHAR2
8126 --Distribution Link Type
8127 , p_source_55 IN VARCHAR2
8128 --Allocation to Main Distribution Identifier
8129 , p_source_57 IN NUMBER
8130 --Invoice Identifier
8131 , p_source_58 IN NUMBER
8132 --Business Flow Purchasing Application Identifier
8133 , p_source_59 IN NUMBER
8134 --Business Flow Purchase Order Distribution Type
8135 , p_source_60 IN VARCHAR2
8136 --Business Flow Purchase Order Entity Code
8137 , p_source_61 IN VARCHAR2
8138 --Business Flow Purchase Order Distribution Identifier
8139 , p_source_62 IN NUMBER
8140 --Business Flow Purchasing Document Identifier
8141 , p_source_63 IN NUMBER
8142 --Invoice Distribution Identifier
8143 , p_source_64 IN NUMBER
8144 --Payables Encumbrance Upgrade Credit Account
8145 , p_source_65 IN NUMBER
8146 --Payables Encumbrance Upgrade Credit Amount
8147 , p_source_66 IN NUMBER
8148 --Invoice Currency Code
8149 , p_source_67 IN VARCHAR2
8150 --Payables Encumbrance Upgrade Credit Base Amount
8151 , p_source_68 IN NUMBER
8152 --Payables Encumbrance Upgrade Debit Account
8153 , p_source_69 IN NUMBER
8154 --Payables Encumbrance Upgrade Debit Amount
8155 , p_source_70 IN NUMBER
8156 --Payables Encumbrance Upgrade Debit Base Amount
8157 , p_source_71 IN NUMBER
8161 , p_source_73 IN NUMBER
8158 --Payables Encumbrance Upgrade Option
8159 , p_source_72 IN VARCHAR2
8160 --Invoice Distribution Amount
8162 --Purchase Order Exchange Rate Date
8163 , p_source_74 IN DATE
8164 --Purchase Order Exchange Rate
8165 , p_source_75 IN NUMBER
8166 --Purchase Order Exchange Rate Type
8167 , p_source_76 IN VARCHAR2
8168 --Deferred Accounting End Date
8169 , p_source_77 IN DATE
8170 --Deferred Accounting Option
8171 , p_source_78 IN VARCHAR2
8172 --Deferred Accounting Start Date
8173 , p_source_79 IN DATE
8174 --Override Accounted Amount Indicator
8175 , p_source_80 IN VARCHAR2
8176 , p_source_80_meaning IN VARCHAR2
8177 --Invoice Supplier Identifier
8178 , p_source_81 IN NUMBER
8179 --Invoice Supplier Site Identifier
8180 , p_source_82 IN NUMBER
8181 --Third Party Type
8182 , p_source_83 IN VARCHAR2
8183 --Parent Reversal Identifier
8184 , p_source_84 IN NUMBER
8185 --Invoice Distribution Statistical Amount
8186 , p_source_85 IN NUMBER
8187 --Invoice Distribution Tax Line Identifier
8188 , p_source_86 IN NUMBER
8189 --Invoice Distribution Tax Distribution Identifier from Tax
8190 , p_source_87 IN NUMBER
8191 --Invoice Distribution Summary Tax Line Identifier
8192 , p_source_88 IN NUMBER
8193 --Payables Upgrade Credit Encumbrance Type Identifier
8194 , p_source_89 IN NUMBER
8195 --Payables Upgrade Debit Encumbrance Type Identifier
8196 , p_source_90 IN NUMBER
8197 )
8198 IS
8199
8200 l_component_type VARCHAR2(80);
8201 l_component_code VARCHAR2(30);
8202 l_component_type_code VARCHAR2(1);
8203 l_component_appl_id INTEGER;
8204 l_amb_context_code VARCHAR2(30);
8205 l_entity_code VARCHAR2(30);
8206 l_event_class_code VARCHAR2(30);
8207 l_ae_header_id NUMBER;
8208 l_event_type_code VARCHAR2(30);
8209 l_line_definition_code VARCHAR2(30);
8210 l_line_definition_owner_code VARCHAR2(1);
8211 --
8212 -- adr variables
8213 l_segment VARCHAR2(30);
8214 l_ccid NUMBER;
8215 l_adr_transaction_coa_id NUMBER;
8216 l_adr_accounting_coa_id NUMBER;
8217 l_adr_flexfield_segment_code VARCHAR2(30);
8218 l_adr_flex_value_set_id NUMBER;
8219 l_adr_value_type_code VARCHAR2(30);
8220 l_adr_value_combination_id NUMBER;
8221 l_adr_value_segment_code VARCHAR2(30);
8222
8223 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
8224 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
8225 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
8226 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
8227
8228 -- 4262811 Variables ------------------------------------------------------------------------------------------
8229 l_entered_amt_idx NUMBER;
8230 l_accted_amt_idx NUMBER;
8231 l_acc_rev_flag VARCHAR2(1);
8232 l_accrual_line_num NUMBER;
8233 l_tmp_amt NUMBER;
8234 l_acc_rev_natural_side_code VARCHAR2(1);
8235
8236 l_num_entries NUMBER;
8237 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
8238 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
8239 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
8240 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
8241 l_recog_line_1 NUMBER;
8242 l_recog_line_2 NUMBER;
8243
8244 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
8245 l_bflow_applied_to_amt NUMBER; -- 5132302
8246 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
8247
8248 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
8249
8250 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
8251 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
8252
8253 ---------------------------------------------------------------------------------------------------------------
8254
8255
8256 --
8257 -- bulk performance
8258 --
8259 l_balance_type_code VARCHAR2(1);
8260 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
8261 l_log_module VARCHAR2(240);
8262
8263 --
8264 -- Upgrade strategy
8265 --
8266 l_actual_upg_option VARCHAR2(1);
8267 l_enc_upg_option VARCHAR2(1);
8268
8269 --
8270 BEGIN
8271 --
8272 IF g_log_enabled THEN
8273 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_49';
8274 END IF;
8275 --
8276 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
8277
8278 trace
8279 (p_msg => 'BEGIN of AcctLineType_49'
8280 ,p_level => C_LEVEL_PROCEDURE
8281 ,p_module => l_log_module);
8282
8283 END IF;
8284 --
8285 l_component_type := 'AMB_JLT';
8286 l_component_code := 'AP_ACCRUAL_INV';
8287 l_component_type_code := 'S';
8288 l_component_appl_id := 200;
8292 l_event_type_code := 'INVOICES_ALL';
8289 l_amb_context_code := 'DEFAULT';
8290 l_entity_code := 'AP_INVOICES';
8291 l_event_class_code := 'INVOICES';
8293 l_line_definition_owner_code := 'S';
8294 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
8295 --
8296 l_balance_type_code := 'A';
8297 l_segment := NULL;
8298 l_ccid := NULL;
8299 l_adr_transaction_coa_id := NULL;
8300 l_adr_accounting_coa_id := NULL;
8301 l_adr_flexfield_segment_code := NULL;
8302 l_adr_flex_value_set_id := NULL;
8303 l_adr_value_type_code := NULL;
8304 l_adr_value_combination_id := NULL;
8305 l_adr_value_segment_code := NULL;
8306
8307 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
8308 l_bflow_class_code := ''; -- 4219869 Business Flow
8309 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
8310 l_budgetary_control_flag := 'N';
8311
8312 l_bflow_applied_to_amt_idx := NULL; -- 5132302
8313 l_bflow_applied_to_amt := NULL; -- 5132302
8314 l_entered_amt_idx := NULL; -- 4262811
8315 l_accted_amt_idx := NULL; -- 4262811
8316 l_acc_rev_flag := NULL; -- 4262811
8317 l_accrual_line_num := NULL; -- 4262811
8318 l_tmp_amt := NULL; -- 4262811
8319 --
8320
8321 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
8322 l_balance_type_code <> 'B' THEN
8323 IF NVL(p_source_33,'
8324 ') = 'RETROACCRUAL' OR
8325 NVL(p_source_33,'
8326 ') = 'ACCRUAL'
8327 THEN
8328
8329 --
8330 XLA_AE_LINES_PKG.SetNewLine;
8331
8332 p_balance_type_code := l_balance_type_code;
8333 -- set the flag so later we will know whether the gain loss line needs to be created
8334
8335 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
8336 p_actual_flag :='A';
8337 END IF;
8338
8339 --
8340 -- bulk performance
8341 --
8342 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
8343 p_header_num => 0); -- 4262811
8344 --
8345 -- set accounting line options
8346 --
8347 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
8348 p_natural_side_code => 'D'
8349 , p_gain_or_loss_flag => 'N'
8350 , p_gl_transfer_mode_code => 'S'
8351 , p_acct_entry_type_code => 'A'
8352 , p_switch_side_flag => 'Y'
8353 , p_merge_duplicate_code => 'A'
8354 );
8355 --
8356 l_acc_rev_natural_side_code := 'C'; -- 4262811
8357 --
8358 --
8359 -- set accounting line type info
8360 --
8361 xla_ae_lines_pkg.SetAcctLineType
8362 (p_component_type => l_component_type
8363 ,p_event_type_code => l_event_type_code
8364 ,p_line_definition_owner_code => l_line_definition_owner_code
8365 ,p_line_definition_code => l_line_definition_code
8366 ,p_accounting_line_code => l_component_code
8367 ,p_accounting_line_type_code => l_component_type_code
8368 ,p_accounting_line_appl_id => l_component_appl_id
8369 ,p_amb_context_code => l_amb_context_code
8370 ,p_entity_code => l_entity_code
8371 ,p_event_class_code => l_event_class_code);
8372 --
8373 -- set accounting class
8374 --
8375 xla_ae_lines_pkg.SetAcctClass(
8376 p_accounting_class_code => 'ACCRUAL'
8377 , p_ae_header_id => l_ae_header_id
8378 );
8379
8380 --
8381 -- set rounding class
8382 --
8383 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
8384 'ACCRUAL';
8385
8386 --
8387 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
8388 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
8389 --
8390 -- bulk performance
8391 --
8392 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
8393
8394 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
8395 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
8396
8397 -- 4955764
8398 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8399 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
8400
8401 -- 4458381 Public Sector Enh
8402
8403 --
8404 -- set accounting attributes for the line type
8405 --
8406 l_entered_amt_idx := 24;
8407 l_accted_amt_idx := 29;
8408 l_bflow_applied_to_amt_idx := 7; -- 5132302
8409 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
8410 l_rec_acct_attrs.array_char_value(1) := p_source_53;
8411 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
8412 l_rec_acct_attrs.array_num_value(2) :=
8413 xla_ae_sources_pkg.GetSystemSourceNum(
8414 p_source_code => 'XLA_EVENT_APPL_ID'
8415 , p_source_type_code => 'Y'
8419 l_rec_acct_attrs.array_char_value(3) := p_source_55;
8416 , p_source_application_id => 602
8417 );
8418 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
8420 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
8421 l_rec_acct_attrs.array_char_value(4) :=
8422 xla_ae_sources_pkg.GetSystemSourceChar(
8423 p_source_code => 'XLA_ENTITY_CODE'
8424 , p_source_type_code => 'Y'
8425 , p_source_application_id => 602
8426 );
8427 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
8428 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
8429 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
8430 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
8431 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
8432 l_rec_acct_attrs.array_num_value(7) := p_source_73;
8433 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
8434 l_rec_acct_attrs.array_num_value(8) := p_source_59;
8435 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
8436 l_rec_acct_attrs.array_char_value(9) := p_source_60;
8437 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
8438 l_rec_acct_attrs.array_char_value(10) := p_source_61;
8439 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
8440 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_62);
8441 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
8442 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_63);
8443 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
8444 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_64);
8445 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
8446 l_rec_acct_attrs.array_char_value(14) := p_source_55;
8447 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
8448 l_rec_acct_attrs.array_num_value(15) := p_source_65;
8449 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
8450 l_rec_acct_attrs.array_num_value(16) := p_source_66;
8451 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
8452 l_rec_acct_attrs.array_char_value(17) := p_source_67;
8453 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
8454 l_rec_acct_attrs.array_num_value(18) := p_source_68;
8455 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
8456 l_rec_acct_attrs.array_num_value(19) := p_source_69;
8457 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
8458 l_rec_acct_attrs.array_num_value(20) := p_source_70;
8459 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
8460 l_rec_acct_attrs.array_char_value(21) := p_source_67;
8461 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
8462 l_rec_acct_attrs.array_num_value(22) := p_source_71;
8463 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
8464 l_rec_acct_attrs.array_char_value(23) := p_source_72;
8465 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
8466 l_rec_acct_attrs.array_num_value(24) := p_source_73;
8467 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
8468 l_rec_acct_attrs.array_char_value(25) := p_source_67;
8469 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
8470 l_rec_acct_attrs.array_date_value(26) := p_source_74;
8471 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
8472 l_rec_acct_attrs.array_num_value(27) := p_source_75;
8473 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
8474 l_rec_acct_attrs.array_char_value(28) := p_source_76;
8475 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
8476 l_rec_acct_attrs.array_num_value(29) := p_source_21;
8477 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
8478 l_rec_acct_attrs.array_date_value(30) := p_source_77;
8479 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
8480 l_rec_acct_attrs.array_char_value(31) := p_source_78;
8481 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
8482 l_rec_acct_attrs.array_date_value(32) := p_source_79;
8483 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
8484 l_rec_acct_attrs.array_char_value(33) := p_source_80;
8485 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
8486 l_rec_acct_attrs.array_num_value(34) := p_source_81;
8487 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
8488 l_rec_acct_attrs.array_num_value(35) := p_source_82;
8489 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
8490 l_rec_acct_attrs.array_char_value(36) := p_source_83;
8491 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
8492 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_84);
8493 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
8494 l_rec_acct_attrs.array_char_value(38) := p_source_55;
8495 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
8496 l_rec_acct_attrs.array_num_value(39) := p_source_85;
8497 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
8498 l_rec_acct_attrs.array_num_value(40) := p_source_86;
8499 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
8500 l_rec_acct_attrs.array_num_value(41) := p_source_87;
8501 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
8502 l_rec_acct_attrs.array_num_value(42) := p_source_88;
8503 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
8504 l_rec_acct_attrs.array_num_value(43) := p_source_89;
8505 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
8509 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
8506 l_rec_acct_attrs.array_num_value(44) := p_source_90;
8507
8508 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
8510
8511 ---------------------------------------------------------------------------------------------------------------
8512 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8513 ---------------------------------------------------------------------------------------------------------------
8514 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
8515
8516 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8517 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8518
8519 IF xla_accounting_cache_pkg.GetValueChar
8520 (p_source_code => 'LEDGER_CATEGORY_CODE'
8521 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
8522 AND l_bflow_method_code = 'PRIOR_ENTRY'
8523 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
8524 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
8525 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
8526 )
8527 THEN
8528 xla_ae_lines_pkg.BflowUpgEntry
8529 (p_business_method_code => l_bflow_method_code
8530 ,p_business_class_code => l_bflow_class_code
8531 ,p_balance_type => l_balance_type_code);
8532 ELSE
8533 NULL;
8534 -- No business flow processing for business flow method of NONE.
8535 END IF;
8536
8537 --
8538 -- call analytical criteria
8539 --
8540
8541 --
8542 -- call description
8543 --
8544
8545 xla_ae_lines_pkg.SetLineDescription(
8546 p_ae_header_id => l_ae_header_id
8547 ,p_description => Description_1 (
8548 p_application_id => p_application_id
8549 , p_ae_header_id => l_ae_header_id
8550 , p_source_1 => p_source_1
8551 )
8552 );
8553
8554
8555 --
8556 -- call ADRs
8557 -- Bug 4922099
8558 --
8559 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
8560 (NVL(l_actual_upg_option, 'N') = 'O') OR
8561 (NVL(l_enc_upg_option, 'N') = 'O')
8562 )
8563 THEN
8564 NULL;
8565 --
8566 --
8567
8568 l_ccid := AcctDerRule_33(
8569 p_application_id => p_application_id
8570 , p_ae_header_id => l_ae_header_id
8571 , p_source_30 => p_source_30
8572 , x_transaction_coa_id => l_adr_transaction_coa_id
8573 , x_accounting_coa_id => l_adr_accounting_coa_id
8574 , x_value_type_code => l_adr_value_type_code
8575 , p_side => 'NA'
8576 );
8577
8578 xla_ae_lines_pkg.set_ccid(
8579 p_code_combination_id => l_ccid
8580 , p_value_type_code => l_adr_value_type_code
8581 , p_transaction_coa_id => l_adr_transaction_coa_id
8582 , p_accounting_coa_id => l_adr_accounting_coa_id
8583 , p_adr_code => 'AP_INVOICE_DIST'
8584 , p_adr_type_code => 'S'
8585 , p_component_type => l_component_type
8586 , p_component_code => l_component_code
8587 , p_component_type_code => l_component_type_code
8588 , p_component_appl_id => l_component_appl_id
8589 , p_amb_context_code => l_amb_context_code
8590 , p_side => 'NA'
8591 );
8592
8593
8594 --
8595 --
8596 END IF;
8597 --
8598 -- Bug 4922099
8599 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
8600 (NVL(l_enc_upg_option, 'N') = 'O')
8601 ) AND
8602 (l_bflow_method_code = 'PRIOR_ENTRY')
8603 )
8604 THEN
8605 IF
8606 --
8607 1 = 2
8608 --
8609 THEN
8610 xla_accounting_err_pkg.build_message
8611 (p_appli_s_name => 'XLA'
8612 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
8613 ,p_token_1 => 'LINE_NUMBER'
8614 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
8615 ,p_token_2 => 'LINE_TYPE_NAME'
8616 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
8617 l_component_type
8618 ,l_component_code
8619 ,l_component_type_code
8620 ,l_component_appl_id
8621 ,l_amb_context_code
8622 ,l_entity_code
8623 ,l_event_class_code
8624 )
8625 ,p_token_3 => 'OWNER'
8626 ,p_value_3 => xla_lookups_pkg.get_meaning(
8630 ,p_token_4 => 'PRODUCT_NAME'
8627 p_lookup_type => 'XLA_OWNER_TYPE'
8628 ,p_lookup_code => l_component_type_code
8629 )
8631 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
8632 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
8633 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
8634 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
8635 ,p_ae_header_id => NULL
8636 );
8637
8638 IF (C_LEVEL_ERROR>= g_log_level) THEN
8639 trace
8640 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
8641 ,p_level => C_LEVEL_ERROR
8642 ,p_module => l_log_module);
8643 END IF;
8644 END IF;
8645 END IF;
8646 --
8647 --
8648 ------------------------------------------------------------------------------------------------
8649 -- 4219869 Business Flow
8650 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
8651 -- Prior Entry. Currently, the following code is always generated.
8652 ------------------------------------------------------------------------------------------------
8653 XLA_AE_LINES_PKG.ValidateCurrentLine;
8654
8655 ------------------------------------------------------------------------------------
8656 -- 4219869 Business Flow
8657 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
8658 ------------------------------------------------------------------------------------
8659 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
8660
8661 ----------------------------------------------------------------------------------
8662 -- 4219869 Business Flow
8663 -- Update journal entry status -- Need to generate this within IF <condition>
8664 ----------------------------------------------------------------------------------
8665 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
8666 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
8667 ,p_balance_type_code => l_balance_type_code
8668 );
8669
8670 -------------------------------------------------------------------------------------------
8671 -- 4262811 - Generate the Accrual Reversal lines
8672 -------------------------------------------------------------------------------------------
8673 BEGIN
8674 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
8675 (g_array_event(p_event_id).array_value_num('header_index'));
8676 IF l_acc_rev_flag IS NULL THEN
8677 l_acc_rev_flag := 'N';
8678 END IF;
8679 EXCEPTION
8680 WHEN OTHERS THEN
8681 l_acc_rev_flag := 'N';
8682 END;
8683 --
8684 IF (l_acc_rev_flag = 'Y') THEN
8685
8686 -- 4645092 ------------------------------------------------------------------------------
8687 -- To allow MPA report to determine if it should generate report process
8688 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
8689 ------------------------------------------------------------------------------------------
8690
8691 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
8692 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
8693 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
8694 -- call ADRs
8695 -- Bug 4922099
8696 --
8697 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
8698 (NVL(l_actual_upg_option, 'N') = 'O') OR
8699 (NVL(l_enc_upg_option, 'N') = 'O')
8700 )
8701 THEN
8702 NULL;
8703 --
8704 --
8705
8706 l_ccid := AcctDerRule_33(
8707 p_application_id => p_application_id
8708 , p_ae_header_id => l_ae_header_id
8709 , p_source_30 => p_source_30
8710 , x_transaction_coa_id => l_adr_transaction_coa_id
8711 , x_accounting_coa_id => l_adr_accounting_coa_id
8712 , x_value_type_code => l_adr_value_type_code
8713 , p_side => 'NA'
8714 );
8715
8716 xla_ae_lines_pkg.set_ccid(
8717 p_code_combination_id => l_ccid
8718 , p_value_type_code => l_adr_value_type_code
8719 , p_transaction_coa_id => l_adr_transaction_coa_id
8720 , p_accounting_coa_id => l_adr_accounting_coa_id
8721 , p_adr_code => 'AP_INVOICE_DIST'
8722 , p_adr_type_code => 'S'
8723 , p_component_type => l_component_type
8724 , p_component_code => l_component_code
8725 , p_component_type_code => l_component_type_code
8726 , p_component_appl_id => l_component_appl_id
8727 , p_amb_context_code => l_amb_context_code
8728 , p_side => 'NA'
8729 );
8730
8731
8732 --
8733 --
8734 END IF;
8735
8736 --
8740 p_header_num => 1);
8737 -- Update the line information that should be overwritten
8738 --
8739 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
8741 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
8742
8743 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
8744
8745 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
8746 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
8747 END IF;
8748
8749 --
8750 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
8751 --
8752 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
8753 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
8754 ELSE
8755 ---------------------------------------------------------------------------------------------------
8756 -- 4262811a Switch Sign
8757 ---------------------------------------------------------------------------------------------------
8758 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8759 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8760 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8761 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8762 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8763 -- 5132302
8764 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8765 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8766
8767 END IF;
8768
8769 -- 4955764
8770 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8771 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
8772
8773
8774 XLA_AE_LINES_PKG.ValidateCurrentLine;
8775 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
8776
8777 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
8778 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
8779 ,p_balance_type_code => l_balance_type_code);
8780
8781 END IF;
8782
8783 -----------------------------------------------------------------------------------------
8784 -- 4262811 Multiperiod Accounting
8785 -----------------------------------------------------------------------------------------
8786 -- No MPA option is assigned.
8787
8788
8789 END IF;
8790 END IF;
8791 --
8792
8793 --
8794 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
8795 trace
8796 (p_msg => 'END of AcctLineType_49'
8797 ,p_level => C_LEVEL_PROCEDURE
8798 ,p_module => l_log_module);
8799 END IF;
8800 --
8801 EXCEPTION
8802 WHEN xla_exceptions_pkg.application_exception THEN
8803 RAISE;
8804 WHEN OTHERS THEN
8805 xla_exceptions_pkg.raise_message
8806 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_49');
8807 END AcctLineType_49;
8808 --
8809
8810 ---------------------------------------
8811 --
8812 -- PRIVATE FUNCTION
8813 -- AcctLineType_50
8814 --
8815 ---------------------------------------
8816 PROCEDURE AcctLineType_50 (
8817 p_application_id IN NUMBER
8818 ,p_event_id IN NUMBER
8819 ,p_calculate_acctd_flag IN VARCHAR2
8820 ,p_calculate_g_l_flag IN VARCHAR2
8821 ,p_actual_flag IN OUT VARCHAR2
8822 ,p_balance_type_code OUT VARCHAR2
8823 ,p_gain_or_loss_ref OUT VARCHAR2
8824
8825 --Invoice Distribution Description
8826 , p_source_1 IN VARCHAR2
8827 --Invoice Distribution Ledger Amount
8828 , p_source_21 IN NUMBER
8829 --Invoice Distribution Account
8830 , p_source_30 IN NUMBER
8831 --Invoice Distribution Type
8832 , p_source_33 IN VARCHAR2
8833 , p_source_33_meaning IN VARCHAR2
8834 --Accounting Reversal Indicator
8835 , p_source_53 IN VARCHAR2
8836 --Distribution Link Type
8837 , p_source_55 IN VARCHAR2
8838 --Allocation to Main Distribution Identifier
8839 , p_source_57 IN NUMBER
8840 --Invoice Identifier
8841 , p_source_58 IN NUMBER
8842 --Invoice Distribution Identifier
8843 , p_source_64 IN NUMBER
8844 --Payables Encumbrance Upgrade Credit Account
8845 , p_source_65 IN NUMBER
8846 --Payables Encumbrance Upgrade Credit Amount
8847 , p_source_66 IN NUMBER
8848 --Invoice Currency Code
8849 , p_source_67 IN VARCHAR2
8850 --Payables Encumbrance Upgrade Credit Base Amount
8851 , p_source_68 IN NUMBER
8852 --Payables Encumbrance Upgrade Debit Account
8853 , p_source_69 IN NUMBER
8854 --Payables Encumbrance Upgrade Debit Amount
8855 , p_source_70 IN NUMBER
8856 --Payables Encumbrance Upgrade Debit Base Amount
8857 , p_source_71 IN NUMBER
8858 --Payables Encumbrance Upgrade Option
8859 , p_source_72 IN VARCHAR2
8863 , p_source_74 IN DATE
8860 --Invoice Distribution Amount
8861 , p_source_73 IN NUMBER
8862 --Purchase Order Exchange Rate Date
8864 --Purchase Order Exchange Rate
8865 , p_source_75 IN NUMBER
8866 --Purchase Order Exchange Rate Type
8867 , p_source_76 IN VARCHAR2
8868 --Deferred Accounting End Date
8869 , p_source_77 IN DATE
8870 --Deferred Accounting Option
8871 , p_source_78 IN VARCHAR2
8872 --Deferred Accounting Start Date
8873 , p_source_79 IN DATE
8874 --Override Accounted Amount Indicator
8875 , p_source_80 IN VARCHAR2
8876 , p_source_80_meaning IN VARCHAR2
8877 --Invoice Supplier Identifier
8878 , p_source_81 IN NUMBER
8879 --Invoice Supplier Site Identifier
8880 , p_source_82 IN NUMBER
8881 --Third Party Type
8882 , p_source_83 IN VARCHAR2
8883 --Parent Reversal Identifier
8884 , p_source_84 IN NUMBER
8885 --Invoice Distribution Statistical Amount
8886 , p_source_85 IN NUMBER
8887 --Invoice Distribution Tax Line Identifier
8888 , p_source_86 IN NUMBER
8889 --Invoice Distribution Tax Distribution Identifier from Tax
8890 , p_source_87 IN NUMBER
8891 --Invoice Distribution Summary Tax Line Identifier
8892 , p_source_88 IN NUMBER
8893 --Payables Upgrade Credit Encumbrance Type Identifier
8894 , p_source_89 IN NUMBER
8895 --Payables Upgrade Debit Encumbrance Type Identifier
8896 , p_source_90 IN NUMBER
8897 --Business Flow Accounts Payable Application Identifier
8898 , p_source_91 IN NUMBER
8899 --Business Flow Invoice Distribution Type
8900 , p_source_92 IN VARCHAR2
8901 --Business Flow Invoice Entity Code
8902 , p_source_93 IN VARCHAR2
8903 --Business Flow Invoice Distribution Identifier
8904 , p_source_94 IN NUMBER
8905 --Business Flow Invoice Identifier
8906 , p_source_95 IN NUMBER
8907 )
8908 IS
8909
8910 l_component_type VARCHAR2(80);
8911 l_component_code VARCHAR2(30);
8912 l_component_type_code VARCHAR2(1);
8913 l_component_appl_id INTEGER;
8914 l_amb_context_code VARCHAR2(30);
8915 l_entity_code VARCHAR2(30);
8916 l_event_class_code VARCHAR2(30);
8917 l_ae_header_id NUMBER;
8918 l_event_type_code VARCHAR2(30);
8919 l_line_definition_code VARCHAR2(30);
8920 l_line_definition_owner_code VARCHAR2(1);
8921 --
8922 -- adr variables
8923 l_segment VARCHAR2(30);
8924 l_ccid NUMBER;
8925 l_adr_transaction_coa_id NUMBER;
8926 l_adr_accounting_coa_id NUMBER;
8927 l_adr_flexfield_segment_code VARCHAR2(30);
8928 l_adr_flex_value_set_id NUMBER;
8929 l_adr_value_type_code VARCHAR2(30);
8930 l_adr_value_combination_id NUMBER;
8931 l_adr_value_segment_code VARCHAR2(30);
8932
8933 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
8934 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
8935 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
8936 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
8937
8938 -- 4262811 Variables ------------------------------------------------------------------------------------------
8939 l_entered_amt_idx NUMBER;
8940 l_accted_amt_idx NUMBER;
8941 l_acc_rev_flag VARCHAR2(1);
8942 l_accrual_line_num NUMBER;
8943 l_tmp_amt NUMBER;
8944 l_acc_rev_natural_side_code VARCHAR2(1);
8945
8946 l_num_entries NUMBER;
8947 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
8948 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
8949 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
8950 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
8951 l_recog_line_1 NUMBER;
8952 l_recog_line_2 NUMBER;
8953
8954 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
8955 l_bflow_applied_to_amt NUMBER; -- 5132302
8956 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
8957
8958 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
8959
8960 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
8961 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
8962
8963 ---------------------------------------------------------------------------------------------------------------
8964
8965
8966 --
8967 -- bulk performance
8968 --
8969 l_balance_type_code VARCHAR2(1);
8970 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
8971 l_log_module VARCHAR2(240);
8972
8973 --
8974 -- Upgrade strategy
8975 --
8976 l_actual_upg_option VARCHAR2(1);
8977 l_enc_upg_option VARCHAR2(1);
8978
8979 --
8980 BEGIN
8981 --
8982 IF g_log_enabled THEN
8983 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_50';
8984 END IF;
8985 --
8986 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
8987
8988 trace
8989 (p_msg => 'BEGIN of AcctLineType_50'
8990 ,p_level => C_LEVEL_PROCEDURE
8994 --
8991 ,p_module => l_log_module);
8992
8993 END IF;
8995 l_component_type := 'AMB_JLT';
8996 l_component_code := 'AP_ACCRUAL_PREPAY';
8997 l_component_type_code := 'S';
8998 l_component_appl_id := 200;
8999 l_amb_context_code := 'DEFAULT';
9000 l_entity_code := 'AP_INVOICES';
9001 l_event_class_code := 'PREPAYMENTS';
9002 l_event_type_code := 'PREPAYMENTS_ALL';
9003 l_line_definition_owner_code := 'S';
9004 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
9005 --
9006 l_balance_type_code := 'A';
9007 l_segment := NULL;
9008 l_ccid := NULL;
9009 l_adr_transaction_coa_id := NULL;
9010 l_adr_accounting_coa_id := NULL;
9011 l_adr_flexfield_segment_code := NULL;
9012 l_adr_flex_value_set_id := NULL;
9013 l_adr_value_type_code := NULL;
9014 l_adr_value_combination_id := NULL;
9015 l_adr_value_segment_code := NULL;
9016
9017 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
9018 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
9019 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
9020 l_budgetary_control_flag := 'N';
9021
9022 l_bflow_applied_to_amt_idx := NULL; -- 5132302
9023 l_bflow_applied_to_amt := NULL; -- 5132302
9024 l_entered_amt_idx := NULL; -- 4262811
9025 l_accted_amt_idx := NULL; -- 4262811
9026 l_acc_rev_flag := NULL; -- 4262811
9027 l_accrual_line_num := NULL; -- 4262811
9028 l_tmp_amt := NULL; -- 4262811
9029 --
9030
9031 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
9032 l_balance_type_code <> 'B' THEN
9033 IF NVL(p_source_33,'
9034 ') = 'RETROACCRUAL' OR
9035 NVL(p_source_33,'
9036 ') = 'ACCRUAL'
9037 THEN
9038
9039 --
9040 XLA_AE_LINES_PKG.SetNewLine;
9041
9042 p_balance_type_code := l_balance_type_code;
9043 -- set the flag so later we will know whether the gain loss line needs to be created
9044
9045 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
9046 p_actual_flag :='A';
9047 END IF;
9048
9049 --
9050 -- bulk performance
9051 --
9052 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
9053 p_header_num => 0); -- 4262811
9054 --
9055 -- set accounting line options
9056 --
9057 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
9058 p_natural_side_code => 'D'
9059 , p_gain_or_loss_flag => 'N'
9060 , p_gl_transfer_mode_code => 'S'
9061 , p_acct_entry_type_code => 'A'
9062 , p_switch_side_flag => 'Y'
9063 , p_merge_duplicate_code => 'A'
9064 );
9065 --
9066 l_acc_rev_natural_side_code := 'C'; -- 4262811
9067 --
9068 --
9069 -- set accounting line type info
9070 --
9071 xla_ae_lines_pkg.SetAcctLineType
9072 (p_component_type => l_component_type
9073 ,p_event_type_code => l_event_type_code
9074 ,p_line_definition_owner_code => l_line_definition_owner_code
9075 ,p_line_definition_code => l_line_definition_code
9076 ,p_accounting_line_code => l_component_code
9077 ,p_accounting_line_type_code => l_component_type_code
9078 ,p_accounting_line_appl_id => l_component_appl_id
9079 ,p_amb_context_code => l_amb_context_code
9080 ,p_entity_code => l_entity_code
9081 ,p_event_class_code => l_event_class_code);
9082 --
9083 -- set accounting class
9084 --
9085 xla_ae_lines_pkg.SetAcctClass(
9086 p_accounting_class_code => 'ACCRUAL'
9087 , p_ae_header_id => l_ae_header_id
9088 );
9089
9090 --
9091 -- set rounding class
9092 --
9093 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
9094 'ACCRUAL';
9095
9096 --
9097 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
9098 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
9099 --
9100 -- bulk performance
9101 --
9102 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
9103
9104 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
9105 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
9106
9107 -- 4955764
9108 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9109 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
9110
9111 -- 4458381 Public Sector Enh
9112
9113 --
9114 -- set accounting attributes for the line type
9115 --
9116 l_entered_amt_idx := 23;
9117 l_accted_amt_idx := 28;
9118 l_bflow_applied_to_amt_idx := NULL; -- 5132302
9119 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
9120 l_rec_acct_attrs.array_char_value(1) := p_source_53;
9124 p_source_code => 'XLA_EVENT_APPL_ID'
9121 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
9122 l_rec_acct_attrs.array_num_value(2) :=
9123 xla_ae_sources_pkg.GetSystemSourceNum(
9125 , p_source_type_code => 'Y'
9126 , p_source_application_id => 602
9127 );
9128 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
9129 l_rec_acct_attrs.array_char_value(3) := p_source_55;
9130 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
9131 l_rec_acct_attrs.array_char_value(4) :=
9132 xla_ae_sources_pkg.GetSystemSourceChar(
9133 p_source_code => 'XLA_ENTITY_CODE'
9134 , p_source_type_code => 'Y'
9135 , p_source_application_id => 602
9136 );
9137 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
9138 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
9139 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
9140 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
9141 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
9142 l_rec_acct_attrs.array_num_value(7) := p_source_91;
9143 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
9144 l_rec_acct_attrs.array_char_value(8) := p_source_92;
9145 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
9146 l_rec_acct_attrs.array_char_value(9) := p_source_93;
9147 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
9148 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
9149 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
9150 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
9151 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
9152 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
9153 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
9154 l_rec_acct_attrs.array_char_value(13) := p_source_55;
9155 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
9156 l_rec_acct_attrs.array_num_value(14) := p_source_65;
9157 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
9158 l_rec_acct_attrs.array_num_value(15) := p_source_66;
9159 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
9160 l_rec_acct_attrs.array_char_value(16) := p_source_67;
9161 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
9162 l_rec_acct_attrs.array_num_value(17) := p_source_68;
9163 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
9164 l_rec_acct_attrs.array_num_value(18) := p_source_69;
9165 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
9166 l_rec_acct_attrs.array_num_value(19) := p_source_70;
9167 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
9168 l_rec_acct_attrs.array_char_value(20) := p_source_67;
9169 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
9170 l_rec_acct_attrs.array_num_value(21) := p_source_71;
9171 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
9172 l_rec_acct_attrs.array_char_value(22) := p_source_72;
9173 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
9174 l_rec_acct_attrs.array_num_value(23) := p_source_73;
9175 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
9176 l_rec_acct_attrs.array_char_value(24) := p_source_67;
9177 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
9178 l_rec_acct_attrs.array_date_value(25) := p_source_74;
9179 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
9180 l_rec_acct_attrs.array_num_value(26) := p_source_75;
9181 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
9182 l_rec_acct_attrs.array_char_value(27) := p_source_76;
9183 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
9184 l_rec_acct_attrs.array_num_value(28) := p_source_21;
9185 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
9186 l_rec_acct_attrs.array_date_value(29) := p_source_77;
9187 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
9188 l_rec_acct_attrs.array_char_value(30) := p_source_78;
9189 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
9190 l_rec_acct_attrs.array_date_value(31) := p_source_79;
9191 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
9192 l_rec_acct_attrs.array_char_value(32) := p_source_80;
9193 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
9194 l_rec_acct_attrs.array_num_value(33) := p_source_81;
9195 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
9196 l_rec_acct_attrs.array_num_value(34) := p_source_82;
9197 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
9198 l_rec_acct_attrs.array_char_value(35) := p_source_83;
9199 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
9200 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
9201 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
9202 l_rec_acct_attrs.array_char_value(37) := p_source_55;
9203 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
9204 l_rec_acct_attrs.array_num_value(38) := p_source_85;
9205 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
9206 l_rec_acct_attrs.array_num_value(39) := p_source_86;
9207 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
9208 l_rec_acct_attrs.array_num_value(40) := p_source_87;
9212 l_rec_acct_attrs.array_num_value(42) := p_source_89;
9209 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
9210 l_rec_acct_attrs.array_num_value(41) := p_source_88;
9211 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
9213 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
9214 l_rec_acct_attrs.array_num_value(43) := p_source_90;
9215
9216 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
9217 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
9218
9219 ---------------------------------------------------------------------------------------------------------------
9220 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9221 ---------------------------------------------------------------------------------------------------------------
9222 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9223
9224 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9225 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9226
9227 IF xla_accounting_cache_pkg.GetValueChar
9228 (p_source_code => 'LEDGER_CATEGORY_CODE'
9229 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
9230 AND l_bflow_method_code = 'PRIOR_ENTRY'
9231 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
9232 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
9233 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
9234 )
9235 THEN
9236 xla_ae_lines_pkg.BflowUpgEntry
9237 (p_business_method_code => l_bflow_method_code
9238 ,p_business_class_code => l_bflow_class_code
9239 ,p_balance_type => l_balance_type_code);
9240 ELSE
9241 NULL;
9242 -- No business flow processing for business flow method of NONE.
9243 END IF;
9244
9245 --
9246 -- call analytical criteria
9247 --
9248
9249 --
9250 -- call description
9251 --
9252
9253 xla_ae_lines_pkg.SetLineDescription(
9254 p_ae_header_id => l_ae_header_id
9255 ,p_description => Description_1 (
9256 p_application_id => p_application_id
9257 , p_ae_header_id => l_ae_header_id
9258 , p_source_1 => p_source_1
9259 )
9260 );
9261
9262
9263 --
9264 -- call ADRs
9265 -- Bug 4922099
9266 --
9267 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
9268 (NVL(l_actual_upg_option, 'N') = 'O') OR
9269 (NVL(l_enc_upg_option, 'N') = 'O')
9270 )
9271 THEN
9272 NULL;
9273 --
9274 --
9275
9276 l_ccid := AcctDerRule_33(
9277 p_application_id => p_application_id
9278 , p_ae_header_id => l_ae_header_id
9279 , p_source_30 => p_source_30
9280 , x_transaction_coa_id => l_adr_transaction_coa_id
9281 , x_accounting_coa_id => l_adr_accounting_coa_id
9282 , x_value_type_code => l_adr_value_type_code
9283 , p_side => 'NA'
9284 );
9285
9286 xla_ae_lines_pkg.set_ccid(
9287 p_code_combination_id => l_ccid
9288 , p_value_type_code => l_adr_value_type_code
9289 , p_transaction_coa_id => l_adr_transaction_coa_id
9290 , p_accounting_coa_id => l_adr_accounting_coa_id
9291 , p_adr_code => 'AP_INVOICE_DIST'
9292 , p_adr_type_code => 'S'
9293 , p_component_type => l_component_type
9294 , p_component_code => l_component_code
9295 , p_component_type_code => l_component_type_code
9296 , p_component_appl_id => l_component_appl_id
9297 , p_amb_context_code => l_amb_context_code
9298 , p_side => 'NA'
9299 );
9300
9301
9302 --
9303 --
9304 END IF;
9305 --
9306 -- Bug 4922099
9307 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
9308 (NVL(l_enc_upg_option, 'N') = 'O')
9309 ) AND
9310 (l_bflow_method_code = 'PRIOR_ENTRY')
9311 )
9312 THEN
9313 IF
9314 --
9315 1 = 2
9316 --
9317 THEN
9318 xla_accounting_err_pkg.build_message
9319 (p_appli_s_name => 'XLA'
9320 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
9321 ,p_token_1 => 'LINE_NUMBER'
9322 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
9323 ,p_token_2 => 'LINE_TYPE_NAME'
9324 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
9325 l_component_type
9326 ,l_component_code
9327 ,l_component_type_code
9331 ,l_event_class_code
9328 ,l_component_appl_id
9329 ,l_amb_context_code
9330 ,l_entity_code
9332 )
9333 ,p_token_3 => 'OWNER'
9334 ,p_value_3 => xla_lookups_pkg.get_meaning(
9335 p_lookup_type => 'XLA_OWNER_TYPE'
9336 ,p_lookup_code => l_component_type_code
9337 )
9338 ,p_token_4 => 'PRODUCT_NAME'
9339 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
9340 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
9341 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
9342 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
9343 ,p_ae_header_id => NULL
9344 );
9345
9346 IF (C_LEVEL_ERROR>= g_log_level) THEN
9347 trace
9348 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
9349 ,p_level => C_LEVEL_ERROR
9350 ,p_module => l_log_module);
9351 END IF;
9352 END IF;
9353 END IF;
9354 --
9355 --
9356 ------------------------------------------------------------------------------------------------
9357 -- 4219869 Business Flow
9358 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
9359 -- Prior Entry. Currently, the following code is always generated.
9360 ------------------------------------------------------------------------------------------------
9361 XLA_AE_LINES_PKG.ValidateCurrentLine;
9362
9363 ------------------------------------------------------------------------------------
9364 -- 4219869 Business Flow
9365 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
9366 ------------------------------------------------------------------------------------
9367 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
9368
9369 ----------------------------------------------------------------------------------
9370 -- 4219869 Business Flow
9371 -- Update journal entry status -- Need to generate this within IF <condition>
9372 ----------------------------------------------------------------------------------
9373 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
9374 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
9375 ,p_balance_type_code => l_balance_type_code
9376 );
9377
9378 -------------------------------------------------------------------------------------------
9379 -- 4262811 - Generate the Accrual Reversal lines
9380 -------------------------------------------------------------------------------------------
9381 BEGIN
9382 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
9383 (g_array_event(p_event_id).array_value_num('header_index'));
9384 IF l_acc_rev_flag IS NULL THEN
9385 l_acc_rev_flag := 'N';
9386 END IF;
9387 EXCEPTION
9388 WHEN OTHERS THEN
9389 l_acc_rev_flag := 'N';
9390 END;
9391 --
9392 IF (l_acc_rev_flag = 'Y') THEN
9393
9394 -- 4645092 ------------------------------------------------------------------------------
9395 -- To allow MPA report to determine if it should generate report process
9396 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
9397 ------------------------------------------------------------------------------------------
9398
9399 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
9400 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
9401 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
9402 -- call ADRs
9403 -- Bug 4922099
9404 --
9405 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
9406 (NVL(l_actual_upg_option, 'N') = 'O') OR
9407 (NVL(l_enc_upg_option, 'N') = 'O')
9408 )
9409 THEN
9410 NULL;
9411 --
9412 --
9413
9414 l_ccid := AcctDerRule_33(
9415 p_application_id => p_application_id
9416 , p_ae_header_id => l_ae_header_id
9417 , p_source_30 => p_source_30
9418 , x_transaction_coa_id => l_adr_transaction_coa_id
9419 , x_accounting_coa_id => l_adr_accounting_coa_id
9420 , x_value_type_code => l_adr_value_type_code
9421 , p_side => 'NA'
9422 );
9423
9424 xla_ae_lines_pkg.set_ccid(
9425 p_code_combination_id => l_ccid
9426 , p_value_type_code => l_adr_value_type_code
9427 , p_transaction_coa_id => l_adr_transaction_coa_id
9428 , p_accounting_coa_id => l_adr_accounting_coa_id
9432 , p_component_code => l_component_code
9429 , p_adr_code => 'AP_INVOICE_DIST'
9430 , p_adr_type_code => 'S'
9431 , p_component_type => l_component_type
9433 , p_component_type_code => l_component_type_code
9434 , p_component_appl_id => l_component_appl_id
9435 , p_amb_context_code => l_amb_context_code
9436 , p_side => 'NA'
9437 );
9438
9439
9440 --
9441 --
9442 END IF;
9443
9444 --
9445 -- Update the line information that should be overwritten
9446 --
9447 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
9448 p_header_num => 1);
9449 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
9450
9451 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
9452
9453 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
9454 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
9455 END IF;
9456
9457 --
9458 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
9459 --
9460 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
9461 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
9462 ELSE
9463 ---------------------------------------------------------------------------------------------------
9464 -- 4262811a Switch Sign
9465 ---------------------------------------------------------------------------------------------------
9466 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
9467 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9468 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9469 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9470 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9471 -- 5132302
9472 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
9473 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9474
9475 END IF;
9476
9477 -- 4955764
9478 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9479 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
9480
9481
9482 XLA_AE_LINES_PKG.ValidateCurrentLine;
9483 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
9484
9485 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
9486 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
9487 ,p_balance_type_code => l_balance_type_code);
9488
9489 END IF;
9490
9491 -----------------------------------------------------------------------------------------
9492 -- 4262811 Multiperiod Accounting
9493 -----------------------------------------------------------------------------------------
9494 -- No MPA option is assigned.
9495
9496
9497 END IF;
9498 END IF;
9499 --
9500
9501 --
9502 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
9503 trace
9504 (p_msg => 'END of AcctLineType_50'
9505 ,p_level => C_LEVEL_PROCEDURE
9506 ,p_module => l_log_module);
9507 END IF;
9508 --
9509 EXCEPTION
9510 WHEN xla_exceptions_pkg.application_exception THEN
9511 RAISE;
9512 WHEN OTHERS THEN
9513 xla_exceptions_pkg.raise_message
9514 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_50');
9515 END AcctLineType_50;
9516 --
9517
9518 ---------------------------------------
9519 --
9520 -- PRIVATE FUNCTION
9521 -- AcctLineType_51
9522 --
9523 ---------------------------------------
9524 PROCEDURE AcctLineType_51 (
9525 p_application_id IN NUMBER
9526 ,p_event_id IN NUMBER
9527 ,p_calculate_acctd_flag IN VARCHAR2
9528 ,p_calculate_g_l_flag IN VARCHAR2
9529 ,p_actual_flag IN OUT VARCHAR2
9530 ,p_balance_type_code OUT VARCHAR2
9531 ,p_gain_or_loss_ref OUT VARCHAR2
9532
9533 --Invoice Distribution Description
9534 , p_source_1 IN VARCHAR2
9535 --Automatic Offsets Value
9536 , p_source_15 IN VARCHAR2
9537 , p_source_15_meaning IN VARCHAR2
9538 --Purchase Order Rate Variance Gain Account
9539 , p_source_20 IN NUMBER
9540 --Invoice Distribution Ledger Amount
9541 , p_source_21 IN NUMBER
9542 --Destination Type of the PO Distribution
9543 , p_source_22 IN VARCHAR2
9544 , p_source_22_meaning IN VARCHAR2
9545 --Purchase Order Rate Variance Loss Account
9546 , p_source_23 IN NUMBER
9547 --Invoice Distribution Account
9548 , p_source_30 IN NUMBER
9549 --Invoice Distribution Type
9550 , p_source_33 IN VARCHAR2
9551 , p_source_33_meaning IN VARCHAR2
9552 --Automatic Offsets Flag
9553 , p_source_47 IN VARCHAR2
9557 --Distribution Link Type
9554 , p_source_47_meaning IN VARCHAR2
9555 --Accounting Reversal Indicator
9556 , p_source_53 IN VARCHAR2
9558 , p_source_55 IN VARCHAR2
9559 --Allocation to Main Distribution Identifier
9560 , p_source_57 IN NUMBER
9561 --Invoice Identifier
9562 , p_source_58 IN NUMBER
9563 --Invoice Distribution Identifier
9564 , p_source_64 IN NUMBER
9565 --Payables Encumbrance Upgrade Credit Account
9566 , p_source_65 IN NUMBER
9567 --Payables Encumbrance Upgrade Credit Amount
9568 , p_source_66 IN NUMBER
9569 --Invoice Currency Code
9570 , p_source_67 IN VARCHAR2
9571 --Payables Encumbrance Upgrade Credit Base Amount
9572 , p_source_68 IN NUMBER
9573 --Payables Encumbrance Upgrade Debit Account
9574 , p_source_69 IN NUMBER
9575 --Payables Encumbrance Upgrade Debit Amount
9576 , p_source_70 IN NUMBER
9577 --Payables Encumbrance Upgrade Debit Base Amount
9578 , p_source_71 IN NUMBER
9579 --Payables Encumbrance Upgrade Option
9580 , p_source_72 IN VARCHAR2
9581 --Deferred Accounting End Date
9582 , p_source_77 IN DATE
9583 --Deferred Accounting Option
9584 , p_source_78 IN VARCHAR2
9585 --Deferred Accounting Start Date
9586 , p_source_79 IN DATE
9587 --Override Accounted Amount Indicator
9588 , p_source_80 IN VARCHAR2
9589 , p_source_80_meaning IN VARCHAR2
9590 --Invoice Supplier Identifier
9591 , p_source_81 IN NUMBER
9592 --Invoice Supplier Site Identifier
9593 , p_source_82 IN NUMBER
9594 --Third Party Type
9595 , p_source_83 IN VARCHAR2
9596 --Parent Reversal Identifier
9597 , p_source_84 IN NUMBER
9598 --Invoice Distribution Statistical Amount
9599 , p_source_85 IN NUMBER
9600 --Invoice Distribution Tax Line Identifier
9601 , p_source_86 IN NUMBER
9602 --Invoice Distribution Tax Distribution Identifier from Tax
9603 , p_source_87 IN NUMBER
9604 --Invoice Distribution Summary Tax Line Identifier
9605 , p_source_88 IN NUMBER
9606 --Payables Upgrade Credit Encumbrance Type Identifier
9607 , p_source_89 IN NUMBER
9608 --Payables Upgrade Debit Encumbrance Type Identifier
9609 , p_source_90 IN NUMBER
9610 --Business Flow Accounts Payable Application Identifier
9611 , p_source_91 IN NUMBER
9612 --Business Flow Invoice Distribution Type
9613 , p_source_92 IN VARCHAR2
9614 --Business Flow Invoice Entity Code
9615 , p_source_93 IN VARCHAR2
9616 --Business Flow Invoice Distribution Identifier
9617 , p_source_94 IN NUMBER
9618 --Business Flow Invoice Identifier
9619 , p_source_95 IN NUMBER
9620 )
9621 IS
9622
9623 l_component_type VARCHAR2(80);
9624 l_component_code VARCHAR2(30);
9625 l_component_type_code VARCHAR2(1);
9626 l_component_appl_id INTEGER;
9627 l_amb_context_code VARCHAR2(30);
9628 l_entity_code VARCHAR2(30);
9629 l_event_class_code VARCHAR2(30);
9630 l_ae_header_id NUMBER;
9631 l_event_type_code VARCHAR2(30);
9632 l_line_definition_code VARCHAR2(30);
9633 l_line_definition_owner_code VARCHAR2(1);
9634 --
9635 -- adr variables
9636 l_segment VARCHAR2(30);
9637 l_ccid NUMBER;
9638 l_adr_transaction_coa_id NUMBER;
9639 l_adr_accounting_coa_id NUMBER;
9640 l_adr_flexfield_segment_code VARCHAR2(30);
9641 l_adr_flex_value_set_id NUMBER;
9642 l_adr_value_type_code VARCHAR2(30);
9643 l_adr_value_combination_id NUMBER;
9644 l_adr_value_segment_code VARCHAR2(30);
9645
9646 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
9647 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
9648 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
9649 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
9650
9651 -- 4262811 Variables ------------------------------------------------------------------------------------------
9652 l_entered_amt_idx NUMBER;
9653 l_accted_amt_idx NUMBER;
9654 l_acc_rev_flag VARCHAR2(1);
9655 l_accrual_line_num NUMBER;
9656 l_tmp_amt NUMBER;
9657 l_acc_rev_natural_side_code VARCHAR2(1);
9658
9659 l_num_entries NUMBER;
9660 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
9661 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
9662 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
9663 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
9664 l_recog_line_1 NUMBER;
9665 l_recog_line_2 NUMBER;
9666
9667 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
9668 l_bflow_applied_to_amt NUMBER; -- 5132302
9669 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
9670
9671 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
9672
9673 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
9674 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
9675
9679 --
9676 ---------------------------------------------------------------------------------------------------------------
9677
9678
9680 -- bulk performance
9681 --
9682 l_balance_type_code VARCHAR2(1);
9683 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
9684 l_log_module VARCHAR2(240);
9685
9686 --
9687 -- Upgrade strategy
9688 --
9689 l_actual_upg_option VARCHAR2(1);
9690 l_enc_upg_option VARCHAR2(1);
9691
9692 --
9693 BEGIN
9694 --
9695 IF g_log_enabled THEN
9696 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_51';
9697 END IF;
9698 --
9699 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
9700
9701 trace
9702 (p_msg => 'BEGIN of AcctLineType_51'
9703 ,p_level => C_LEVEL_PROCEDURE
9704 ,p_module => l_log_module);
9705
9706 END IF;
9707 --
9708 l_component_type := 'AMB_JLT';
9709 l_component_code := 'AP_ALC_EX_RATE_VAR_CM';
9710 l_component_type_code := 'S';
9711 l_component_appl_id := 200;
9712 l_amb_context_code := 'DEFAULT';
9713 l_entity_code := 'AP_INVOICES';
9714 l_event_class_code := 'CREDIT MEMOS';
9715 l_event_type_code := 'CREDIT MEMOS_ALL';
9716 l_line_definition_owner_code := 'S';
9717 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
9718 --
9719 l_balance_type_code := 'A';
9720 l_segment := NULL;
9721 l_ccid := NULL;
9722 l_adr_transaction_coa_id := NULL;
9723 l_adr_accounting_coa_id := NULL;
9724 l_adr_flexfield_segment_code := NULL;
9725 l_adr_flex_value_set_id := NULL;
9726 l_adr_value_type_code := NULL;
9727 l_adr_value_combination_id := NULL;
9728 l_adr_value_segment_code := NULL;
9729
9730 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
9731 l_bflow_class_code := ''; -- 4219869 Business Flow
9732 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
9733 l_budgetary_control_flag := 'N';
9734
9735 l_bflow_applied_to_amt_idx := NULL; -- 5132302
9736 l_bflow_applied_to_amt := NULL; -- 5132302
9737 l_entered_amt_idx := NULL; -- 4262811
9738 l_accted_amt_idx := NULL; -- 4262811
9739 l_acc_rev_flag := NULL; -- 4262811
9740 l_accrual_line_num := NULL; -- 4262811
9741 l_tmp_amt := NULL; -- 4262811
9742 --
9743 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
9744 (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
9745 return;
9746 END IF;
9747
9748 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
9749 l_balance_type_code <> 'B' THEN
9750 IF NVL(p_source_33,'
9751 ') = 'ACCRUAL'
9752 THEN
9753
9754 --
9755 XLA_AE_LINES_PKG.SetNewLine;
9756
9757 p_balance_type_code := l_balance_type_code;
9758 -- set the flag so later we will know whether the gain loss line needs to be created
9759
9760 IF(l_balance_type_code = 'A' ) THEN
9761 p_actual_flag :='G';
9762 END IF;
9763
9764 --
9765 -- bulk performance
9766 --
9767 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
9768 p_header_num => 0); -- 4262811
9769 --
9770 -- set accounting line options
9771 --
9772 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
9773 p_natural_side_code => 'G'
9774 , p_gain_or_loss_flag => 'N'
9775 , p_gl_transfer_mode_code => 'S'
9776 , p_acct_entry_type_code => 'A'
9777 , p_switch_side_flag => ''
9778 , p_merge_duplicate_code => 'A'
9779 );
9780 --
9781 l_acc_rev_natural_side_code := 'C'; -- 4262811
9782 --
9783 --
9784 -- set accounting line type info
9785 --
9786 xla_ae_lines_pkg.SetAcctLineType
9787 (p_component_type => l_component_type
9788 ,p_event_type_code => l_event_type_code
9789 ,p_line_definition_owner_code => l_line_definition_owner_code
9790 ,p_line_definition_code => l_line_definition_code
9791 ,p_accounting_line_code => l_component_code
9792 ,p_accounting_line_type_code => l_component_type_code
9793 ,p_accounting_line_appl_id => l_component_appl_id
9794 ,p_amb_context_code => l_amb_context_code
9795 ,p_entity_code => l_entity_code
9796 ,p_event_class_code => l_event_class_code);
9797 --
9798 -- set accounting class
9799 --
9800 xla_ae_lines_pkg.SetAcctClass(
9801 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
9802 , p_ae_header_id => l_ae_header_id
9803 );
9804
9805 --
9806 -- set rounding class
9807 --
9808 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
9809 'EXCHANGE_RATE_VARIANCE';
9810
9811 --
9815 -- bulk performance
9812 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
9813 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
9814 --
9816 --
9817 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
9818
9819 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
9820 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
9821
9822 -- 4955764
9823 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9824 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
9825
9826 -- 4458381 Public Sector Enh
9827
9828 --
9829 -- set accounting attributes for the line type
9830 --
9831 l_entered_amt_idx := NULL;
9832 l_accted_amt_idx := 23;
9833 l_bflow_applied_to_amt_idx := NULL; -- 5132302
9834 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
9835 l_rec_acct_attrs.array_char_value(1) := p_source_53;
9836 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
9837 l_rec_acct_attrs.array_num_value(2) :=
9838 xla_ae_sources_pkg.GetSystemSourceNum(
9839 p_source_code => 'XLA_EVENT_APPL_ID'
9840 , p_source_type_code => 'Y'
9841 , p_source_application_id => 602
9842 );
9843 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
9844 l_rec_acct_attrs.array_char_value(3) := p_source_55;
9845 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
9846 l_rec_acct_attrs.array_char_value(4) :=
9847 xla_ae_sources_pkg.GetSystemSourceChar(
9848 p_source_code => 'XLA_ENTITY_CODE'
9849 , p_source_type_code => 'Y'
9850 , p_source_application_id => 602
9851 );
9852 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
9853 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
9854 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
9855 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
9856 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
9857 l_rec_acct_attrs.array_num_value(7) := p_source_91;
9858 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
9859 l_rec_acct_attrs.array_char_value(8) := p_source_92;
9860 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
9861 l_rec_acct_attrs.array_char_value(9) := p_source_93;
9862 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
9863 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
9864 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
9865 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
9866 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
9867 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
9868 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
9869 l_rec_acct_attrs.array_char_value(13) := p_source_55;
9870 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
9871 l_rec_acct_attrs.array_num_value(14) := p_source_65;
9872 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
9873 l_rec_acct_attrs.array_num_value(15) := p_source_66;
9874 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
9875 l_rec_acct_attrs.array_char_value(16) := p_source_67;
9876 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
9877 l_rec_acct_attrs.array_num_value(17) := p_source_68;
9878 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
9879 l_rec_acct_attrs.array_num_value(18) := p_source_69;
9880 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
9881 l_rec_acct_attrs.array_num_value(19) := p_source_70;
9882 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
9883 l_rec_acct_attrs.array_char_value(20) := p_source_67;
9884 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
9885 l_rec_acct_attrs.array_num_value(21) := p_source_71;
9886 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
9887 l_rec_acct_attrs.array_char_value(22) := p_source_72;
9888 l_rec_acct_attrs.array_acct_attr_code(23) := 'LEDGER_AMOUNT';
9889 l_rec_acct_attrs.array_num_value(23) := p_source_21;
9890 l_rec_acct_attrs.array_acct_attr_code(24) := 'MULTIPERIOD_END_DATE';
9891 l_rec_acct_attrs.array_date_value(24) := p_source_77;
9892 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_OPTION';
9893 l_rec_acct_attrs.array_char_value(25) := p_source_78;
9894 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_START_DATE';
9895 l_rec_acct_attrs.array_date_value(26) := p_source_79;
9896 l_rec_acct_attrs.array_acct_attr_code(27) := 'OVERRIDE_ACCTD_AMT_FLAG';
9897 l_rec_acct_attrs.array_char_value(27) := p_source_80;
9898 l_rec_acct_attrs.array_acct_attr_code(28) := 'PARTY_ID';
9899 l_rec_acct_attrs.array_num_value(28) := p_source_81;
9900 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_SITE_ID';
9901 l_rec_acct_attrs.array_num_value(29) := p_source_82;
9902 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
9903 l_rec_acct_attrs.array_char_value(30) := p_source_83;
9904 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
9905 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_84);
9906 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
9910 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
9907 l_rec_acct_attrs.array_char_value(32) := p_source_55;
9908 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
9909 l_rec_acct_attrs.array_num_value(33) := p_source_85;
9911 l_rec_acct_attrs.array_num_value(34) := p_source_86;
9912 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
9913 l_rec_acct_attrs.array_num_value(35) := p_source_87;
9914 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
9915 l_rec_acct_attrs.array_num_value(36) := p_source_88;
9916 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
9917 l_rec_acct_attrs.array_num_value(37) := p_source_89;
9918 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
9919 l_rec_acct_attrs.array_num_value(38) := p_source_90;
9920
9921 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
9922 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
9923
9924 ---------------------------------------------------------------------------------------------------------------
9925 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9926 ---------------------------------------------------------------------------------------------------------------
9927 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9928
9929 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9930 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9931
9932 IF xla_accounting_cache_pkg.GetValueChar
9933 (p_source_code => 'LEDGER_CATEGORY_CODE'
9934 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
9935 AND l_bflow_method_code = 'PRIOR_ENTRY'
9936 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
9937 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
9938 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
9939 )
9940 THEN
9941 xla_ae_lines_pkg.BflowUpgEntry
9942 (p_business_method_code => l_bflow_method_code
9943 ,p_business_class_code => l_bflow_class_code
9944 ,p_balance_type => l_balance_type_code);
9945 ELSE
9946 NULL;
9947 -- No business flow processing for business flow method of NONE.
9948 END IF;
9949
9950 --
9951 -- call analytical criteria
9952 --
9953
9954 --
9955 -- call description
9956 --
9957
9958 xla_ae_lines_pkg.SetLineDescription(
9959 p_ae_header_id => l_ae_header_id
9960 ,p_description => Description_1 (
9961 p_application_id => p_application_id
9962 , p_ae_header_id => l_ae_header_id
9963 , p_source_1 => p_source_1
9964 )
9965 );
9966
9967
9968 --
9969 -- call ADRs
9970 -- Bug 4922099
9971 --
9972 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
9973 (NVL(l_actual_upg_option, 'N') = 'O') OR
9974 (NVL(l_enc_upg_option, 'N') = 'O')
9975 )
9976 THEN
9977 NULL;
9978 --
9979 --
9980
9981 l_ccid := AcctDerRule_30(
9982 p_application_id => p_application_id
9983 , p_ae_header_id => l_ae_header_id
9984 , p_source_15 => p_source_15
9985 , p_source_15_meaning => p_source_15_meaning
9986 , p_source_20 => p_source_20
9987 , p_source_21 => p_source_21
9988 , p_source_22 => p_source_22
9989 , p_source_22_meaning => p_source_22_meaning
9990 , p_source_23 => p_source_23
9991 , p_source_30 => p_source_30
9992 , p_source_47 => p_source_47
9993 , p_source_47_meaning => p_source_47_meaning
9994 , x_transaction_coa_id => l_adr_transaction_coa_id
9995 , x_accounting_coa_id => l_adr_accounting_coa_id
9996 , x_value_type_code => l_adr_value_type_code
9997 , p_side => 'ALL'
9998 );
9999
10000 xla_ae_lines_pkg.set_ccid(
10001 p_code_combination_id => l_ccid
10002 , p_value_type_code => l_adr_value_type_code
10003 , p_transaction_coa_id => l_adr_transaction_coa_id
10004 , p_accounting_coa_id => l_adr_accounting_coa_id
10005 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
10006 , p_adr_type_code => 'S'
10007 , p_component_type => l_component_type
10008 , p_component_code => l_component_code
10009 , p_component_type_code => l_component_type_code
10010 , p_component_appl_id => l_component_appl_id
10011 , p_amb_context_code => l_amb_context_code
10012 , p_side => 'ALL'
10013 );
10014
10015
10016 l_segment := AcctDerRule_9(
10017 p_application_id => p_application_id
10018 , p_ae_header_id => l_ae_header_id
10019 , p_source_15 => p_source_15
10020 , p_source_15_meaning => p_source_15_meaning
10021 , p_source_20 => p_source_20
10022 , p_source_22 => p_source_22
10023 , p_source_22_meaning => p_source_22_meaning
10024 , x_transaction_coa_id => l_adr_transaction_coa_id
10025 , x_accounting_coa_id => l_adr_accounting_coa_id
10029 , x_value_combination_id => l_adr_value_combination_id
10026 , x_flexfield_segment_code => l_adr_flexfield_segment_code
10027 , x_flex_value_set_id => l_adr_flex_value_set_id
10028 , x_value_type_code => l_adr_value_type_code
10030 , x_value_segment_code => l_adr_value_segment_code
10031 , p_side => 'DEBIT'
10032 , p_override_seg_flag => 'Y'
10033 );
10034
10035 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10036
10037 xla_ae_lines_pkg.set_segment(
10038 p_to_segment_code => 'GL_ACCOUNT'
10039 , p_segment_value => l_segment
10040 , p_from_segment_code => l_adr_value_segment_code
10041 , p_from_combination_id => l_adr_value_combination_id
10042 , p_value_type_code => l_adr_value_type_code
10043 , p_transaction_coa_id => l_adr_transaction_coa_id
10044 , p_accounting_coa_id => l_adr_accounting_coa_id
10045 , p_flexfield_segment_code => l_adr_flexfield_segment_code
10046 , p_flex_value_set_id => l_adr_flex_value_set_id
10047 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
10048 , p_adr_type_code => 'S'
10049 , p_component_type => l_component_type
10050 , p_component_code => l_component_code
10051 , p_component_type_code => l_component_type_code
10052 , p_component_appl_id => l_component_appl_id
10053 , p_amb_context_code => l_amb_context_code
10054 , p_entity_code => 'AP_INVOICES'
10055 , p_event_class_code => 'CREDIT MEMOS'
10056 , p_side => 'DEBIT'
10057 );
10058
10059 END IF;
10060
10061 l_segment := AcctDerRule_10(
10062 p_application_id => p_application_id
10063 , p_ae_header_id => l_ae_header_id
10064 , p_source_15 => p_source_15
10065 , p_source_15_meaning => p_source_15_meaning
10066 , p_source_22 => p_source_22
10067 , p_source_22_meaning => p_source_22_meaning
10068 , p_source_23 => p_source_23
10069 , x_transaction_coa_id => l_adr_transaction_coa_id
10070 , x_accounting_coa_id => l_adr_accounting_coa_id
10071 , x_flexfield_segment_code => l_adr_flexfield_segment_code
10072 , x_flex_value_set_id => l_adr_flex_value_set_id
10073 , x_value_type_code => l_adr_value_type_code
10074 , x_value_combination_id => l_adr_value_combination_id
10075 , x_value_segment_code => l_adr_value_segment_code
10076 , p_side => 'CREDIT'
10077 , p_override_seg_flag => 'Y'
10078 );
10079
10080 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10081
10082 xla_ae_lines_pkg.set_segment(
10083 p_to_segment_code => 'GL_ACCOUNT'
10084 , p_segment_value => l_segment
10085 , p_from_segment_code => l_adr_value_segment_code
10086 , p_from_combination_id => l_adr_value_combination_id
10087 , p_value_type_code => l_adr_value_type_code
10088 , p_transaction_coa_id => l_adr_transaction_coa_id
10089 , p_accounting_coa_id => l_adr_accounting_coa_id
10090 , p_flexfield_segment_code => l_adr_flexfield_segment_code
10091 , p_flex_value_set_id => l_adr_flex_value_set_id
10092 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
10093 , p_adr_type_code => 'S'
10094 , p_component_type => l_component_type
10095 , p_component_code => l_component_code
10096 , p_component_type_code => l_component_type_code
10097 , p_component_appl_id => l_component_appl_id
10098 , p_amb_context_code => l_amb_context_code
10099 , p_entity_code => 'AP_INVOICES'
10100 , p_event_class_code => 'CREDIT MEMOS'
10101 , p_side => 'CREDIT'
10102 );
10103
10104 END IF;
10105
10106 l_segment := AcctDerRule_23(
10107 p_application_id => p_application_id
10108 , p_ae_header_id => l_ae_header_id
10109 , p_source_15 => p_source_15
10110 , p_source_15_meaning => p_source_15_meaning
10111 , p_source_22 => p_source_22
10112 , p_source_22_meaning => p_source_22_meaning
10113 , p_source_30 => p_source_30
10114 , x_transaction_coa_id => l_adr_transaction_coa_id
10115 , x_accounting_coa_id => l_adr_accounting_coa_id
10116 , x_flexfield_segment_code => l_adr_flexfield_segment_code
10117 , x_flex_value_set_id => l_adr_flex_value_set_id
10118 , x_value_type_code => l_adr_value_type_code
10119 , x_value_combination_id => l_adr_value_combination_id
10120 , x_value_segment_code => l_adr_value_segment_code
10121 , p_side => 'ALL'
10122 , p_override_seg_flag => 'Y'
10123 );
10124
10125 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10126
10127 xla_ae_lines_pkg.set_segment(
10128 p_to_segment_code => 'GL_BALANCING'
10129 , p_segment_value => l_segment
10130 , p_from_segment_code => l_adr_value_segment_code
10131 , p_from_combination_id => l_adr_value_combination_id
10135 , p_flexfield_segment_code => l_adr_flexfield_segment_code
10132 , p_value_type_code => l_adr_value_type_code
10133 , p_transaction_coa_id => l_adr_transaction_coa_id
10134 , p_accounting_coa_id => l_adr_accounting_coa_id
10136 , p_flex_value_set_id => l_adr_flex_value_set_id
10137 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
10138 , p_adr_type_code => 'S'
10139 , p_component_type => l_component_type
10140 , p_component_code => l_component_code
10141 , p_component_type_code => l_component_type_code
10142 , p_component_appl_id => l_component_appl_id
10143 , p_amb_context_code => l_amb_context_code
10144 , p_entity_code => 'AP_INVOICES'
10145 , p_event_class_code => 'CREDIT MEMOS'
10146 , p_side => 'ALL'
10147 );
10148
10149 END IF;
10150
10151 --
10152 --
10153 END IF;
10154 --
10155 -- Bug 4922099
10156 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
10157 (NVL(l_enc_upg_option, 'N') = 'O')
10158 ) AND
10159 (l_bflow_method_code = 'PRIOR_ENTRY')
10160 )
10161 THEN
10162 IF
10163 --
10164 1 = 2
10165 --
10166 THEN
10167 xla_accounting_err_pkg.build_message
10168 (p_appli_s_name => 'XLA'
10169 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
10170 ,p_token_1 => 'LINE_NUMBER'
10171 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
10172 ,p_token_2 => 'LINE_TYPE_NAME'
10173 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
10174 l_component_type
10175 ,l_component_code
10176 ,l_component_type_code
10177 ,l_component_appl_id
10178 ,l_amb_context_code
10179 ,l_entity_code
10180 ,l_event_class_code
10181 )
10182 ,p_token_3 => 'OWNER'
10183 ,p_value_3 => xla_lookups_pkg.get_meaning(
10184 p_lookup_type => 'XLA_OWNER_TYPE'
10185 ,p_lookup_code => l_component_type_code
10186 )
10187 ,p_token_4 => 'PRODUCT_NAME'
10188 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
10189 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
10190 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
10191 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
10192 ,p_ae_header_id => NULL
10193 );
10194
10195 IF (C_LEVEL_ERROR>= g_log_level) THEN
10196 trace
10197 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
10198 ,p_level => C_LEVEL_ERROR
10199 ,p_module => l_log_module);
10200 END IF;
10201 END IF;
10202 END IF;
10203 --
10204 --
10205 ------------------------------------------------------------------------------------------------
10206 -- 4219869 Business Flow
10207 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
10208 -- Prior Entry. Currently, the following code is always generated.
10209 ------------------------------------------------------------------------------------------------
10210 XLA_AE_LINES_PKG.ValidateCurrentLine;
10211
10212 ------------------------------------------------------------------------------------
10213 -- 4219869 Business Flow
10214 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
10215 ------------------------------------------------------------------------------------
10216 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
10217
10218 ----------------------------------------------------------------------------------
10219 -- 4219869 Business Flow
10220 -- Update journal entry status -- Need to generate this within IF <condition>
10221 ----------------------------------------------------------------------------------
10222 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
10223 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
10224 ,p_balance_type_code => l_balance_type_code
10225 );
10226
10227 -------------------------------------------------------------------------------------------
10231 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
10228 -- 4262811 - Generate the Accrual Reversal lines
10229 -------------------------------------------------------------------------------------------
10230 BEGIN
10232 (g_array_event(p_event_id).array_value_num('header_index'));
10233 IF l_acc_rev_flag IS NULL THEN
10234 l_acc_rev_flag := 'N';
10235 END IF;
10236 EXCEPTION
10237 WHEN OTHERS THEN
10238 l_acc_rev_flag := 'N';
10239 END;
10240 --
10241 IF (l_acc_rev_flag = 'Y') THEN
10242
10243 -- 4645092 ------------------------------------------------------------------------------
10244 -- To allow MPA report to determine if it should generate report process
10245 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
10246 ------------------------------------------------------------------------------------------
10247
10248 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
10249 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
10250 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
10251 -- call ADRs
10252 -- Bug 4922099
10253 --
10254 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
10255 (NVL(l_actual_upg_option, 'N') = 'O') OR
10256 (NVL(l_enc_upg_option, 'N') = 'O')
10257 )
10258 THEN
10259 NULL;
10260 --
10261 --
10262
10263 l_ccid := AcctDerRule_30(
10264 p_application_id => p_application_id
10265 , p_ae_header_id => l_ae_header_id
10266 , p_source_15 => p_source_15
10267 , p_source_15_meaning => p_source_15_meaning
10268 , p_source_20 => p_source_20
10269 , p_source_21 => p_source_21
10270 , p_source_22 => p_source_22
10271 , p_source_22_meaning => p_source_22_meaning
10272 , p_source_23 => p_source_23
10273 , p_source_30 => p_source_30
10274 , p_source_47 => p_source_47
10275 , p_source_47_meaning => p_source_47_meaning
10276 , x_transaction_coa_id => l_adr_transaction_coa_id
10277 , x_accounting_coa_id => l_adr_accounting_coa_id
10278 , x_value_type_code => l_adr_value_type_code
10279 , p_side => 'ALL'
10280 );
10281
10282 xla_ae_lines_pkg.set_ccid(
10283 p_code_combination_id => l_ccid
10284 , p_value_type_code => l_adr_value_type_code
10285 , p_transaction_coa_id => l_adr_transaction_coa_id
10286 , p_accounting_coa_id => l_adr_accounting_coa_id
10287 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
10288 , p_adr_type_code => 'S'
10289 , p_component_type => l_component_type
10290 , p_component_code => l_component_code
10291 , p_component_type_code => l_component_type_code
10292 , p_component_appl_id => l_component_appl_id
10293 , p_amb_context_code => l_amb_context_code
10294 , p_side => 'ALL'
10295 );
10296
10297
10298 l_segment := AcctDerRule_9(
10299 p_application_id => p_application_id
10300 , p_ae_header_id => l_ae_header_id
10301 , p_source_15 => p_source_15
10302 , p_source_15_meaning => p_source_15_meaning
10303 , p_source_20 => p_source_20
10304 , p_source_22 => p_source_22
10305 , p_source_22_meaning => p_source_22_meaning
10306 , x_transaction_coa_id => l_adr_transaction_coa_id
10307 , x_accounting_coa_id => l_adr_accounting_coa_id
10308 , x_flexfield_segment_code => l_adr_flexfield_segment_code
10309 , x_flex_value_set_id => l_adr_flex_value_set_id
10310 , x_value_type_code => l_adr_value_type_code
10311 , x_value_combination_id => l_adr_value_combination_id
10312 , x_value_segment_code => l_adr_value_segment_code
10313 , p_side => 'DEBIT'
10314 , p_override_seg_flag => 'Y'
10315 );
10316
10317 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10318
10319 xla_ae_lines_pkg.set_segment(
10320 p_to_segment_code => 'GL_ACCOUNT'
10321 , p_segment_value => l_segment
10322 , p_from_segment_code => l_adr_value_segment_code
10323 , p_from_combination_id => l_adr_value_combination_id
10324 , p_value_type_code => l_adr_value_type_code
10325 , p_transaction_coa_id => l_adr_transaction_coa_id
10326 , p_accounting_coa_id => l_adr_accounting_coa_id
10327 , p_flexfield_segment_code => l_adr_flexfield_segment_code
10328 , p_flex_value_set_id => l_adr_flex_value_set_id
10329 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
10330 , p_adr_type_code => 'S'
10331 , p_component_type => l_component_type
10332 , p_component_code => l_component_code
10333 , p_component_type_code => l_component_type_code
10334 , p_component_appl_id => l_component_appl_id
10335 , p_amb_context_code => l_amb_context_code
10336 , p_entity_code => 'AP_INVOICES'
10337 , p_event_class_code => 'CREDIT MEMOS'
10338 , p_side => 'DEBIT'
10339 );
10340
10341 END IF;
10345 , p_ae_header_id => l_ae_header_id
10342
10343 l_segment := AcctDerRule_10(
10344 p_application_id => p_application_id
10346 , p_source_15 => p_source_15
10347 , p_source_15_meaning => p_source_15_meaning
10348 , p_source_22 => p_source_22
10349 , p_source_22_meaning => p_source_22_meaning
10350 , p_source_23 => p_source_23
10351 , x_transaction_coa_id => l_adr_transaction_coa_id
10352 , x_accounting_coa_id => l_adr_accounting_coa_id
10353 , x_flexfield_segment_code => l_adr_flexfield_segment_code
10354 , x_flex_value_set_id => l_adr_flex_value_set_id
10355 , x_value_type_code => l_adr_value_type_code
10356 , x_value_combination_id => l_adr_value_combination_id
10357 , x_value_segment_code => l_adr_value_segment_code
10358 , p_side => 'CREDIT'
10359 , p_override_seg_flag => 'Y'
10360 );
10361
10362 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10363
10364 xla_ae_lines_pkg.set_segment(
10365 p_to_segment_code => 'GL_ACCOUNT'
10366 , p_segment_value => l_segment
10367 , p_from_segment_code => l_adr_value_segment_code
10368 , p_from_combination_id => l_adr_value_combination_id
10369 , p_value_type_code => l_adr_value_type_code
10370 , p_transaction_coa_id => l_adr_transaction_coa_id
10371 , p_accounting_coa_id => l_adr_accounting_coa_id
10372 , p_flexfield_segment_code => l_adr_flexfield_segment_code
10373 , p_flex_value_set_id => l_adr_flex_value_set_id
10374 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
10375 , p_adr_type_code => 'S'
10376 , p_component_type => l_component_type
10377 , p_component_code => l_component_code
10378 , p_component_type_code => l_component_type_code
10379 , p_component_appl_id => l_component_appl_id
10380 , p_amb_context_code => l_amb_context_code
10381 , p_entity_code => 'AP_INVOICES'
10382 , p_event_class_code => 'CREDIT MEMOS'
10383 , p_side => 'CREDIT'
10384 );
10385
10386 END IF;
10387
10388 l_segment := AcctDerRule_23(
10389 p_application_id => p_application_id
10390 , p_ae_header_id => l_ae_header_id
10391 , p_source_15 => p_source_15
10392 , p_source_15_meaning => p_source_15_meaning
10393 , p_source_22 => p_source_22
10394 , p_source_22_meaning => p_source_22_meaning
10395 , p_source_30 => p_source_30
10396 , x_transaction_coa_id => l_adr_transaction_coa_id
10397 , x_accounting_coa_id => l_adr_accounting_coa_id
10398 , x_flexfield_segment_code => l_adr_flexfield_segment_code
10399 , x_flex_value_set_id => l_adr_flex_value_set_id
10400 , x_value_type_code => l_adr_value_type_code
10401 , x_value_combination_id => l_adr_value_combination_id
10402 , x_value_segment_code => l_adr_value_segment_code
10403 , p_side => 'ALL'
10404 , p_override_seg_flag => 'Y'
10405 );
10406
10407 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10408
10409 xla_ae_lines_pkg.set_segment(
10410 p_to_segment_code => 'GL_BALANCING'
10411 , p_segment_value => l_segment
10412 , p_from_segment_code => l_adr_value_segment_code
10413 , p_from_combination_id => l_adr_value_combination_id
10414 , p_value_type_code => l_adr_value_type_code
10415 , p_transaction_coa_id => l_adr_transaction_coa_id
10416 , p_accounting_coa_id => l_adr_accounting_coa_id
10417 , p_flexfield_segment_code => l_adr_flexfield_segment_code
10418 , p_flex_value_set_id => l_adr_flex_value_set_id
10419 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
10420 , p_adr_type_code => 'S'
10421 , p_component_type => l_component_type
10422 , p_component_code => l_component_code
10423 , p_component_type_code => l_component_type_code
10424 , p_component_appl_id => l_component_appl_id
10425 , p_amb_context_code => l_amb_context_code
10426 , p_entity_code => 'AP_INVOICES'
10427 , p_event_class_code => 'CREDIT MEMOS'
10428 , p_side => 'ALL'
10429 );
10430
10431 END IF;
10432
10433 --
10434 --
10435 END IF;
10436
10437 --
10438 -- Update the line information that should be overwritten
10439 --
10440 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
10441 p_header_num => 1);
10442 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
10443
10444 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10445
10446 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
10447 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
10448 END IF;
10449
10450 --
10454 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
10451 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
10452 --
10453 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
10455 ELSE
10456 ---------------------------------------------------------------------------------------------------
10457 -- 4262811a Switch Sign
10458 ---------------------------------------------------------------------------------------------------
10459 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10460 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10461 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10462 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10463 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10464 -- 5132302
10465 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10466 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10467
10468 END IF;
10469
10470 -- 4955764
10471 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10472 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
10473
10474
10475 XLA_AE_LINES_PKG.ValidateCurrentLine;
10476 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
10477
10478 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
10479 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
10480 ,p_balance_type_code => l_balance_type_code);
10481
10482 END IF;
10483
10484 -----------------------------------------------------------------------------------------
10485 -- 4262811 Multiperiod Accounting
10486 -----------------------------------------------------------------------------------------
10487 -- No MPA option is assigned.
10488
10489
10490 END IF;
10491 END IF;
10492 --
10493
10494 --
10495 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
10496 trace
10497 (p_msg => 'END of AcctLineType_51'
10498 ,p_level => C_LEVEL_PROCEDURE
10499 ,p_module => l_log_module);
10500 END IF;
10501 --
10502 EXCEPTION
10503 WHEN xla_exceptions_pkg.application_exception THEN
10504 RAISE;
10505 WHEN OTHERS THEN
10506 xla_exceptions_pkg.raise_message
10507 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_51');
10508 END AcctLineType_51;
10509 --
10510
10511 ---------------------------------------
10512 --
10513 -- PRIVATE FUNCTION
10514 -- AcctLineType_52
10515 --
10516 ---------------------------------------
10517 PROCEDURE AcctLineType_52 (
10518 p_application_id IN NUMBER
10519 ,p_event_id IN NUMBER
10520 ,p_calculate_acctd_flag IN VARCHAR2
10521 ,p_calculate_g_l_flag IN VARCHAR2
10522 ,p_actual_flag IN OUT VARCHAR2
10523 ,p_balance_type_code OUT VARCHAR2
10524 ,p_gain_or_loss_ref OUT VARCHAR2
10525
10526 --Invoice Distribution Description
10527 , p_source_1 IN VARCHAR2
10528 --Automatic Offsets Value
10529 , p_source_15 IN VARCHAR2
10530 , p_source_15_meaning IN VARCHAR2
10531 --Purchase Order Rate Variance Gain Account
10532 , p_source_20 IN NUMBER
10533 --Invoice Distribution Ledger Amount
10534 , p_source_21 IN NUMBER
10535 --Destination Type of the PO Distribution
10536 , p_source_22 IN VARCHAR2
10537 , p_source_22_meaning IN VARCHAR2
10538 --Purchase Order Rate Variance Loss Account
10539 , p_source_23 IN NUMBER
10540 --Invoice Distribution Account
10541 , p_source_30 IN NUMBER
10542 --Invoice Distribution Type
10543 , p_source_33 IN VARCHAR2
10544 , p_source_33_meaning IN VARCHAR2
10545 --Automatic Offsets Flag
10546 , p_source_47 IN VARCHAR2
10547 , p_source_47_meaning IN VARCHAR2
10548 --Accounting Reversal Indicator
10549 , p_source_53 IN VARCHAR2
10550 --Distribution Link Type
10551 , p_source_55 IN VARCHAR2
10552 --Allocation to Main Distribution Identifier
10553 , p_source_57 IN NUMBER
10554 --Invoice Identifier
10555 , p_source_58 IN NUMBER
10556 --Invoice Distribution Identifier
10557 , p_source_64 IN NUMBER
10558 --Payables Encumbrance Upgrade Credit Account
10559 , p_source_65 IN NUMBER
10560 --Payables Encumbrance Upgrade Credit Amount
10561 , p_source_66 IN NUMBER
10562 --Invoice Currency Code
10563 , p_source_67 IN VARCHAR2
10564 --Payables Encumbrance Upgrade Credit Base Amount
10565 , p_source_68 IN NUMBER
10566 --Payables Encumbrance Upgrade Debit Account
10567 , p_source_69 IN NUMBER
10568 --Payables Encumbrance Upgrade Debit Amount
10569 , p_source_70 IN NUMBER
10570 --Payables Encumbrance Upgrade Debit Base Amount
10571 , p_source_71 IN NUMBER
10572 --Payables Encumbrance Upgrade Option
10573 , p_source_72 IN VARCHAR2
10574 --Deferred Accounting End Date
10575 , p_source_77 IN DATE
10576 --Deferred Accounting Option
10580 --Override Accounted Amount Indicator
10577 , p_source_78 IN VARCHAR2
10578 --Deferred Accounting Start Date
10579 , p_source_79 IN DATE
10581 , p_source_80 IN VARCHAR2
10582 , p_source_80_meaning IN VARCHAR2
10583 --Invoice Supplier Identifier
10584 , p_source_81 IN NUMBER
10585 --Invoice Supplier Site Identifier
10586 , p_source_82 IN NUMBER
10587 --Third Party Type
10588 , p_source_83 IN VARCHAR2
10589 --Parent Reversal Identifier
10590 , p_source_84 IN NUMBER
10591 --Invoice Distribution Tax Line Identifier
10592 , p_source_86 IN NUMBER
10593 --Invoice Distribution Tax Distribution Identifier from Tax
10594 , p_source_87 IN NUMBER
10595 --Invoice Distribution Summary Tax Line Identifier
10596 , p_source_88 IN NUMBER
10597 --Payables Upgrade Credit Encumbrance Type Identifier
10598 , p_source_89 IN NUMBER
10599 --Payables Upgrade Debit Encumbrance Type Identifier
10600 , p_source_90 IN NUMBER
10601 --Business Flow Accounts Payable Application Identifier
10602 , p_source_91 IN NUMBER
10603 --Business Flow Invoice Distribution Type
10604 , p_source_92 IN VARCHAR2
10605 --Business Flow Invoice Entity Code
10606 , p_source_93 IN VARCHAR2
10607 --Business Flow Invoice Distribution Identifier
10608 , p_source_94 IN NUMBER
10609 --Business Flow Invoice Identifier
10610 , p_source_95 IN NUMBER
10611 )
10612 IS
10613
10614 l_component_type VARCHAR2(80);
10615 l_component_code VARCHAR2(30);
10616 l_component_type_code VARCHAR2(1);
10617 l_component_appl_id INTEGER;
10618 l_amb_context_code VARCHAR2(30);
10619 l_entity_code VARCHAR2(30);
10620 l_event_class_code VARCHAR2(30);
10621 l_ae_header_id NUMBER;
10622 l_event_type_code VARCHAR2(30);
10623 l_line_definition_code VARCHAR2(30);
10624 l_line_definition_owner_code VARCHAR2(1);
10625 --
10626 -- adr variables
10627 l_segment VARCHAR2(30);
10628 l_ccid NUMBER;
10629 l_adr_transaction_coa_id NUMBER;
10630 l_adr_accounting_coa_id NUMBER;
10631 l_adr_flexfield_segment_code VARCHAR2(30);
10632 l_adr_flex_value_set_id NUMBER;
10633 l_adr_value_type_code VARCHAR2(30);
10634 l_adr_value_combination_id NUMBER;
10635 l_adr_value_segment_code VARCHAR2(30);
10636
10637 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
10638 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
10639 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
10640 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
10641
10642 -- 4262811 Variables ------------------------------------------------------------------------------------------
10643 l_entered_amt_idx NUMBER;
10644 l_accted_amt_idx NUMBER;
10645 l_acc_rev_flag VARCHAR2(1);
10646 l_accrual_line_num NUMBER;
10647 l_tmp_amt NUMBER;
10648 l_acc_rev_natural_side_code VARCHAR2(1);
10649
10650 l_num_entries NUMBER;
10651 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
10652 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
10653 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
10654 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
10655 l_recog_line_1 NUMBER;
10656 l_recog_line_2 NUMBER;
10657
10658 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
10659 l_bflow_applied_to_amt NUMBER; -- 5132302
10660 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
10661
10662 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
10663
10664 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
10665 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
10666
10667 ---------------------------------------------------------------------------------------------------------------
10668
10669
10670 --
10671 -- bulk performance
10672 --
10673 l_balance_type_code VARCHAR2(1);
10674 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
10675 l_log_module VARCHAR2(240);
10676
10677 --
10678 -- Upgrade strategy
10679 --
10680 l_actual_upg_option VARCHAR2(1);
10681 l_enc_upg_option VARCHAR2(1);
10682
10683 --
10684 BEGIN
10685 --
10686 IF g_log_enabled THEN
10687 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_52';
10688 END IF;
10689 --
10690 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
10691
10692 trace
10693 (p_msg => 'BEGIN of AcctLineType_52'
10694 ,p_level => C_LEVEL_PROCEDURE
10695 ,p_module => l_log_module);
10696
10697 END IF;
10698 --
10699 l_component_type := 'AMB_JLT';
10700 l_component_code := 'AP_ALC_EX_RATE_VAR_DM';
10701 l_component_type_code := 'S';
10702 l_component_appl_id := 200;
10703 l_amb_context_code := 'DEFAULT';
10704 l_entity_code := 'AP_INVOICES';
10705 l_event_class_code := 'DEBIT MEMOS';
10706 l_event_type_code := 'DEBIT MEMOS_ALL';
10707 l_line_definition_owner_code := 'S';
10711 l_segment := NULL;
10708 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
10709 --
10710 l_balance_type_code := 'A';
10712 l_ccid := NULL;
10713 l_adr_transaction_coa_id := NULL;
10714 l_adr_accounting_coa_id := NULL;
10715 l_adr_flexfield_segment_code := NULL;
10716 l_adr_flex_value_set_id := NULL;
10717 l_adr_value_type_code := NULL;
10718 l_adr_value_combination_id := NULL;
10719 l_adr_value_segment_code := NULL;
10720
10721 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
10722 l_bflow_class_code := ''; -- 4219869 Business Flow
10723 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
10724 l_budgetary_control_flag := 'N';
10725
10726 l_bflow_applied_to_amt_idx := NULL; -- 5132302
10727 l_bflow_applied_to_amt := NULL; -- 5132302
10728 l_entered_amt_idx := NULL; -- 4262811
10729 l_accted_amt_idx := NULL; -- 4262811
10730 l_acc_rev_flag := NULL; -- 4262811
10731 l_accrual_line_num := NULL; -- 4262811
10732 l_tmp_amt := NULL; -- 4262811
10733 --
10734 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
10735 (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
10736 return;
10737 END IF;
10738
10739 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
10740 l_balance_type_code <> 'B' THEN
10741 IF NVL(p_source_33,'
10742 ') = 'ACCRUAL'
10743 THEN
10744
10745 --
10746 XLA_AE_LINES_PKG.SetNewLine;
10747
10748 p_balance_type_code := l_balance_type_code;
10749 -- set the flag so later we will know whether the gain loss line needs to be created
10750
10751 IF(l_balance_type_code = 'A' ) THEN
10752 p_actual_flag :='G';
10753 END IF;
10754
10755 --
10756 -- bulk performance
10757 --
10758 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
10759 p_header_num => 0); -- 4262811
10760 --
10761 -- set accounting line options
10762 --
10763 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
10764 p_natural_side_code => 'G'
10765 , p_gain_or_loss_flag => 'N'
10766 , p_gl_transfer_mode_code => 'S'
10767 , p_acct_entry_type_code => 'A'
10768 , p_switch_side_flag => ''
10769 , p_merge_duplicate_code => 'A'
10770 );
10771 --
10772 l_acc_rev_natural_side_code := 'C'; -- 4262811
10773 --
10774 --
10775 -- set accounting line type info
10776 --
10777 xla_ae_lines_pkg.SetAcctLineType
10778 (p_component_type => l_component_type
10779 ,p_event_type_code => l_event_type_code
10780 ,p_line_definition_owner_code => l_line_definition_owner_code
10781 ,p_line_definition_code => l_line_definition_code
10782 ,p_accounting_line_code => l_component_code
10783 ,p_accounting_line_type_code => l_component_type_code
10784 ,p_accounting_line_appl_id => l_component_appl_id
10785 ,p_amb_context_code => l_amb_context_code
10786 ,p_entity_code => l_entity_code
10787 ,p_event_class_code => l_event_class_code);
10788 --
10789 -- set accounting class
10790 --
10791 xla_ae_lines_pkg.SetAcctClass(
10792 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
10793 , p_ae_header_id => l_ae_header_id
10794 );
10795
10796 --
10797 -- set rounding class
10798 --
10799 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
10800 'EXCHANGE_RATE_VARIANCE';
10801
10802 --
10803 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
10804 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
10805 --
10806 -- bulk performance
10807 --
10808 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
10809
10810 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
10811 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
10812
10813 -- 4955764
10814 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10815 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
10816
10817 -- 4458381 Public Sector Enh
10818
10819 --
10820 -- set accounting attributes for the line type
10821 --
10822 l_entered_amt_idx := NULL;
10823 l_accted_amt_idx := 23;
10824 l_bflow_applied_to_amt_idx := NULL; -- 5132302
10825 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
10826 l_rec_acct_attrs.array_char_value(1) := p_source_53;
10827 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
10828 l_rec_acct_attrs.array_num_value(2) :=
10829 xla_ae_sources_pkg.GetSystemSourceNum(
10833 );
10830 p_source_code => 'XLA_EVENT_APPL_ID'
10831 , p_source_type_code => 'Y'
10832 , p_source_application_id => 602
10834 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
10835 l_rec_acct_attrs.array_char_value(3) := p_source_55;
10836 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
10837 l_rec_acct_attrs.array_char_value(4) :=
10838 xla_ae_sources_pkg.GetSystemSourceChar(
10839 p_source_code => 'XLA_ENTITY_CODE'
10840 , p_source_type_code => 'Y'
10841 , p_source_application_id => 602
10842 );
10843 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
10844 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
10845 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
10846 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
10847 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
10848 l_rec_acct_attrs.array_num_value(7) := p_source_91;
10849 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
10850 l_rec_acct_attrs.array_char_value(8) := p_source_92;
10851 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
10852 l_rec_acct_attrs.array_char_value(9) := p_source_93;
10853 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
10854 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
10855 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
10856 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
10857 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
10858 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
10859 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
10860 l_rec_acct_attrs.array_char_value(13) := p_source_55;
10861 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
10862 l_rec_acct_attrs.array_num_value(14) := p_source_65;
10863 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
10864 l_rec_acct_attrs.array_num_value(15) := p_source_66;
10865 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
10866 l_rec_acct_attrs.array_char_value(16) := p_source_67;
10867 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
10868 l_rec_acct_attrs.array_num_value(17) := p_source_68;
10869 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
10870 l_rec_acct_attrs.array_num_value(18) := p_source_69;
10871 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
10872 l_rec_acct_attrs.array_num_value(19) := p_source_70;
10873 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
10874 l_rec_acct_attrs.array_char_value(20) := p_source_67;
10875 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
10876 l_rec_acct_attrs.array_num_value(21) := p_source_71;
10877 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
10878 l_rec_acct_attrs.array_char_value(22) := p_source_72;
10879 l_rec_acct_attrs.array_acct_attr_code(23) := 'LEDGER_AMOUNT';
10880 l_rec_acct_attrs.array_num_value(23) := p_source_21;
10881 l_rec_acct_attrs.array_acct_attr_code(24) := 'MULTIPERIOD_END_DATE';
10882 l_rec_acct_attrs.array_date_value(24) := p_source_77;
10883 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_OPTION';
10884 l_rec_acct_attrs.array_char_value(25) := p_source_78;
10885 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_START_DATE';
10886 l_rec_acct_attrs.array_date_value(26) := p_source_79;
10887 l_rec_acct_attrs.array_acct_attr_code(27) := 'OVERRIDE_ACCTD_AMT_FLAG';
10888 l_rec_acct_attrs.array_char_value(27) := p_source_80;
10889 l_rec_acct_attrs.array_acct_attr_code(28) := 'PARTY_ID';
10890 l_rec_acct_attrs.array_num_value(28) := p_source_81;
10891 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_SITE_ID';
10892 l_rec_acct_attrs.array_num_value(29) := p_source_82;
10893 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
10894 l_rec_acct_attrs.array_char_value(30) := p_source_83;
10895 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
10896 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_84);
10897 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
10898 l_rec_acct_attrs.array_char_value(32) := p_source_55;
10899 l_rec_acct_attrs.array_acct_attr_code(33) := 'TAX_LINE_REF_ID';
10900 l_rec_acct_attrs.array_num_value(33) := p_source_86;
10901 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_REC_NREC_DIST_REF_ID';
10902 l_rec_acct_attrs.array_num_value(34) := p_source_87;
10903 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_SUMMARY_LINE_REF_ID';
10904 l_rec_acct_attrs.array_num_value(35) := p_source_88;
10905 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
10906 l_rec_acct_attrs.array_num_value(36) := p_source_89;
10907 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
10908 l_rec_acct_attrs.array_num_value(37) := p_source_90;
10909
10910 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
10911 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
10912
10913 ---------------------------------------------------------------------------------------------------------------
10914 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
10915 ---------------------------------------------------------------------------------------------------------------
10919 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10916 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
10917
10918 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10920
10921 IF xla_accounting_cache_pkg.GetValueChar
10922 (p_source_code => 'LEDGER_CATEGORY_CODE'
10923 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
10924 AND l_bflow_method_code = 'PRIOR_ENTRY'
10925 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
10926 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
10927 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
10928 )
10929 THEN
10930 xla_ae_lines_pkg.BflowUpgEntry
10931 (p_business_method_code => l_bflow_method_code
10932 ,p_business_class_code => l_bflow_class_code
10933 ,p_balance_type => l_balance_type_code);
10934 ELSE
10935 NULL;
10936 -- No business flow processing for business flow method of NONE.
10937 END IF;
10938
10939 --
10940 -- call analytical criteria
10941 --
10942
10943 --
10944 -- call description
10945 --
10946
10947 xla_ae_lines_pkg.SetLineDescription(
10948 p_ae_header_id => l_ae_header_id
10949 ,p_description => Description_1 (
10950 p_application_id => p_application_id
10951 , p_ae_header_id => l_ae_header_id
10952 , p_source_1 => p_source_1
10953 )
10954 );
10955
10956
10957 --
10958 -- call ADRs
10959 -- Bug 4922099
10960 --
10961 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
10962 (NVL(l_actual_upg_option, 'N') = 'O') OR
10963 (NVL(l_enc_upg_option, 'N') = 'O')
10964 )
10965 THEN
10966 NULL;
10967 --
10968 --
10969
10970 l_ccid := AcctDerRule_30(
10971 p_application_id => p_application_id
10972 , p_ae_header_id => l_ae_header_id
10973 , p_source_15 => p_source_15
10974 , p_source_15_meaning => p_source_15_meaning
10975 , p_source_20 => p_source_20
10976 , p_source_21 => p_source_21
10977 , p_source_22 => p_source_22
10978 , p_source_22_meaning => p_source_22_meaning
10979 , p_source_23 => p_source_23
10980 , p_source_30 => p_source_30
10981 , p_source_47 => p_source_47
10982 , p_source_47_meaning => p_source_47_meaning
10983 , x_transaction_coa_id => l_adr_transaction_coa_id
10984 , x_accounting_coa_id => l_adr_accounting_coa_id
10985 , x_value_type_code => l_adr_value_type_code
10986 , p_side => 'ALL'
10987 );
10988
10989 xla_ae_lines_pkg.set_ccid(
10990 p_code_combination_id => l_ccid
10991 , p_value_type_code => l_adr_value_type_code
10992 , p_transaction_coa_id => l_adr_transaction_coa_id
10993 , p_accounting_coa_id => l_adr_accounting_coa_id
10994 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
10995 , p_adr_type_code => 'S'
10996 , p_component_type => l_component_type
10997 , p_component_code => l_component_code
10998 , p_component_type_code => l_component_type_code
10999 , p_component_appl_id => l_component_appl_id
11000 , p_amb_context_code => l_amb_context_code
11001 , p_side => 'ALL'
11002 );
11003
11004
11005 l_segment := AcctDerRule_9(
11006 p_application_id => p_application_id
11007 , p_ae_header_id => l_ae_header_id
11008 , p_source_15 => p_source_15
11009 , p_source_15_meaning => p_source_15_meaning
11010 , p_source_20 => p_source_20
11011 , p_source_22 => p_source_22
11012 , p_source_22_meaning => p_source_22_meaning
11013 , x_transaction_coa_id => l_adr_transaction_coa_id
11014 , x_accounting_coa_id => l_adr_accounting_coa_id
11015 , x_flexfield_segment_code => l_adr_flexfield_segment_code
11016 , x_flex_value_set_id => l_adr_flex_value_set_id
11017 , x_value_type_code => l_adr_value_type_code
11018 , x_value_combination_id => l_adr_value_combination_id
11019 , x_value_segment_code => l_adr_value_segment_code
11020 , p_side => 'DEBIT'
11021 , p_override_seg_flag => 'Y'
11022 );
11023
11024 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11025
11026 xla_ae_lines_pkg.set_segment(
11027 p_to_segment_code => 'GL_ACCOUNT'
11028 , p_segment_value => l_segment
11029 , p_from_segment_code => l_adr_value_segment_code
11030 , p_from_combination_id => l_adr_value_combination_id
11031 , p_value_type_code => l_adr_value_type_code
11032 , p_transaction_coa_id => l_adr_transaction_coa_id
11033 , p_accounting_coa_id => l_adr_accounting_coa_id
11034 , p_flexfield_segment_code => l_adr_flexfield_segment_code
11035 , p_flex_value_set_id => l_adr_flex_value_set_id
11036 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
11037 , p_adr_type_code => 'S'
11041 , p_component_appl_id => l_component_appl_id
11038 , p_component_type => l_component_type
11039 , p_component_code => l_component_code
11040 , p_component_type_code => l_component_type_code
11042 , p_amb_context_code => l_amb_context_code
11043 , p_entity_code => 'AP_INVOICES'
11044 , p_event_class_code => 'DEBIT MEMOS'
11045 , p_side => 'DEBIT'
11046 );
11047
11048 END IF;
11049
11050 l_segment := AcctDerRule_10(
11051 p_application_id => p_application_id
11052 , p_ae_header_id => l_ae_header_id
11053 , p_source_15 => p_source_15
11054 , p_source_15_meaning => p_source_15_meaning
11055 , p_source_22 => p_source_22
11056 , p_source_22_meaning => p_source_22_meaning
11057 , p_source_23 => p_source_23
11058 , x_transaction_coa_id => l_adr_transaction_coa_id
11059 , x_accounting_coa_id => l_adr_accounting_coa_id
11060 , x_flexfield_segment_code => l_adr_flexfield_segment_code
11061 , x_flex_value_set_id => l_adr_flex_value_set_id
11062 , x_value_type_code => l_adr_value_type_code
11063 , x_value_combination_id => l_adr_value_combination_id
11064 , x_value_segment_code => l_adr_value_segment_code
11065 , p_side => 'CREDIT'
11066 , p_override_seg_flag => 'Y'
11067 );
11068
11069 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11070
11071 xla_ae_lines_pkg.set_segment(
11072 p_to_segment_code => 'GL_ACCOUNT'
11073 , p_segment_value => l_segment
11074 , p_from_segment_code => l_adr_value_segment_code
11075 , p_from_combination_id => l_adr_value_combination_id
11076 , p_value_type_code => l_adr_value_type_code
11077 , p_transaction_coa_id => l_adr_transaction_coa_id
11078 , p_accounting_coa_id => l_adr_accounting_coa_id
11079 , p_flexfield_segment_code => l_adr_flexfield_segment_code
11080 , p_flex_value_set_id => l_adr_flex_value_set_id
11081 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
11082 , p_adr_type_code => 'S'
11083 , p_component_type => l_component_type
11084 , p_component_code => l_component_code
11085 , p_component_type_code => l_component_type_code
11086 , p_component_appl_id => l_component_appl_id
11087 , p_amb_context_code => l_amb_context_code
11088 , p_entity_code => 'AP_INVOICES'
11089 , p_event_class_code => 'DEBIT MEMOS'
11090 , p_side => 'CREDIT'
11091 );
11092
11093 END IF;
11094
11095 l_segment := AcctDerRule_23(
11096 p_application_id => p_application_id
11097 , p_ae_header_id => l_ae_header_id
11098 , p_source_15 => p_source_15
11099 , p_source_15_meaning => p_source_15_meaning
11100 , p_source_22 => p_source_22
11101 , p_source_22_meaning => p_source_22_meaning
11102 , p_source_30 => p_source_30
11103 , x_transaction_coa_id => l_adr_transaction_coa_id
11104 , x_accounting_coa_id => l_adr_accounting_coa_id
11105 , x_flexfield_segment_code => l_adr_flexfield_segment_code
11106 , x_flex_value_set_id => l_adr_flex_value_set_id
11107 , x_value_type_code => l_adr_value_type_code
11108 , x_value_combination_id => l_adr_value_combination_id
11109 , x_value_segment_code => l_adr_value_segment_code
11110 , p_side => 'ALL'
11111 , p_override_seg_flag => 'Y'
11112 );
11113
11114 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11115
11116 xla_ae_lines_pkg.set_segment(
11117 p_to_segment_code => 'GL_BALANCING'
11118 , p_segment_value => l_segment
11119 , p_from_segment_code => l_adr_value_segment_code
11120 , p_from_combination_id => l_adr_value_combination_id
11121 , p_value_type_code => l_adr_value_type_code
11122 , p_transaction_coa_id => l_adr_transaction_coa_id
11123 , p_accounting_coa_id => l_adr_accounting_coa_id
11124 , p_flexfield_segment_code => l_adr_flexfield_segment_code
11125 , p_flex_value_set_id => l_adr_flex_value_set_id
11126 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
11127 , p_adr_type_code => 'S'
11128 , p_component_type => l_component_type
11129 , p_component_code => l_component_code
11130 , p_component_type_code => l_component_type_code
11131 , p_component_appl_id => l_component_appl_id
11132 , p_amb_context_code => l_amb_context_code
11133 , p_entity_code => 'AP_INVOICES'
11134 , p_event_class_code => 'DEBIT MEMOS'
11135 , p_side => 'ALL'
11136 );
11137
11138 END IF;
11139
11140 --
11141 --
11142 END IF;
11143 --
11144 -- Bug 4922099
11145 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
11146 (NVL(l_enc_upg_option, 'N') = 'O')
11147 ) AND
11148 (l_bflow_method_code = 'PRIOR_ENTRY')
11149 )
11150 THEN
11151 IF
11152 --
11153 1 = 2
11157 (p_appli_s_name => 'XLA'
11154 --
11155 THEN
11156 xla_accounting_err_pkg.build_message
11158 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
11159 ,p_token_1 => 'LINE_NUMBER'
11160 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
11161 ,p_token_2 => 'LINE_TYPE_NAME'
11162 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
11163 l_component_type
11164 ,l_component_code
11165 ,l_component_type_code
11166 ,l_component_appl_id
11167 ,l_amb_context_code
11168 ,l_entity_code
11169 ,l_event_class_code
11170 )
11171 ,p_token_3 => 'OWNER'
11172 ,p_value_3 => xla_lookups_pkg.get_meaning(
11173 p_lookup_type => 'XLA_OWNER_TYPE'
11174 ,p_lookup_code => l_component_type_code
11175 )
11176 ,p_token_4 => 'PRODUCT_NAME'
11177 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
11178 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
11179 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
11180 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
11181 ,p_ae_header_id => NULL
11182 );
11183
11184 IF (C_LEVEL_ERROR>= g_log_level) THEN
11185 trace
11186 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
11187 ,p_level => C_LEVEL_ERROR
11188 ,p_module => l_log_module);
11189 END IF;
11190 END IF;
11191 END IF;
11192 --
11193 --
11194 ------------------------------------------------------------------------------------------------
11195 -- 4219869 Business Flow
11196 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
11197 -- Prior Entry. Currently, the following code is always generated.
11198 ------------------------------------------------------------------------------------------------
11199 XLA_AE_LINES_PKG.ValidateCurrentLine;
11200
11201 ------------------------------------------------------------------------------------
11202 -- 4219869 Business Flow
11203 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
11204 ------------------------------------------------------------------------------------
11205 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
11206
11207 ----------------------------------------------------------------------------------
11208 -- 4219869 Business Flow
11209 -- Update journal entry status -- Need to generate this within IF <condition>
11210 ----------------------------------------------------------------------------------
11211 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
11212 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
11213 ,p_balance_type_code => l_balance_type_code
11214 );
11215
11216 -------------------------------------------------------------------------------------------
11217 -- 4262811 - Generate the Accrual Reversal lines
11218 -------------------------------------------------------------------------------------------
11219 BEGIN
11220 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
11221 (g_array_event(p_event_id).array_value_num('header_index'));
11222 IF l_acc_rev_flag IS NULL THEN
11223 l_acc_rev_flag := 'N';
11224 END IF;
11225 EXCEPTION
11226 WHEN OTHERS THEN
11227 l_acc_rev_flag := 'N';
11228 END;
11229 --
11230 IF (l_acc_rev_flag = 'Y') THEN
11231
11232 -- 4645092 ------------------------------------------------------------------------------
11233 -- To allow MPA report to determine if it should generate report process
11234 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
11235 ------------------------------------------------------------------------------------------
11236
11237 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
11238 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
11239 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
11243 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
11240 -- call ADRs
11241 -- Bug 4922099
11242 --
11244 (NVL(l_actual_upg_option, 'N') = 'O') OR
11245 (NVL(l_enc_upg_option, 'N') = 'O')
11246 )
11247 THEN
11248 NULL;
11249 --
11250 --
11251
11252 l_ccid := AcctDerRule_30(
11253 p_application_id => p_application_id
11254 , p_ae_header_id => l_ae_header_id
11255 , p_source_15 => p_source_15
11256 , p_source_15_meaning => p_source_15_meaning
11257 , p_source_20 => p_source_20
11258 , p_source_21 => p_source_21
11259 , p_source_22 => p_source_22
11260 , p_source_22_meaning => p_source_22_meaning
11261 , p_source_23 => p_source_23
11262 , p_source_30 => p_source_30
11263 , p_source_47 => p_source_47
11264 , p_source_47_meaning => p_source_47_meaning
11265 , x_transaction_coa_id => l_adr_transaction_coa_id
11266 , x_accounting_coa_id => l_adr_accounting_coa_id
11267 , x_value_type_code => l_adr_value_type_code
11268 , p_side => 'ALL'
11269 );
11270
11271 xla_ae_lines_pkg.set_ccid(
11272 p_code_combination_id => l_ccid
11273 , p_value_type_code => l_adr_value_type_code
11274 , p_transaction_coa_id => l_adr_transaction_coa_id
11275 , p_accounting_coa_id => l_adr_accounting_coa_id
11276 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
11277 , p_adr_type_code => 'S'
11278 , p_component_type => l_component_type
11279 , p_component_code => l_component_code
11280 , p_component_type_code => l_component_type_code
11281 , p_component_appl_id => l_component_appl_id
11282 , p_amb_context_code => l_amb_context_code
11283 , p_side => 'ALL'
11284 );
11285
11286
11287 l_segment := AcctDerRule_9(
11288 p_application_id => p_application_id
11289 , p_ae_header_id => l_ae_header_id
11290 , p_source_15 => p_source_15
11291 , p_source_15_meaning => p_source_15_meaning
11292 , p_source_20 => p_source_20
11293 , p_source_22 => p_source_22
11294 , p_source_22_meaning => p_source_22_meaning
11295 , x_transaction_coa_id => l_adr_transaction_coa_id
11296 , x_accounting_coa_id => l_adr_accounting_coa_id
11297 , x_flexfield_segment_code => l_adr_flexfield_segment_code
11298 , x_flex_value_set_id => l_adr_flex_value_set_id
11299 , x_value_type_code => l_adr_value_type_code
11300 , x_value_combination_id => l_adr_value_combination_id
11301 , x_value_segment_code => l_adr_value_segment_code
11302 , p_side => 'DEBIT'
11303 , p_override_seg_flag => 'Y'
11304 );
11305
11306 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11307
11308 xla_ae_lines_pkg.set_segment(
11309 p_to_segment_code => 'GL_ACCOUNT'
11310 , p_segment_value => l_segment
11311 , p_from_segment_code => l_adr_value_segment_code
11312 , p_from_combination_id => l_adr_value_combination_id
11313 , p_value_type_code => l_adr_value_type_code
11314 , p_transaction_coa_id => l_adr_transaction_coa_id
11315 , p_accounting_coa_id => l_adr_accounting_coa_id
11316 , p_flexfield_segment_code => l_adr_flexfield_segment_code
11317 , p_flex_value_set_id => l_adr_flex_value_set_id
11318 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
11319 , p_adr_type_code => 'S'
11320 , p_component_type => l_component_type
11321 , p_component_code => l_component_code
11322 , p_component_type_code => l_component_type_code
11323 , p_component_appl_id => l_component_appl_id
11324 , p_amb_context_code => l_amb_context_code
11325 , p_entity_code => 'AP_INVOICES'
11326 , p_event_class_code => 'DEBIT MEMOS'
11327 , p_side => 'DEBIT'
11328 );
11329
11330 END IF;
11331
11332 l_segment := AcctDerRule_10(
11333 p_application_id => p_application_id
11334 , p_ae_header_id => l_ae_header_id
11335 , p_source_15 => p_source_15
11336 , p_source_15_meaning => p_source_15_meaning
11337 , p_source_22 => p_source_22
11338 , p_source_22_meaning => p_source_22_meaning
11339 , p_source_23 => p_source_23
11340 , x_transaction_coa_id => l_adr_transaction_coa_id
11341 , x_accounting_coa_id => l_adr_accounting_coa_id
11342 , x_flexfield_segment_code => l_adr_flexfield_segment_code
11343 , x_flex_value_set_id => l_adr_flex_value_set_id
11344 , x_value_type_code => l_adr_value_type_code
11345 , x_value_combination_id => l_adr_value_combination_id
11346 , x_value_segment_code => l_adr_value_segment_code
11347 , p_side => 'CREDIT'
11348 , p_override_seg_flag => 'Y'
11349 );
11350
11351 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11352
11353 xla_ae_lines_pkg.set_segment(
11354 p_to_segment_code => 'GL_ACCOUNT'
11355 , p_segment_value => l_segment
11356 , p_from_segment_code => l_adr_value_segment_code
11360 , p_accounting_coa_id => l_adr_accounting_coa_id
11357 , p_from_combination_id => l_adr_value_combination_id
11358 , p_value_type_code => l_adr_value_type_code
11359 , p_transaction_coa_id => l_adr_transaction_coa_id
11361 , p_flexfield_segment_code => l_adr_flexfield_segment_code
11362 , p_flex_value_set_id => l_adr_flex_value_set_id
11363 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
11364 , p_adr_type_code => 'S'
11365 , p_component_type => l_component_type
11366 , p_component_code => l_component_code
11367 , p_component_type_code => l_component_type_code
11368 , p_component_appl_id => l_component_appl_id
11369 , p_amb_context_code => l_amb_context_code
11370 , p_entity_code => 'AP_INVOICES'
11371 , p_event_class_code => 'DEBIT MEMOS'
11372 , p_side => 'CREDIT'
11373 );
11374
11375 END IF;
11376
11377 l_segment := AcctDerRule_23(
11378 p_application_id => p_application_id
11379 , p_ae_header_id => l_ae_header_id
11380 , p_source_15 => p_source_15
11381 , p_source_15_meaning => p_source_15_meaning
11382 , p_source_22 => p_source_22
11383 , p_source_22_meaning => p_source_22_meaning
11384 , p_source_30 => p_source_30
11385 , x_transaction_coa_id => l_adr_transaction_coa_id
11386 , x_accounting_coa_id => l_adr_accounting_coa_id
11387 , x_flexfield_segment_code => l_adr_flexfield_segment_code
11388 , x_flex_value_set_id => l_adr_flex_value_set_id
11389 , x_value_type_code => l_adr_value_type_code
11390 , x_value_combination_id => l_adr_value_combination_id
11391 , x_value_segment_code => l_adr_value_segment_code
11392 , p_side => 'ALL'
11393 , p_override_seg_flag => 'Y'
11394 );
11395
11396 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11397
11398 xla_ae_lines_pkg.set_segment(
11399 p_to_segment_code => 'GL_BALANCING'
11400 , p_segment_value => l_segment
11401 , p_from_segment_code => l_adr_value_segment_code
11402 , p_from_combination_id => l_adr_value_combination_id
11403 , p_value_type_code => l_adr_value_type_code
11404 , p_transaction_coa_id => l_adr_transaction_coa_id
11405 , p_accounting_coa_id => l_adr_accounting_coa_id
11406 , p_flexfield_segment_code => l_adr_flexfield_segment_code
11407 , p_flex_value_set_id => l_adr_flex_value_set_id
11408 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
11409 , p_adr_type_code => 'S'
11410 , p_component_type => l_component_type
11411 , p_component_code => l_component_code
11412 , p_component_type_code => l_component_type_code
11413 , p_component_appl_id => l_component_appl_id
11414 , p_amb_context_code => l_amb_context_code
11415 , p_entity_code => 'AP_INVOICES'
11416 , p_event_class_code => 'DEBIT MEMOS'
11417 , p_side => 'ALL'
11418 );
11419
11420 END IF;
11421
11422 --
11423 --
11424 END IF;
11425
11426 --
11427 -- Update the line information that should be overwritten
11428 --
11429 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
11430 p_header_num => 1);
11431 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
11432
11433 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
11434
11435 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
11436 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
11437 END IF;
11438
11439 --
11440 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
11441 --
11442 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
11443 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
11444 ELSE
11445 ---------------------------------------------------------------------------------------------------
11446 -- 4262811a Switch Sign
11447 ---------------------------------------------------------------------------------------------------
11448 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
11449 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11450 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11451 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11452 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11453 -- 5132302
11454 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
11455 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11456
11457 END IF;
11458
11459 -- 4955764
11463
11460 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
11461 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
11462
11464 XLA_AE_LINES_PKG.ValidateCurrentLine;
11465 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
11466
11467 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
11468 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
11469 ,p_balance_type_code => l_balance_type_code);
11470
11471 END IF;
11472
11473 -----------------------------------------------------------------------------------------
11474 -- 4262811 Multiperiod Accounting
11475 -----------------------------------------------------------------------------------------
11476 -- No MPA option is assigned.
11477
11478
11479 END IF;
11480 END IF;
11481 --
11482
11483 --
11484 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
11485 trace
11486 (p_msg => 'END of AcctLineType_52'
11487 ,p_level => C_LEVEL_PROCEDURE
11488 ,p_module => l_log_module);
11489 END IF;
11490 --
11491 EXCEPTION
11492 WHEN xla_exceptions_pkg.application_exception THEN
11493 RAISE;
11494 WHEN OTHERS THEN
11495 xla_exceptions_pkg.raise_message
11496 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_52');
11497 END AcctLineType_52;
11498 --
11499
11500 ---------------------------------------
11501 --
11502 -- PRIVATE FUNCTION
11503 -- AcctLineType_53
11504 --
11505 ---------------------------------------
11506 PROCEDURE AcctLineType_53 (
11507 p_application_id IN NUMBER
11508 ,p_event_id IN NUMBER
11509 ,p_calculate_acctd_flag IN VARCHAR2
11510 ,p_calculate_g_l_flag IN VARCHAR2
11511 ,p_actual_flag IN OUT VARCHAR2
11512 ,p_balance_type_code OUT VARCHAR2
11513 ,p_gain_or_loss_ref OUT VARCHAR2
11514
11515 --Invoice Distribution Description
11516 , p_source_1 IN VARCHAR2
11517 --Automatic Offsets Value
11518 , p_source_15 IN VARCHAR2
11519 , p_source_15_meaning IN VARCHAR2
11520 --Purchase Order Rate Variance Gain Account
11521 , p_source_20 IN NUMBER
11522 --Invoice Distribution Ledger Amount
11523 , p_source_21 IN NUMBER
11524 --Destination Type of the PO Distribution
11525 , p_source_22 IN VARCHAR2
11526 , p_source_22_meaning IN VARCHAR2
11527 --Purchase Order Rate Variance Loss Account
11528 , p_source_23 IN NUMBER
11529 --Invoice Distribution Account
11530 , p_source_30 IN NUMBER
11531 --Invoice Distribution Type
11532 , p_source_33 IN VARCHAR2
11533 , p_source_33_meaning IN VARCHAR2
11534 --Automatic Offsets Flag
11535 , p_source_47 IN VARCHAR2
11536 , p_source_47_meaning IN VARCHAR2
11537 --Accounting Reversal Indicator
11538 , p_source_53 IN VARCHAR2
11539 --Distribution Link Type
11540 , p_source_55 IN VARCHAR2
11541 --Allocation to Main Distribution Identifier
11542 , p_source_57 IN NUMBER
11543 --Invoice Identifier
11544 , p_source_58 IN NUMBER
11545 --Invoice Distribution Identifier
11546 , p_source_64 IN NUMBER
11547 --Payables Encumbrance Upgrade Credit Account
11548 , p_source_65 IN NUMBER
11549 --Payables Encumbrance Upgrade Credit Amount
11550 , p_source_66 IN NUMBER
11551 --Invoice Currency Code
11552 , p_source_67 IN VARCHAR2
11553 --Payables Encumbrance Upgrade Credit Base Amount
11554 , p_source_68 IN NUMBER
11555 --Payables Encumbrance Upgrade Debit Account
11556 , p_source_69 IN NUMBER
11557 --Payables Encumbrance Upgrade Debit Amount
11558 , p_source_70 IN NUMBER
11559 --Payables Encumbrance Upgrade Debit Base Amount
11560 , p_source_71 IN NUMBER
11561 --Payables Encumbrance Upgrade Option
11562 , p_source_72 IN VARCHAR2
11563 --Invoice Distribution Amount
11564 , p_source_73 IN NUMBER
11565 --Deferred Accounting End Date
11566 , p_source_77 IN DATE
11567 --Deferred Accounting Option
11568 , p_source_78 IN VARCHAR2
11569 --Deferred Accounting Start Date
11570 , p_source_79 IN DATE
11571 --Override Accounted Amount Indicator
11572 , p_source_80 IN VARCHAR2
11573 , p_source_80_meaning IN VARCHAR2
11574 --Invoice Supplier Identifier
11575 , p_source_81 IN NUMBER
11576 --Invoice Supplier Site Identifier
11577 , p_source_82 IN NUMBER
11578 --Third Party Type
11579 , p_source_83 IN VARCHAR2
11580 --Parent Reversal Identifier
11581 , p_source_84 IN NUMBER
11582 --Invoice Distribution Statistical Amount
11583 , p_source_85 IN NUMBER
11584 --Invoice Distribution Tax Line Identifier
11585 , p_source_86 IN NUMBER
11586 --Invoice Distribution Tax Distribution Identifier from Tax
11587 , p_source_87 IN NUMBER
11588 --Invoice Distribution Summary Tax Line Identifier
11589 , p_source_88 IN NUMBER
11590 --Payables Upgrade Credit Encumbrance Type Identifier
11591 , p_source_89 IN NUMBER
11592 --Payables Upgrade Debit Encumbrance Type Identifier
11593 , p_source_90 IN NUMBER
11594 --Business Flow Accounts Payable Application Identifier
11598 --Business Flow Invoice Entity Code
11595 , p_source_91 IN NUMBER
11596 --Business Flow Invoice Distribution Type
11597 , p_source_92 IN VARCHAR2
11599 , p_source_93 IN VARCHAR2
11600 --Business Flow Invoice Distribution Identifier
11601 , p_source_94 IN NUMBER
11602 --Business Flow Invoice Identifier
11603 , p_source_95 IN NUMBER
11604 )
11605 IS
11606
11607 l_component_type VARCHAR2(80);
11608 l_component_code VARCHAR2(30);
11609 l_component_type_code VARCHAR2(1);
11610 l_component_appl_id INTEGER;
11611 l_amb_context_code VARCHAR2(30);
11612 l_entity_code VARCHAR2(30);
11613 l_event_class_code VARCHAR2(30);
11614 l_ae_header_id NUMBER;
11615 l_event_type_code VARCHAR2(30);
11616 l_line_definition_code VARCHAR2(30);
11617 l_line_definition_owner_code VARCHAR2(1);
11618 --
11619 -- adr variables
11620 l_segment VARCHAR2(30);
11621 l_ccid NUMBER;
11622 l_adr_transaction_coa_id NUMBER;
11623 l_adr_accounting_coa_id NUMBER;
11624 l_adr_flexfield_segment_code VARCHAR2(30);
11625 l_adr_flex_value_set_id NUMBER;
11626 l_adr_value_type_code VARCHAR2(30);
11627 l_adr_value_combination_id NUMBER;
11628 l_adr_value_segment_code VARCHAR2(30);
11629
11630 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
11631 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
11632 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
11633 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
11634
11635 -- 4262811 Variables ------------------------------------------------------------------------------------------
11636 l_entered_amt_idx NUMBER;
11637 l_accted_amt_idx NUMBER;
11638 l_acc_rev_flag VARCHAR2(1);
11639 l_accrual_line_num NUMBER;
11640 l_tmp_amt NUMBER;
11641 l_acc_rev_natural_side_code VARCHAR2(1);
11642
11643 l_num_entries NUMBER;
11644 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
11645 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
11646 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
11647 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
11648 l_recog_line_1 NUMBER;
11649 l_recog_line_2 NUMBER;
11650
11651 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
11652 l_bflow_applied_to_amt NUMBER; -- 5132302
11653 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
11654
11655 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
11656
11657 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
11658 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
11659
11660 ---------------------------------------------------------------------------------------------------------------
11661
11662
11663 --
11664 -- bulk performance
11665 --
11666 l_balance_type_code VARCHAR2(1);
11667 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
11668 l_log_module VARCHAR2(240);
11669
11670 --
11671 -- Upgrade strategy
11672 --
11673 l_actual_upg_option VARCHAR2(1);
11674 l_enc_upg_option VARCHAR2(1);
11675
11676 --
11677 BEGIN
11678 --
11679 IF g_log_enabled THEN
11680 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_53';
11681 END IF;
11682 --
11683 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
11684
11685 trace
11686 (p_msg => 'BEGIN of AcctLineType_53'
11687 ,p_level => C_LEVEL_PROCEDURE
11688 ,p_module => l_log_module);
11689
11690 END IF;
11691 --
11692 l_component_type := 'AMB_JLT';
11693 l_component_code := 'AP_ALC_EX_RATE_VAR_INV';
11694 l_component_type_code := 'S';
11695 l_component_appl_id := 200;
11696 l_amb_context_code := 'DEFAULT';
11697 l_entity_code := 'AP_INVOICES';
11698 l_event_class_code := 'INVOICES';
11699 l_event_type_code := 'INVOICES_ALL';
11700 l_line_definition_owner_code := 'S';
11701 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
11702 --
11703 l_balance_type_code := 'A';
11704 l_segment := NULL;
11705 l_ccid := NULL;
11706 l_adr_transaction_coa_id := NULL;
11707 l_adr_accounting_coa_id := NULL;
11708 l_adr_flexfield_segment_code := NULL;
11709 l_adr_flex_value_set_id := NULL;
11710 l_adr_value_type_code := NULL;
11711 l_adr_value_combination_id := NULL;
11712 l_adr_value_segment_code := NULL;
11713
11714 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
11715 l_bflow_class_code := ''; -- 4219869 Business Flow
11716 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
11717 l_budgetary_control_flag := 'N';
11718
11719 l_bflow_applied_to_amt_idx := NULL; -- 5132302
11720 l_bflow_applied_to_amt := NULL; -- 5132302
11721 l_entered_amt_idx := NULL; -- 4262811
11722 l_accted_amt_idx := NULL; -- 4262811
11726 --
11723 l_acc_rev_flag := NULL; -- 4262811
11724 l_accrual_line_num := NULL; -- 4262811
11725 l_tmp_amt := NULL; -- 4262811
11727 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
11728 (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
11729 return;
11730 END IF;
11731
11732 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
11733 l_balance_type_code <> 'B' THEN
11734 IF NVL(p_source_33,'
11735 ') = 'ACCRUAL'
11736 THEN
11737
11738 --
11739 XLA_AE_LINES_PKG.SetNewLine;
11740
11741 p_balance_type_code := l_balance_type_code;
11742 -- set the flag so later we will know whether the gain loss line needs to be created
11743
11744 IF(l_balance_type_code = 'A' ) THEN
11745 p_actual_flag :='G';
11746 END IF;
11747
11748 --
11749 -- bulk performance
11750 --
11751 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
11752 p_header_num => 0); -- 4262811
11753 --
11754 -- set accounting line options
11755 --
11756 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
11757 p_natural_side_code => 'G'
11758 , p_gain_or_loss_flag => 'N'
11759 , p_gl_transfer_mode_code => 'S'
11760 , p_acct_entry_type_code => 'A'
11761 , p_switch_side_flag => ''
11762 , p_merge_duplicate_code => 'A'
11763 );
11764 --
11765 l_acc_rev_natural_side_code := 'C'; -- 4262811
11766 --
11767 --
11768 -- set accounting line type info
11769 --
11770 xla_ae_lines_pkg.SetAcctLineType
11771 (p_component_type => l_component_type
11772 ,p_event_type_code => l_event_type_code
11773 ,p_line_definition_owner_code => l_line_definition_owner_code
11774 ,p_line_definition_code => l_line_definition_code
11775 ,p_accounting_line_code => l_component_code
11776 ,p_accounting_line_type_code => l_component_type_code
11777 ,p_accounting_line_appl_id => l_component_appl_id
11778 ,p_amb_context_code => l_amb_context_code
11779 ,p_entity_code => l_entity_code
11780 ,p_event_class_code => l_event_class_code);
11781 --
11782 -- set accounting class
11783 --
11784 xla_ae_lines_pkg.SetAcctClass(
11785 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
11786 , p_ae_header_id => l_ae_header_id
11787 );
11788
11789 --
11790 -- set rounding class
11791 --
11792 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
11793 'EXCHANGE_RATE_VARIANCE';
11794
11795 --
11796 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
11797 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
11798 --
11799 -- bulk performance
11800 --
11801 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
11802
11803 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
11804 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
11805
11806 -- 4955764
11807 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
11808 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
11809
11810 -- 4458381 Public Sector Enh
11811
11812 --
11813 -- set accounting attributes for the line type
11814 --
11815 l_entered_amt_idx := NULL;
11816 l_accted_amt_idx := 24;
11817 l_bflow_applied_to_amt_idx := 7; -- 5132302
11818 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
11819 l_rec_acct_attrs.array_char_value(1) := p_source_53;
11820 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
11821 l_rec_acct_attrs.array_num_value(2) :=
11822 xla_ae_sources_pkg.GetSystemSourceNum(
11823 p_source_code => 'XLA_EVENT_APPL_ID'
11824 , p_source_type_code => 'Y'
11825 , p_source_application_id => 602
11826 );
11827 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
11828 l_rec_acct_attrs.array_char_value(3) := p_source_55;
11829 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
11830 l_rec_acct_attrs.array_char_value(4) :=
11831 xla_ae_sources_pkg.GetSystemSourceChar(
11832 p_source_code => 'XLA_ENTITY_CODE'
11833 , p_source_type_code => 'Y'
11834 , p_source_application_id => 602
11835 );
11836 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
11837 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
11838 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
11839 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
11840 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
11841 l_rec_acct_attrs.array_num_value(7) := p_source_73;
11845 l_rec_acct_attrs.array_char_value(9) := p_source_92;
11842 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
11843 l_rec_acct_attrs.array_num_value(8) := p_source_91;
11844 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
11846 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
11847 l_rec_acct_attrs.array_char_value(10) := p_source_93;
11848 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
11849 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
11850 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
11851 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_95);
11852 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
11853 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_64);
11854 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
11855 l_rec_acct_attrs.array_char_value(14) := p_source_55;
11856 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
11857 l_rec_acct_attrs.array_num_value(15) := p_source_65;
11858 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
11859 l_rec_acct_attrs.array_num_value(16) := p_source_66;
11860 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
11861 l_rec_acct_attrs.array_char_value(17) := p_source_67;
11862 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
11863 l_rec_acct_attrs.array_num_value(18) := p_source_68;
11864 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
11865 l_rec_acct_attrs.array_num_value(19) := p_source_69;
11866 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
11867 l_rec_acct_attrs.array_num_value(20) := p_source_70;
11868 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
11869 l_rec_acct_attrs.array_char_value(21) := p_source_67;
11870 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
11871 l_rec_acct_attrs.array_num_value(22) := p_source_71;
11872 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
11873 l_rec_acct_attrs.array_char_value(23) := p_source_72;
11874 l_rec_acct_attrs.array_acct_attr_code(24) := 'LEDGER_AMOUNT';
11875 l_rec_acct_attrs.array_num_value(24) := p_source_21;
11876 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_END_DATE';
11877 l_rec_acct_attrs.array_date_value(25) := p_source_77;
11878 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_OPTION';
11879 l_rec_acct_attrs.array_char_value(26) := p_source_78;
11880 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_START_DATE';
11881 l_rec_acct_attrs.array_date_value(27) := p_source_79;
11882 l_rec_acct_attrs.array_acct_attr_code(28) := 'OVERRIDE_ACCTD_AMT_FLAG';
11883 l_rec_acct_attrs.array_char_value(28) := p_source_80;
11884 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_ID';
11885 l_rec_acct_attrs.array_num_value(29) := p_source_81;
11886 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_SITE_ID';
11887 l_rec_acct_attrs.array_num_value(30) := p_source_82;
11888 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
11889 l_rec_acct_attrs.array_char_value(31) := p_source_83;
11890 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
11891 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_84);
11892 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
11893 l_rec_acct_attrs.array_char_value(33) := p_source_55;
11894 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
11895 l_rec_acct_attrs.array_num_value(34) := p_source_85;
11896 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
11897 l_rec_acct_attrs.array_num_value(35) := p_source_86;
11898 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
11899 l_rec_acct_attrs.array_num_value(36) := p_source_87;
11900 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
11901 l_rec_acct_attrs.array_num_value(37) := p_source_88;
11902 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
11903 l_rec_acct_attrs.array_num_value(38) := p_source_89;
11904 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
11905 l_rec_acct_attrs.array_num_value(39) := p_source_90;
11906
11907 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
11908 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
11909
11910 ---------------------------------------------------------------------------------------------------------------
11911 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11912 ---------------------------------------------------------------------------------------------------------------
11913 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
11914
11915 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11916 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11917
11918 IF xla_accounting_cache_pkg.GetValueChar
11919 (p_source_code => 'LEDGER_CATEGORY_CODE'
11920 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
11921 AND l_bflow_method_code = 'PRIOR_ENTRY'
11922 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
11923 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
11924 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
11925 )
11929 ,p_business_class_code => l_bflow_class_code
11926 THEN
11927 xla_ae_lines_pkg.BflowUpgEntry
11928 (p_business_method_code => l_bflow_method_code
11930 ,p_balance_type => l_balance_type_code);
11931 ELSE
11932 NULL;
11933 -- No business flow processing for business flow method of NONE.
11934 END IF;
11935
11936 --
11937 -- call analytical criteria
11938 --
11939
11940 --
11941 -- call description
11942 --
11943
11944 xla_ae_lines_pkg.SetLineDescription(
11945 p_ae_header_id => l_ae_header_id
11946 ,p_description => Description_1 (
11947 p_application_id => p_application_id
11948 , p_ae_header_id => l_ae_header_id
11949 , p_source_1 => p_source_1
11950 )
11951 );
11952
11953
11954 --
11955 -- call ADRs
11956 -- Bug 4922099
11957 --
11958 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
11959 (NVL(l_actual_upg_option, 'N') = 'O') OR
11960 (NVL(l_enc_upg_option, 'N') = 'O')
11961 )
11962 THEN
11963 NULL;
11964 --
11965 --
11966
11967 l_ccid := AcctDerRule_30(
11968 p_application_id => p_application_id
11969 , p_ae_header_id => l_ae_header_id
11970 , p_source_15 => p_source_15
11971 , p_source_15_meaning => p_source_15_meaning
11972 , p_source_20 => p_source_20
11973 , p_source_21 => p_source_21
11974 , p_source_22 => p_source_22
11975 , p_source_22_meaning => p_source_22_meaning
11976 , p_source_23 => p_source_23
11977 , p_source_30 => p_source_30
11978 , p_source_47 => p_source_47
11979 , p_source_47_meaning => p_source_47_meaning
11980 , x_transaction_coa_id => l_adr_transaction_coa_id
11981 , x_accounting_coa_id => l_adr_accounting_coa_id
11982 , x_value_type_code => l_adr_value_type_code
11983 , p_side => 'ALL'
11984 );
11985
11986 xla_ae_lines_pkg.set_ccid(
11987 p_code_combination_id => l_ccid
11988 , p_value_type_code => l_adr_value_type_code
11989 , p_transaction_coa_id => l_adr_transaction_coa_id
11990 , p_accounting_coa_id => l_adr_accounting_coa_id
11991 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
11992 , p_adr_type_code => 'S'
11993 , p_component_type => l_component_type
11994 , p_component_code => l_component_code
11995 , p_component_type_code => l_component_type_code
11996 , p_component_appl_id => l_component_appl_id
11997 , p_amb_context_code => l_amb_context_code
11998 , p_side => 'ALL'
11999 );
12000
12001
12002 l_segment := AcctDerRule_9(
12003 p_application_id => p_application_id
12004 , p_ae_header_id => l_ae_header_id
12005 , p_source_15 => p_source_15
12006 , p_source_15_meaning => p_source_15_meaning
12007 , p_source_20 => p_source_20
12008 , p_source_22 => p_source_22
12009 , p_source_22_meaning => p_source_22_meaning
12010 , x_transaction_coa_id => l_adr_transaction_coa_id
12011 , x_accounting_coa_id => l_adr_accounting_coa_id
12012 , x_flexfield_segment_code => l_adr_flexfield_segment_code
12013 , x_flex_value_set_id => l_adr_flex_value_set_id
12014 , x_value_type_code => l_adr_value_type_code
12015 , x_value_combination_id => l_adr_value_combination_id
12016 , x_value_segment_code => l_adr_value_segment_code
12017 , p_side => 'CREDIT'
12018 , p_override_seg_flag => 'Y'
12019 );
12020
12021 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12022
12023 xla_ae_lines_pkg.set_segment(
12024 p_to_segment_code => 'GL_ACCOUNT'
12025 , p_segment_value => l_segment
12026 , p_from_segment_code => l_adr_value_segment_code
12027 , p_from_combination_id => l_adr_value_combination_id
12028 , p_value_type_code => l_adr_value_type_code
12029 , p_transaction_coa_id => l_adr_transaction_coa_id
12030 , p_accounting_coa_id => l_adr_accounting_coa_id
12031 , p_flexfield_segment_code => l_adr_flexfield_segment_code
12032 , p_flex_value_set_id => l_adr_flex_value_set_id
12033 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
12034 , p_adr_type_code => 'S'
12035 , p_component_type => l_component_type
12036 , p_component_code => l_component_code
12037 , p_component_type_code => l_component_type_code
12038 , p_component_appl_id => l_component_appl_id
12039 , p_amb_context_code => l_amb_context_code
12040 , p_entity_code => 'AP_INVOICES'
12041 , p_event_class_code => 'INVOICES'
12042 , p_side => 'CREDIT'
12043 );
12044
12045 END IF;
12046
12047 l_segment := AcctDerRule_10(
12048 p_application_id => p_application_id
12049 , p_ae_header_id => l_ae_header_id
12050 , p_source_15 => p_source_15
12051 , p_source_15_meaning => p_source_15_meaning
12052 , p_source_22 => p_source_22
12053 , p_source_22_meaning => p_source_22_meaning
12054 , p_source_23 => p_source_23
12058 , x_flex_value_set_id => l_adr_flex_value_set_id
12055 , x_transaction_coa_id => l_adr_transaction_coa_id
12056 , x_accounting_coa_id => l_adr_accounting_coa_id
12057 , x_flexfield_segment_code => l_adr_flexfield_segment_code
12059 , x_value_type_code => l_adr_value_type_code
12060 , x_value_combination_id => l_adr_value_combination_id
12061 , x_value_segment_code => l_adr_value_segment_code
12062 , p_side => 'DEBIT'
12063 , p_override_seg_flag => 'Y'
12064 );
12065
12066 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12067
12068 xla_ae_lines_pkg.set_segment(
12069 p_to_segment_code => 'GL_ACCOUNT'
12070 , p_segment_value => l_segment
12071 , p_from_segment_code => l_adr_value_segment_code
12072 , p_from_combination_id => l_adr_value_combination_id
12073 , p_value_type_code => l_adr_value_type_code
12074 , p_transaction_coa_id => l_adr_transaction_coa_id
12075 , p_accounting_coa_id => l_adr_accounting_coa_id
12076 , p_flexfield_segment_code => l_adr_flexfield_segment_code
12077 , p_flex_value_set_id => l_adr_flex_value_set_id
12078 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
12079 , p_adr_type_code => 'S'
12080 , p_component_type => l_component_type
12081 , p_component_code => l_component_code
12082 , p_component_type_code => l_component_type_code
12083 , p_component_appl_id => l_component_appl_id
12084 , p_amb_context_code => l_amb_context_code
12085 , p_entity_code => 'AP_INVOICES'
12086 , p_event_class_code => 'INVOICES'
12087 , p_side => 'DEBIT'
12088 );
12089
12090 END IF;
12091
12092 l_segment := AcctDerRule_23(
12093 p_application_id => p_application_id
12094 , p_ae_header_id => l_ae_header_id
12095 , p_source_15 => p_source_15
12096 , p_source_15_meaning => p_source_15_meaning
12097 , p_source_22 => p_source_22
12098 , p_source_22_meaning => p_source_22_meaning
12099 , p_source_30 => p_source_30
12100 , x_transaction_coa_id => l_adr_transaction_coa_id
12101 , x_accounting_coa_id => l_adr_accounting_coa_id
12102 , x_flexfield_segment_code => l_adr_flexfield_segment_code
12103 , x_flex_value_set_id => l_adr_flex_value_set_id
12104 , x_value_type_code => l_adr_value_type_code
12105 , x_value_combination_id => l_adr_value_combination_id
12106 , x_value_segment_code => l_adr_value_segment_code
12107 , p_side => 'ALL'
12108 , p_override_seg_flag => 'Y'
12109 );
12110
12111 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12112
12113 xla_ae_lines_pkg.set_segment(
12114 p_to_segment_code => 'GL_BALANCING'
12115 , p_segment_value => l_segment
12116 , p_from_segment_code => l_adr_value_segment_code
12117 , p_from_combination_id => l_adr_value_combination_id
12118 , p_value_type_code => l_adr_value_type_code
12119 , p_transaction_coa_id => l_adr_transaction_coa_id
12120 , p_accounting_coa_id => l_adr_accounting_coa_id
12121 , p_flexfield_segment_code => l_adr_flexfield_segment_code
12122 , p_flex_value_set_id => l_adr_flex_value_set_id
12123 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
12124 , p_adr_type_code => 'S'
12125 , p_component_type => l_component_type
12126 , p_component_code => l_component_code
12127 , p_component_type_code => l_component_type_code
12128 , p_component_appl_id => l_component_appl_id
12129 , p_amb_context_code => l_amb_context_code
12130 , p_entity_code => 'AP_INVOICES'
12131 , p_event_class_code => 'INVOICES'
12132 , p_side => 'ALL'
12133 );
12134
12135 END IF;
12136
12137 --
12138 --
12139 END IF;
12140 --
12141 -- Bug 4922099
12142 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
12143 (NVL(l_enc_upg_option, 'N') = 'O')
12144 ) AND
12145 (l_bflow_method_code = 'PRIOR_ENTRY')
12146 )
12147 THEN
12148 IF
12149 --
12150 1 = 2
12151 --
12152 THEN
12153 xla_accounting_err_pkg.build_message
12154 (p_appli_s_name => 'XLA'
12155 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
12156 ,p_token_1 => 'LINE_NUMBER'
12157 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
12158 ,p_token_2 => 'LINE_TYPE_NAME'
12159 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
12160 l_component_type
12161 ,l_component_code
12162 ,l_component_type_code
12166 ,l_event_class_code
12163 ,l_component_appl_id
12164 ,l_amb_context_code
12165 ,l_entity_code
12167 )
12168 ,p_token_3 => 'OWNER'
12169 ,p_value_3 => xla_lookups_pkg.get_meaning(
12170 p_lookup_type => 'XLA_OWNER_TYPE'
12171 ,p_lookup_code => l_component_type_code
12172 )
12173 ,p_token_4 => 'PRODUCT_NAME'
12174 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
12175 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
12176 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
12177 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
12178 ,p_ae_header_id => NULL
12179 );
12180
12181 IF (C_LEVEL_ERROR>= g_log_level) THEN
12182 trace
12183 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
12184 ,p_level => C_LEVEL_ERROR
12185 ,p_module => l_log_module);
12186 END IF;
12187 END IF;
12188 END IF;
12189 --
12190 --
12191 ------------------------------------------------------------------------------------------------
12192 -- 4219869 Business Flow
12193 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
12194 -- Prior Entry. Currently, the following code is always generated.
12195 ------------------------------------------------------------------------------------------------
12196 XLA_AE_LINES_PKG.ValidateCurrentLine;
12197
12198 ------------------------------------------------------------------------------------
12199 -- 4219869 Business Flow
12200 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
12201 ------------------------------------------------------------------------------------
12202 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
12203
12204 ----------------------------------------------------------------------------------
12205 -- 4219869 Business Flow
12206 -- Update journal entry status -- Need to generate this within IF <condition>
12207 ----------------------------------------------------------------------------------
12208 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
12209 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
12210 ,p_balance_type_code => l_balance_type_code
12211 );
12212
12213 -------------------------------------------------------------------------------------------
12214 -- 4262811 - Generate the Accrual Reversal lines
12215 -------------------------------------------------------------------------------------------
12216 BEGIN
12217 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
12218 (g_array_event(p_event_id).array_value_num('header_index'));
12219 IF l_acc_rev_flag IS NULL THEN
12220 l_acc_rev_flag := 'N';
12221 END IF;
12222 EXCEPTION
12223 WHEN OTHERS THEN
12224 l_acc_rev_flag := 'N';
12225 END;
12226 --
12227 IF (l_acc_rev_flag = 'Y') THEN
12228
12229 -- 4645092 ------------------------------------------------------------------------------
12230 -- To allow MPA report to determine if it should generate report process
12231 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
12232 ------------------------------------------------------------------------------------------
12233
12234 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
12235 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
12236 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
12237 -- call ADRs
12238 -- Bug 4922099
12239 --
12240 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
12241 (NVL(l_actual_upg_option, 'N') = 'O') OR
12242 (NVL(l_enc_upg_option, 'N') = 'O')
12243 )
12244 THEN
12245 NULL;
12246 --
12247 --
12248
12249 l_ccid := AcctDerRule_30(
12250 p_application_id => p_application_id
12251 , p_ae_header_id => l_ae_header_id
12252 , p_source_15 => p_source_15
12253 , p_source_15_meaning => p_source_15_meaning
12254 , p_source_20 => p_source_20
12255 , p_source_21 => p_source_21
12256 , p_source_22 => p_source_22
12257 , p_source_22_meaning => p_source_22_meaning
12258 , p_source_23 => p_source_23
12259 , p_source_30 => p_source_30
12260 , p_source_47 => p_source_47
12261 , p_source_47_meaning => p_source_47_meaning
12262 , x_transaction_coa_id => l_adr_transaction_coa_id
12263 , x_accounting_coa_id => l_adr_accounting_coa_id
12267
12264 , x_value_type_code => l_adr_value_type_code
12265 , p_side => 'ALL'
12266 );
12268 xla_ae_lines_pkg.set_ccid(
12269 p_code_combination_id => l_ccid
12270 , p_value_type_code => l_adr_value_type_code
12271 , p_transaction_coa_id => l_adr_transaction_coa_id
12272 , p_accounting_coa_id => l_adr_accounting_coa_id
12273 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
12274 , p_adr_type_code => 'S'
12275 , p_component_type => l_component_type
12276 , p_component_code => l_component_code
12277 , p_component_type_code => l_component_type_code
12278 , p_component_appl_id => l_component_appl_id
12279 , p_amb_context_code => l_amb_context_code
12280 , p_side => 'ALL'
12281 );
12282
12283
12284 l_segment := AcctDerRule_9(
12285 p_application_id => p_application_id
12286 , p_ae_header_id => l_ae_header_id
12287 , p_source_15 => p_source_15
12288 , p_source_15_meaning => p_source_15_meaning
12289 , p_source_20 => p_source_20
12290 , p_source_22 => p_source_22
12291 , p_source_22_meaning => p_source_22_meaning
12292 , x_transaction_coa_id => l_adr_transaction_coa_id
12293 , x_accounting_coa_id => l_adr_accounting_coa_id
12294 , x_flexfield_segment_code => l_adr_flexfield_segment_code
12295 , x_flex_value_set_id => l_adr_flex_value_set_id
12296 , x_value_type_code => l_adr_value_type_code
12297 , x_value_combination_id => l_adr_value_combination_id
12298 , x_value_segment_code => l_adr_value_segment_code
12299 , p_side => 'CREDIT'
12300 , p_override_seg_flag => 'Y'
12301 );
12302
12303 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12304
12305 xla_ae_lines_pkg.set_segment(
12306 p_to_segment_code => 'GL_ACCOUNT'
12307 , p_segment_value => l_segment
12308 , p_from_segment_code => l_adr_value_segment_code
12309 , p_from_combination_id => l_adr_value_combination_id
12310 , p_value_type_code => l_adr_value_type_code
12311 , p_transaction_coa_id => l_adr_transaction_coa_id
12312 , p_accounting_coa_id => l_adr_accounting_coa_id
12313 , p_flexfield_segment_code => l_adr_flexfield_segment_code
12314 , p_flex_value_set_id => l_adr_flex_value_set_id
12315 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
12316 , p_adr_type_code => 'S'
12317 , p_component_type => l_component_type
12318 , p_component_code => l_component_code
12319 , p_component_type_code => l_component_type_code
12320 , p_component_appl_id => l_component_appl_id
12321 , p_amb_context_code => l_amb_context_code
12322 , p_entity_code => 'AP_INVOICES'
12323 , p_event_class_code => 'INVOICES'
12324 , p_side => 'CREDIT'
12325 );
12326
12327 END IF;
12328
12329 l_segment := AcctDerRule_10(
12330 p_application_id => p_application_id
12331 , p_ae_header_id => l_ae_header_id
12332 , p_source_15 => p_source_15
12333 , p_source_15_meaning => p_source_15_meaning
12334 , p_source_22 => p_source_22
12335 , p_source_22_meaning => p_source_22_meaning
12336 , p_source_23 => p_source_23
12337 , x_transaction_coa_id => l_adr_transaction_coa_id
12338 , x_accounting_coa_id => l_adr_accounting_coa_id
12339 , x_flexfield_segment_code => l_adr_flexfield_segment_code
12340 , x_flex_value_set_id => l_adr_flex_value_set_id
12341 , x_value_type_code => l_adr_value_type_code
12342 , x_value_combination_id => l_adr_value_combination_id
12343 , x_value_segment_code => l_adr_value_segment_code
12344 , p_side => 'DEBIT'
12345 , p_override_seg_flag => 'Y'
12346 );
12347
12348 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12349
12350 xla_ae_lines_pkg.set_segment(
12351 p_to_segment_code => 'GL_ACCOUNT'
12352 , p_segment_value => l_segment
12353 , p_from_segment_code => l_adr_value_segment_code
12354 , p_from_combination_id => l_adr_value_combination_id
12355 , p_value_type_code => l_adr_value_type_code
12356 , p_transaction_coa_id => l_adr_transaction_coa_id
12357 , p_accounting_coa_id => l_adr_accounting_coa_id
12358 , p_flexfield_segment_code => l_adr_flexfield_segment_code
12359 , p_flex_value_set_id => l_adr_flex_value_set_id
12360 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
12361 , p_adr_type_code => 'S'
12362 , p_component_type => l_component_type
12363 , p_component_code => l_component_code
12364 , p_component_type_code => l_component_type_code
12365 , p_component_appl_id => l_component_appl_id
12366 , p_amb_context_code => l_amb_context_code
12367 , p_entity_code => 'AP_INVOICES'
12368 , p_event_class_code => 'INVOICES'
12369 , p_side => 'DEBIT'
12370 );
12371
12372 END IF;
12373
12377 , p_source_15 => p_source_15
12374 l_segment := AcctDerRule_23(
12375 p_application_id => p_application_id
12376 , p_ae_header_id => l_ae_header_id
12378 , p_source_15_meaning => p_source_15_meaning
12379 , p_source_22 => p_source_22
12380 , p_source_22_meaning => p_source_22_meaning
12381 , p_source_30 => p_source_30
12382 , x_transaction_coa_id => l_adr_transaction_coa_id
12383 , x_accounting_coa_id => l_adr_accounting_coa_id
12384 , x_flexfield_segment_code => l_adr_flexfield_segment_code
12385 , x_flex_value_set_id => l_adr_flex_value_set_id
12386 , x_value_type_code => l_adr_value_type_code
12387 , x_value_combination_id => l_adr_value_combination_id
12388 , x_value_segment_code => l_adr_value_segment_code
12389 , p_side => 'ALL'
12390 , p_override_seg_flag => 'Y'
12391 );
12392
12393 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12394
12395 xla_ae_lines_pkg.set_segment(
12396 p_to_segment_code => 'GL_BALANCING'
12397 , p_segment_value => l_segment
12398 , p_from_segment_code => l_adr_value_segment_code
12399 , p_from_combination_id => l_adr_value_combination_id
12400 , p_value_type_code => l_adr_value_type_code
12401 , p_transaction_coa_id => l_adr_transaction_coa_id
12402 , p_accounting_coa_id => l_adr_accounting_coa_id
12403 , p_flexfield_segment_code => l_adr_flexfield_segment_code
12404 , p_flex_value_set_id => l_adr_flex_value_set_id
12405 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
12406 , p_adr_type_code => 'S'
12407 , p_component_type => l_component_type
12408 , p_component_code => l_component_code
12409 , p_component_type_code => l_component_type_code
12410 , p_component_appl_id => l_component_appl_id
12411 , p_amb_context_code => l_amb_context_code
12412 , p_entity_code => 'AP_INVOICES'
12413 , p_event_class_code => 'INVOICES'
12414 , p_side => 'ALL'
12415 );
12416
12417 END IF;
12418
12419 --
12420 --
12421 END IF;
12422
12423 --
12424 -- Update the line information that should be overwritten
12425 --
12426 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
12427 p_header_num => 1);
12428 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
12429
12430 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
12431
12432 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
12433 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
12434 END IF;
12435
12436 --
12437 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
12438 --
12439 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
12440 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
12441 ELSE
12442 ---------------------------------------------------------------------------------------------------
12443 -- 4262811a Switch Sign
12444 ---------------------------------------------------------------------------------------------------
12445 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12446 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12447 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12448 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12449 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12450 -- 5132302
12451 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12452 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12453
12454 END IF;
12455
12456 -- 4955764
12457 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12458 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
12459
12460
12461 XLA_AE_LINES_PKG.ValidateCurrentLine;
12462 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
12463
12464 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
12465 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
12466 ,p_balance_type_code => l_balance_type_code);
12467
12468 END IF;
12469
12470 -----------------------------------------------------------------------------------------
12471 -- 4262811 Multiperiod Accounting
12472 -----------------------------------------------------------------------------------------
12473 -- No MPA option is assigned.
12474
12475
12476 END IF;
12477 END IF;
12478 --
12479
12480 --
12481 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
12482 trace
12483 (p_msg => 'END of AcctLineType_53'
12487 --
12484 ,p_level => C_LEVEL_PROCEDURE
12485 ,p_module => l_log_module);
12486 END IF;
12488 EXCEPTION
12489 WHEN xla_exceptions_pkg.application_exception THEN
12490 RAISE;
12491 WHEN OTHERS THEN
12492 xla_exceptions_pkg.raise_message
12493 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_53');
12494 END AcctLineType_53;
12495 --
12496
12497 ---------------------------------------
12498 --
12499 -- PRIVATE FUNCTION
12500 -- AcctLineType_54
12501 --
12502 ---------------------------------------
12503 PROCEDURE AcctLineType_54 (
12504 p_application_id IN NUMBER
12505 ,p_event_id IN NUMBER
12506 ,p_calculate_acctd_flag IN VARCHAR2
12507 ,p_calculate_g_l_flag IN VARCHAR2
12508 ,p_actual_flag IN OUT VARCHAR2
12509 ,p_balance_type_code OUT VARCHAR2
12510 ,p_gain_or_loss_ref OUT VARCHAR2
12511
12512 --Invoice Distribution Description
12513 , p_source_1 IN VARCHAR2
12514 --Automatic Offsets Value
12515 , p_source_15 IN VARCHAR2
12516 , p_source_15_meaning IN VARCHAR2
12517 --Purchase Order Rate Variance Gain Account
12518 , p_source_20 IN NUMBER
12519 --Invoice Distribution Ledger Amount
12520 , p_source_21 IN NUMBER
12521 --Destination Type of the PO Distribution
12522 , p_source_22 IN VARCHAR2
12523 , p_source_22_meaning IN VARCHAR2
12524 --Purchase Order Rate Variance Loss Account
12525 , p_source_23 IN NUMBER
12526 --Invoice Distribution Account
12527 , p_source_30 IN NUMBER
12528 --Invoice Distribution Type
12529 , p_source_33 IN VARCHAR2
12530 , p_source_33_meaning IN VARCHAR2
12531 --Automatic Offsets Flag
12532 , p_source_47 IN VARCHAR2
12533 , p_source_47_meaning IN VARCHAR2
12534 --Accounting Reversal Indicator
12535 , p_source_53 IN VARCHAR2
12536 --Distribution Link Type
12537 , p_source_55 IN VARCHAR2
12538 --Allocation to Main Distribution Identifier
12539 , p_source_57 IN NUMBER
12540 --Invoice Identifier
12541 , p_source_58 IN NUMBER
12542 --Invoice Distribution Identifier
12543 , p_source_64 IN NUMBER
12544 --Payables Encumbrance Upgrade Credit Account
12545 , p_source_65 IN NUMBER
12546 --Payables Encumbrance Upgrade Credit Amount
12547 , p_source_66 IN NUMBER
12548 --Invoice Currency Code
12549 , p_source_67 IN VARCHAR2
12550 --Payables Encumbrance Upgrade Credit Base Amount
12551 , p_source_68 IN NUMBER
12552 --Payables Encumbrance Upgrade Debit Account
12553 , p_source_69 IN NUMBER
12554 --Payables Encumbrance Upgrade Debit Amount
12555 , p_source_70 IN NUMBER
12556 --Payables Encumbrance Upgrade Debit Base Amount
12557 , p_source_71 IN NUMBER
12558 --Payables Encumbrance Upgrade Option
12559 , p_source_72 IN VARCHAR2
12560 --Deferred Accounting End Date
12561 , p_source_77 IN DATE
12562 --Deferred Accounting Option
12563 , p_source_78 IN VARCHAR2
12564 --Deferred Accounting Start Date
12565 , p_source_79 IN DATE
12566 --Override Accounted Amount Indicator
12567 , p_source_80 IN VARCHAR2
12568 , p_source_80_meaning IN VARCHAR2
12569 --Invoice Supplier Identifier
12570 , p_source_81 IN NUMBER
12571 --Invoice Supplier Site Identifier
12572 , p_source_82 IN NUMBER
12573 --Third Party Type
12574 , p_source_83 IN VARCHAR2
12575 --Parent Reversal Identifier
12576 , p_source_84 IN NUMBER
12577 --Invoice Distribution Statistical Amount
12578 , p_source_85 IN NUMBER
12579 --Invoice Distribution Tax Line Identifier
12580 , p_source_86 IN NUMBER
12581 --Invoice Distribution Tax Distribution Identifier from Tax
12582 , p_source_87 IN NUMBER
12583 --Invoice Distribution Summary Tax Line Identifier
12584 , p_source_88 IN NUMBER
12585 --Payables Upgrade Credit Encumbrance Type Identifier
12586 , p_source_89 IN NUMBER
12587 --Payables Upgrade Debit Encumbrance Type Identifier
12588 , p_source_90 IN NUMBER
12589 --Business Flow Accounts Payable Application Identifier
12590 , p_source_91 IN NUMBER
12591 --Business Flow Invoice Distribution Type
12592 , p_source_92 IN VARCHAR2
12593 --Business Flow Invoice Entity Code
12594 , p_source_93 IN VARCHAR2
12595 --Business Flow Invoice Distribution Identifier
12596 , p_source_94 IN NUMBER
12597 --Business Flow Invoice Identifier
12598 , p_source_95 IN NUMBER
12599 )
12600 IS
12601
12602 l_component_type VARCHAR2(80);
12603 l_component_code VARCHAR2(30);
12604 l_component_type_code VARCHAR2(1);
12605 l_component_appl_id INTEGER;
12606 l_amb_context_code VARCHAR2(30);
12607 l_entity_code VARCHAR2(30);
12608 l_event_class_code VARCHAR2(30);
12609 l_ae_header_id NUMBER;
12610 l_event_type_code VARCHAR2(30);
12611 l_line_definition_code VARCHAR2(30);
12612 l_line_definition_owner_code VARCHAR2(1);
12613 --
12614 -- adr variables
12618 l_adr_accounting_coa_id NUMBER;
12615 l_segment VARCHAR2(30);
12616 l_ccid NUMBER;
12617 l_adr_transaction_coa_id NUMBER;
12619 l_adr_flexfield_segment_code VARCHAR2(30);
12620 l_adr_flex_value_set_id NUMBER;
12621 l_adr_value_type_code VARCHAR2(30);
12622 l_adr_value_combination_id NUMBER;
12623 l_adr_value_segment_code VARCHAR2(30);
12624
12625 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
12626 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
12627 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
12628 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
12629
12630 -- 4262811 Variables ------------------------------------------------------------------------------------------
12631 l_entered_amt_idx NUMBER;
12632 l_accted_amt_idx NUMBER;
12633 l_acc_rev_flag VARCHAR2(1);
12634 l_accrual_line_num NUMBER;
12635 l_tmp_amt NUMBER;
12636 l_acc_rev_natural_side_code VARCHAR2(1);
12637
12638 l_num_entries NUMBER;
12639 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
12640 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
12641 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
12642 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
12643 l_recog_line_1 NUMBER;
12644 l_recog_line_2 NUMBER;
12645
12646 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
12647 l_bflow_applied_to_amt NUMBER; -- 5132302
12648 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
12649
12650 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
12651
12652 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
12653 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
12654
12655 ---------------------------------------------------------------------------------------------------------------
12656
12657
12658 --
12659 -- bulk performance
12660 --
12661 l_balance_type_code VARCHAR2(1);
12662 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
12663 l_log_module VARCHAR2(240);
12664
12665 --
12666 -- Upgrade strategy
12667 --
12668 l_actual_upg_option VARCHAR2(1);
12669 l_enc_upg_option VARCHAR2(1);
12670
12671 --
12672 BEGIN
12673 --
12674 IF g_log_enabled THEN
12675 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_54';
12676 END IF;
12677 --
12678 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
12679
12680 trace
12681 (p_msg => 'BEGIN of AcctLineType_54'
12682 ,p_level => C_LEVEL_PROCEDURE
12683 ,p_module => l_log_module);
12684
12685 END IF;
12686 --
12687 l_component_type := 'AMB_JLT';
12688 l_component_code := 'AP_ALC_EX_RATE_VAR_PREPAY';
12689 l_component_type_code := 'S';
12690 l_component_appl_id := 200;
12691 l_amb_context_code := 'DEFAULT';
12692 l_entity_code := 'AP_INVOICES';
12693 l_event_class_code := 'PREPAYMENTS';
12694 l_event_type_code := 'PREPAYMENTS_ALL';
12695 l_line_definition_owner_code := 'S';
12696 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
12697 --
12698 l_balance_type_code := 'A';
12699 l_segment := NULL;
12700 l_ccid := NULL;
12701 l_adr_transaction_coa_id := NULL;
12702 l_adr_accounting_coa_id := NULL;
12703 l_adr_flexfield_segment_code := NULL;
12704 l_adr_flex_value_set_id := NULL;
12705 l_adr_value_type_code := NULL;
12706 l_adr_value_combination_id := NULL;
12707 l_adr_value_segment_code := NULL;
12708
12709 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
12710 l_bflow_class_code := ''; -- 4219869 Business Flow
12711 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
12712 l_budgetary_control_flag := 'N';
12713
12714 l_bflow_applied_to_amt_idx := NULL; -- 5132302
12715 l_bflow_applied_to_amt := NULL; -- 5132302
12716 l_entered_amt_idx := NULL; -- 4262811
12717 l_accted_amt_idx := NULL; -- 4262811
12718 l_acc_rev_flag := NULL; -- 4262811
12719 l_accrual_line_num := NULL; -- 4262811
12720 l_tmp_amt := NULL; -- 4262811
12721 --
12722 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
12723 (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
12724 return;
12725 END IF;
12726
12727 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
12728 l_balance_type_code <> 'B' THEN
12729 IF NVL(p_source_33,'
12730 ') = 'ACCRUAL'
12731 THEN
12732
12733 --
12734 XLA_AE_LINES_PKG.SetNewLine;
12735
12736 p_balance_type_code := l_balance_type_code;
12737 -- set the flag so later we will know whether the gain loss line needs to be created
12738
12739 IF(l_balance_type_code = 'A' ) THEN
12743 --
12740 p_actual_flag :='G';
12741 END IF;
12742
12744 -- bulk performance
12745 --
12746 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
12747 p_header_num => 0); -- 4262811
12748 --
12749 -- set accounting line options
12750 --
12751 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
12752 p_natural_side_code => 'G'
12753 , p_gain_or_loss_flag => 'N'
12754 , p_gl_transfer_mode_code => 'S'
12755 , p_acct_entry_type_code => 'A'
12756 , p_switch_side_flag => ''
12757 , p_merge_duplicate_code => 'A'
12758 );
12759 --
12760 l_acc_rev_natural_side_code := 'C'; -- 4262811
12761 --
12762 --
12763 -- set accounting line type info
12764 --
12765 xla_ae_lines_pkg.SetAcctLineType
12766 (p_component_type => l_component_type
12767 ,p_event_type_code => l_event_type_code
12768 ,p_line_definition_owner_code => l_line_definition_owner_code
12769 ,p_line_definition_code => l_line_definition_code
12770 ,p_accounting_line_code => l_component_code
12771 ,p_accounting_line_type_code => l_component_type_code
12772 ,p_accounting_line_appl_id => l_component_appl_id
12773 ,p_amb_context_code => l_amb_context_code
12774 ,p_entity_code => l_entity_code
12775 ,p_event_class_code => l_event_class_code);
12776 --
12777 -- set accounting class
12778 --
12779 xla_ae_lines_pkg.SetAcctClass(
12780 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
12781 , p_ae_header_id => l_ae_header_id
12782 );
12783
12784 --
12785 -- set rounding class
12786 --
12787 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
12788 'EXCHANGE_RATE_VARIANCE';
12789
12790 --
12791 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
12792 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
12793 --
12794 -- bulk performance
12795 --
12796 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
12797
12798 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
12799 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
12800
12801 -- 4955764
12802 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12803 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
12804
12805 -- 4458381 Public Sector Enh
12806
12807 --
12808 -- set accounting attributes for the line type
12809 --
12810 l_entered_amt_idx := NULL;
12811 l_accted_amt_idx := 23;
12812 l_bflow_applied_to_amt_idx := NULL; -- 5132302
12813 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
12814 l_rec_acct_attrs.array_char_value(1) := p_source_53;
12815 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
12816 l_rec_acct_attrs.array_num_value(2) :=
12817 xla_ae_sources_pkg.GetSystemSourceNum(
12818 p_source_code => 'XLA_EVENT_APPL_ID'
12819 , p_source_type_code => 'Y'
12820 , p_source_application_id => 602
12821 );
12822 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
12823 l_rec_acct_attrs.array_char_value(3) := p_source_55;
12824 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
12825 l_rec_acct_attrs.array_char_value(4) :=
12826 xla_ae_sources_pkg.GetSystemSourceChar(
12827 p_source_code => 'XLA_ENTITY_CODE'
12828 , p_source_type_code => 'Y'
12829 , p_source_application_id => 602
12830 );
12831 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
12832 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
12833 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
12834 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
12835 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
12836 l_rec_acct_attrs.array_num_value(7) := p_source_91;
12837 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
12838 l_rec_acct_attrs.array_char_value(8) := p_source_92;
12839 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
12840 l_rec_acct_attrs.array_char_value(9) := p_source_93;
12841 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
12842 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
12843 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
12844 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
12845 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
12846 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
12847 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
12848 l_rec_acct_attrs.array_char_value(13) := p_source_55;
12849 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
12850 l_rec_acct_attrs.array_num_value(14) := p_source_65;
12851 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
12852 l_rec_acct_attrs.array_num_value(15) := p_source_66;
12856 l_rec_acct_attrs.array_num_value(17) := p_source_68;
12853 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
12854 l_rec_acct_attrs.array_char_value(16) := p_source_67;
12855 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
12857 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
12858 l_rec_acct_attrs.array_num_value(18) := p_source_69;
12859 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
12860 l_rec_acct_attrs.array_num_value(19) := p_source_70;
12861 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
12862 l_rec_acct_attrs.array_char_value(20) := p_source_67;
12863 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
12864 l_rec_acct_attrs.array_num_value(21) := p_source_71;
12865 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
12866 l_rec_acct_attrs.array_char_value(22) := p_source_72;
12867 l_rec_acct_attrs.array_acct_attr_code(23) := 'LEDGER_AMOUNT';
12868 l_rec_acct_attrs.array_num_value(23) := p_source_21;
12869 l_rec_acct_attrs.array_acct_attr_code(24) := 'MULTIPERIOD_END_DATE';
12870 l_rec_acct_attrs.array_date_value(24) := p_source_77;
12871 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_OPTION';
12872 l_rec_acct_attrs.array_char_value(25) := p_source_78;
12873 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_START_DATE';
12874 l_rec_acct_attrs.array_date_value(26) := p_source_79;
12875 l_rec_acct_attrs.array_acct_attr_code(27) := 'OVERRIDE_ACCTD_AMT_FLAG';
12876 l_rec_acct_attrs.array_char_value(27) := p_source_80;
12877 l_rec_acct_attrs.array_acct_attr_code(28) := 'PARTY_ID';
12878 l_rec_acct_attrs.array_num_value(28) := p_source_81;
12879 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_SITE_ID';
12880 l_rec_acct_attrs.array_num_value(29) := p_source_82;
12881 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
12882 l_rec_acct_attrs.array_char_value(30) := p_source_83;
12883 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
12884 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_84);
12885 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
12886 l_rec_acct_attrs.array_char_value(32) := p_source_55;
12887 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
12888 l_rec_acct_attrs.array_num_value(33) := p_source_85;
12889 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
12890 l_rec_acct_attrs.array_num_value(34) := p_source_86;
12891 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
12892 l_rec_acct_attrs.array_num_value(35) := p_source_87;
12893 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
12894 l_rec_acct_attrs.array_num_value(36) := p_source_88;
12895 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
12896 l_rec_acct_attrs.array_num_value(37) := p_source_89;
12897 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
12898 l_rec_acct_attrs.array_num_value(38) := p_source_90;
12899
12900 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
12901 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
12902
12903 ---------------------------------------------------------------------------------------------------------------
12904 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12905 ---------------------------------------------------------------------------------------------------------------
12906 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
12907
12908 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12909 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12910
12911 IF xla_accounting_cache_pkg.GetValueChar
12912 (p_source_code => 'LEDGER_CATEGORY_CODE'
12913 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
12914 AND l_bflow_method_code = 'PRIOR_ENTRY'
12915 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
12916 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
12917 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
12918 )
12919 THEN
12920 xla_ae_lines_pkg.BflowUpgEntry
12921 (p_business_method_code => l_bflow_method_code
12922 ,p_business_class_code => l_bflow_class_code
12923 ,p_balance_type => l_balance_type_code);
12924 ELSE
12925 NULL;
12926 -- No business flow processing for business flow method of NONE.
12927 END IF;
12928
12929 --
12930 -- call analytical criteria
12931 --
12932
12933 --
12934 -- call description
12935 --
12936
12937 xla_ae_lines_pkg.SetLineDescription(
12938 p_ae_header_id => l_ae_header_id
12939 ,p_description => Description_1 (
12940 p_application_id => p_application_id
12941 , p_ae_header_id => l_ae_header_id
12942 , p_source_1 => p_source_1
12943 )
12944 );
12945
12946
12947 --
12948 -- call ADRs
12949 -- Bug 4922099
12950 --
12951 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
12952 (NVL(l_actual_upg_option, 'N') = 'O') OR
12953 (NVL(l_enc_upg_option, 'N') = 'O')
12957 --
12954 )
12955 THEN
12956 NULL;
12958 --
12959
12960 l_ccid := AcctDerRule_30(
12961 p_application_id => p_application_id
12962 , p_ae_header_id => l_ae_header_id
12963 , p_source_15 => p_source_15
12964 , p_source_15_meaning => p_source_15_meaning
12965 , p_source_20 => p_source_20
12966 , p_source_21 => p_source_21
12967 , p_source_22 => p_source_22
12968 , p_source_22_meaning => p_source_22_meaning
12969 , p_source_23 => p_source_23
12970 , p_source_30 => p_source_30
12971 , p_source_47 => p_source_47
12972 , p_source_47_meaning => p_source_47_meaning
12973 , x_transaction_coa_id => l_adr_transaction_coa_id
12974 , x_accounting_coa_id => l_adr_accounting_coa_id
12975 , x_value_type_code => l_adr_value_type_code
12976 , p_side => 'ALL'
12977 );
12978
12979 xla_ae_lines_pkg.set_ccid(
12980 p_code_combination_id => l_ccid
12981 , p_value_type_code => l_adr_value_type_code
12982 , p_transaction_coa_id => l_adr_transaction_coa_id
12983 , p_accounting_coa_id => l_adr_accounting_coa_id
12984 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
12985 , p_adr_type_code => 'S'
12986 , p_component_type => l_component_type
12987 , p_component_code => l_component_code
12988 , p_component_type_code => l_component_type_code
12989 , p_component_appl_id => l_component_appl_id
12990 , p_amb_context_code => l_amb_context_code
12991 , p_side => 'ALL'
12992 );
12993
12994
12995 l_segment := AcctDerRule_9(
12996 p_application_id => p_application_id
12997 , p_ae_header_id => l_ae_header_id
12998 , p_source_15 => p_source_15
12999 , p_source_15_meaning => p_source_15_meaning
13000 , p_source_20 => p_source_20
13001 , p_source_22 => p_source_22
13002 , p_source_22_meaning => p_source_22_meaning
13003 , x_transaction_coa_id => l_adr_transaction_coa_id
13004 , x_accounting_coa_id => l_adr_accounting_coa_id
13005 , x_flexfield_segment_code => l_adr_flexfield_segment_code
13006 , x_flex_value_set_id => l_adr_flex_value_set_id
13007 , x_value_type_code => l_adr_value_type_code
13008 , x_value_combination_id => l_adr_value_combination_id
13009 , x_value_segment_code => l_adr_value_segment_code
13010 , p_side => 'CREDIT'
13011 , p_override_seg_flag => 'Y'
13012 );
13013
13014 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13015
13016 xla_ae_lines_pkg.set_segment(
13017 p_to_segment_code => 'GL_ACCOUNT'
13018 , p_segment_value => l_segment
13019 , p_from_segment_code => l_adr_value_segment_code
13020 , p_from_combination_id => l_adr_value_combination_id
13021 , p_value_type_code => l_adr_value_type_code
13022 , p_transaction_coa_id => l_adr_transaction_coa_id
13023 , p_accounting_coa_id => l_adr_accounting_coa_id
13024 , p_flexfield_segment_code => l_adr_flexfield_segment_code
13025 , p_flex_value_set_id => l_adr_flex_value_set_id
13026 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
13027 , p_adr_type_code => 'S'
13028 , p_component_type => l_component_type
13029 , p_component_code => l_component_code
13030 , p_component_type_code => l_component_type_code
13031 , p_component_appl_id => l_component_appl_id
13032 , p_amb_context_code => l_amb_context_code
13033 , p_entity_code => 'AP_INVOICES'
13034 , p_event_class_code => 'PREPAYMENTS'
13035 , p_side => 'CREDIT'
13036 );
13037
13038 END IF;
13039
13040 l_segment := AcctDerRule_10(
13041 p_application_id => p_application_id
13042 , p_ae_header_id => l_ae_header_id
13043 , p_source_15 => p_source_15
13044 , p_source_15_meaning => p_source_15_meaning
13045 , p_source_22 => p_source_22
13046 , p_source_22_meaning => p_source_22_meaning
13047 , p_source_23 => p_source_23
13048 , x_transaction_coa_id => l_adr_transaction_coa_id
13049 , x_accounting_coa_id => l_adr_accounting_coa_id
13050 , x_flexfield_segment_code => l_adr_flexfield_segment_code
13051 , x_flex_value_set_id => l_adr_flex_value_set_id
13052 , x_value_type_code => l_adr_value_type_code
13053 , x_value_combination_id => l_adr_value_combination_id
13054 , x_value_segment_code => l_adr_value_segment_code
13055 , p_side => 'DEBIT'
13056 , p_override_seg_flag => 'Y'
13057 );
13058
13059 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13060
13061 xla_ae_lines_pkg.set_segment(
13062 p_to_segment_code => 'GL_ACCOUNT'
13063 , p_segment_value => l_segment
13064 , p_from_segment_code => l_adr_value_segment_code
13065 , p_from_combination_id => l_adr_value_combination_id
13066 , p_value_type_code => l_adr_value_type_code
13070 , p_flex_value_set_id => l_adr_flex_value_set_id
13067 , p_transaction_coa_id => l_adr_transaction_coa_id
13068 , p_accounting_coa_id => l_adr_accounting_coa_id
13069 , p_flexfield_segment_code => l_adr_flexfield_segment_code
13071 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
13072 , p_adr_type_code => 'S'
13073 , p_component_type => l_component_type
13074 , p_component_code => l_component_code
13075 , p_component_type_code => l_component_type_code
13076 , p_component_appl_id => l_component_appl_id
13077 , p_amb_context_code => l_amb_context_code
13078 , p_entity_code => 'AP_INVOICES'
13079 , p_event_class_code => 'PREPAYMENTS'
13080 , p_side => 'DEBIT'
13081 );
13082
13083 END IF;
13084
13085 l_segment := AcctDerRule_23(
13086 p_application_id => p_application_id
13087 , p_ae_header_id => l_ae_header_id
13088 , p_source_15 => p_source_15
13089 , p_source_15_meaning => p_source_15_meaning
13090 , p_source_22 => p_source_22
13091 , p_source_22_meaning => p_source_22_meaning
13092 , p_source_30 => p_source_30
13093 , x_transaction_coa_id => l_adr_transaction_coa_id
13094 , x_accounting_coa_id => l_adr_accounting_coa_id
13095 , x_flexfield_segment_code => l_adr_flexfield_segment_code
13096 , x_flex_value_set_id => l_adr_flex_value_set_id
13097 , x_value_type_code => l_adr_value_type_code
13098 , x_value_combination_id => l_adr_value_combination_id
13099 , x_value_segment_code => l_adr_value_segment_code
13100 , p_side => 'ALL'
13101 , p_override_seg_flag => 'Y'
13102 );
13103
13104 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13105
13106 xla_ae_lines_pkg.set_segment(
13107 p_to_segment_code => 'GL_BALANCING'
13108 , p_segment_value => l_segment
13109 , p_from_segment_code => l_adr_value_segment_code
13110 , p_from_combination_id => l_adr_value_combination_id
13111 , p_value_type_code => l_adr_value_type_code
13112 , p_transaction_coa_id => l_adr_transaction_coa_id
13113 , p_accounting_coa_id => l_adr_accounting_coa_id
13114 , p_flexfield_segment_code => l_adr_flexfield_segment_code
13115 , p_flex_value_set_id => l_adr_flex_value_set_id
13116 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
13117 , p_adr_type_code => 'S'
13118 , p_component_type => l_component_type
13119 , p_component_code => l_component_code
13120 , p_component_type_code => l_component_type_code
13121 , p_component_appl_id => l_component_appl_id
13122 , p_amb_context_code => l_amb_context_code
13123 , p_entity_code => 'AP_INVOICES'
13124 , p_event_class_code => 'PREPAYMENTS'
13125 , p_side => 'ALL'
13126 );
13127
13128 END IF;
13129
13130 --
13131 --
13132 END IF;
13133 --
13134 -- Bug 4922099
13135 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
13136 (NVL(l_enc_upg_option, 'N') = 'O')
13137 ) AND
13138 (l_bflow_method_code = 'PRIOR_ENTRY')
13139 )
13140 THEN
13141 IF
13142 --
13143 1 = 2
13144 --
13145 THEN
13146 xla_accounting_err_pkg.build_message
13147 (p_appli_s_name => 'XLA'
13148 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
13149 ,p_token_1 => 'LINE_NUMBER'
13150 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
13151 ,p_token_2 => 'LINE_TYPE_NAME'
13152 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
13153 l_component_type
13154 ,l_component_code
13155 ,l_component_type_code
13156 ,l_component_appl_id
13157 ,l_amb_context_code
13158 ,l_entity_code
13159 ,l_event_class_code
13160 )
13161 ,p_token_3 => 'OWNER'
13162 ,p_value_3 => xla_lookups_pkg.get_meaning(
13163 p_lookup_type => 'XLA_OWNER_TYPE'
13164 ,p_lookup_code => l_component_type_code
13165 )
13166 ,p_token_4 => 'PRODUCT_NAME'
13170 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
13167 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
13168 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
13169 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
13171 ,p_ae_header_id => NULL
13172 );
13173
13174 IF (C_LEVEL_ERROR>= g_log_level) THEN
13175 trace
13176 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
13177 ,p_level => C_LEVEL_ERROR
13178 ,p_module => l_log_module);
13179 END IF;
13180 END IF;
13181 END IF;
13182 --
13183 --
13184 ------------------------------------------------------------------------------------------------
13185 -- 4219869 Business Flow
13186 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
13187 -- Prior Entry. Currently, the following code is always generated.
13188 ------------------------------------------------------------------------------------------------
13189 XLA_AE_LINES_PKG.ValidateCurrentLine;
13190
13191 ------------------------------------------------------------------------------------
13192 -- 4219869 Business Flow
13193 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
13194 ------------------------------------------------------------------------------------
13195 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
13196
13197 ----------------------------------------------------------------------------------
13198 -- 4219869 Business Flow
13199 -- Update journal entry status -- Need to generate this within IF <condition>
13200 ----------------------------------------------------------------------------------
13201 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
13202 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
13203 ,p_balance_type_code => l_balance_type_code
13204 );
13205
13206 -------------------------------------------------------------------------------------------
13207 -- 4262811 - Generate the Accrual Reversal lines
13208 -------------------------------------------------------------------------------------------
13209 BEGIN
13210 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
13211 (g_array_event(p_event_id).array_value_num('header_index'));
13212 IF l_acc_rev_flag IS NULL THEN
13213 l_acc_rev_flag := 'N';
13214 END IF;
13215 EXCEPTION
13216 WHEN OTHERS THEN
13217 l_acc_rev_flag := 'N';
13218 END;
13219 --
13220 IF (l_acc_rev_flag = 'Y') THEN
13221
13222 -- 4645092 ------------------------------------------------------------------------------
13223 -- To allow MPA report to determine if it should generate report process
13224 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
13225 ------------------------------------------------------------------------------------------
13226
13227 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
13228 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
13229 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
13230 -- call ADRs
13231 -- Bug 4922099
13232 --
13233 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
13234 (NVL(l_actual_upg_option, 'N') = 'O') OR
13235 (NVL(l_enc_upg_option, 'N') = 'O')
13236 )
13237 THEN
13238 NULL;
13239 --
13240 --
13241
13242 l_ccid := AcctDerRule_30(
13243 p_application_id => p_application_id
13244 , p_ae_header_id => l_ae_header_id
13245 , p_source_15 => p_source_15
13246 , p_source_15_meaning => p_source_15_meaning
13247 , p_source_20 => p_source_20
13248 , p_source_21 => p_source_21
13249 , p_source_22 => p_source_22
13250 , p_source_22_meaning => p_source_22_meaning
13251 , p_source_23 => p_source_23
13252 , p_source_30 => p_source_30
13253 , p_source_47 => p_source_47
13254 , p_source_47_meaning => p_source_47_meaning
13255 , x_transaction_coa_id => l_adr_transaction_coa_id
13256 , x_accounting_coa_id => l_adr_accounting_coa_id
13257 , x_value_type_code => l_adr_value_type_code
13258 , p_side => 'ALL'
13259 );
13260
13261 xla_ae_lines_pkg.set_ccid(
13262 p_code_combination_id => l_ccid
13263 , p_value_type_code => l_adr_value_type_code
13264 , p_transaction_coa_id => l_adr_transaction_coa_id
13265 , p_accounting_coa_id => l_adr_accounting_coa_id
13266 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
13267 , p_adr_type_code => 'S'
13268 , p_component_type => l_component_type
13269 , p_component_code => l_component_code
13270 , p_component_type_code => l_component_type_code
13271 , p_component_appl_id => l_component_appl_id
13272 , p_amb_context_code => l_amb_context_code
13273 , p_side => 'ALL'
13274 );
13275
13276
13277 l_segment := AcctDerRule_9(
13278 p_application_id => p_application_id
13279 , p_ae_header_id => l_ae_header_id
13280 , p_source_15 => p_source_15
13281 , p_source_15_meaning => p_source_15_meaning
13285 , x_transaction_coa_id => l_adr_transaction_coa_id
13282 , p_source_20 => p_source_20
13283 , p_source_22 => p_source_22
13284 , p_source_22_meaning => p_source_22_meaning
13286 , x_accounting_coa_id => l_adr_accounting_coa_id
13287 , x_flexfield_segment_code => l_adr_flexfield_segment_code
13288 , x_flex_value_set_id => l_adr_flex_value_set_id
13289 , x_value_type_code => l_adr_value_type_code
13290 , x_value_combination_id => l_adr_value_combination_id
13291 , x_value_segment_code => l_adr_value_segment_code
13292 , p_side => 'CREDIT'
13293 , p_override_seg_flag => 'Y'
13294 );
13295
13296 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13297
13298 xla_ae_lines_pkg.set_segment(
13299 p_to_segment_code => 'GL_ACCOUNT'
13300 , p_segment_value => l_segment
13301 , p_from_segment_code => l_adr_value_segment_code
13302 , p_from_combination_id => l_adr_value_combination_id
13303 , p_value_type_code => l_adr_value_type_code
13304 , p_transaction_coa_id => l_adr_transaction_coa_id
13305 , p_accounting_coa_id => l_adr_accounting_coa_id
13306 , p_flexfield_segment_code => l_adr_flexfield_segment_code
13307 , p_flex_value_set_id => l_adr_flex_value_set_id
13308 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
13309 , p_adr_type_code => 'S'
13310 , p_component_type => l_component_type
13311 , p_component_code => l_component_code
13312 , p_component_type_code => l_component_type_code
13313 , p_component_appl_id => l_component_appl_id
13314 , p_amb_context_code => l_amb_context_code
13315 , p_entity_code => 'AP_INVOICES'
13316 , p_event_class_code => 'PREPAYMENTS'
13317 , p_side => 'CREDIT'
13318 );
13319
13320 END IF;
13321
13322 l_segment := AcctDerRule_10(
13323 p_application_id => p_application_id
13324 , p_ae_header_id => l_ae_header_id
13325 , p_source_15 => p_source_15
13326 , p_source_15_meaning => p_source_15_meaning
13327 , p_source_22 => p_source_22
13328 , p_source_22_meaning => p_source_22_meaning
13329 , p_source_23 => p_source_23
13330 , x_transaction_coa_id => l_adr_transaction_coa_id
13331 , x_accounting_coa_id => l_adr_accounting_coa_id
13332 , x_flexfield_segment_code => l_adr_flexfield_segment_code
13333 , x_flex_value_set_id => l_adr_flex_value_set_id
13334 , x_value_type_code => l_adr_value_type_code
13335 , x_value_combination_id => l_adr_value_combination_id
13336 , x_value_segment_code => l_adr_value_segment_code
13337 , p_side => 'DEBIT'
13338 , p_override_seg_flag => 'Y'
13339 );
13340
13341 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13342
13343 xla_ae_lines_pkg.set_segment(
13344 p_to_segment_code => 'GL_ACCOUNT'
13345 , p_segment_value => l_segment
13346 , p_from_segment_code => l_adr_value_segment_code
13347 , p_from_combination_id => l_adr_value_combination_id
13348 , p_value_type_code => l_adr_value_type_code
13349 , p_transaction_coa_id => l_adr_transaction_coa_id
13350 , p_accounting_coa_id => l_adr_accounting_coa_id
13351 , p_flexfield_segment_code => l_adr_flexfield_segment_code
13352 , p_flex_value_set_id => l_adr_flex_value_set_id
13353 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
13354 , p_adr_type_code => 'S'
13355 , p_component_type => l_component_type
13356 , p_component_code => l_component_code
13357 , p_component_type_code => l_component_type_code
13358 , p_component_appl_id => l_component_appl_id
13359 , p_amb_context_code => l_amb_context_code
13360 , p_entity_code => 'AP_INVOICES'
13361 , p_event_class_code => 'PREPAYMENTS'
13362 , p_side => 'DEBIT'
13363 );
13364
13365 END IF;
13366
13367 l_segment := AcctDerRule_23(
13368 p_application_id => p_application_id
13369 , p_ae_header_id => l_ae_header_id
13370 , p_source_15 => p_source_15
13371 , p_source_15_meaning => p_source_15_meaning
13372 , p_source_22 => p_source_22
13373 , p_source_22_meaning => p_source_22_meaning
13374 , p_source_30 => p_source_30
13375 , x_transaction_coa_id => l_adr_transaction_coa_id
13376 , x_accounting_coa_id => l_adr_accounting_coa_id
13377 , x_flexfield_segment_code => l_adr_flexfield_segment_code
13378 , x_flex_value_set_id => l_adr_flex_value_set_id
13379 , x_value_type_code => l_adr_value_type_code
13380 , x_value_combination_id => l_adr_value_combination_id
13381 , x_value_segment_code => l_adr_value_segment_code
13382 , p_side => 'ALL'
13383 , p_override_seg_flag => 'Y'
13384 );
13385
13386 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13387
13388 xla_ae_lines_pkg.set_segment(
13389 p_to_segment_code => 'GL_BALANCING'
13390 , p_segment_value => l_segment
13394 , p_transaction_coa_id => l_adr_transaction_coa_id
13391 , p_from_segment_code => l_adr_value_segment_code
13392 , p_from_combination_id => l_adr_value_combination_id
13393 , p_value_type_code => l_adr_value_type_code
13395 , p_accounting_coa_id => l_adr_accounting_coa_id
13396 , p_flexfield_segment_code => l_adr_flexfield_segment_code
13397 , p_flex_value_set_id => l_adr_flex_value_set_id
13398 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
13399 , p_adr_type_code => 'S'
13400 , p_component_type => l_component_type
13401 , p_component_code => l_component_code
13402 , p_component_type_code => l_component_type_code
13403 , p_component_appl_id => l_component_appl_id
13404 , p_amb_context_code => l_amb_context_code
13405 , p_entity_code => 'AP_INVOICES'
13406 , p_event_class_code => 'PREPAYMENTS'
13407 , p_side => 'ALL'
13408 );
13409
13410 END IF;
13411
13412 --
13413 --
13414 END IF;
13415
13416 --
13417 -- Update the line information that should be overwritten
13418 --
13419 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
13420 p_header_num => 1);
13421 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
13422
13423 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
13424
13425 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
13426 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
13427 END IF;
13428
13429 --
13430 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
13431 --
13432 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
13433 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
13434 ELSE
13435 ---------------------------------------------------------------------------------------------------
13436 -- 4262811a Switch Sign
13437 ---------------------------------------------------------------------------------------------------
13438 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
13439 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13440 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13441 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13442 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13443 -- 5132302
13444 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
13445 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13446
13447 END IF;
13448
13449 -- 4955764
13450 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13451 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
13452
13453
13454 XLA_AE_LINES_PKG.ValidateCurrentLine;
13455 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
13456
13457 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
13458 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
13459 ,p_balance_type_code => l_balance_type_code);
13460
13461 END IF;
13462
13463 -----------------------------------------------------------------------------------------
13464 -- 4262811 Multiperiod Accounting
13465 -----------------------------------------------------------------------------------------
13466 -- No MPA option is assigned.
13467
13468
13469 END IF;
13470 END IF;
13471 --
13472
13473 --
13474 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
13475 trace
13476 (p_msg => 'END of AcctLineType_54'
13477 ,p_level => C_LEVEL_PROCEDURE
13478 ,p_module => l_log_module);
13479 END IF;
13480 --
13481 EXCEPTION
13482 WHEN xla_exceptions_pkg.application_exception THEN
13483 RAISE;
13484 WHEN OTHERS THEN
13485 xla_exceptions_pkg.raise_message
13486 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_54');
13487 END AcctLineType_54;
13488 --
13489
13490 ---------------------------------------
13491 --
13492 -- PRIVATE FUNCTION
13493 -- AcctLineType_55
13494 --
13495 ---------------------------------------
13496 PROCEDURE AcctLineType_55 (
13497 p_application_id IN NUMBER
13498 ,p_event_id IN NUMBER
13499 ,p_calculate_acctd_flag IN VARCHAR2
13500 ,p_calculate_g_l_flag IN VARCHAR2
13501 ,p_actual_flag IN OUT VARCHAR2
13502 ,p_balance_type_code OUT VARCHAR2
13503 ,p_gain_or_loss_ref OUT VARCHAR2
13504
13505 --Invoice Distribution Description
13506 , p_source_1 IN VARCHAR2
13507 --Automatic Offsets Value
13508 , p_source_15 IN VARCHAR2
13509 , p_source_15_meaning IN VARCHAR2
13513 , p_source_21 IN NUMBER
13510 --Purchase Order Rate Variance Gain Account
13511 , p_source_20 IN NUMBER
13512 --Invoice Distribution Ledger Amount
13514 --Destination Type of the PO Distribution
13515 , p_source_22 IN VARCHAR2
13516 , p_source_22_meaning IN VARCHAR2
13517 --Purchase Order Rate Variance Loss Account
13518 , p_source_23 IN NUMBER
13519 --Invoice Distribution Account
13520 , p_source_30 IN NUMBER
13521 --Invoice Distribution Type
13522 , p_source_33 IN VARCHAR2
13523 , p_source_33_meaning IN VARCHAR2
13524 --Automatic Offsets Flag
13525 , p_source_47 IN VARCHAR2
13526 , p_source_47_meaning IN VARCHAR2
13527 --Accounting Reversal Indicator
13528 , p_source_53 IN VARCHAR2
13529 --Distribution Link Type
13530 , p_source_55 IN VARCHAR2
13531 --Allocation to Main Distribution Identifier
13532 , p_source_57 IN NUMBER
13533 --Invoice Identifier
13534 , p_source_58 IN NUMBER
13535 --Invoice Distribution Identifier
13536 , p_source_64 IN NUMBER
13537 --Payables Encumbrance Upgrade Credit Account
13538 , p_source_65 IN NUMBER
13539 --Payables Encumbrance Upgrade Credit Amount
13540 , p_source_66 IN NUMBER
13541 --Invoice Currency Code
13542 , p_source_67 IN VARCHAR2
13543 --Payables Encumbrance Upgrade Credit Base Amount
13544 , p_source_68 IN NUMBER
13545 --Payables Encumbrance Upgrade Debit Account
13546 , p_source_69 IN NUMBER
13547 --Payables Encumbrance Upgrade Debit Amount
13548 , p_source_70 IN NUMBER
13549 --Payables Encumbrance Upgrade Debit Base Amount
13550 , p_source_71 IN NUMBER
13551 --Payables Encumbrance Upgrade Option
13552 , p_source_72 IN VARCHAR2
13553 --Deferred Accounting End Date
13554 , p_source_77 IN DATE
13555 --Deferred Accounting Option
13556 , p_source_78 IN VARCHAR2
13557 --Deferred Accounting Start Date
13558 , p_source_79 IN DATE
13559 --Override Accounted Amount Indicator
13560 , p_source_80 IN VARCHAR2
13561 , p_source_80_meaning IN VARCHAR2
13562 --Invoice Supplier Identifier
13563 , p_source_81 IN NUMBER
13564 --Invoice Supplier Site Identifier
13565 , p_source_82 IN NUMBER
13566 --Third Party Type
13567 , p_source_83 IN VARCHAR2
13568 --Parent Reversal Identifier
13569 , p_source_84 IN NUMBER
13570 --Invoice Distribution Statistical Amount
13571 , p_source_85 IN NUMBER
13572 --Invoice Distribution Tax Line Identifier
13573 , p_source_86 IN NUMBER
13574 --Invoice Distribution Tax Distribution Identifier from Tax
13575 , p_source_87 IN NUMBER
13576 --Invoice Distribution Summary Tax Line Identifier
13577 , p_source_88 IN NUMBER
13578 --Payables Upgrade Credit Encumbrance Type Identifier
13579 , p_source_89 IN NUMBER
13580 --Payables Upgrade Debit Encumbrance Type Identifier
13581 , p_source_90 IN NUMBER
13582 --Business Flow Accounts Payable Application Identifier
13583 , p_source_91 IN NUMBER
13584 --Business Flow Invoice Distribution Type
13585 , p_source_92 IN VARCHAR2
13586 --Business Flow Invoice Entity Code
13587 , p_source_93 IN VARCHAR2
13588 --Business Flow Invoice Distribution Identifier
13589 , p_source_94 IN NUMBER
13590 --Business Flow Invoice Identifier
13591 , p_source_95 IN NUMBER
13592 --Accrue on Receipt Option
13593 , p_source_96 IN VARCHAR2
13594 , p_source_96_meaning IN VARCHAR2
13595 )
13596 IS
13597
13598 l_component_type VARCHAR2(80);
13599 l_component_code VARCHAR2(30);
13600 l_component_type_code VARCHAR2(1);
13601 l_component_appl_id INTEGER;
13602 l_amb_context_code VARCHAR2(30);
13603 l_entity_code VARCHAR2(30);
13604 l_event_class_code VARCHAR2(30);
13605 l_ae_header_id NUMBER;
13606 l_event_type_code VARCHAR2(30);
13607 l_line_definition_code VARCHAR2(30);
13608 l_line_definition_owner_code VARCHAR2(1);
13609 --
13610 -- adr variables
13611 l_segment VARCHAR2(30);
13612 l_ccid NUMBER;
13613 l_adr_transaction_coa_id NUMBER;
13614 l_adr_accounting_coa_id NUMBER;
13615 l_adr_flexfield_segment_code VARCHAR2(30);
13616 l_adr_flex_value_set_id NUMBER;
13617 l_adr_value_type_code VARCHAR2(30);
13618 l_adr_value_combination_id NUMBER;
13619 l_adr_value_segment_code VARCHAR2(30);
13620
13621 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
13622 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
13623 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
13624 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
13625
13626 -- 4262811 Variables ------------------------------------------------------------------------------------------
13627 l_entered_amt_idx NUMBER;
13628 l_accted_amt_idx NUMBER;
13629 l_acc_rev_flag VARCHAR2(1);
13630 l_accrual_line_num NUMBER;
13631 l_tmp_amt NUMBER;
13632 l_acc_rev_natural_side_code VARCHAR2(1);
13633
13634 l_num_entries NUMBER;
13638 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
13635 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
13636 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
13637 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
13639 l_recog_line_1 NUMBER;
13640 l_recog_line_2 NUMBER;
13641
13642 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
13643 l_bflow_applied_to_amt NUMBER; -- 5132302
13644 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
13645
13646 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
13647
13648 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
13649 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
13650
13651 ---------------------------------------------------------------------------------------------------------------
13652
13653
13654 --
13655 -- bulk performance
13656 --
13657 l_balance_type_code VARCHAR2(1);
13658 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
13659 l_log_module VARCHAR2(240);
13660
13661 --
13662 -- Upgrade strategy
13663 --
13664 l_actual_upg_option VARCHAR2(1);
13665 l_enc_upg_option VARCHAR2(1);
13666
13667 --
13668 BEGIN
13669 --
13670 IF g_log_enabled THEN
13671 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_55';
13672 END IF;
13673 --
13674 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
13675
13676 trace
13677 (p_msg => 'BEGIN of AcctLineType_55'
13678 ,p_level => C_LEVEL_PROCEDURE
13679 ,p_module => l_log_module);
13680
13681 END IF;
13682 --
13683 l_component_type := 'AMB_JLT';
13684 l_component_code := 'AP_ALC_TAX_EX_RATE_VAR_CM';
13685 l_component_type_code := 'S';
13686 l_component_appl_id := 200;
13687 l_amb_context_code := 'DEFAULT';
13688 l_entity_code := 'AP_INVOICES';
13689 l_event_class_code := 'CREDIT MEMOS';
13690 l_event_type_code := 'CREDIT MEMOS_ALL';
13691 l_line_definition_owner_code := 'S';
13692 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
13693 --
13694 l_balance_type_code := 'A';
13695 l_segment := NULL;
13696 l_ccid := NULL;
13697 l_adr_transaction_coa_id := NULL;
13698 l_adr_accounting_coa_id := NULL;
13699 l_adr_flexfield_segment_code := NULL;
13700 l_adr_flex_value_set_id := NULL;
13701 l_adr_value_type_code := NULL;
13702 l_adr_value_combination_id := NULL;
13703 l_adr_value_segment_code := NULL;
13704
13705 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
13706 l_bflow_class_code := ''; -- 4219869 Business Flow
13707 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
13708 l_budgetary_control_flag := 'N';
13709
13710 l_bflow_applied_to_amt_idx := NULL; -- 5132302
13711 l_bflow_applied_to_amt := NULL; -- 5132302
13712 l_entered_amt_idx := NULL; -- 4262811
13713 l_accted_amt_idx := NULL; -- 4262811
13714 l_acc_rev_flag := NULL; -- 4262811
13715 l_accrual_line_num := NULL; -- 4262811
13716 l_tmp_amt := NULL; -- 4262811
13717 --
13718 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
13719 (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
13720 return;
13721 END IF;
13722
13723 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
13724 l_balance_type_code <> 'B' THEN
13725 IF NVL(p_source_33,'
13726 ') = 'NONREC_TAX' AND
13727 NVL(p_source_96,'
13728 ') = 'Y'
13729 THEN
13730
13731 --
13732 XLA_AE_LINES_PKG.SetNewLine;
13733
13734 p_balance_type_code := l_balance_type_code;
13735 -- set the flag so later we will know whether the gain loss line needs to be created
13736
13737 IF(l_balance_type_code = 'A' ) THEN
13738 p_actual_flag :='G';
13739 END IF;
13740
13741 --
13742 -- bulk performance
13743 --
13744 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
13745 p_header_num => 0); -- 4262811
13746 --
13747 -- set accounting line options
13748 --
13749 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
13750 p_natural_side_code => 'G'
13751 , p_gain_or_loss_flag => 'N'
13752 , p_gl_transfer_mode_code => 'S'
13753 , p_acct_entry_type_code => 'A'
13754 , p_switch_side_flag => ''
13755 , p_merge_duplicate_code => 'A'
13756 );
13757 --
13758 l_acc_rev_natural_side_code := 'C'; -- 4262811
13759 --
13760 --
13761 -- set accounting line type info
13762 --
13763 xla_ae_lines_pkg.SetAcctLineType
13764 (p_component_type => l_component_type
13768 ,p_accounting_line_code => l_component_code
13765 ,p_event_type_code => l_event_type_code
13766 ,p_line_definition_owner_code => l_line_definition_owner_code
13767 ,p_line_definition_code => l_line_definition_code
13769 ,p_accounting_line_type_code => l_component_type_code
13770 ,p_accounting_line_appl_id => l_component_appl_id
13771 ,p_amb_context_code => l_amb_context_code
13772 ,p_entity_code => l_entity_code
13773 ,p_event_class_code => l_event_class_code);
13774 --
13775 -- set accounting class
13776 --
13777 xla_ae_lines_pkg.SetAcctClass(
13778 p_accounting_class_code => 'TERV'
13779 , p_ae_header_id => l_ae_header_id
13780 );
13781
13782 --
13783 -- set rounding class
13784 --
13785 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
13786 'TERV';
13787
13788 --
13789 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
13790 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
13791 --
13792 -- bulk performance
13793 --
13794 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
13795
13796 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
13797 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
13798
13799 -- 4955764
13800 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13801 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
13802
13803 -- 4458381 Public Sector Enh
13804
13805 --
13806 -- set accounting attributes for the line type
13807 --
13808 l_entered_amt_idx := NULL;
13809 l_accted_amt_idx := 23;
13810 l_bflow_applied_to_amt_idx := NULL; -- 5132302
13811 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
13812 l_rec_acct_attrs.array_char_value(1) := p_source_53;
13813 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
13814 l_rec_acct_attrs.array_num_value(2) :=
13815 xla_ae_sources_pkg.GetSystemSourceNum(
13816 p_source_code => 'XLA_EVENT_APPL_ID'
13817 , p_source_type_code => 'Y'
13818 , p_source_application_id => 602
13819 );
13820 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
13821 l_rec_acct_attrs.array_char_value(3) := p_source_55;
13822 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
13823 l_rec_acct_attrs.array_char_value(4) :=
13824 xla_ae_sources_pkg.GetSystemSourceChar(
13825 p_source_code => 'XLA_ENTITY_CODE'
13826 , p_source_type_code => 'Y'
13827 , p_source_application_id => 602
13828 );
13829 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
13830 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
13831 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
13832 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
13833 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
13834 l_rec_acct_attrs.array_num_value(7) := p_source_91;
13835 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
13836 l_rec_acct_attrs.array_char_value(8) := p_source_92;
13837 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
13838 l_rec_acct_attrs.array_char_value(9) := p_source_93;
13839 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
13840 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
13841 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
13842 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
13843 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
13844 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
13845 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
13846 l_rec_acct_attrs.array_char_value(13) := p_source_55;
13847 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
13848 l_rec_acct_attrs.array_num_value(14) := p_source_65;
13849 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
13850 l_rec_acct_attrs.array_num_value(15) := p_source_66;
13851 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
13852 l_rec_acct_attrs.array_char_value(16) := p_source_67;
13853 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
13854 l_rec_acct_attrs.array_num_value(17) := p_source_68;
13855 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
13856 l_rec_acct_attrs.array_num_value(18) := p_source_69;
13857 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
13858 l_rec_acct_attrs.array_num_value(19) := p_source_70;
13859 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
13860 l_rec_acct_attrs.array_char_value(20) := p_source_67;
13861 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
13862 l_rec_acct_attrs.array_num_value(21) := p_source_71;
13863 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
13864 l_rec_acct_attrs.array_char_value(22) := p_source_72;
13865 l_rec_acct_attrs.array_acct_attr_code(23) := 'LEDGER_AMOUNT';
13866 l_rec_acct_attrs.array_num_value(23) := p_source_21;
13870 l_rec_acct_attrs.array_char_value(25) := p_source_78;
13867 l_rec_acct_attrs.array_acct_attr_code(24) := 'MULTIPERIOD_END_DATE';
13868 l_rec_acct_attrs.array_date_value(24) := p_source_77;
13869 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_OPTION';
13871 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_START_DATE';
13872 l_rec_acct_attrs.array_date_value(26) := p_source_79;
13873 l_rec_acct_attrs.array_acct_attr_code(27) := 'OVERRIDE_ACCTD_AMT_FLAG';
13874 l_rec_acct_attrs.array_char_value(27) := p_source_80;
13875 l_rec_acct_attrs.array_acct_attr_code(28) := 'PARTY_ID';
13876 l_rec_acct_attrs.array_num_value(28) := p_source_81;
13877 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_SITE_ID';
13878 l_rec_acct_attrs.array_num_value(29) := p_source_82;
13879 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
13880 l_rec_acct_attrs.array_char_value(30) := p_source_83;
13881 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
13882 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_84);
13883 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
13884 l_rec_acct_attrs.array_char_value(32) := p_source_55;
13885 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
13886 l_rec_acct_attrs.array_num_value(33) := p_source_85;
13887 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
13888 l_rec_acct_attrs.array_num_value(34) := p_source_86;
13889 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
13890 l_rec_acct_attrs.array_num_value(35) := p_source_87;
13891 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
13892 l_rec_acct_attrs.array_num_value(36) := p_source_88;
13893 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
13894 l_rec_acct_attrs.array_num_value(37) := p_source_89;
13895 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
13896 l_rec_acct_attrs.array_num_value(38) := p_source_90;
13897
13898 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
13899 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
13900
13901 ---------------------------------------------------------------------------------------------------------------
13902 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13903 ---------------------------------------------------------------------------------------------------------------
13904 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
13905
13906 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13907 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13908
13909 IF xla_accounting_cache_pkg.GetValueChar
13910 (p_source_code => 'LEDGER_CATEGORY_CODE'
13911 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
13912 AND l_bflow_method_code = 'PRIOR_ENTRY'
13913 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
13914 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
13915 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
13916 )
13917 THEN
13918 xla_ae_lines_pkg.BflowUpgEntry
13919 (p_business_method_code => l_bflow_method_code
13920 ,p_business_class_code => l_bflow_class_code
13921 ,p_balance_type => l_balance_type_code);
13922 ELSE
13923 NULL;
13924 -- No business flow processing for business flow method of NONE.
13925 END IF;
13926
13927 --
13928 -- call analytical criteria
13929 --
13930
13931 --
13932 -- call description
13933 --
13934
13935 xla_ae_lines_pkg.SetLineDescription(
13936 p_ae_header_id => l_ae_header_id
13937 ,p_description => Description_1 (
13938 p_application_id => p_application_id
13939 , p_ae_header_id => l_ae_header_id
13940 , p_source_1 => p_source_1
13941 )
13942 );
13943
13944
13945 --
13946 -- call ADRs
13947 -- Bug 4922099
13948 --
13949 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
13950 (NVL(l_actual_upg_option, 'N') = 'O') OR
13951 (NVL(l_enc_upg_option, 'N') = 'O')
13952 )
13953 THEN
13954 NULL;
13955 --
13956 --
13957
13958 l_ccid := AcctDerRule_30(
13959 p_application_id => p_application_id
13960 , p_ae_header_id => l_ae_header_id
13961 , p_source_15 => p_source_15
13962 , p_source_15_meaning => p_source_15_meaning
13963 , p_source_20 => p_source_20
13964 , p_source_21 => p_source_21
13965 , p_source_22 => p_source_22
13966 , p_source_22_meaning => p_source_22_meaning
13967 , p_source_23 => p_source_23
13968 , p_source_30 => p_source_30
13969 , p_source_47 => p_source_47
13970 , p_source_47_meaning => p_source_47_meaning
13971 , x_transaction_coa_id => l_adr_transaction_coa_id
13972 , x_accounting_coa_id => l_adr_accounting_coa_id
13973 , x_value_type_code => l_adr_value_type_code
13974 , p_side => 'ALL'
13975 );
13976
13977 xla_ae_lines_pkg.set_ccid(
13978 p_code_combination_id => l_ccid
13979 , p_value_type_code => l_adr_value_type_code
13983 , p_adr_type_code => 'S'
13980 , p_transaction_coa_id => l_adr_transaction_coa_id
13981 , p_accounting_coa_id => l_adr_accounting_coa_id
13982 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
13984 , p_component_type => l_component_type
13985 , p_component_code => l_component_code
13986 , p_component_type_code => l_component_type_code
13987 , p_component_appl_id => l_component_appl_id
13988 , p_amb_context_code => l_amb_context_code
13989 , p_side => 'ALL'
13990 );
13991
13992
13993 l_segment := AcctDerRule_9(
13994 p_application_id => p_application_id
13995 , p_ae_header_id => l_ae_header_id
13996 , p_source_15 => p_source_15
13997 , p_source_15_meaning => p_source_15_meaning
13998 , p_source_20 => p_source_20
13999 , p_source_22 => p_source_22
14000 , p_source_22_meaning => p_source_22_meaning
14001 , x_transaction_coa_id => l_adr_transaction_coa_id
14002 , x_accounting_coa_id => l_adr_accounting_coa_id
14003 , x_flexfield_segment_code => l_adr_flexfield_segment_code
14004 , x_flex_value_set_id => l_adr_flex_value_set_id
14005 , x_value_type_code => l_adr_value_type_code
14006 , x_value_combination_id => l_adr_value_combination_id
14007 , x_value_segment_code => l_adr_value_segment_code
14008 , p_side => 'DEBIT'
14009 , p_override_seg_flag => 'Y'
14010 );
14011
14012 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14013
14014 xla_ae_lines_pkg.set_segment(
14015 p_to_segment_code => 'GL_ACCOUNT'
14016 , p_segment_value => l_segment
14017 , p_from_segment_code => l_adr_value_segment_code
14018 , p_from_combination_id => l_adr_value_combination_id
14019 , p_value_type_code => l_adr_value_type_code
14020 , p_transaction_coa_id => l_adr_transaction_coa_id
14021 , p_accounting_coa_id => l_adr_accounting_coa_id
14022 , p_flexfield_segment_code => l_adr_flexfield_segment_code
14023 , p_flex_value_set_id => l_adr_flex_value_set_id
14024 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
14025 , p_adr_type_code => 'S'
14026 , p_component_type => l_component_type
14027 , p_component_code => l_component_code
14028 , p_component_type_code => l_component_type_code
14029 , p_component_appl_id => l_component_appl_id
14030 , p_amb_context_code => l_amb_context_code
14031 , p_entity_code => 'AP_INVOICES'
14032 , p_event_class_code => 'CREDIT MEMOS'
14033 , p_side => 'DEBIT'
14034 );
14035
14036 END IF;
14037
14038 l_segment := AcctDerRule_10(
14039 p_application_id => p_application_id
14040 , p_ae_header_id => l_ae_header_id
14041 , p_source_15 => p_source_15
14042 , p_source_15_meaning => p_source_15_meaning
14043 , p_source_22 => p_source_22
14044 , p_source_22_meaning => p_source_22_meaning
14045 , p_source_23 => p_source_23
14046 , x_transaction_coa_id => l_adr_transaction_coa_id
14047 , x_accounting_coa_id => l_adr_accounting_coa_id
14048 , x_flexfield_segment_code => l_adr_flexfield_segment_code
14049 , x_flex_value_set_id => l_adr_flex_value_set_id
14050 , x_value_type_code => l_adr_value_type_code
14051 , x_value_combination_id => l_adr_value_combination_id
14052 , x_value_segment_code => l_adr_value_segment_code
14053 , p_side => 'CREDIT'
14054 , p_override_seg_flag => 'Y'
14055 );
14056
14057 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14058
14059 xla_ae_lines_pkg.set_segment(
14060 p_to_segment_code => 'GL_ACCOUNT'
14061 , p_segment_value => l_segment
14062 , p_from_segment_code => l_adr_value_segment_code
14063 , p_from_combination_id => l_adr_value_combination_id
14064 , p_value_type_code => l_adr_value_type_code
14065 , p_transaction_coa_id => l_adr_transaction_coa_id
14066 , p_accounting_coa_id => l_adr_accounting_coa_id
14067 , p_flexfield_segment_code => l_adr_flexfield_segment_code
14068 , p_flex_value_set_id => l_adr_flex_value_set_id
14069 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
14070 , p_adr_type_code => 'S'
14071 , p_component_type => l_component_type
14072 , p_component_code => l_component_code
14073 , p_component_type_code => l_component_type_code
14074 , p_component_appl_id => l_component_appl_id
14075 , p_amb_context_code => l_amb_context_code
14076 , p_entity_code => 'AP_INVOICES'
14077 , p_event_class_code => 'CREDIT MEMOS'
14078 , p_side => 'CREDIT'
14079 );
14080
14081 END IF;
14082
14083 l_segment := AcctDerRule_23(
14084 p_application_id => p_application_id
14085 , p_ae_header_id => l_ae_header_id
14089 , p_source_22_meaning => p_source_22_meaning
14086 , p_source_15 => p_source_15
14087 , p_source_15_meaning => p_source_15_meaning
14088 , p_source_22 => p_source_22
14090 , p_source_30 => p_source_30
14091 , x_transaction_coa_id => l_adr_transaction_coa_id
14092 , x_accounting_coa_id => l_adr_accounting_coa_id
14093 , x_flexfield_segment_code => l_adr_flexfield_segment_code
14094 , x_flex_value_set_id => l_adr_flex_value_set_id
14095 , x_value_type_code => l_adr_value_type_code
14096 , x_value_combination_id => l_adr_value_combination_id
14097 , x_value_segment_code => l_adr_value_segment_code
14098 , p_side => 'ALL'
14099 , p_override_seg_flag => 'Y'
14100 );
14101
14102 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14103
14104 xla_ae_lines_pkg.set_segment(
14105 p_to_segment_code => 'GL_BALANCING'
14106 , p_segment_value => l_segment
14107 , p_from_segment_code => l_adr_value_segment_code
14108 , p_from_combination_id => l_adr_value_combination_id
14109 , p_value_type_code => l_adr_value_type_code
14110 , p_transaction_coa_id => l_adr_transaction_coa_id
14111 , p_accounting_coa_id => l_adr_accounting_coa_id
14112 , p_flexfield_segment_code => l_adr_flexfield_segment_code
14113 , p_flex_value_set_id => l_adr_flex_value_set_id
14114 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
14115 , p_adr_type_code => 'S'
14116 , p_component_type => l_component_type
14117 , p_component_code => l_component_code
14118 , p_component_type_code => l_component_type_code
14119 , p_component_appl_id => l_component_appl_id
14120 , p_amb_context_code => l_amb_context_code
14121 , p_entity_code => 'AP_INVOICES'
14122 , p_event_class_code => 'CREDIT MEMOS'
14123 , p_side => 'ALL'
14124 );
14125
14126 END IF;
14127
14128 --
14129 --
14130 END IF;
14131 --
14132 -- Bug 4922099
14133 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
14134 (NVL(l_enc_upg_option, 'N') = 'O')
14135 ) AND
14136 (l_bflow_method_code = 'PRIOR_ENTRY')
14137 )
14138 THEN
14139 IF
14140 --
14141 1 = 2
14142 --
14143 THEN
14144 xla_accounting_err_pkg.build_message
14145 (p_appli_s_name => 'XLA'
14146 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
14147 ,p_token_1 => 'LINE_NUMBER'
14148 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
14149 ,p_token_2 => 'LINE_TYPE_NAME'
14150 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
14151 l_component_type
14152 ,l_component_code
14153 ,l_component_type_code
14154 ,l_component_appl_id
14155 ,l_amb_context_code
14156 ,l_entity_code
14157 ,l_event_class_code
14158 )
14159 ,p_token_3 => 'OWNER'
14160 ,p_value_3 => xla_lookups_pkg.get_meaning(
14161 p_lookup_type => 'XLA_OWNER_TYPE'
14162 ,p_lookup_code => l_component_type_code
14163 )
14164 ,p_token_4 => 'PRODUCT_NAME'
14165 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
14166 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
14167 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
14168 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
14169 ,p_ae_header_id => NULL
14170 );
14171
14172 IF (C_LEVEL_ERROR>= g_log_level) THEN
14173 trace
14174 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
14175 ,p_level => C_LEVEL_ERROR
14176 ,p_module => l_log_module);
14177 END IF;
14178 END IF;
14179 END IF;
14180 --
14181 --
14182 ------------------------------------------------------------------------------------------------
14183 -- 4219869 Business Flow
14187 XLA_AE_LINES_PKG.ValidateCurrentLine;
14184 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
14185 -- Prior Entry. Currently, the following code is always generated.
14186 ------------------------------------------------------------------------------------------------
14188
14189 ------------------------------------------------------------------------------------
14190 -- 4219869 Business Flow
14191 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
14192 ------------------------------------------------------------------------------------
14193 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14194
14195 ----------------------------------------------------------------------------------
14196 -- 4219869 Business Flow
14197 -- Update journal entry status -- Need to generate this within IF <condition>
14198 ----------------------------------------------------------------------------------
14199 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
14200 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
14201 ,p_balance_type_code => l_balance_type_code
14202 );
14203
14204 -------------------------------------------------------------------------------------------
14205 -- 4262811 - Generate the Accrual Reversal lines
14206 -------------------------------------------------------------------------------------------
14207 BEGIN
14208 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
14209 (g_array_event(p_event_id).array_value_num('header_index'));
14210 IF l_acc_rev_flag IS NULL THEN
14211 l_acc_rev_flag := 'N';
14212 END IF;
14213 EXCEPTION
14214 WHEN OTHERS THEN
14215 l_acc_rev_flag := 'N';
14216 END;
14217 --
14218 IF (l_acc_rev_flag = 'Y') THEN
14219
14220 -- 4645092 ------------------------------------------------------------------------------
14221 -- To allow MPA report to determine if it should generate report process
14222 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
14223 ------------------------------------------------------------------------------------------
14224
14225 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
14226 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
14227 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
14228 -- call ADRs
14229 -- Bug 4922099
14230 --
14231 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
14232 (NVL(l_actual_upg_option, 'N') = 'O') OR
14233 (NVL(l_enc_upg_option, 'N') = 'O')
14234 )
14235 THEN
14236 NULL;
14237 --
14238 --
14239
14240 l_ccid := AcctDerRule_30(
14241 p_application_id => p_application_id
14242 , p_ae_header_id => l_ae_header_id
14243 , p_source_15 => p_source_15
14244 , p_source_15_meaning => p_source_15_meaning
14245 , p_source_20 => p_source_20
14246 , p_source_21 => p_source_21
14247 , p_source_22 => p_source_22
14248 , p_source_22_meaning => p_source_22_meaning
14249 , p_source_23 => p_source_23
14250 , p_source_30 => p_source_30
14251 , p_source_47 => p_source_47
14252 , p_source_47_meaning => p_source_47_meaning
14253 , x_transaction_coa_id => l_adr_transaction_coa_id
14254 , x_accounting_coa_id => l_adr_accounting_coa_id
14255 , x_value_type_code => l_adr_value_type_code
14256 , p_side => 'ALL'
14257 );
14258
14259 xla_ae_lines_pkg.set_ccid(
14260 p_code_combination_id => l_ccid
14261 , p_value_type_code => l_adr_value_type_code
14262 , p_transaction_coa_id => l_adr_transaction_coa_id
14263 , p_accounting_coa_id => l_adr_accounting_coa_id
14264 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
14265 , p_adr_type_code => 'S'
14266 , p_component_type => l_component_type
14267 , p_component_code => l_component_code
14268 , p_component_type_code => l_component_type_code
14269 , p_component_appl_id => l_component_appl_id
14270 , p_amb_context_code => l_amb_context_code
14271 , p_side => 'ALL'
14272 );
14273
14274
14275 l_segment := AcctDerRule_9(
14276 p_application_id => p_application_id
14277 , p_ae_header_id => l_ae_header_id
14278 , p_source_15 => p_source_15
14279 , p_source_15_meaning => p_source_15_meaning
14280 , p_source_20 => p_source_20
14281 , p_source_22 => p_source_22
14282 , p_source_22_meaning => p_source_22_meaning
14283 , x_transaction_coa_id => l_adr_transaction_coa_id
14284 , x_accounting_coa_id => l_adr_accounting_coa_id
14285 , x_flexfield_segment_code => l_adr_flexfield_segment_code
14286 , x_flex_value_set_id => l_adr_flex_value_set_id
14287 , x_value_type_code => l_adr_value_type_code
14288 , x_value_combination_id => l_adr_value_combination_id
14289 , x_value_segment_code => l_adr_value_segment_code
14290 , p_side => 'DEBIT'
14291 , p_override_seg_flag => 'Y'
14292 );
14293
14294 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14295
14299 , p_from_segment_code => l_adr_value_segment_code
14296 xla_ae_lines_pkg.set_segment(
14297 p_to_segment_code => 'GL_ACCOUNT'
14298 , p_segment_value => l_segment
14300 , p_from_combination_id => l_adr_value_combination_id
14301 , p_value_type_code => l_adr_value_type_code
14302 , p_transaction_coa_id => l_adr_transaction_coa_id
14303 , p_accounting_coa_id => l_adr_accounting_coa_id
14304 , p_flexfield_segment_code => l_adr_flexfield_segment_code
14305 , p_flex_value_set_id => l_adr_flex_value_set_id
14306 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
14307 , p_adr_type_code => 'S'
14308 , p_component_type => l_component_type
14309 , p_component_code => l_component_code
14310 , p_component_type_code => l_component_type_code
14311 , p_component_appl_id => l_component_appl_id
14312 , p_amb_context_code => l_amb_context_code
14313 , p_entity_code => 'AP_INVOICES'
14314 , p_event_class_code => 'CREDIT MEMOS'
14315 , p_side => 'DEBIT'
14316 );
14317
14318 END IF;
14319
14320 l_segment := AcctDerRule_10(
14321 p_application_id => p_application_id
14322 , p_ae_header_id => l_ae_header_id
14323 , p_source_15 => p_source_15
14324 , p_source_15_meaning => p_source_15_meaning
14325 , p_source_22 => p_source_22
14326 , p_source_22_meaning => p_source_22_meaning
14327 , p_source_23 => p_source_23
14328 , x_transaction_coa_id => l_adr_transaction_coa_id
14329 , x_accounting_coa_id => l_adr_accounting_coa_id
14330 , x_flexfield_segment_code => l_adr_flexfield_segment_code
14331 , x_flex_value_set_id => l_adr_flex_value_set_id
14332 , x_value_type_code => l_adr_value_type_code
14333 , x_value_combination_id => l_adr_value_combination_id
14334 , x_value_segment_code => l_adr_value_segment_code
14335 , p_side => 'CREDIT'
14336 , p_override_seg_flag => 'Y'
14337 );
14338
14339 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14340
14341 xla_ae_lines_pkg.set_segment(
14342 p_to_segment_code => 'GL_ACCOUNT'
14343 , p_segment_value => l_segment
14344 , p_from_segment_code => l_adr_value_segment_code
14345 , p_from_combination_id => l_adr_value_combination_id
14346 , p_value_type_code => l_adr_value_type_code
14347 , p_transaction_coa_id => l_adr_transaction_coa_id
14348 , p_accounting_coa_id => l_adr_accounting_coa_id
14349 , p_flexfield_segment_code => l_adr_flexfield_segment_code
14350 , p_flex_value_set_id => l_adr_flex_value_set_id
14351 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
14352 , p_adr_type_code => 'S'
14353 , p_component_type => l_component_type
14354 , p_component_code => l_component_code
14355 , p_component_type_code => l_component_type_code
14356 , p_component_appl_id => l_component_appl_id
14357 , p_amb_context_code => l_amb_context_code
14358 , p_entity_code => 'AP_INVOICES'
14359 , p_event_class_code => 'CREDIT MEMOS'
14360 , p_side => 'CREDIT'
14361 );
14362
14363 END IF;
14364
14365 l_segment := AcctDerRule_23(
14366 p_application_id => p_application_id
14367 , p_ae_header_id => l_ae_header_id
14368 , p_source_15 => p_source_15
14369 , p_source_15_meaning => p_source_15_meaning
14370 , p_source_22 => p_source_22
14371 , p_source_22_meaning => p_source_22_meaning
14372 , p_source_30 => p_source_30
14373 , x_transaction_coa_id => l_adr_transaction_coa_id
14374 , x_accounting_coa_id => l_adr_accounting_coa_id
14375 , x_flexfield_segment_code => l_adr_flexfield_segment_code
14376 , x_flex_value_set_id => l_adr_flex_value_set_id
14377 , x_value_type_code => l_adr_value_type_code
14378 , x_value_combination_id => l_adr_value_combination_id
14379 , x_value_segment_code => l_adr_value_segment_code
14380 , p_side => 'ALL'
14381 , p_override_seg_flag => 'Y'
14382 );
14383
14384 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14385
14386 xla_ae_lines_pkg.set_segment(
14387 p_to_segment_code => 'GL_BALANCING'
14388 , p_segment_value => l_segment
14389 , p_from_segment_code => l_adr_value_segment_code
14390 , p_from_combination_id => l_adr_value_combination_id
14391 , p_value_type_code => l_adr_value_type_code
14392 , p_transaction_coa_id => l_adr_transaction_coa_id
14393 , p_accounting_coa_id => l_adr_accounting_coa_id
14394 , p_flexfield_segment_code => l_adr_flexfield_segment_code
14395 , p_flex_value_set_id => l_adr_flex_value_set_id
14396 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
14397 , p_adr_type_code => 'S'
14398 , p_component_type => l_component_type
14399 , p_component_code => l_component_code
14403 , p_entity_code => 'AP_INVOICES'
14400 , p_component_type_code => l_component_type_code
14401 , p_component_appl_id => l_component_appl_id
14402 , p_amb_context_code => l_amb_context_code
14404 , p_event_class_code => 'CREDIT MEMOS'
14405 , p_side => 'ALL'
14406 );
14407
14408 END IF;
14409
14410 --
14411 --
14412 END IF;
14413
14414 --
14415 -- Update the line information that should be overwritten
14416 --
14417 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
14418 p_header_num => 1);
14419 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
14420
14421 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14422
14423 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
14424 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
14425 END IF;
14426
14427 --
14428 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
14429 --
14430 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
14431 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
14432 ELSE
14433 ---------------------------------------------------------------------------------------------------
14434 -- 4262811a Switch Sign
14435 ---------------------------------------------------------------------------------------------------
14436 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14437 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14438 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14439 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14440 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14441 -- 5132302
14442 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14443 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14444
14445 END IF;
14446
14447 -- 4955764
14448 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14449 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
14450
14451
14452 XLA_AE_LINES_PKG.ValidateCurrentLine;
14453 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14454
14455 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
14456 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
14457 ,p_balance_type_code => l_balance_type_code);
14458
14459 END IF;
14460
14461 -----------------------------------------------------------------------------------------
14462 -- 4262811 Multiperiod Accounting
14463 -----------------------------------------------------------------------------------------
14464 -- No MPA option is assigned.
14465
14466
14467 END IF;
14468 END IF;
14469 --
14470
14471 --
14472 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
14473 trace
14474 (p_msg => 'END of AcctLineType_55'
14475 ,p_level => C_LEVEL_PROCEDURE
14476 ,p_module => l_log_module);
14477 END IF;
14478 --
14479 EXCEPTION
14480 WHEN xla_exceptions_pkg.application_exception THEN
14481 RAISE;
14482 WHEN OTHERS THEN
14483 xla_exceptions_pkg.raise_message
14484 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_55');
14485 END AcctLineType_55;
14486 --
14487
14488 ---------------------------------------
14489 --
14490 -- PRIVATE FUNCTION
14491 -- AcctLineType_56
14492 --
14493 ---------------------------------------
14494 PROCEDURE AcctLineType_56 (
14495 p_application_id IN NUMBER
14496 ,p_event_id IN NUMBER
14497 ,p_calculate_acctd_flag IN VARCHAR2
14498 ,p_calculate_g_l_flag IN VARCHAR2
14499 ,p_actual_flag IN OUT VARCHAR2
14500 ,p_balance_type_code OUT VARCHAR2
14501 ,p_gain_or_loss_ref OUT VARCHAR2
14502
14503 --Invoice Distribution Description
14504 , p_source_1 IN VARCHAR2
14505 --Automatic Offsets Value
14506 , p_source_15 IN VARCHAR2
14507 , p_source_15_meaning IN VARCHAR2
14508 --Purchase Order Rate Variance Gain Account
14509 , p_source_20 IN NUMBER
14510 --Invoice Distribution Ledger Amount
14511 , p_source_21 IN NUMBER
14512 --Destination Type of the PO Distribution
14513 , p_source_22 IN VARCHAR2
14514 , p_source_22_meaning IN VARCHAR2
14515 --Purchase Order Rate Variance Loss Account
14516 , p_source_23 IN NUMBER
14517 --Invoice Distribution Account
14518 , p_source_30 IN NUMBER
14519 --Invoice Distribution Type
14520 , p_source_33 IN VARCHAR2
14521 , p_source_33_meaning IN VARCHAR2
14522 --Automatic Offsets Flag
14526 , p_source_53 IN VARCHAR2
14523 , p_source_47 IN VARCHAR2
14524 , p_source_47_meaning IN VARCHAR2
14525 --Accounting Reversal Indicator
14527 --Distribution Link Type
14528 , p_source_55 IN VARCHAR2
14529 --Allocation to Main Distribution Identifier
14530 , p_source_57 IN NUMBER
14531 --Invoice Identifier
14532 , p_source_58 IN NUMBER
14533 --Invoice Distribution Identifier
14534 , p_source_64 IN NUMBER
14535 --Payables Encumbrance Upgrade Credit Account
14536 , p_source_65 IN NUMBER
14537 --Payables Encumbrance Upgrade Credit Amount
14538 , p_source_66 IN NUMBER
14539 --Invoice Currency Code
14540 , p_source_67 IN VARCHAR2
14541 --Payables Encumbrance Upgrade Credit Base Amount
14542 , p_source_68 IN NUMBER
14543 --Payables Encumbrance Upgrade Debit Account
14544 , p_source_69 IN NUMBER
14545 --Payables Encumbrance Upgrade Debit Amount
14546 , p_source_70 IN NUMBER
14547 --Payables Encumbrance Upgrade Debit Base Amount
14548 , p_source_71 IN NUMBER
14549 --Payables Encumbrance Upgrade Option
14550 , p_source_72 IN VARCHAR2
14551 --Deferred Accounting End Date
14552 , p_source_77 IN DATE
14553 --Deferred Accounting Option
14554 , p_source_78 IN VARCHAR2
14555 --Deferred Accounting Start Date
14556 , p_source_79 IN DATE
14557 --Override Accounted Amount Indicator
14558 , p_source_80 IN VARCHAR2
14559 , p_source_80_meaning IN VARCHAR2
14560 --Invoice Supplier Identifier
14561 , p_source_81 IN NUMBER
14562 --Invoice Supplier Site Identifier
14563 , p_source_82 IN NUMBER
14564 --Third Party Type
14565 , p_source_83 IN VARCHAR2
14566 --Parent Reversal Identifier
14567 , p_source_84 IN NUMBER
14568 --Invoice Distribution Tax Line Identifier
14569 , p_source_86 IN NUMBER
14570 --Invoice Distribution Tax Distribution Identifier from Tax
14571 , p_source_87 IN NUMBER
14572 --Invoice Distribution Summary Tax Line Identifier
14573 , p_source_88 IN NUMBER
14574 --Payables Upgrade Credit Encumbrance Type Identifier
14575 , p_source_89 IN NUMBER
14576 --Payables Upgrade Debit Encumbrance Type Identifier
14577 , p_source_90 IN NUMBER
14578 --Business Flow Accounts Payable Application Identifier
14579 , p_source_91 IN NUMBER
14580 --Business Flow Invoice Distribution Type
14581 , p_source_92 IN VARCHAR2
14582 --Business Flow Invoice Entity Code
14583 , p_source_93 IN VARCHAR2
14584 --Business Flow Invoice Distribution Identifier
14585 , p_source_94 IN NUMBER
14586 --Business Flow Invoice Identifier
14587 , p_source_95 IN NUMBER
14588 --Accrue on Receipt Option
14589 , p_source_96 IN VARCHAR2
14590 , p_source_96_meaning IN VARCHAR2
14591 )
14592 IS
14593
14594 l_component_type VARCHAR2(80);
14595 l_component_code VARCHAR2(30);
14596 l_component_type_code VARCHAR2(1);
14597 l_component_appl_id INTEGER;
14598 l_amb_context_code VARCHAR2(30);
14599 l_entity_code VARCHAR2(30);
14600 l_event_class_code VARCHAR2(30);
14601 l_ae_header_id NUMBER;
14602 l_event_type_code VARCHAR2(30);
14603 l_line_definition_code VARCHAR2(30);
14604 l_line_definition_owner_code VARCHAR2(1);
14605 --
14606 -- adr variables
14607 l_segment VARCHAR2(30);
14608 l_ccid NUMBER;
14609 l_adr_transaction_coa_id NUMBER;
14610 l_adr_accounting_coa_id NUMBER;
14611 l_adr_flexfield_segment_code VARCHAR2(30);
14612 l_adr_flex_value_set_id NUMBER;
14613 l_adr_value_type_code VARCHAR2(30);
14614 l_adr_value_combination_id NUMBER;
14615 l_adr_value_segment_code VARCHAR2(30);
14616
14617 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
14618 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
14619 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
14620 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
14621
14622 -- 4262811 Variables ------------------------------------------------------------------------------------------
14623 l_entered_amt_idx NUMBER;
14624 l_accted_amt_idx NUMBER;
14625 l_acc_rev_flag VARCHAR2(1);
14626 l_accrual_line_num NUMBER;
14627 l_tmp_amt NUMBER;
14628 l_acc_rev_natural_side_code VARCHAR2(1);
14629
14630 l_num_entries NUMBER;
14631 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
14632 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
14633 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
14634 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
14635 l_recog_line_1 NUMBER;
14636 l_recog_line_2 NUMBER;
14637
14638 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
14639 l_bflow_applied_to_amt NUMBER; -- 5132302
14640 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
14641
14642 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
14643
14647 ---------------------------------------------------------------------------------------------------------------
14644 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
14645 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
14646
14648
14649
14650 --
14651 -- bulk performance
14652 --
14653 l_balance_type_code VARCHAR2(1);
14654 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
14655 l_log_module VARCHAR2(240);
14656
14657 --
14658 -- Upgrade strategy
14659 --
14660 l_actual_upg_option VARCHAR2(1);
14661 l_enc_upg_option VARCHAR2(1);
14662
14663 --
14664 BEGIN
14665 --
14666 IF g_log_enabled THEN
14667 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_56';
14668 END IF;
14669 --
14670 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
14671
14672 trace
14673 (p_msg => 'BEGIN of AcctLineType_56'
14674 ,p_level => C_LEVEL_PROCEDURE
14675 ,p_module => l_log_module);
14676
14677 END IF;
14678 --
14679 l_component_type := 'AMB_JLT';
14680 l_component_code := 'AP_ALC_TAX_EX_RATE_VAR_DM';
14681 l_component_type_code := 'S';
14682 l_component_appl_id := 200;
14683 l_amb_context_code := 'DEFAULT';
14684 l_entity_code := 'AP_INVOICES';
14685 l_event_class_code := 'DEBIT MEMOS';
14686 l_event_type_code := 'DEBIT MEMOS_ALL';
14687 l_line_definition_owner_code := 'S';
14688 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
14689 --
14690 l_balance_type_code := 'A';
14691 l_segment := NULL;
14692 l_ccid := NULL;
14693 l_adr_transaction_coa_id := NULL;
14694 l_adr_accounting_coa_id := NULL;
14695 l_adr_flexfield_segment_code := NULL;
14696 l_adr_flex_value_set_id := NULL;
14697 l_adr_value_type_code := NULL;
14698 l_adr_value_combination_id := NULL;
14699 l_adr_value_segment_code := NULL;
14700
14701 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
14702 l_bflow_class_code := ''; -- 4219869 Business Flow
14703 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
14704 l_budgetary_control_flag := 'N';
14705
14706 l_bflow_applied_to_amt_idx := NULL; -- 5132302
14707 l_bflow_applied_to_amt := NULL; -- 5132302
14708 l_entered_amt_idx := NULL; -- 4262811
14709 l_accted_amt_idx := NULL; -- 4262811
14710 l_acc_rev_flag := NULL; -- 4262811
14711 l_accrual_line_num := NULL; -- 4262811
14712 l_tmp_amt := NULL; -- 4262811
14713 --
14714 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
14715 (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
14716 return;
14717 END IF;
14718
14719 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
14720 l_balance_type_code <> 'B' THEN
14721 IF NVL(p_source_33,'
14722 ') = 'NONREC_TAX' AND
14723 NVL(p_source_96,'
14724 ') = 'Y'
14725 THEN
14726
14727 --
14728 XLA_AE_LINES_PKG.SetNewLine;
14729
14730 p_balance_type_code := l_balance_type_code;
14731 -- set the flag so later we will know whether the gain loss line needs to be created
14732
14733 IF(l_balance_type_code = 'A' ) THEN
14734 p_actual_flag :='G';
14735 END IF;
14736
14737 --
14738 -- bulk performance
14739 --
14740 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
14741 p_header_num => 0); -- 4262811
14742 --
14743 -- set accounting line options
14744 --
14745 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
14746 p_natural_side_code => 'G'
14747 , p_gain_or_loss_flag => 'N'
14748 , p_gl_transfer_mode_code => 'S'
14749 , p_acct_entry_type_code => 'A'
14750 , p_switch_side_flag => ''
14751 , p_merge_duplicate_code => 'A'
14752 );
14753 --
14754 l_acc_rev_natural_side_code := 'C'; -- 4262811
14755 --
14756 --
14757 -- set accounting line type info
14758 --
14759 xla_ae_lines_pkg.SetAcctLineType
14760 (p_component_type => l_component_type
14761 ,p_event_type_code => l_event_type_code
14762 ,p_line_definition_owner_code => l_line_definition_owner_code
14763 ,p_line_definition_code => l_line_definition_code
14764 ,p_accounting_line_code => l_component_code
14765 ,p_accounting_line_type_code => l_component_type_code
14766 ,p_accounting_line_appl_id => l_component_appl_id
14767 ,p_amb_context_code => l_amb_context_code
14768 ,p_entity_code => l_entity_code
14769 ,p_event_class_code => l_event_class_code);
14770 --
14771 -- set accounting class
14772 --
14773 xla_ae_lines_pkg.SetAcctClass(
14774 p_accounting_class_code => 'TERV'
14775 , p_ae_header_id => l_ae_header_id
14776 );
14780 --
14777
14778 --
14779 -- set rounding class
14781 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
14782 'TERV';
14783
14784 --
14785 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
14786 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
14787 --
14788 -- bulk performance
14789 --
14790 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
14791
14792 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
14793 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
14794
14795 -- 4955764
14796 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14797 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
14798
14799 -- 4458381 Public Sector Enh
14800
14801 --
14802 -- set accounting attributes for the line type
14803 --
14804 l_entered_amt_idx := NULL;
14805 l_accted_amt_idx := 23;
14806 l_bflow_applied_to_amt_idx := NULL; -- 5132302
14807 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
14808 l_rec_acct_attrs.array_char_value(1) := p_source_53;
14809 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
14810 l_rec_acct_attrs.array_num_value(2) :=
14811 xla_ae_sources_pkg.GetSystemSourceNum(
14812 p_source_code => 'XLA_EVENT_APPL_ID'
14813 , p_source_type_code => 'Y'
14814 , p_source_application_id => 602
14815 );
14816 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
14817 l_rec_acct_attrs.array_char_value(3) := p_source_55;
14818 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
14819 l_rec_acct_attrs.array_char_value(4) :=
14820 xla_ae_sources_pkg.GetSystemSourceChar(
14821 p_source_code => 'XLA_ENTITY_CODE'
14822 , p_source_type_code => 'Y'
14823 , p_source_application_id => 602
14824 );
14825 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
14826 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
14827 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
14828 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
14829 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
14830 l_rec_acct_attrs.array_num_value(7) := p_source_91;
14831 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
14832 l_rec_acct_attrs.array_char_value(8) := p_source_92;
14833 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
14834 l_rec_acct_attrs.array_char_value(9) := p_source_93;
14835 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
14836 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
14837 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
14838 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
14839 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
14840 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
14841 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
14842 l_rec_acct_attrs.array_char_value(13) := p_source_55;
14843 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
14844 l_rec_acct_attrs.array_num_value(14) := p_source_65;
14845 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
14846 l_rec_acct_attrs.array_num_value(15) := p_source_66;
14847 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
14848 l_rec_acct_attrs.array_char_value(16) := p_source_67;
14849 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
14850 l_rec_acct_attrs.array_num_value(17) := p_source_68;
14851 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
14852 l_rec_acct_attrs.array_num_value(18) := p_source_69;
14853 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
14854 l_rec_acct_attrs.array_num_value(19) := p_source_70;
14855 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
14856 l_rec_acct_attrs.array_char_value(20) := p_source_67;
14857 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
14858 l_rec_acct_attrs.array_num_value(21) := p_source_71;
14859 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
14860 l_rec_acct_attrs.array_char_value(22) := p_source_72;
14861 l_rec_acct_attrs.array_acct_attr_code(23) := 'LEDGER_AMOUNT';
14862 l_rec_acct_attrs.array_num_value(23) := p_source_21;
14863 l_rec_acct_attrs.array_acct_attr_code(24) := 'MULTIPERIOD_END_DATE';
14864 l_rec_acct_attrs.array_date_value(24) := p_source_77;
14865 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_OPTION';
14866 l_rec_acct_attrs.array_char_value(25) := p_source_78;
14867 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_START_DATE';
14868 l_rec_acct_attrs.array_date_value(26) := p_source_79;
14869 l_rec_acct_attrs.array_acct_attr_code(27) := 'OVERRIDE_ACCTD_AMT_FLAG';
14870 l_rec_acct_attrs.array_char_value(27) := p_source_80;
14871 l_rec_acct_attrs.array_acct_attr_code(28) := 'PARTY_ID';
14872 l_rec_acct_attrs.array_num_value(28) := p_source_81;
14873 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_SITE_ID';
14877 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
14874 l_rec_acct_attrs.array_num_value(29) := p_source_82;
14875 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
14876 l_rec_acct_attrs.array_char_value(30) := p_source_83;
14878 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_84);
14879 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
14880 l_rec_acct_attrs.array_char_value(32) := p_source_55;
14881 l_rec_acct_attrs.array_acct_attr_code(33) := 'TAX_LINE_REF_ID';
14882 l_rec_acct_attrs.array_num_value(33) := p_source_86;
14883 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_REC_NREC_DIST_REF_ID';
14884 l_rec_acct_attrs.array_num_value(34) := p_source_87;
14885 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_SUMMARY_LINE_REF_ID';
14886 l_rec_acct_attrs.array_num_value(35) := p_source_88;
14887 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
14888 l_rec_acct_attrs.array_num_value(36) := p_source_89;
14889 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
14890 l_rec_acct_attrs.array_num_value(37) := p_source_90;
14891
14892 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
14893 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
14894
14895 ---------------------------------------------------------------------------------------------------------------
14896 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
14897 ---------------------------------------------------------------------------------------------------------------
14898 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
14899
14900 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14901 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14902
14903 IF xla_accounting_cache_pkg.GetValueChar
14904 (p_source_code => 'LEDGER_CATEGORY_CODE'
14905 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
14906 AND l_bflow_method_code = 'PRIOR_ENTRY'
14907 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
14908 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
14909 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
14910 )
14911 THEN
14912 xla_ae_lines_pkg.BflowUpgEntry
14913 (p_business_method_code => l_bflow_method_code
14914 ,p_business_class_code => l_bflow_class_code
14915 ,p_balance_type => l_balance_type_code);
14916 ELSE
14917 NULL;
14918 -- No business flow processing for business flow method of NONE.
14919 END IF;
14920
14921 --
14922 -- call analytical criteria
14923 --
14924
14925 --
14926 -- call description
14927 --
14928
14929 xla_ae_lines_pkg.SetLineDescription(
14930 p_ae_header_id => l_ae_header_id
14931 ,p_description => Description_1 (
14932 p_application_id => p_application_id
14933 , p_ae_header_id => l_ae_header_id
14934 , p_source_1 => p_source_1
14935 )
14936 );
14937
14938
14939 --
14940 -- call ADRs
14941 -- Bug 4922099
14942 --
14943 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
14944 (NVL(l_actual_upg_option, 'N') = 'O') OR
14945 (NVL(l_enc_upg_option, 'N') = 'O')
14946 )
14947 THEN
14948 NULL;
14949 --
14950 --
14951
14952 l_ccid := AcctDerRule_30(
14953 p_application_id => p_application_id
14954 , p_ae_header_id => l_ae_header_id
14955 , p_source_15 => p_source_15
14956 , p_source_15_meaning => p_source_15_meaning
14957 , p_source_20 => p_source_20
14958 , p_source_21 => p_source_21
14959 , p_source_22 => p_source_22
14960 , p_source_22_meaning => p_source_22_meaning
14961 , p_source_23 => p_source_23
14962 , p_source_30 => p_source_30
14963 , p_source_47 => p_source_47
14964 , p_source_47_meaning => p_source_47_meaning
14965 , x_transaction_coa_id => l_adr_transaction_coa_id
14966 , x_accounting_coa_id => l_adr_accounting_coa_id
14967 , x_value_type_code => l_adr_value_type_code
14968 , p_side => 'ALL'
14969 );
14970
14971 xla_ae_lines_pkg.set_ccid(
14972 p_code_combination_id => l_ccid
14973 , p_value_type_code => l_adr_value_type_code
14974 , p_transaction_coa_id => l_adr_transaction_coa_id
14975 , p_accounting_coa_id => l_adr_accounting_coa_id
14976 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
14977 , p_adr_type_code => 'S'
14978 , p_component_type => l_component_type
14979 , p_component_code => l_component_code
14980 , p_component_type_code => l_component_type_code
14981 , p_component_appl_id => l_component_appl_id
14982 , p_amb_context_code => l_amb_context_code
14983 , p_side => 'ALL'
14984 );
14985
14986
14987 l_segment := AcctDerRule_9(
14988 p_application_id => p_application_id
14989 , p_ae_header_id => l_ae_header_id
14990 , p_source_15 => p_source_15
14994 , p_source_22_meaning => p_source_22_meaning
14991 , p_source_15_meaning => p_source_15_meaning
14992 , p_source_20 => p_source_20
14993 , p_source_22 => p_source_22
14995 , x_transaction_coa_id => l_adr_transaction_coa_id
14996 , x_accounting_coa_id => l_adr_accounting_coa_id
14997 , x_flexfield_segment_code => l_adr_flexfield_segment_code
14998 , x_flex_value_set_id => l_adr_flex_value_set_id
14999 , x_value_type_code => l_adr_value_type_code
15000 , x_value_combination_id => l_adr_value_combination_id
15001 , x_value_segment_code => l_adr_value_segment_code
15002 , p_side => 'DEBIT'
15003 , p_override_seg_flag => 'Y'
15004 );
15005
15006 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
15007
15008 xla_ae_lines_pkg.set_segment(
15009 p_to_segment_code => 'GL_ACCOUNT'
15010 , p_segment_value => l_segment
15011 , p_from_segment_code => l_adr_value_segment_code
15012 , p_from_combination_id => l_adr_value_combination_id
15013 , p_value_type_code => l_adr_value_type_code
15014 , p_transaction_coa_id => l_adr_transaction_coa_id
15015 , p_accounting_coa_id => l_adr_accounting_coa_id
15016 , p_flexfield_segment_code => l_adr_flexfield_segment_code
15017 , p_flex_value_set_id => l_adr_flex_value_set_id
15018 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
15019 , p_adr_type_code => 'S'
15020 , p_component_type => l_component_type
15021 , p_component_code => l_component_code
15022 , p_component_type_code => l_component_type_code
15023 , p_component_appl_id => l_component_appl_id
15024 , p_amb_context_code => l_amb_context_code
15025 , p_entity_code => 'AP_INVOICES'
15026 , p_event_class_code => 'DEBIT MEMOS'
15027 , p_side => 'DEBIT'
15028 );
15029
15030 END IF;
15031
15032 l_segment := AcctDerRule_10(
15033 p_application_id => p_application_id
15034 , p_ae_header_id => l_ae_header_id
15035 , p_source_15 => p_source_15
15036 , p_source_15_meaning => p_source_15_meaning
15037 , p_source_22 => p_source_22
15038 , p_source_22_meaning => p_source_22_meaning
15039 , p_source_23 => p_source_23
15040 , x_transaction_coa_id => l_adr_transaction_coa_id
15041 , x_accounting_coa_id => l_adr_accounting_coa_id
15042 , x_flexfield_segment_code => l_adr_flexfield_segment_code
15043 , x_flex_value_set_id => l_adr_flex_value_set_id
15044 , x_value_type_code => l_adr_value_type_code
15045 , x_value_combination_id => l_adr_value_combination_id
15046 , x_value_segment_code => l_adr_value_segment_code
15047 , p_side => 'CREDIT'
15048 , p_override_seg_flag => 'Y'
15049 );
15050
15051 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
15052
15053 xla_ae_lines_pkg.set_segment(
15054 p_to_segment_code => 'GL_ACCOUNT'
15055 , p_segment_value => l_segment
15056 , p_from_segment_code => l_adr_value_segment_code
15057 , p_from_combination_id => l_adr_value_combination_id
15058 , p_value_type_code => l_adr_value_type_code
15059 , p_transaction_coa_id => l_adr_transaction_coa_id
15060 , p_accounting_coa_id => l_adr_accounting_coa_id
15061 , p_flexfield_segment_code => l_adr_flexfield_segment_code
15062 , p_flex_value_set_id => l_adr_flex_value_set_id
15063 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
15064 , p_adr_type_code => 'S'
15065 , p_component_type => l_component_type
15066 , p_component_code => l_component_code
15067 , p_component_type_code => l_component_type_code
15068 , p_component_appl_id => l_component_appl_id
15069 , p_amb_context_code => l_amb_context_code
15070 , p_entity_code => 'AP_INVOICES'
15071 , p_event_class_code => 'DEBIT MEMOS'
15072 , p_side => 'CREDIT'
15073 );
15074
15075 END IF;
15076
15077 l_segment := AcctDerRule_23(
15078 p_application_id => p_application_id
15079 , p_ae_header_id => l_ae_header_id
15080 , p_source_15 => p_source_15
15081 , p_source_15_meaning => p_source_15_meaning
15082 , p_source_22 => p_source_22
15083 , p_source_22_meaning => p_source_22_meaning
15084 , p_source_30 => p_source_30
15085 , x_transaction_coa_id => l_adr_transaction_coa_id
15086 , x_accounting_coa_id => l_adr_accounting_coa_id
15087 , x_flexfield_segment_code => l_adr_flexfield_segment_code
15088 , x_flex_value_set_id => l_adr_flex_value_set_id
15089 , x_value_type_code => l_adr_value_type_code
15090 , x_value_combination_id => l_adr_value_combination_id
15091 , x_value_segment_code => l_adr_value_segment_code
15092 , p_side => 'ALL'
15093 , p_override_seg_flag => 'Y'
15094 );
15095
15096 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
15097
15101 , p_from_segment_code => l_adr_value_segment_code
15098 xla_ae_lines_pkg.set_segment(
15099 p_to_segment_code => 'GL_BALANCING'
15100 , p_segment_value => l_segment
15102 , p_from_combination_id => l_adr_value_combination_id
15103 , p_value_type_code => l_adr_value_type_code
15104 , p_transaction_coa_id => l_adr_transaction_coa_id
15105 , p_accounting_coa_id => l_adr_accounting_coa_id
15106 , p_flexfield_segment_code => l_adr_flexfield_segment_code
15107 , p_flex_value_set_id => l_adr_flex_value_set_id
15108 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
15109 , p_adr_type_code => 'S'
15110 , p_component_type => l_component_type
15111 , p_component_code => l_component_code
15112 , p_component_type_code => l_component_type_code
15113 , p_component_appl_id => l_component_appl_id
15114 , p_amb_context_code => l_amb_context_code
15115 , p_entity_code => 'AP_INVOICES'
15116 , p_event_class_code => 'DEBIT MEMOS'
15117 , p_side => 'ALL'
15118 );
15119
15120 END IF;
15121
15122 --
15123 --
15124 END IF;
15125 --
15126 -- Bug 4922099
15127 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
15128 (NVL(l_enc_upg_option, 'N') = 'O')
15129 ) AND
15130 (l_bflow_method_code = 'PRIOR_ENTRY')
15131 )
15132 THEN
15133 IF
15134 --
15135 1 = 2
15136 --
15137 THEN
15138 xla_accounting_err_pkg.build_message
15139 (p_appli_s_name => 'XLA'
15140 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
15141 ,p_token_1 => 'LINE_NUMBER'
15142 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
15143 ,p_token_2 => 'LINE_TYPE_NAME'
15144 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
15145 l_component_type
15146 ,l_component_code
15147 ,l_component_type_code
15148 ,l_component_appl_id
15149 ,l_amb_context_code
15150 ,l_entity_code
15151 ,l_event_class_code
15152 )
15153 ,p_token_3 => 'OWNER'
15154 ,p_value_3 => xla_lookups_pkg.get_meaning(
15155 p_lookup_type => 'XLA_OWNER_TYPE'
15156 ,p_lookup_code => l_component_type_code
15157 )
15158 ,p_token_4 => 'PRODUCT_NAME'
15159 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
15160 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
15161 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
15162 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
15163 ,p_ae_header_id => NULL
15164 );
15165
15166 IF (C_LEVEL_ERROR>= g_log_level) THEN
15167 trace
15168 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
15169 ,p_level => C_LEVEL_ERROR
15170 ,p_module => l_log_module);
15171 END IF;
15172 END IF;
15173 END IF;
15174 --
15175 --
15176 ------------------------------------------------------------------------------------------------
15177 -- 4219869 Business Flow
15178 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
15179 -- Prior Entry. Currently, the following code is always generated.
15180 ------------------------------------------------------------------------------------------------
15181 XLA_AE_LINES_PKG.ValidateCurrentLine;
15182
15183 ------------------------------------------------------------------------------------
15184 -- 4219869 Business Flow
15185 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
15186 ------------------------------------------------------------------------------------
15187 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
15188
15189 ----------------------------------------------------------------------------------
15190 -- 4219869 Business Flow
15191 -- Update journal entry status -- Need to generate this within IF <condition>
15195 ,p_balance_type_code => l_balance_type_code
15192 ----------------------------------------------------------------------------------
15193 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
15194 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
15196 );
15197
15198 -------------------------------------------------------------------------------------------
15199 -- 4262811 - Generate the Accrual Reversal lines
15200 -------------------------------------------------------------------------------------------
15201 BEGIN
15202 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
15203 (g_array_event(p_event_id).array_value_num('header_index'));
15204 IF l_acc_rev_flag IS NULL THEN
15205 l_acc_rev_flag := 'N';
15206 END IF;
15207 EXCEPTION
15208 WHEN OTHERS THEN
15209 l_acc_rev_flag := 'N';
15210 END;
15211 --
15212 IF (l_acc_rev_flag = 'Y') THEN
15213
15214 -- 4645092 ------------------------------------------------------------------------------
15215 -- To allow MPA report to determine if it should generate report process
15216 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
15217 ------------------------------------------------------------------------------------------
15218
15219 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
15220 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
15221 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
15222 -- call ADRs
15223 -- Bug 4922099
15224 --
15225 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
15226 (NVL(l_actual_upg_option, 'N') = 'O') OR
15227 (NVL(l_enc_upg_option, 'N') = 'O')
15228 )
15229 THEN
15230 NULL;
15231 --
15232 --
15233
15234 l_ccid := AcctDerRule_30(
15235 p_application_id => p_application_id
15236 , p_ae_header_id => l_ae_header_id
15237 , p_source_15 => p_source_15
15238 , p_source_15_meaning => p_source_15_meaning
15239 , p_source_20 => p_source_20
15240 , p_source_21 => p_source_21
15241 , p_source_22 => p_source_22
15242 , p_source_22_meaning => p_source_22_meaning
15243 , p_source_23 => p_source_23
15244 , p_source_30 => p_source_30
15245 , p_source_47 => p_source_47
15246 , p_source_47_meaning => p_source_47_meaning
15247 , x_transaction_coa_id => l_adr_transaction_coa_id
15248 , x_accounting_coa_id => l_adr_accounting_coa_id
15249 , x_value_type_code => l_adr_value_type_code
15250 , p_side => 'ALL'
15251 );
15252
15253 xla_ae_lines_pkg.set_ccid(
15254 p_code_combination_id => l_ccid
15255 , p_value_type_code => l_adr_value_type_code
15256 , p_transaction_coa_id => l_adr_transaction_coa_id
15257 , p_accounting_coa_id => l_adr_accounting_coa_id
15258 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
15259 , p_adr_type_code => 'S'
15260 , p_component_type => l_component_type
15261 , p_component_code => l_component_code
15262 , p_component_type_code => l_component_type_code
15263 , p_component_appl_id => l_component_appl_id
15264 , p_amb_context_code => l_amb_context_code
15265 , p_side => 'ALL'
15266 );
15267
15268
15269 l_segment := AcctDerRule_9(
15270 p_application_id => p_application_id
15271 , p_ae_header_id => l_ae_header_id
15272 , p_source_15 => p_source_15
15273 , p_source_15_meaning => p_source_15_meaning
15274 , p_source_20 => p_source_20
15275 , p_source_22 => p_source_22
15276 , p_source_22_meaning => p_source_22_meaning
15277 , x_transaction_coa_id => l_adr_transaction_coa_id
15278 , x_accounting_coa_id => l_adr_accounting_coa_id
15279 , x_flexfield_segment_code => l_adr_flexfield_segment_code
15280 , x_flex_value_set_id => l_adr_flex_value_set_id
15281 , x_value_type_code => l_adr_value_type_code
15282 , x_value_combination_id => l_adr_value_combination_id
15283 , x_value_segment_code => l_adr_value_segment_code
15284 , p_side => 'DEBIT'
15285 , p_override_seg_flag => 'Y'
15286 );
15287
15288 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
15289
15290 xla_ae_lines_pkg.set_segment(
15291 p_to_segment_code => 'GL_ACCOUNT'
15292 , p_segment_value => l_segment
15293 , p_from_segment_code => l_adr_value_segment_code
15294 , p_from_combination_id => l_adr_value_combination_id
15295 , p_value_type_code => l_adr_value_type_code
15296 , p_transaction_coa_id => l_adr_transaction_coa_id
15297 , p_accounting_coa_id => l_adr_accounting_coa_id
15298 , p_flexfield_segment_code => l_adr_flexfield_segment_code
15299 , p_flex_value_set_id => l_adr_flex_value_set_id
15300 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
15301 , p_adr_type_code => 'S'
15302 , p_component_type => l_component_type
15303 , p_component_code => l_component_code
15304 , p_component_type_code => l_component_type_code
15308 , p_event_class_code => 'DEBIT MEMOS'
15305 , p_component_appl_id => l_component_appl_id
15306 , p_amb_context_code => l_amb_context_code
15307 , p_entity_code => 'AP_INVOICES'
15309 , p_side => 'DEBIT'
15310 );
15311
15312 END IF;
15313
15314 l_segment := AcctDerRule_10(
15315 p_application_id => p_application_id
15316 , p_ae_header_id => l_ae_header_id
15317 , p_source_15 => p_source_15
15318 , p_source_15_meaning => p_source_15_meaning
15319 , p_source_22 => p_source_22
15320 , p_source_22_meaning => p_source_22_meaning
15321 , p_source_23 => p_source_23
15322 , x_transaction_coa_id => l_adr_transaction_coa_id
15323 , x_accounting_coa_id => l_adr_accounting_coa_id
15324 , x_flexfield_segment_code => l_adr_flexfield_segment_code
15325 , x_flex_value_set_id => l_adr_flex_value_set_id
15326 , x_value_type_code => l_adr_value_type_code
15327 , x_value_combination_id => l_adr_value_combination_id
15328 , x_value_segment_code => l_adr_value_segment_code
15329 , p_side => 'CREDIT'
15330 , p_override_seg_flag => 'Y'
15331 );
15332
15333 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
15334
15335 xla_ae_lines_pkg.set_segment(
15336 p_to_segment_code => 'GL_ACCOUNT'
15337 , p_segment_value => l_segment
15338 , p_from_segment_code => l_adr_value_segment_code
15339 , p_from_combination_id => l_adr_value_combination_id
15340 , p_value_type_code => l_adr_value_type_code
15341 , p_transaction_coa_id => l_adr_transaction_coa_id
15342 , p_accounting_coa_id => l_adr_accounting_coa_id
15343 , p_flexfield_segment_code => l_adr_flexfield_segment_code
15344 , p_flex_value_set_id => l_adr_flex_value_set_id
15345 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
15346 , p_adr_type_code => 'S'
15347 , p_component_type => l_component_type
15348 , p_component_code => l_component_code
15349 , p_component_type_code => l_component_type_code
15350 , p_component_appl_id => l_component_appl_id
15351 , p_amb_context_code => l_amb_context_code
15352 , p_entity_code => 'AP_INVOICES'
15353 , p_event_class_code => 'DEBIT MEMOS'
15354 , p_side => 'CREDIT'
15355 );
15356
15357 END IF;
15358
15359 l_segment := AcctDerRule_23(
15360 p_application_id => p_application_id
15361 , p_ae_header_id => l_ae_header_id
15362 , p_source_15 => p_source_15
15363 , p_source_15_meaning => p_source_15_meaning
15364 , p_source_22 => p_source_22
15365 , p_source_22_meaning => p_source_22_meaning
15366 , p_source_30 => p_source_30
15367 , x_transaction_coa_id => l_adr_transaction_coa_id
15368 , x_accounting_coa_id => l_adr_accounting_coa_id
15369 , x_flexfield_segment_code => l_adr_flexfield_segment_code
15370 , x_flex_value_set_id => l_adr_flex_value_set_id
15371 , x_value_type_code => l_adr_value_type_code
15372 , x_value_combination_id => l_adr_value_combination_id
15373 , x_value_segment_code => l_adr_value_segment_code
15374 , p_side => 'ALL'
15375 , p_override_seg_flag => 'Y'
15376 );
15377
15378 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
15379
15380 xla_ae_lines_pkg.set_segment(
15381 p_to_segment_code => 'GL_BALANCING'
15382 , p_segment_value => l_segment
15383 , p_from_segment_code => l_adr_value_segment_code
15384 , p_from_combination_id => l_adr_value_combination_id
15385 , p_value_type_code => l_adr_value_type_code
15386 , p_transaction_coa_id => l_adr_transaction_coa_id
15387 , p_accounting_coa_id => l_adr_accounting_coa_id
15388 , p_flexfield_segment_code => l_adr_flexfield_segment_code
15389 , p_flex_value_set_id => l_adr_flex_value_set_id
15390 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
15391 , p_adr_type_code => 'S'
15392 , p_component_type => l_component_type
15393 , p_component_code => l_component_code
15394 , p_component_type_code => l_component_type_code
15395 , p_component_appl_id => l_component_appl_id
15396 , p_amb_context_code => l_amb_context_code
15397 , p_entity_code => 'AP_INVOICES'
15398 , p_event_class_code => 'DEBIT MEMOS'
15399 , p_side => 'ALL'
15400 );
15401
15402 END IF;
15403
15404 --
15405 --
15406 END IF;
15407
15408 --
15409 -- Update the line information that should be overwritten
15410 --
15411 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
15412 p_header_num => 1);
15413 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
15414
15415 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
15416
15420
15417 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
15418 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
15419 END IF;
15421 --
15422 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
15423 --
15424 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
15425 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
15426 ELSE
15427 ---------------------------------------------------------------------------------------------------
15428 -- 4262811a Switch Sign
15429 ---------------------------------------------------------------------------------------------------
15430 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
15431 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15432 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15433 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15434 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15435 -- 5132302
15436 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
15437 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15438
15439 END IF;
15440
15441 -- 4955764
15442 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
15443 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
15444
15445
15446 XLA_AE_LINES_PKG.ValidateCurrentLine;
15447 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
15448
15449 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
15450 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
15451 ,p_balance_type_code => l_balance_type_code);
15452
15453 END IF;
15454
15455 -----------------------------------------------------------------------------------------
15456 -- 4262811 Multiperiod Accounting
15457 -----------------------------------------------------------------------------------------
15458 -- No MPA option is assigned.
15459
15460
15461 END IF;
15462 END IF;
15463 --
15464
15465 --
15466 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
15467 trace
15468 (p_msg => 'END of AcctLineType_56'
15469 ,p_level => C_LEVEL_PROCEDURE
15470 ,p_module => l_log_module);
15471 END IF;
15472 --
15473 EXCEPTION
15474 WHEN xla_exceptions_pkg.application_exception THEN
15475 RAISE;
15476 WHEN OTHERS THEN
15477 xla_exceptions_pkg.raise_message
15478 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_56');
15479 END AcctLineType_56;
15480 --
15481
15482 ---------------------------------------
15483 --
15484 -- PRIVATE FUNCTION
15485 -- AcctLineType_57
15486 --
15487 ---------------------------------------
15488 PROCEDURE AcctLineType_57 (
15489 p_application_id IN NUMBER
15490 ,p_event_id IN NUMBER
15491 ,p_calculate_acctd_flag IN VARCHAR2
15492 ,p_calculate_g_l_flag IN VARCHAR2
15493 ,p_actual_flag IN OUT VARCHAR2
15494 ,p_balance_type_code OUT VARCHAR2
15495 ,p_gain_or_loss_ref OUT VARCHAR2
15496
15497 --Invoice Distribution Description
15498 , p_source_1 IN VARCHAR2
15499 --Automatic Offsets Value
15500 , p_source_15 IN VARCHAR2
15501 , p_source_15_meaning IN VARCHAR2
15502 --Purchase Order Rate Variance Gain Account
15503 , p_source_20 IN NUMBER
15504 --Invoice Distribution Ledger Amount
15505 , p_source_21 IN NUMBER
15506 --Destination Type of the PO Distribution
15507 , p_source_22 IN VARCHAR2
15508 , p_source_22_meaning IN VARCHAR2
15509 --Purchase Order Rate Variance Loss Account
15510 , p_source_23 IN NUMBER
15511 --Invoice Distribution Account
15512 , p_source_30 IN NUMBER
15513 --Invoice Distribution Type
15514 , p_source_33 IN VARCHAR2
15515 , p_source_33_meaning IN VARCHAR2
15516 --Automatic Offsets Flag
15517 , p_source_47 IN VARCHAR2
15518 , p_source_47_meaning IN VARCHAR2
15519 --Accounting Reversal Indicator
15520 , p_source_53 IN VARCHAR2
15521 --Distribution Link Type
15522 , p_source_55 IN VARCHAR2
15523 --Allocation to Main Distribution Identifier
15524 , p_source_57 IN NUMBER
15525 --Invoice Identifier
15526 , p_source_58 IN NUMBER
15527 --Invoice Distribution Identifier
15528 , p_source_64 IN NUMBER
15529 --Payables Encumbrance Upgrade Credit Account
15530 , p_source_65 IN NUMBER
15531 --Payables Encumbrance Upgrade Credit Amount
15532 , p_source_66 IN NUMBER
15533 --Invoice Currency Code
15534 , p_source_67 IN VARCHAR2
15535 --Payables Encumbrance Upgrade Credit Base Amount
15536 , p_source_68 IN NUMBER
15537 --Payables Encumbrance Upgrade Debit Account
15538 , p_source_69 IN NUMBER
15539 --Payables Encumbrance Upgrade Debit Amount
15543 --Payables Encumbrance Upgrade Option
15540 , p_source_70 IN NUMBER
15541 --Payables Encumbrance Upgrade Debit Base Amount
15542 , p_source_71 IN NUMBER
15544 , p_source_72 IN VARCHAR2
15545 --Invoice Distribution Amount
15546 , p_source_73 IN NUMBER
15547 --Deferred Accounting End Date
15548 , p_source_77 IN DATE
15549 --Deferred Accounting Option
15550 , p_source_78 IN VARCHAR2
15551 --Deferred Accounting Start Date
15552 , p_source_79 IN DATE
15553 --Override Accounted Amount Indicator
15554 , p_source_80 IN VARCHAR2
15555 , p_source_80_meaning IN VARCHAR2
15556 --Invoice Supplier Identifier
15557 , p_source_81 IN NUMBER
15558 --Invoice Supplier Site Identifier
15559 , p_source_82 IN NUMBER
15560 --Third Party Type
15561 , p_source_83 IN VARCHAR2
15562 --Parent Reversal Identifier
15563 , p_source_84 IN NUMBER
15564 --Invoice Distribution Statistical Amount
15565 , p_source_85 IN NUMBER
15566 --Invoice Distribution Tax Line Identifier
15567 , p_source_86 IN NUMBER
15568 --Invoice Distribution Tax Distribution Identifier from Tax
15569 , p_source_87 IN NUMBER
15570 --Invoice Distribution Summary Tax Line Identifier
15571 , p_source_88 IN NUMBER
15572 --Payables Upgrade Credit Encumbrance Type Identifier
15573 , p_source_89 IN NUMBER
15574 --Payables Upgrade Debit Encumbrance Type Identifier
15575 , p_source_90 IN NUMBER
15576 --Business Flow Accounts Payable Application Identifier
15577 , p_source_91 IN NUMBER
15578 --Business Flow Invoice Distribution Type
15579 , p_source_92 IN VARCHAR2
15580 --Business Flow Invoice Entity Code
15581 , p_source_93 IN VARCHAR2
15582 --Business Flow Invoice Distribution Identifier
15583 , p_source_94 IN NUMBER
15584 --Business Flow Invoice Identifier
15585 , p_source_95 IN NUMBER
15586 --Accrue on Receipt Option
15587 , p_source_96 IN VARCHAR2
15588 , p_source_96_meaning IN VARCHAR2
15589 )
15590 IS
15591
15592 l_component_type VARCHAR2(80);
15593 l_component_code VARCHAR2(30);
15594 l_component_type_code VARCHAR2(1);
15595 l_component_appl_id INTEGER;
15596 l_amb_context_code VARCHAR2(30);
15597 l_entity_code VARCHAR2(30);
15598 l_event_class_code VARCHAR2(30);
15599 l_ae_header_id NUMBER;
15600 l_event_type_code VARCHAR2(30);
15601 l_line_definition_code VARCHAR2(30);
15602 l_line_definition_owner_code VARCHAR2(1);
15603 --
15604 -- adr variables
15605 l_segment VARCHAR2(30);
15606 l_ccid NUMBER;
15607 l_adr_transaction_coa_id NUMBER;
15608 l_adr_accounting_coa_id NUMBER;
15609 l_adr_flexfield_segment_code VARCHAR2(30);
15610 l_adr_flex_value_set_id NUMBER;
15611 l_adr_value_type_code VARCHAR2(30);
15612 l_adr_value_combination_id NUMBER;
15613 l_adr_value_segment_code VARCHAR2(30);
15614
15615 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
15616 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
15617 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
15618 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
15619
15620 -- 4262811 Variables ------------------------------------------------------------------------------------------
15621 l_entered_amt_idx NUMBER;
15622 l_accted_amt_idx NUMBER;
15623 l_acc_rev_flag VARCHAR2(1);
15624 l_accrual_line_num NUMBER;
15625 l_tmp_amt NUMBER;
15626 l_acc_rev_natural_side_code VARCHAR2(1);
15627
15628 l_num_entries NUMBER;
15629 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
15630 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
15631 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
15632 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
15633 l_recog_line_1 NUMBER;
15634 l_recog_line_2 NUMBER;
15635
15636 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
15637 l_bflow_applied_to_amt NUMBER; -- 5132302
15638 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
15639
15640 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
15641
15642 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
15643 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
15644
15645 ---------------------------------------------------------------------------------------------------------------
15646
15647
15648 --
15649 -- bulk performance
15650 --
15651 l_balance_type_code VARCHAR2(1);
15652 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
15653 l_log_module VARCHAR2(240);
15654
15655 --
15656 -- Upgrade strategy
15657 --
15658 l_actual_upg_option VARCHAR2(1);
15659 l_enc_upg_option VARCHAR2(1);
15660
15661 --
15662 BEGIN
15663 --
15664 IF g_log_enabled THEN
15665 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_57';
15666 END IF;
15667 --
15671 (p_msg => 'BEGIN of AcctLineType_57'
15668 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
15669
15670 trace
15672 ,p_level => C_LEVEL_PROCEDURE
15673 ,p_module => l_log_module);
15674
15675 END IF;
15676 --
15677 l_component_type := 'AMB_JLT';
15678 l_component_code := 'AP_ALC_TAX_EX_RATE_VAR_INV';
15679 l_component_type_code := 'S';
15680 l_component_appl_id := 200;
15681 l_amb_context_code := 'DEFAULT';
15682 l_entity_code := 'AP_INVOICES';
15683 l_event_class_code := 'INVOICES';
15684 l_event_type_code := 'INVOICES_ALL';
15685 l_line_definition_owner_code := 'S';
15686 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
15687 --
15688 l_balance_type_code := 'A';
15689 l_segment := NULL;
15690 l_ccid := NULL;
15691 l_adr_transaction_coa_id := NULL;
15692 l_adr_accounting_coa_id := NULL;
15693 l_adr_flexfield_segment_code := NULL;
15694 l_adr_flex_value_set_id := NULL;
15695 l_adr_value_type_code := NULL;
15696 l_adr_value_combination_id := NULL;
15697 l_adr_value_segment_code := NULL;
15698
15699 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
15700 l_bflow_class_code := ''; -- 4219869 Business Flow
15701 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
15702 l_budgetary_control_flag := 'N';
15703
15704 l_bflow_applied_to_amt_idx := NULL; -- 5132302
15705 l_bflow_applied_to_amt := NULL; -- 5132302
15706 l_entered_amt_idx := NULL; -- 4262811
15707 l_accted_amt_idx := NULL; -- 4262811
15708 l_acc_rev_flag := NULL; -- 4262811
15709 l_accrual_line_num := NULL; -- 4262811
15710 l_tmp_amt := NULL; -- 4262811
15711 --
15712 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
15713 (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
15714 return;
15715 END IF;
15716
15717 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
15718 l_balance_type_code <> 'B' THEN
15719 IF NVL(p_source_33,'
15720 ') = 'NONREC_TAX' AND
15721 NVL(p_source_96,'
15722 ') = 'Y'
15723 THEN
15724
15725 --
15726 XLA_AE_LINES_PKG.SetNewLine;
15727
15728 p_balance_type_code := l_balance_type_code;
15729 -- set the flag so later we will know whether the gain loss line needs to be created
15730
15731 IF(l_balance_type_code = 'A' ) THEN
15732 p_actual_flag :='G';
15733 END IF;
15734
15735 --
15736 -- bulk performance
15737 --
15738 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
15739 p_header_num => 0); -- 4262811
15740 --
15741 -- set accounting line options
15742 --
15743 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
15744 p_natural_side_code => 'G'
15745 , p_gain_or_loss_flag => 'N'
15746 , p_gl_transfer_mode_code => 'S'
15747 , p_acct_entry_type_code => 'A'
15748 , p_switch_side_flag => ''
15749 , p_merge_duplicate_code => 'A'
15750 );
15751 --
15752 l_acc_rev_natural_side_code := 'C'; -- 4262811
15753 --
15754 --
15755 -- set accounting line type info
15756 --
15757 xla_ae_lines_pkg.SetAcctLineType
15758 (p_component_type => l_component_type
15759 ,p_event_type_code => l_event_type_code
15760 ,p_line_definition_owner_code => l_line_definition_owner_code
15761 ,p_line_definition_code => l_line_definition_code
15762 ,p_accounting_line_code => l_component_code
15763 ,p_accounting_line_type_code => l_component_type_code
15764 ,p_accounting_line_appl_id => l_component_appl_id
15765 ,p_amb_context_code => l_amb_context_code
15766 ,p_entity_code => l_entity_code
15767 ,p_event_class_code => l_event_class_code);
15768 --
15769 -- set accounting class
15770 --
15771 xla_ae_lines_pkg.SetAcctClass(
15772 p_accounting_class_code => 'TERV'
15773 , p_ae_header_id => l_ae_header_id
15774 );
15775
15776 --
15777 -- set rounding class
15778 --
15779 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
15780 'TERV';
15781
15782 --
15783 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
15784 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
15785 --
15786 -- bulk performance
15787 --
15788 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
15789
15790 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
15794 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
15791 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
15792
15793 -- 4955764
15795 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
15796
15797 -- 4458381 Public Sector Enh
15798
15799 --
15800 -- set accounting attributes for the line type
15801 --
15802 l_entered_amt_idx := NULL;
15803 l_accted_amt_idx := 24;
15804 l_bflow_applied_to_amt_idx := 7; -- 5132302
15805 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
15806 l_rec_acct_attrs.array_char_value(1) := p_source_53;
15807 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
15808 l_rec_acct_attrs.array_num_value(2) :=
15809 xla_ae_sources_pkg.GetSystemSourceNum(
15810 p_source_code => 'XLA_EVENT_APPL_ID'
15811 , p_source_type_code => 'Y'
15812 , p_source_application_id => 602
15813 );
15814 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
15815 l_rec_acct_attrs.array_char_value(3) := p_source_55;
15816 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
15817 l_rec_acct_attrs.array_char_value(4) :=
15818 xla_ae_sources_pkg.GetSystemSourceChar(
15819 p_source_code => 'XLA_ENTITY_CODE'
15820 , p_source_type_code => 'Y'
15821 , p_source_application_id => 602
15822 );
15823 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
15824 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
15825 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
15826 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
15827 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
15828 l_rec_acct_attrs.array_num_value(7) := p_source_73;
15829 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
15830 l_rec_acct_attrs.array_num_value(8) := p_source_91;
15831 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
15832 l_rec_acct_attrs.array_char_value(9) := p_source_92;
15833 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
15834 l_rec_acct_attrs.array_char_value(10) := p_source_93;
15835 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
15836 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
15837 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
15838 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_95);
15839 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
15840 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_64);
15841 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
15842 l_rec_acct_attrs.array_char_value(14) := p_source_55;
15843 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
15844 l_rec_acct_attrs.array_num_value(15) := p_source_65;
15845 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
15846 l_rec_acct_attrs.array_num_value(16) := p_source_66;
15847 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
15848 l_rec_acct_attrs.array_char_value(17) := p_source_67;
15849 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
15850 l_rec_acct_attrs.array_num_value(18) := p_source_68;
15851 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
15852 l_rec_acct_attrs.array_num_value(19) := p_source_69;
15853 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
15854 l_rec_acct_attrs.array_num_value(20) := p_source_70;
15855 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
15856 l_rec_acct_attrs.array_char_value(21) := p_source_67;
15857 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
15858 l_rec_acct_attrs.array_num_value(22) := p_source_71;
15859 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
15860 l_rec_acct_attrs.array_char_value(23) := p_source_72;
15861 l_rec_acct_attrs.array_acct_attr_code(24) := 'LEDGER_AMOUNT';
15862 l_rec_acct_attrs.array_num_value(24) := p_source_21;
15863 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_END_DATE';
15864 l_rec_acct_attrs.array_date_value(25) := p_source_77;
15865 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_OPTION';
15866 l_rec_acct_attrs.array_char_value(26) := p_source_78;
15867 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_START_DATE';
15868 l_rec_acct_attrs.array_date_value(27) := p_source_79;
15869 l_rec_acct_attrs.array_acct_attr_code(28) := 'OVERRIDE_ACCTD_AMT_FLAG';
15870 l_rec_acct_attrs.array_char_value(28) := p_source_80;
15871 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_ID';
15872 l_rec_acct_attrs.array_num_value(29) := p_source_81;
15873 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_SITE_ID';
15874 l_rec_acct_attrs.array_num_value(30) := p_source_82;
15875 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
15876 l_rec_acct_attrs.array_char_value(31) := p_source_83;
15877 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
15878 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_84);
15879 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
15880 l_rec_acct_attrs.array_char_value(33) := p_source_55;
15881 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
15882 l_rec_acct_attrs.array_num_value(34) := p_source_85;
15883 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
15887 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
15884 l_rec_acct_attrs.array_num_value(35) := p_source_86;
15885 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
15886 l_rec_acct_attrs.array_num_value(36) := p_source_87;
15888 l_rec_acct_attrs.array_num_value(37) := p_source_88;
15889 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
15890 l_rec_acct_attrs.array_num_value(38) := p_source_89;
15891 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
15892 l_rec_acct_attrs.array_num_value(39) := p_source_90;
15893
15894 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
15895 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
15896
15897 ---------------------------------------------------------------------------------------------------------------
15898 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
15899 ---------------------------------------------------------------------------------------------------------------
15900 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
15901
15902 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15903 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15904
15905 IF xla_accounting_cache_pkg.GetValueChar
15906 (p_source_code => 'LEDGER_CATEGORY_CODE'
15907 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
15908 AND l_bflow_method_code = 'PRIOR_ENTRY'
15909 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
15910 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
15911 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
15912 )
15913 THEN
15914 xla_ae_lines_pkg.BflowUpgEntry
15915 (p_business_method_code => l_bflow_method_code
15916 ,p_business_class_code => l_bflow_class_code
15917 ,p_balance_type => l_balance_type_code);
15918 ELSE
15919 NULL;
15920 -- No business flow processing for business flow method of NONE.
15921 END IF;
15922
15923 --
15924 -- call analytical criteria
15925 --
15926
15927 --
15928 -- call description
15929 --
15930
15931 xla_ae_lines_pkg.SetLineDescription(
15932 p_ae_header_id => l_ae_header_id
15933 ,p_description => Description_1 (
15934 p_application_id => p_application_id
15935 , p_ae_header_id => l_ae_header_id
15936 , p_source_1 => p_source_1
15937 )
15938 );
15939
15940
15941 --
15942 -- call ADRs
15943 -- Bug 4922099
15944 --
15945 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
15946 (NVL(l_actual_upg_option, 'N') = 'O') OR
15947 (NVL(l_enc_upg_option, 'N') = 'O')
15948 )
15949 THEN
15950 NULL;
15951 --
15952 --
15953
15954 l_ccid := AcctDerRule_30(
15955 p_application_id => p_application_id
15956 , p_ae_header_id => l_ae_header_id
15957 , p_source_15 => p_source_15
15958 , p_source_15_meaning => p_source_15_meaning
15959 , p_source_20 => p_source_20
15960 , p_source_21 => p_source_21
15961 , p_source_22 => p_source_22
15962 , p_source_22_meaning => p_source_22_meaning
15963 , p_source_23 => p_source_23
15964 , p_source_30 => p_source_30
15965 , p_source_47 => p_source_47
15966 , p_source_47_meaning => p_source_47_meaning
15967 , x_transaction_coa_id => l_adr_transaction_coa_id
15968 , x_accounting_coa_id => l_adr_accounting_coa_id
15969 , x_value_type_code => l_adr_value_type_code
15970 , p_side => 'ALL'
15971 );
15972
15973 xla_ae_lines_pkg.set_ccid(
15974 p_code_combination_id => l_ccid
15975 , p_value_type_code => l_adr_value_type_code
15976 , p_transaction_coa_id => l_adr_transaction_coa_id
15977 , p_accounting_coa_id => l_adr_accounting_coa_id
15978 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
15979 , p_adr_type_code => 'S'
15980 , p_component_type => l_component_type
15981 , p_component_code => l_component_code
15982 , p_component_type_code => l_component_type_code
15983 , p_component_appl_id => l_component_appl_id
15984 , p_amb_context_code => l_amb_context_code
15985 , p_side => 'ALL'
15986 );
15987
15988
15989 l_segment := AcctDerRule_9(
15990 p_application_id => p_application_id
15991 , p_ae_header_id => l_ae_header_id
15992 , p_source_15 => p_source_15
15993 , p_source_15_meaning => p_source_15_meaning
15994 , p_source_20 => p_source_20
15995 , p_source_22 => p_source_22
15996 , p_source_22_meaning => p_source_22_meaning
15997 , x_transaction_coa_id => l_adr_transaction_coa_id
15998 , x_accounting_coa_id => l_adr_accounting_coa_id
15999 , x_flexfield_segment_code => l_adr_flexfield_segment_code
16000 , x_flex_value_set_id => l_adr_flex_value_set_id
16001 , x_value_type_code => l_adr_value_type_code
16005 , p_override_seg_flag => 'Y'
16002 , x_value_combination_id => l_adr_value_combination_id
16003 , x_value_segment_code => l_adr_value_segment_code
16004 , p_side => 'CREDIT'
16006 );
16007
16008 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
16009
16010 xla_ae_lines_pkg.set_segment(
16011 p_to_segment_code => 'GL_ACCOUNT'
16012 , p_segment_value => l_segment
16013 , p_from_segment_code => l_adr_value_segment_code
16014 , p_from_combination_id => l_adr_value_combination_id
16015 , p_value_type_code => l_adr_value_type_code
16016 , p_transaction_coa_id => l_adr_transaction_coa_id
16017 , p_accounting_coa_id => l_adr_accounting_coa_id
16018 , p_flexfield_segment_code => l_adr_flexfield_segment_code
16019 , p_flex_value_set_id => l_adr_flex_value_set_id
16020 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
16021 , p_adr_type_code => 'S'
16022 , p_component_type => l_component_type
16023 , p_component_code => l_component_code
16024 , p_component_type_code => l_component_type_code
16025 , p_component_appl_id => l_component_appl_id
16026 , p_amb_context_code => l_amb_context_code
16027 , p_entity_code => 'AP_INVOICES'
16028 , p_event_class_code => 'INVOICES'
16029 , p_side => 'CREDIT'
16030 );
16031
16032 END IF;
16033
16034 l_segment := AcctDerRule_10(
16035 p_application_id => p_application_id
16036 , p_ae_header_id => l_ae_header_id
16037 , p_source_15 => p_source_15
16038 , p_source_15_meaning => p_source_15_meaning
16039 , p_source_22 => p_source_22
16040 , p_source_22_meaning => p_source_22_meaning
16041 , p_source_23 => p_source_23
16042 , x_transaction_coa_id => l_adr_transaction_coa_id
16043 , x_accounting_coa_id => l_adr_accounting_coa_id
16044 , x_flexfield_segment_code => l_adr_flexfield_segment_code
16045 , x_flex_value_set_id => l_adr_flex_value_set_id
16046 , x_value_type_code => l_adr_value_type_code
16047 , x_value_combination_id => l_adr_value_combination_id
16048 , x_value_segment_code => l_adr_value_segment_code
16049 , p_side => 'DEBIT'
16050 , p_override_seg_flag => 'Y'
16051 );
16052
16053 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
16054
16055 xla_ae_lines_pkg.set_segment(
16056 p_to_segment_code => 'GL_ACCOUNT'
16057 , p_segment_value => l_segment
16058 , p_from_segment_code => l_adr_value_segment_code
16059 , p_from_combination_id => l_adr_value_combination_id
16060 , p_value_type_code => l_adr_value_type_code
16061 , p_transaction_coa_id => l_adr_transaction_coa_id
16062 , p_accounting_coa_id => l_adr_accounting_coa_id
16063 , p_flexfield_segment_code => l_adr_flexfield_segment_code
16064 , p_flex_value_set_id => l_adr_flex_value_set_id
16065 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
16066 , p_adr_type_code => 'S'
16067 , p_component_type => l_component_type
16068 , p_component_code => l_component_code
16069 , p_component_type_code => l_component_type_code
16070 , p_component_appl_id => l_component_appl_id
16071 , p_amb_context_code => l_amb_context_code
16072 , p_entity_code => 'AP_INVOICES'
16073 , p_event_class_code => 'INVOICES'
16074 , p_side => 'DEBIT'
16075 );
16076
16077 END IF;
16078
16079 l_segment := AcctDerRule_23(
16080 p_application_id => p_application_id
16081 , p_ae_header_id => l_ae_header_id
16082 , p_source_15 => p_source_15
16083 , p_source_15_meaning => p_source_15_meaning
16084 , p_source_22 => p_source_22
16085 , p_source_22_meaning => p_source_22_meaning
16086 , p_source_30 => p_source_30
16087 , x_transaction_coa_id => l_adr_transaction_coa_id
16088 , x_accounting_coa_id => l_adr_accounting_coa_id
16089 , x_flexfield_segment_code => l_adr_flexfield_segment_code
16090 , x_flex_value_set_id => l_adr_flex_value_set_id
16091 , x_value_type_code => l_adr_value_type_code
16092 , x_value_combination_id => l_adr_value_combination_id
16093 , x_value_segment_code => l_adr_value_segment_code
16094 , p_side => 'ALL'
16095 , p_override_seg_flag => 'Y'
16096 );
16097
16098 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
16099
16100 xla_ae_lines_pkg.set_segment(
16101 p_to_segment_code => 'GL_BALANCING'
16102 , p_segment_value => l_segment
16103 , p_from_segment_code => l_adr_value_segment_code
16104 , p_from_combination_id => l_adr_value_combination_id
16105 , p_value_type_code => l_adr_value_type_code
16106 , p_transaction_coa_id => l_adr_transaction_coa_id
16107 , p_accounting_coa_id => l_adr_accounting_coa_id
16111 , p_adr_type_code => 'S'
16108 , p_flexfield_segment_code => l_adr_flexfield_segment_code
16109 , p_flex_value_set_id => l_adr_flex_value_set_id
16110 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
16112 , p_component_type => l_component_type
16113 , p_component_code => l_component_code
16114 , p_component_type_code => l_component_type_code
16115 , p_component_appl_id => l_component_appl_id
16116 , p_amb_context_code => l_amb_context_code
16117 , p_entity_code => 'AP_INVOICES'
16118 , p_event_class_code => 'INVOICES'
16119 , p_side => 'ALL'
16120 );
16121
16122 END IF;
16123
16124 --
16125 --
16126 END IF;
16127 --
16128 -- Bug 4922099
16129 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
16130 (NVL(l_enc_upg_option, 'N') = 'O')
16131 ) AND
16132 (l_bflow_method_code = 'PRIOR_ENTRY')
16133 )
16134 THEN
16135 IF
16136 --
16137 1 = 2
16138 --
16139 THEN
16140 xla_accounting_err_pkg.build_message
16141 (p_appli_s_name => 'XLA'
16142 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
16143 ,p_token_1 => 'LINE_NUMBER'
16144 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
16145 ,p_token_2 => 'LINE_TYPE_NAME'
16146 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
16147 l_component_type
16148 ,l_component_code
16149 ,l_component_type_code
16150 ,l_component_appl_id
16151 ,l_amb_context_code
16152 ,l_entity_code
16153 ,l_event_class_code
16154 )
16155 ,p_token_3 => 'OWNER'
16156 ,p_value_3 => xla_lookups_pkg.get_meaning(
16157 p_lookup_type => 'XLA_OWNER_TYPE'
16158 ,p_lookup_code => l_component_type_code
16159 )
16160 ,p_token_4 => 'PRODUCT_NAME'
16161 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
16162 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
16163 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
16164 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
16165 ,p_ae_header_id => NULL
16166 );
16167
16168 IF (C_LEVEL_ERROR>= g_log_level) THEN
16169 trace
16170 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
16171 ,p_level => C_LEVEL_ERROR
16172 ,p_module => l_log_module);
16173 END IF;
16174 END IF;
16175 END IF;
16176 --
16177 --
16178 ------------------------------------------------------------------------------------------------
16179 -- 4219869 Business Flow
16180 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
16181 -- Prior Entry. Currently, the following code is always generated.
16182 ------------------------------------------------------------------------------------------------
16183 XLA_AE_LINES_PKG.ValidateCurrentLine;
16184
16185 ------------------------------------------------------------------------------------
16186 -- 4219869 Business Flow
16187 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
16188 ------------------------------------------------------------------------------------
16189 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
16190
16191 ----------------------------------------------------------------------------------
16192 -- 4219869 Business Flow
16193 -- Update journal entry status -- Need to generate this within IF <condition>
16194 ----------------------------------------------------------------------------------
16195 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
16196 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
16197 ,p_balance_type_code => l_balance_type_code
16198 );
16199
16200 -------------------------------------------------------------------------------------------
16201 -- 4262811 - Generate the Accrual Reversal lines
16205 (g_array_event(p_event_id).array_value_num('header_index'));
16202 -------------------------------------------------------------------------------------------
16203 BEGIN
16204 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
16206 IF l_acc_rev_flag IS NULL THEN
16207 l_acc_rev_flag := 'N';
16208 END IF;
16209 EXCEPTION
16210 WHEN OTHERS THEN
16211 l_acc_rev_flag := 'N';
16212 END;
16213 --
16214 IF (l_acc_rev_flag = 'Y') THEN
16215
16216 -- 4645092 ------------------------------------------------------------------------------
16217 -- To allow MPA report to determine if it should generate report process
16218 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
16219 ------------------------------------------------------------------------------------------
16220
16221 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
16222 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
16223 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
16224 -- call ADRs
16225 -- Bug 4922099
16226 --
16227 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
16228 (NVL(l_actual_upg_option, 'N') = 'O') OR
16229 (NVL(l_enc_upg_option, 'N') = 'O')
16230 )
16231 THEN
16232 NULL;
16233 --
16234 --
16235
16236 l_ccid := AcctDerRule_30(
16237 p_application_id => p_application_id
16238 , p_ae_header_id => l_ae_header_id
16239 , p_source_15 => p_source_15
16240 , p_source_15_meaning => p_source_15_meaning
16241 , p_source_20 => p_source_20
16242 , p_source_21 => p_source_21
16243 , p_source_22 => p_source_22
16244 , p_source_22_meaning => p_source_22_meaning
16245 , p_source_23 => p_source_23
16246 , p_source_30 => p_source_30
16247 , p_source_47 => p_source_47
16248 , p_source_47_meaning => p_source_47_meaning
16249 , x_transaction_coa_id => l_adr_transaction_coa_id
16250 , x_accounting_coa_id => l_adr_accounting_coa_id
16251 , x_value_type_code => l_adr_value_type_code
16252 , p_side => 'ALL'
16253 );
16254
16255 xla_ae_lines_pkg.set_ccid(
16256 p_code_combination_id => l_ccid
16257 , p_value_type_code => l_adr_value_type_code
16258 , p_transaction_coa_id => l_adr_transaction_coa_id
16259 , p_accounting_coa_id => l_adr_accounting_coa_id
16260 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
16261 , p_adr_type_code => 'S'
16262 , p_component_type => l_component_type
16263 , p_component_code => l_component_code
16264 , p_component_type_code => l_component_type_code
16265 , p_component_appl_id => l_component_appl_id
16266 , p_amb_context_code => l_amb_context_code
16267 , p_side => 'ALL'
16268 );
16269
16270
16271 l_segment := AcctDerRule_9(
16272 p_application_id => p_application_id
16273 , p_ae_header_id => l_ae_header_id
16274 , p_source_15 => p_source_15
16275 , p_source_15_meaning => p_source_15_meaning
16276 , p_source_20 => p_source_20
16277 , p_source_22 => p_source_22
16278 , p_source_22_meaning => p_source_22_meaning
16279 , x_transaction_coa_id => l_adr_transaction_coa_id
16280 , x_accounting_coa_id => l_adr_accounting_coa_id
16281 , x_flexfield_segment_code => l_adr_flexfield_segment_code
16282 , x_flex_value_set_id => l_adr_flex_value_set_id
16283 , x_value_type_code => l_adr_value_type_code
16284 , x_value_combination_id => l_adr_value_combination_id
16285 , x_value_segment_code => l_adr_value_segment_code
16286 , p_side => 'CREDIT'
16287 , p_override_seg_flag => 'Y'
16288 );
16289
16290 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
16291
16292 xla_ae_lines_pkg.set_segment(
16293 p_to_segment_code => 'GL_ACCOUNT'
16294 , p_segment_value => l_segment
16295 , p_from_segment_code => l_adr_value_segment_code
16296 , p_from_combination_id => l_adr_value_combination_id
16297 , p_value_type_code => l_adr_value_type_code
16298 , p_transaction_coa_id => l_adr_transaction_coa_id
16299 , p_accounting_coa_id => l_adr_accounting_coa_id
16300 , p_flexfield_segment_code => l_adr_flexfield_segment_code
16301 , p_flex_value_set_id => l_adr_flex_value_set_id
16302 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
16303 , p_adr_type_code => 'S'
16304 , p_component_type => l_component_type
16305 , p_component_code => l_component_code
16306 , p_component_type_code => l_component_type_code
16307 , p_component_appl_id => l_component_appl_id
16308 , p_amb_context_code => l_amb_context_code
16309 , p_entity_code => 'AP_INVOICES'
16310 , p_event_class_code => 'INVOICES'
16311 , p_side => 'CREDIT'
16312 );
16313
16314 END IF;
16315
16316 l_segment := AcctDerRule_10(
16317 p_application_id => p_application_id
16318 , p_ae_header_id => l_ae_header_id
16319 , p_source_15 => p_source_15
16323 , p_source_23 => p_source_23
16320 , p_source_15_meaning => p_source_15_meaning
16321 , p_source_22 => p_source_22
16322 , p_source_22_meaning => p_source_22_meaning
16324 , x_transaction_coa_id => l_adr_transaction_coa_id
16325 , x_accounting_coa_id => l_adr_accounting_coa_id
16326 , x_flexfield_segment_code => l_adr_flexfield_segment_code
16327 , x_flex_value_set_id => l_adr_flex_value_set_id
16328 , x_value_type_code => l_adr_value_type_code
16329 , x_value_combination_id => l_adr_value_combination_id
16330 , x_value_segment_code => l_adr_value_segment_code
16331 , p_side => 'DEBIT'
16332 , p_override_seg_flag => 'Y'
16333 );
16334
16335 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
16336
16337 xla_ae_lines_pkg.set_segment(
16338 p_to_segment_code => 'GL_ACCOUNT'
16339 , p_segment_value => l_segment
16340 , p_from_segment_code => l_adr_value_segment_code
16341 , p_from_combination_id => l_adr_value_combination_id
16342 , p_value_type_code => l_adr_value_type_code
16343 , p_transaction_coa_id => l_adr_transaction_coa_id
16344 , p_accounting_coa_id => l_adr_accounting_coa_id
16345 , p_flexfield_segment_code => l_adr_flexfield_segment_code
16346 , p_flex_value_set_id => l_adr_flex_value_set_id
16347 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
16348 , p_adr_type_code => 'S'
16349 , p_component_type => l_component_type
16350 , p_component_code => l_component_code
16351 , p_component_type_code => l_component_type_code
16352 , p_component_appl_id => l_component_appl_id
16353 , p_amb_context_code => l_amb_context_code
16354 , p_entity_code => 'AP_INVOICES'
16355 , p_event_class_code => 'INVOICES'
16356 , p_side => 'DEBIT'
16357 );
16358
16359 END IF;
16360
16361 l_segment := AcctDerRule_23(
16362 p_application_id => p_application_id
16363 , p_ae_header_id => l_ae_header_id
16364 , p_source_15 => p_source_15
16365 , p_source_15_meaning => p_source_15_meaning
16366 , p_source_22 => p_source_22
16367 , p_source_22_meaning => p_source_22_meaning
16368 , p_source_30 => p_source_30
16369 , x_transaction_coa_id => l_adr_transaction_coa_id
16370 , x_accounting_coa_id => l_adr_accounting_coa_id
16371 , x_flexfield_segment_code => l_adr_flexfield_segment_code
16372 , x_flex_value_set_id => l_adr_flex_value_set_id
16373 , x_value_type_code => l_adr_value_type_code
16374 , x_value_combination_id => l_adr_value_combination_id
16375 , x_value_segment_code => l_adr_value_segment_code
16376 , p_side => 'ALL'
16377 , p_override_seg_flag => 'Y'
16378 );
16379
16380 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
16381
16382 xla_ae_lines_pkg.set_segment(
16383 p_to_segment_code => 'GL_BALANCING'
16384 , p_segment_value => l_segment
16385 , p_from_segment_code => l_adr_value_segment_code
16386 , p_from_combination_id => l_adr_value_combination_id
16387 , p_value_type_code => l_adr_value_type_code
16388 , p_transaction_coa_id => l_adr_transaction_coa_id
16389 , p_accounting_coa_id => l_adr_accounting_coa_id
16390 , p_flexfield_segment_code => l_adr_flexfield_segment_code
16391 , p_flex_value_set_id => l_adr_flex_value_set_id
16392 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
16393 , p_adr_type_code => 'S'
16394 , p_component_type => l_component_type
16395 , p_component_code => l_component_code
16396 , p_component_type_code => l_component_type_code
16397 , p_component_appl_id => l_component_appl_id
16398 , p_amb_context_code => l_amb_context_code
16399 , p_entity_code => 'AP_INVOICES'
16400 , p_event_class_code => 'INVOICES'
16401 , p_side => 'ALL'
16402 );
16403
16404 END IF;
16405
16406 --
16407 --
16408 END IF;
16409
16410 --
16411 -- Update the line information that should be overwritten
16412 --
16413 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
16414 p_header_num => 1);
16415 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
16416
16417 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
16418
16419 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
16420 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
16421 END IF;
16422
16423 --
16424 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
16425 --
16426 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
16427 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
16428 ELSE
16429 ---------------------------------------------------------------------------------------------------
16430 -- 4262811a Switch Sign
16434 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16431 ---------------------------------------------------------------------------------------------------
16432 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
16433 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16435 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16436 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16437 -- 5132302
16438 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
16439 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16440
16441 END IF;
16442
16443 -- 4955764
16444 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
16445 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
16446
16447
16448 XLA_AE_LINES_PKG.ValidateCurrentLine;
16449 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
16450
16451 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
16452 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
16453 ,p_balance_type_code => l_balance_type_code);
16454
16455 END IF;
16456
16457 -----------------------------------------------------------------------------------------
16458 -- 4262811 Multiperiod Accounting
16459 -----------------------------------------------------------------------------------------
16460 -- No MPA option is assigned.
16461
16462
16463 END IF;
16464 END IF;
16465 --
16466
16467 --
16468 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
16469 trace
16470 (p_msg => 'END of AcctLineType_57'
16471 ,p_level => C_LEVEL_PROCEDURE
16472 ,p_module => l_log_module);
16473 END IF;
16474 --
16475 EXCEPTION
16476 WHEN xla_exceptions_pkg.application_exception THEN
16477 RAISE;
16478 WHEN OTHERS THEN
16479 xla_exceptions_pkg.raise_message
16480 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_57');
16481 END AcctLineType_57;
16482 --
16483
16484 ---------------------------------------
16485 --
16486 -- PRIVATE FUNCTION
16487 -- AcctLineType_58
16488 --
16489 ---------------------------------------
16490 PROCEDURE AcctLineType_58 (
16491 p_application_id IN NUMBER
16492 ,p_event_id IN NUMBER
16493 ,p_calculate_acctd_flag IN VARCHAR2
16494 ,p_calculate_g_l_flag IN VARCHAR2
16495 ,p_actual_flag IN OUT VARCHAR2
16496 ,p_balance_type_code OUT VARCHAR2
16497 ,p_gain_or_loss_ref OUT VARCHAR2
16498
16499 --Invoice Distribution Description
16500 , p_source_1 IN VARCHAR2
16501 --Automatic Offsets Value
16502 , p_source_15 IN VARCHAR2
16503 , p_source_15_meaning IN VARCHAR2
16504 --Purchase Order Rate Variance Gain Account
16505 , p_source_20 IN NUMBER
16506 --Invoice Distribution Ledger Amount
16507 , p_source_21 IN NUMBER
16508 --Destination Type of the PO Distribution
16509 , p_source_22 IN VARCHAR2
16510 , p_source_22_meaning IN VARCHAR2
16511 --Purchase Order Rate Variance Loss Account
16512 , p_source_23 IN NUMBER
16513 --Invoice Distribution Account
16514 , p_source_30 IN NUMBER
16515 --Invoice Distribution Type
16516 , p_source_33 IN VARCHAR2
16517 , p_source_33_meaning IN VARCHAR2
16518 --Automatic Offsets Flag
16519 , p_source_47 IN VARCHAR2
16520 , p_source_47_meaning IN VARCHAR2
16521 --Accounting Reversal Indicator
16522 , p_source_53 IN VARCHAR2
16523 --Distribution Link Type
16524 , p_source_55 IN VARCHAR2
16525 --Allocation to Main Distribution Identifier
16526 , p_source_57 IN NUMBER
16527 --Invoice Identifier
16528 , p_source_58 IN NUMBER
16529 --Invoice Distribution Identifier
16530 , p_source_64 IN NUMBER
16531 --Payables Encumbrance Upgrade Credit Account
16532 , p_source_65 IN NUMBER
16533 --Payables Encumbrance Upgrade Credit Amount
16534 , p_source_66 IN NUMBER
16535 --Invoice Currency Code
16536 , p_source_67 IN VARCHAR2
16537 --Payables Encumbrance Upgrade Credit Base Amount
16538 , p_source_68 IN NUMBER
16539 --Payables Encumbrance Upgrade Debit Account
16540 , p_source_69 IN NUMBER
16541 --Payables Encumbrance Upgrade Debit Amount
16542 , p_source_70 IN NUMBER
16543 --Payables Encumbrance Upgrade Debit Base Amount
16544 , p_source_71 IN NUMBER
16545 --Payables Encumbrance Upgrade Option
16546 , p_source_72 IN VARCHAR2
16547 --Deferred Accounting End Date
16548 , p_source_77 IN DATE
16549 --Deferred Accounting Option
16550 , p_source_78 IN VARCHAR2
16551 --Deferred Accounting Start Date
16552 , p_source_79 IN DATE
16553 --Override Accounted Amount Indicator
16554 , p_source_80 IN VARCHAR2
16555 , p_source_80_meaning IN VARCHAR2
16556 --Invoice Supplier Identifier
16557 , p_source_81 IN NUMBER
16558 --Invoice Supplier Site Identifier
16559 , p_source_82 IN NUMBER
16563 , p_source_84 IN NUMBER
16560 --Third Party Type
16561 , p_source_83 IN VARCHAR2
16562 --Parent Reversal Identifier
16564 --Invoice Distribution Statistical Amount
16565 , p_source_85 IN NUMBER
16566 --Invoice Distribution Tax Line Identifier
16567 , p_source_86 IN NUMBER
16568 --Invoice Distribution Tax Distribution Identifier from Tax
16569 , p_source_87 IN NUMBER
16570 --Invoice Distribution Summary Tax Line Identifier
16571 , p_source_88 IN NUMBER
16572 --Payables Upgrade Credit Encumbrance Type Identifier
16573 , p_source_89 IN NUMBER
16574 --Payables Upgrade Debit Encumbrance Type Identifier
16575 , p_source_90 IN NUMBER
16576 --Business Flow Accounts Payable Application Identifier
16577 , p_source_91 IN NUMBER
16578 --Business Flow Invoice Distribution Type
16579 , p_source_92 IN VARCHAR2
16580 --Business Flow Invoice Entity Code
16581 , p_source_93 IN VARCHAR2
16582 --Business Flow Invoice Distribution Identifier
16583 , p_source_94 IN NUMBER
16584 --Business Flow Invoice Identifier
16585 , p_source_95 IN NUMBER
16586 --Accrue on Receipt Option
16587 , p_source_96 IN VARCHAR2
16588 , p_source_96_meaning IN VARCHAR2
16589 )
16590 IS
16591
16592 l_component_type VARCHAR2(80);
16593 l_component_code VARCHAR2(30);
16594 l_component_type_code VARCHAR2(1);
16595 l_component_appl_id INTEGER;
16596 l_amb_context_code VARCHAR2(30);
16597 l_entity_code VARCHAR2(30);
16598 l_event_class_code VARCHAR2(30);
16599 l_ae_header_id NUMBER;
16600 l_event_type_code VARCHAR2(30);
16601 l_line_definition_code VARCHAR2(30);
16602 l_line_definition_owner_code VARCHAR2(1);
16603 --
16604 -- adr variables
16605 l_segment VARCHAR2(30);
16606 l_ccid NUMBER;
16607 l_adr_transaction_coa_id NUMBER;
16608 l_adr_accounting_coa_id NUMBER;
16609 l_adr_flexfield_segment_code VARCHAR2(30);
16610 l_adr_flex_value_set_id NUMBER;
16611 l_adr_value_type_code VARCHAR2(30);
16612 l_adr_value_combination_id NUMBER;
16613 l_adr_value_segment_code VARCHAR2(30);
16614
16615 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
16616 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
16617 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
16618 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
16619
16620 -- 4262811 Variables ------------------------------------------------------------------------------------------
16621 l_entered_amt_idx NUMBER;
16622 l_accted_amt_idx NUMBER;
16623 l_acc_rev_flag VARCHAR2(1);
16624 l_accrual_line_num NUMBER;
16625 l_tmp_amt NUMBER;
16626 l_acc_rev_natural_side_code VARCHAR2(1);
16627
16628 l_num_entries NUMBER;
16629 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
16630 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
16631 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
16632 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
16633 l_recog_line_1 NUMBER;
16634 l_recog_line_2 NUMBER;
16635
16636 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
16637 l_bflow_applied_to_amt NUMBER; -- 5132302
16638 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
16639
16640 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
16641
16642 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
16643 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
16644
16645 ---------------------------------------------------------------------------------------------------------------
16646
16647
16648 --
16649 -- bulk performance
16650 --
16651 l_balance_type_code VARCHAR2(1);
16652 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
16653 l_log_module VARCHAR2(240);
16654
16655 --
16656 -- Upgrade strategy
16657 --
16658 l_actual_upg_option VARCHAR2(1);
16659 l_enc_upg_option VARCHAR2(1);
16660
16661 --
16662 BEGIN
16663 --
16664 IF g_log_enabled THEN
16665 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_58';
16666 END IF;
16667 --
16668 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
16669
16670 trace
16671 (p_msg => 'BEGIN of AcctLineType_58'
16672 ,p_level => C_LEVEL_PROCEDURE
16673 ,p_module => l_log_module);
16674
16675 END IF;
16676 --
16677 l_component_type := 'AMB_JLT';
16678 l_component_code := 'AP_ALC_TAX_EX_RATE_VAR_PREPAY';
16679 l_component_type_code := 'S';
16680 l_component_appl_id := 200;
16681 l_amb_context_code := 'DEFAULT';
16682 l_entity_code := 'AP_INVOICES';
16683 l_event_class_code := 'PREPAYMENTS';
16684 l_event_type_code := 'PREPAYMENTS_ALL';
16685 l_line_definition_owner_code := 'S';
16686 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
16687 --
16688 l_balance_type_code := 'A';
16692 l_adr_accounting_coa_id := NULL;
16689 l_segment := NULL;
16690 l_ccid := NULL;
16691 l_adr_transaction_coa_id := NULL;
16693 l_adr_flexfield_segment_code := NULL;
16694 l_adr_flex_value_set_id := NULL;
16695 l_adr_value_type_code := NULL;
16696 l_adr_value_combination_id := NULL;
16697 l_adr_value_segment_code := NULL;
16698
16699 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
16700 l_bflow_class_code := ''; -- 4219869 Business Flow
16701 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
16702 l_budgetary_control_flag := 'N';
16703
16704 l_bflow_applied_to_amt_idx := NULL; -- 5132302
16705 l_bflow_applied_to_amt := NULL; -- 5132302
16706 l_entered_amt_idx := NULL; -- 4262811
16707 l_accted_amt_idx := NULL; -- 4262811
16708 l_acc_rev_flag := NULL; -- 4262811
16709 l_accrual_line_num := NULL; -- 4262811
16710 l_tmp_amt := NULL; -- 4262811
16711 --
16712 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
16713 (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
16714 return;
16715 END IF;
16716
16717 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
16718 l_balance_type_code <> 'B' THEN
16719 IF NVL(p_source_33,'
16720 ') = 'NONREC_TAX' AND
16721 NVL(p_source_96,'
16722 ') = 'Y'
16723 THEN
16724
16725 --
16726 XLA_AE_LINES_PKG.SetNewLine;
16727
16728 p_balance_type_code := l_balance_type_code;
16729 -- set the flag so later we will know whether the gain loss line needs to be created
16730
16731 IF(l_balance_type_code = 'A' ) THEN
16732 p_actual_flag :='G';
16733 END IF;
16734
16735 --
16736 -- bulk performance
16737 --
16738 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
16739 p_header_num => 0); -- 4262811
16740 --
16741 -- set accounting line options
16742 --
16743 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
16744 p_natural_side_code => 'G'
16745 , p_gain_or_loss_flag => 'N'
16746 , p_gl_transfer_mode_code => 'S'
16747 , p_acct_entry_type_code => 'A'
16748 , p_switch_side_flag => ''
16749 , p_merge_duplicate_code => 'A'
16750 );
16751 --
16752 l_acc_rev_natural_side_code := 'C'; -- 4262811
16753 --
16754 --
16755 -- set accounting line type info
16756 --
16757 xla_ae_lines_pkg.SetAcctLineType
16758 (p_component_type => l_component_type
16759 ,p_event_type_code => l_event_type_code
16760 ,p_line_definition_owner_code => l_line_definition_owner_code
16761 ,p_line_definition_code => l_line_definition_code
16762 ,p_accounting_line_code => l_component_code
16763 ,p_accounting_line_type_code => l_component_type_code
16764 ,p_accounting_line_appl_id => l_component_appl_id
16765 ,p_amb_context_code => l_amb_context_code
16766 ,p_entity_code => l_entity_code
16767 ,p_event_class_code => l_event_class_code);
16768 --
16769 -- set accounting class
16770 --
16771 xla_ae_lines_pkg.SetAcctClass(
16772 p_accounting_class_code => 'TERV'
16773 , p_ae_header_id => l_ae_header_id
16774 );
16775
16776 --
16777 -- set rounding class
16778 --
16779 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
16780 'TERV';
16781
16782 --
16783 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
16784 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
16785 --
16786 -- bulk performance
16787 --
16788 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
16789
16790 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
16791 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
16792
16793 -- 4955764
16794 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
16795 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
16796
16797 -- 4458381 Public Sector Enh
16798
16799 --
16800 -- set accounting attributes for the line type
16801 --
16802 l_entered_amt_idx := NULL;
16803 l_accted_amt_idx := 23;
16804 l_bflow_applied_to_amt_idx := NULL; -- 5132302
16805 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
16806 l_rec_acct_attrs.array_char_value(1) := p_source_53;
16807 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
16808 l_rec_acct_attrs.array_num_value(2) :=
16809 xla_ae_sources_pkg.GetSystemSourceNum(
16810 p_source_code => 'XLA_EVENT_APPL_ID'
16811 , p_source_type_code => 'Y'
16812 , p_source_application_id => 602
16813 );
16817 l_rec_acct_attrs.array_char_value(4) :=
16814 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
16815 l_rec_acct_attrs.array_char_value(3) := p_source_55;
16816 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
16818 xla_ae_sources_pkg.GetSystemSourceChar(
16819 p_source_code => 'XLA_ENTITY_CODE'
16820 , p_source_type_code => 'Y'
16821 , p_source_application_id => 602
16822 );
16823 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
16824 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
16825 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
16826 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
16827 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
16828 l_rec_acct_attrs.array_num_value(7) := p_source_91;
16829 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
16830 l_rec_acct_attrs.array_char_value(8) := p_source_92;
16831 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
16832 l_rec_acct_attrs.array_char_value(9) := p_source_93;
16833 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
16834 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
16835 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
16836 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
16837 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
16838 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
16839 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
16840 l_rec_acct_attrs.array_char_value(13) := p_source_55;
16841 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
16842 l_rec_acct_attrs.array_num_value(14) := p_source_65;
16843 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
16844 l_rec_acct_attrs.array_num_value(15) := p_source_66;
16845 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
16846 l_rec_acct_attrs.array_char_value(16) := p_source_67;
16847 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
16848 l_rec_acct_attrs.array_num_value(17) := p_source_68;
16849 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
16850 l_rec_acct_attrs.array_num_value(18) := p_source_69;
16851 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
16852 l_rec_acct_attrs.array_num_value(19) := p_source_70;
16853 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
16854 l_rec_acct_attrs.array_char_value(20) := p_source_67;
16855 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
16856 l_rec_acct_attrs.array_num_value(21) := p_source_71;
16857 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
16858 l_rec_acct_attrs.array_char_value(22) := p_source_72;
16859 l_rec_acct_attrs.array_acct_attr_code(23) := 'LEDGER_AMOUNT';
16860 l_rec_acct_attrs.array_num_value(23) := p_source_21;
16861 l_rec_acct_attrs.array_acct_attr_code(24) := 'MULTIPERIOD_END_DATE';
16862 l_rec_acct_attrs.array_date_value(24) := p_source_77;
16863 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_OPTION';
16864 l_rec_acct_attrs.array_char_value(25) := p_source_78;
16865 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_START_DATE';
16866 l_rec_acct_attrs.array_date_value(26) := p_source_79;
16867 l_rec_acct_attrs.array_acct_attr_code(27) := 'OVERRIDE_ACCTD_AMT_FLAG';
16868 l_rec_acct_attrs.array_char_value(27) := p_source_80;
16869 l_rec_acct_attrs.array_acct_attr_code(28) := 'PARTY_ID';
16870 l_rec_acct_attrs.array_num_value(28) := p_source_81;
16871 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_SITE_ID';
16872 l_rec_acct_attrs.array_num_value(29) := p_source_82;
16873 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
16874 l_rec_acct_attrs.array_char_value(30) := p_source_83;
16875 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
16876 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_84);
16877 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
16878 l_rec_acct_attrs.array_char_value(32) := p_source_55;
16879 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
16880 l_rec_acct_attrs.array_num_value(33) := p_source_85;
16881 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
16882 l_rec_acct_attrs.array_num_value(34) := p_source_86;
16883 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
16884 l_rec_acct_attrs.array_num_value(35) := p_source_87;
16885 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
16886 l_rec_acct_attrs.array_num_value(36) := p_source_88;
16887 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
16888 l_rec_acct_attrs.array_num_value(37) := p_source_89;
16889 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
16890 l_rec_acct_attrs.array_num_value(38) := p_source_90;
16891
16892 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
16893 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
16894
16895 ---------------------------------------------------------------------------------------------------------------
16896 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
16897 ---------------------------------------------------------------------------------------------------------------
16901 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16898 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
16899
16900 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16902
16903 IF xla_accounting_cache_pkg.GetValueChar
16904 (p_source_code => 'LEDGER_CATEGORY_CODE'
16905 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
16906 AND l_bflow_method_code = 'PRIOR_ENTRY'
16907 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
16908 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
16909 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
16910 )
16911 THEN
16912 xla_ae_lines_pkg.BflowUpgEntry
16913 (p_business_method_code => l_bflow_method_code
16914 ,p_business_class_code => l_bflow_class_code
16915 ,p_balance_type => l_balance_type_code);
16916 ELSE
16917 NULL;
16918 -- No business flow processing for business flow method of NONE.
16919 END IF;
16920
16921 --
16922 -- call analytical criteria
16923 --
16924
16925 --
16926 -- call description
16927 --
16928
16929 xla_ae_lines_pkg.SetLineDescription(
16930 p_ae_header_id => l_ae_header_id
16931 ,p_description => Description_1 (
16932 p_application_id => p_application_id
16933 , p_ae_header_id => l_ae_header_id
16934 , p_source_1 => p_source_1
16935 )
16936 );
16937
16938
16939 --
16940 -- call ADRs
16941 -- Bug 4922099
16942 --
16943 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
16944 (NVL(l_actual_upg_option, 'N') = 'O') OR
16945 (NVL(l_enc_upg_option, 'N') = 'O')
16946 )
16947 THEN
16948 NULL;
16949 --
16950 --
16951
16952 l_ccid := AcctDerRule_30(
16953 p_application_id => p_application_id
16954 , p_ae_header_id => l_ae_header_id
16955 , p_source_15 => p_source_15
16956 , p_source_15_meaning => p_source_15_meaning
16957 , p_source_20 => p_source_20
16958 , p_source_21 => p_source_21
16959 , p_source_22 => p_source_22
16960 , p_source_22_meaning => p_source_22_meaning
16961 , p_source_23 => p_source_23
16962 , p_source_30 => p_source_30
16963 , p_source_47 => p_source_47
16964 , p_source_47_meaning => p_source_47_meaning
16965 , x_transaction_coa_id => l_adr_transaction_coa_id
16966 , x_accounting_coa_id => l_adr_accounting_coa_id
16967 , x_value_type_code => l_adr_value_type_code
16968 , p_side => 'ALL'
16969 );
16970
16971 xla_ae_lines_pkg.set_ccid(
16972 p_code_combination_id => l_ccid
16973 , p_value_type_code => l_adr_value_type_code
16974 , p_transaction_coa_id => l_adr_transaction_coa_id
16975 , p_accounting_coa_id => l_adr_accounting_coa_id
16976 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
16977 , p_adr_type_code => 'S'
16978 , p_component_type => l_component_type
16979 , p_component_code => l_component_code
16980 , p_component_type_code => l_component_type_code
16981 , p_component_appl_id => l_component_appl_id
16982 , p_amb_context_code => l_amb_context_code
16983 , p_side => 'ALL'
16984 );
16985
16986
16987 l_segment := AcctDerRule_9(
16988 p_application_id => p_application_id
16989 , p_ae_header_id => l_ae_header_id
16990 , p_source_15 => p_source_15
16991 , p_source_15_meaning => p_source_15_meaning
16992 , p_source_20 => p_source_20
16993 , p_source_22 => p_source_22
16994 , p_source_22_meaning => p_source_22_meaning
16995 , x_transaction_coa_id => l_adr_transaction_coa_id
16996 , x_accounting_coa_id => l_adr_accounting_coa_id
16997 , x_flexfield_segment_code => l_adr_flexfield_segment_code
16998 , x_flex_value_set_id => l_adr_flex_value_set_id
16999 , x_value_type_code => l_adr_value_type_code
17000 , x_value_combination_id => l_adr_value_combination_id
17001 , x_value_segment_code => l_adr_value_segment_code
17002 , p_side => 'CREDIT'
17003 , p_override_seg_flag => 'Y'
17004 );
17005
17006 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
17007
17008 xla_ae_lines_pkg.set_segment(
17009 p_to_segment_code => 'GL_ACCOUNT'
17010 , p_segment_value => l_segment
17011 , p_from_segment_code => l_adr_value_segment_code
17012 , p_from_combination_id => l_adr_value_combination_id
17013 , p_value_type_code => l_adr_value_type_code
17014 , p_transaction_coa_id => l_adr_transaction_coa_id
17015 , p_accounting_coa_id => l_adr_accounting_coa_id
17016 , p_flexfield_segment_code => l_adr_flexfield_segment_code
17017 , p_flex_value_set_id => l_adr_flex_value_set_id
17018 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
17019 , p_adr_type_code => 'S'
17023 , p_component_appl_id => l_component_appl_id
17020 , p_component_type => l_component_type
17021 , p_component_code => l_component_code
17022 , p_component_type_code => l_component_type_code
17024 , p_amb_context_code => l_amb_context_code
17025 , p_entity_code => 'AP_INVOICES'
17026 , p_event_class_code => 'PREPAYMENTS'
17027 , p_side => 'CREDIT'
17028 );
17029
17030 END IF;
17031
17032 l_segment := AcctDerRule_10(
17033 p_application_id => p_application_id
17034 , p_ae_header_id => l_ae_header_id
17035 , p_source_15 => p_source_15
17036 , p_source_15_meaning => p_source_15_meaning
17037 , p_source_22 => p_source_22
17038 , p_source_22_meaning => p_source_22_meaning
17039 , p_source_23 => p_source_23
17040 , x_transaction_coa_id => l_adr_transaction_coa_id
17041 , x_accounting_coa_id => l_adr_accounting_coa_id
17042 , x_flexfield_segment_code => l_adr_flexfield_segment_code
17043 , x_flex_value_set_id => l_adr_flex_value_set_id
17044 , x_value_type_code => l_adr_value_type_code
17045 , x_value_combination_id => l_adr_value_combination_id
17046 , x_value_segment_code => l_adr_value_segment_code
17047 , p_side => 'DEBIT'
17048 , p_override_seg_flag => 'Y'
17049 );
17050
17051 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
17052
17053 xla_ae_lines_pkg.set_segment(
17054 p_to_segment_code => 'GL_ACCOUNT'
17055 , p_segment_value => l_segment
17056 , p_from_segment_code => l_adr_value_segment_code
17057 , p_from_combination_id => l_adr_value_combination_id
17058 , p_value_type_code => l_adr_value_type_code
17059 , p_transaction_coa_id => l_adr_transaction_coa_id
17060 , p_accounting_coa_id => l_adr_accounting_coa_id
17061 , p_flexfield_segment_code => l_adr_flexfield_segment_code
17062 , p_flex_value_set_id => l_adr_flex_value_set_id
17063 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
17064 , p_adr_type_code => 'S'
17065 , p_component_type => l_component_type
17066 , p_component_code => l_component_code
17067 , p_component_type_code => l_component_type_code
17068 , p_component_appl_id => l_component_appl_id
17069 , p_amb_context_code => l_amb_context_code
17070 , p_entity_code => 'AP_INVOICES'
17071 , p_event_class_code => 'PREPAYMENTS'
17072 , p_side => 'DEBIT'
17073 );
17074
17075 END IF;
17076
17077 l_segment := AcctDerRule_23(
17078 p_application_id => p_application_id
17079 , p_ae_header_id => l_ae_header_id
17080 , p_source_15 => p_source_15
17081 , p_source_15_meaning => p_source_15_meaning
17082 , p_source_22 => p_source_22
17083 , p_source_22_meaning => p_source_22_meaning
17084 , p_source_30 => p_source_30
17085 , x_transaction_coa_id => l_adr_transaction_coa_id
17086 , x_accounting_coa_id => l_adr_accounting_coa_id
17087 , x_flexfield_segment_code => l_adr_flexfield_segment_code
17088 , x_flex_value_set_id => l_adr_flex_value_set_id
17089 , x_value_type_code => l_adr_value_type_code
17090 , x_value_combination_id => l_adr_value_combination_id
17091 , x_value_segment_code => l_adr_value_segment_code
17092 , p_side => 'ALL'
17093 , p_override_seg_flag => 'Y'
17094 );
17095
17096 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
17097
17098 xla_ae_lines_pkg.set_segment(
17099 p_to_segment_code => 'GL_BALANCING'
17100 , p_segment_value => l_segment
17101 , p_from_segment_code => l_adr_value_segment_code
17102 , p_from_combination_id => l_adr_value_combination_id
17103 , p_value_type_code => l_adr_value_type_code
17104 , p_transaction_coa_id => l_adr_transaction_coa_id
17105 , p_accounting_coa_id => l_adr_accounting_coa_id
17106 , p_flexfield_segment_code => l_adr_flexfield_segment_code
17107 , p_flex_value_set_id => l_adr_flex_value_set_id
17108 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
17109 , p_adr_type_code => 'S'
17110 , p_component_type => l_component_type
17111 , p_component_code => l_component_code
17112 , p_component_type_code => l_component_type_code
17113 , p_component_appl_id => l_component_appl_id
17114 , p_amb_context_code => l_amb_context_code
17115 , p_entity_code => 'AP_INVOICES'
17116 , p_event_class_code => 'PREPAYMENTS'
17117 , p_side => 'ALL'
17118 );
17119
17120 END IF;
17121
17122 --
17123 --
17124 END IF;
17125 --
17126 -- Bug 4922099
17127 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
17128 (NVL(l_enc_upg_option, 'N') = 'O')
17129 ) AND
17130 (l_bflow_method_code = 'PRIOR_ENTRY')
17131 )
17132 THEN
17133 IF
17134 --
17138 xla_accounting_err_pkg.build_message
17135 1 = 2
17136 --
17137 THEN
17139 (p_appli_s_name => 'XLA'
17140 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
17141 ,p_token_1 => 'LINE_NUMBER'
17142 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
17143 ,p_token_2 => 'LINE_TYPE_NAME'
17144 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
17145 l_component_type
17146 ,l_component_code
17147 ,l_component_type_code
17148 ,l_component_appl_id
17149 ,l_amb_context_code
17150 ,l_entity_code
17151 ,l_event_class_code
17152 )
17153 ,p_token_3 => 'OWNER'
17154 ,p_value_3 => xla_lookups_pkg.get_meaning(
17155 p_lookup_type => 'XLA_OWNER_TYPE'
17156 ,p_lookup_code => l_component_type_code
17157 )
17158 ,p_token_4 => 'PRODUCT_NAME'
17159 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
17160 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
17161 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
17162 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
17163 ,p_ae_header_id => NULL
17164 );
17165
17166 IF (C_LEVEL_ERROR>= g_log_level) THEN
17167 trace
17168 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
17169 ,p_level => C_LEVEL_ERROR
17170 ,p_module => l_log_module);
17171 END IF;
17172 END IF;
17173 END IF;
17174 --
17175 --
17176 ------------------------------------------------------------------------------------------------
17177 -- 4219869 Business Flow
17178 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
17179 -- Prior Entry. Currently, the following code is always generated.
17180 ------------------------------------------------------------------------------------------------
17181 XLA_AE_LINES_PKG.ValidateCurrentLine;
17182
17183 ------------------------------------------------------------------------------------
17184 -- 4219869 Business Flow
17185 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
17186 ------------------------------------------------------------------------------------
17187 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
17188
17189 ----------------------------------------------------------------------------------
17190 -- 4219869 Business Flow
17191 -- Update journal entry status -- Need to generate this within IF <condition>
17192 ----------------------------------------------------------------------------------
17193 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
17194 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
17195 ,p_balance_type_code => l_balance_type_code
17196 );
17197
17198 -------------------------------------------------------------------------------------------
17199 -- 4262811 - Generate the Accrual Reversal lines
17200 -------------------------------------------------------------------------------------------
17201 BEGIN
17202 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
17203 (g_array_event(p_event_id).array_value_num('header_index'));
17204 IF l_acc_rev_flag IS NULL THEN
17205 l_acc_rev_flag := 'N';
17206 END IF;
17207 EXCEPTION
17208 WHEN OTHERS THEN
17209 l_acc_rev_flag := 'N';
17210 END;
17211 --
17212 IF (l_acc_rev_flag = 'Y') THEN
17213
17214 -- 4645092 ------------------------------------------------------------------------------
17215 -- To allow MPA report to determine if it should generate report process
17216 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
17217 ------------------------------------------------------------------------------------------
17218
17219 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
17220 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
17224 --
17221 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
17222 -- call ADRs
17223 -- Bug 4922099
17225 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
17226 (NVL(l_actual_upg_option, 'N') = 'O') OR
17227 (NVL(l_enc_upg_option, 'N') = 'O')
17228 )
17229 THEN
17230 NULL;
17231 --
17232 --
17233
17234 l_ccid := AcctDerRule_30(
17235 p_application_id => p_application_id
17236 , p_ae_header_id => l_ae_header_id
17237 , p_source_15 => p_source_15
17238 , p_source_15_meaning => p_source_15_meaning
17239 , p_source_20 => p_source_20
17240 , p_source_21 => p_source_21
17241 , p_source_22 => p_source_22
17242 , p_source_22_meaning => p_source_22_meaning
17243 , p_source_23 => p_source_23
17244 , p_source_30 => p_source_30
17245 , p_source_47 => p_source_47
17246 , p_source_47_meaning => p_source_47_meaning
17247 , x_transaction_coa_id => l_adr_transaction_coa_id
17248 , x_accounting_coa_id => l_adr_accounting_coa_id
17249 , x_value_type_code => l_adr_value_type_code
17250 , p_side => 'ALL'
17251 );
17252
17253 xla_ae_lines_pkg.set_ccid(
17254 p_code_combination_id => l_ccid
17255 , p_value_type_code => l_adr_value_type_code
17256 , p_transaction_coa_id => l_adr_transaction_coa_id
17257 , p_accounting_coa_id => l_adr_accounting_coa_id
17258 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
17259 , p_adr_type_code => 'S'
17260 , p_component_type => l_component_type
17261 , p_component_code => l_component_code
17262 , p_component_type_code => l_component_type_code
17263 , p_component_appl_id => l_component_appl_id
17264 , p_amb_context_code => l_amb_context_code
17265 , p_side => 'ALL'
17266 );
17267
17268
17269 l_segment := AcctDerRule_9(
17270 p_application_id => p_application_id
17271 , p_ae_header_id => l_ae_header_id
17272 , p_source_15 => p_source_15
17273 , p_source_15_meaning => p_source_15_meaning
17274 , p_source_20 => p_source_20
17275 , p_source_22 => p_source_22
17276 , p_source_22_meaning => p_source_22_meaning
17277 , x_transaction_coa_id => l_adr_transaction_coa_id
17278 , x_accounting_coa_id => l_adr_accounting_coa_id
17279 , x_flexfield_segment_code => l_adr_flexfield_segment_code
17280 , x_flex_value_set_id => l_adr_flex_value_set_id
17281 , x_value_type_code => l_adr_value_type_code
17282 , x_value_combination_id => l_adr_value_combination_id
17283 , x_value_segment_code => l_adr_value_segment_code
17284 , p_side => 'CREDIT'
17285 , p_override_seg_flag => 'Y'
17286 );
17287
17288 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
17289
17290 xla_ae_lines_pkg.set_segment(
17291 p_to_segment_code => 'GL_ACCOUNT'
17292 , p_segment_value => l_segment
17293 , p_from_segment_code => l_adr_value_segment_code
17294 , p_from_combination_id => l_adr_value_combination_id
17295 , p_value_type_code => l_adr_value_type_code
17296 , p_transaction_coa_id => l_adr_transaction_coa_id
17297 , p_accounting_coa_id => l_adr_accounting_coa_id
17298 , p_flexfield_segment_code => l_adr_flexfield_segment_code
17299 , p_flex_value_set_id => l_adr_flex_value_set_id
17300 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
17301 , p_adr_type_code => 'S'
17302 , p_component_type => l_component_type
17303 , p_component_code => l_component_code
17304 , p_component_type_code => l_component_type_code
17305 , p_component_appl_id => l_component_appl_id
17306 , p_amb_context_code => l_amb_context_code
17307 , p_entity_code => 'AP_INVOICES'
17308 , p_event_class_code => 'PREPAYMENTS'
17309 , p_side => 'CREDIT'
17310 );
17311
17312 END IF;
17313
17314 l_segment := AcctDerRule_10(
17315 p_application_id => p_application_id
17316 , p_ae_header_id => l_ae_header_id
17317 , p_source_15 => p_source_15
17318 , p_source_15_meaning => p_source_15_meaning
17319 , p_source_22 => p_source_22
17320 , p_source_22_meaning => p_source_22_meaning
17321 , p_source_23 => p_source_23
17322 , x_transaction_coa_id => l_adr_transaction_coa_id
17323 , x_accounting_coa_id => l_adr_accounting_coa_id
17324 , x_flexfield_segment_code => l_adr_flexfield_segment_code
17325 , x_flex_value_set_id => l_adr_flex_value_set_id
17326 , x_value_type_code => l_adr_value_type_code
17327 , x_value_combination_id => l_adr_value_combination_id
17328 , x_value_segment_code => l_adr_value_segment_code
17329 , p_side => 'DEBIT'
17330 , p_override_seg_flag => 'Y'
17331 );
17332
17333 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
17334
17335 xla_ae_lines_pkg.set_segment(
17336 p_to_segment_code => 'GL_ACCOUNT'
17340 , p_value_type_code => l_adr_value_type_code
17337 , p_segment_value => l_segment
17338 , p_from_segment_code => l_adr_value_segment_code
17339 , p_from_combination_id => l_adr_value_combination_id
17341 , p_transaction_coa_id => l_adr_transaction_coa_id
17342 , p_accounting_coa_id => l_adr_accounting_coa_id
17343 , p_flexfield_segment_code => l_adr_flexfield_segment_code
17344 , p_flex_value_set_id => l_adr_flex_value_set_id
17345 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
17346 , p_adr_type_code => 'S'
17347 , p_component_type => l_component_type
17348 , p_component_code => l_component_code
17349 , p_component_type_code => l_component_type_code
17350 , p_component_appl_id => l_component_appl_id
17351 , p_amb_context_code => l_amb_context_code
17352 , p_entity_code => 'AP_INVOICES'
17353 , p_event_class_code => 'PREPAYMENTS'
17354 , p_side => 'DEBIT'
17355 );
17356
17357 END IF;
17358
17359 l_segment := AcctDerRule_23(
17360 p_application_id => p_application_id
17361 , p_ae_header_id => l_ae_header_id
17362 , p_source_15 => p_source_15
17363 , p_source_15_meaning => p_source_15_meaning
17364 , p_source_22 => p_source_22
17365 , p_source_22_meaning => p_source_22_meaning
17366 , p_source_30 => p_source_30
17367 , x_transaction_coa_id => l_adr_transaction_coa_id
17368 , x_accounting_coa_id => l_adr_accounting_coa_id
17369 , x_flexfield_segment_code => l_adr_flexfield_segment_code
17370 , x_flex_value_set_id => l_adr_flex_value_set_id
17371 , x_value_type_code => l_adr_value_type_code
17372 , x_value_combination_id => l_adr_value_combination_id
17373 , x_value_segment_code => l_adr_value_segment_code
17374 , p_side => 'ALL'
17375 , p_override_seg_flag => 'Y'
17376 );
17377
17378 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
17379
17380 xla_ae_lines_pkg.set_segment(
17381 p_to_segment_code => 'GL_BALANCING'
17382 , p_segment_value => l_segment
17383 , p_from_segment_code => l_adr_value_segment_code
17384 , p_from_combination_id => l_adr_value_combination_id
17385 , p_value_type_code => l_adr_value_type_code
17386 , p_transaction_coa_id => l_adr_transaction_coa_id
17387 , p_accounting_coa_id => l_adr_accounting_coa_id
17388 , p_flexfield_segment_code => l_adr_flexfield_segment_code
17389 , p_flex_value_set_id => l_adr_flex_value_set_id
17390 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
17391 , p_adr_type_code => 'S'
17392 , p_component_type => l_component_type
17393 , p_component_code => l_component_code
17394 , p_component_type_code => l_component_type_code
17395 , p_component_appl_id => l_component_appl_id
17396 , p_amb_context_code => l_amb_context_code
17397 , p_entity_code => 'AP_INVOICES'
17398 , p_event_class_code => 'PREPAYMENTS'
17399 , p_side => 'ALL'
17400 );
17401
17402 END IF;
17403
17404 --
17405 --
17406 END IF;
17407
17408 --
17409 -- Update the line information that should be overwritten
17410 --
17411 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
17412 p_header_num => 1);
17413 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
17414
17415 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
17416
17417 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
17418 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
17419 END IF;
17420
17421 --
17422 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
17423 --
17424 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
17425 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
17426 ELSE
17427 ---------------------------------------------------------------------------------------------------
17428 -- 4262811a Switch Sign
17429 ---------------------------------------------------------------------------------------------------
17430 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
17431 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17432 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17433 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17434 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17435 -- 5132302
17436 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
17440
17437 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17438
17439 END IF;
17441 -- 4955764
17442 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
17443 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
17444
17445
17446 XLA_AE_LINES_PKG.ValidateCurrentLine;
17447 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
17448
17449 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
17450 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
17451 ,p_balance_type_code => l_balance_type_code);
17452
17453 END IF;
17454
17455 -----------------------------------------------------------------------------------------
17456 -- 4262811 Multiperiod Accounting
17457 -----------------------------------------------------------------------------------------
17458 -- No MPA option is assigned.
17459
17460
17461 END IF;
17462 END IF;
17463 --
17464
17465 --
17466 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
17467 trace
17468 (p_msg => 'END of AcctLineType_58'
17469 ,p_level => C_LEVEL_PROCEDURE
17470 ,p_module => l_log_module);
17471 END IF;
17472 --
17473 EXCEPTION
17474 WHEN xla_exceptions_pkg.application_exception THEN
17475 RAISE;
17476 WHEN OTHERS THEN
17477 xla_exceptions_pkg.raise_message
17478 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_58');
17479 END AcctLineType_58;
17480 --
17481
17482 ---------------------------------------
17483 --
17484 -- PRIVATE FUNCTION
17485 -- AcctLineType_59
17486 --
17487 ---------------------------------------
17488 PROCEDURE AcctLineType_59 (
17489 p_application_id IN NUMBER
17490 ,p_event_id IN NUMBER
17491 ,p_calculate_acctd_flag IN VARCHAR2
17492 ,p_calculate_g_l_flag IN VARCHAR2
17493 ,p_actual_flag IN OUT VARCHAR2
17494 ,p_balance_type_code OUT VARCHAR2
17495 ,p_gain_or_loss_ref OUT VARCHAR2
17496
17497 --Bank Charges Account
17498 , p_source_14 IN NUMBER
17499 --Automatic Offsets Value
17500 , p_source_15 IN VARCHAR2
17501 , p_source_15_meaning IN VARCHAR2
17502 --Invoice Distribution Account
17503 , p_source_30 IN NUMBER
17504 --Accounting Reversal Indicator
17505 , p_source_53 IN VARCHAR2
17506 --Distribution Link Type
17507 , p_source_55 IN VARCHAR2
17508 --Override Accounted Amount Indicator
17509 , p_source_80 IN VARCHAR2
17510 , p_source_80_meaning IN VARCHAR2
17511 --Third Party Type
17512 , p_source_83 IN VARCHAR2
17513 --Invoice Distribution Tax Line Identifier
17514 , p_source_86 IN NUMBER
17515 --Invoice Distribution Summary Tax Line Identifier
17516 , p_source_88 IN NUMBER
17517 --Business Flow Accounts Payable Application Identifier
17518 , p_source_91 IN NUMBER
17519 --When to Account for Payment Option
17520 , p_source_97 IN VARCHAR2
17521 --Payment Distribution Type
17522 , p_source_98 IN VARCHAR2
17523 , p_source_98_meaning IN VARCHAR2
17524 --Payment Distribution Amount
17525 , p_source_99 IN NUMBER
17526 --Business Flow Payment Distribution Type
17527 , p_source_100 IN VARCHAR2
17528 --Business Flow Payment Entity Code
17529 , p_source_101 IN VARCHAR2
17530 --Business Flow Payment Distribution Identifier
17531 , p_source_102 IN NUMBER
17532 --Business Flow Payment Identifier
17533 , p_source_103 IN NUMBER
17534 --Payment Distribution Identifier
17535 , p_source_104 IN NUMBER
17536 --Cleared Currency Code
17537 , p_source_105 IN VARCHAR2
17538 --Cleared Exchange Date
17539 , p_source_106 IN DATE
17540 --Cleared Exchange Rate
17541 , p_source_107 IN NUMBER
17542 --Cleared Exchange Rate Type
17543 , p_source_108 IN VARCHAR2
17544 --Payment Distribution (Cleared Rate) Ledger Amount
17545 , p_source_109 IN NUMBER
17546 --Payment Supplier Identifier
17547 , p_source_110 IN NUMBER
17548 --Payment Supplier Site Identifier
17549 , p_source_111 IN NUMBER
17550 --Payment Distribution Reversed Identifier
17551 , p_source_112 IN NUMBER
17552 )
17553 IS
17554
17555 l_component_type VARCHAR2(80);
17556 l_component_code VARCHAR2(30);
17557 l_component_type_code VARCHAR2(1);
17558 l_component_appl_id INTEGER;
17559 l_amb_context_code VARCHAR2(30);
17560 l_entity_code VARCHAR2(30);
17561 l_event_class_code VARCHAR2(30);
17562 l_ae_header_id NUMBER;
17563 l_event_type_code VARCHAR2(30);
17564 l_line_definition_code VARCHAR2(30);
17565 l_line_definition_owner_code VARCHAR2(1);
17566 --
17567 -- adr variables
17568 l_segment VARCHAR2(30);
17569 l_ccid NUMBER;
17570 l_adr_transaction_coa_id NUMBER;
17571 l_adr_accounting_coa_id NUMBER;
17572 l_adr_flexfield_segment_code VARCHAR2(30);
17573 l_adr_flex_value_set_id NUMBER;
17577
17574 l_adr_value_type_code VARCHAR2(30);
17575 l_adr_value_combination_id NUMBER;
17576 l_adr_value_segment_code VARCHAR2(30);
17578 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
17579 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
17580 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
17581 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
17582
17583 -- 4262811 Variables ------------------------------------------------------------------------------------------
17584 l_entered_amt_idx NUMBER;
17585 l_accted_amt_idx NUMBER;
17586 l_acc_rev_flag VARCHAR2(1);
17587 l_accrual_line_num NUMBER;
17588 l_tmp_amt NUMBER;
17589 l_acc_rev_natural_side_code VARCHAR2(1);
17590
17591 l_num_entries NUMBER;
17592 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
17593 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
17594 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
17595 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
17596 l_recog_line_1 NUMBER;
17597 l_recog_line_2 NUMBER;
17598
17599 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
17600 l_bflow_applied_to_amt NUMBER; -- 5132302
17601 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
17602
17603 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
17604
17605 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
17606 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
17607
17608 ---------------------------------------------------------------------------------------------------------------
17609
17610
17611 --
17612 -- bulk performance
17613 --
17614 l_balance_type_code VARCHAR2(1);
17615 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
17616 l_log_module VARCHAR2(240);
17617
17618 --
17619 -- Upgrade strategy
17620 --
17621 l_actual_upg_option VARCHAR2(1);
17622 l_enc_upg_option VARCHAR2(1);
17623
17624 --
17625 BEGIN
17626 --
17627 IF g_log_enabled THEN
17628 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_59';
17629 END IF;
17630 --
17631 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
17632
17633 trace
17634 (p_msg => 'BEGIN of AcctLineType_59'
17635 ,p_level => C_LEVEL_PROCEDURE
17636 ,p_module => l_log_module);
17637
17638 END IF;
17639 --
17640 l_component_type := 'AMB_JLT';
17641 l_component_code := 'AP_BANK_CHARGES_CLEAR';
17642 l_component_type_code := 'S';
17643 l_component_appl_id := 200;
17644 l_amb_context_code := 'DEFAULT';
17645 l_entity_code := 'AP_PAYMENTS';
17646 l_event_class_code := 'RECONCILED PAYMENTS';
17647 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
17648 l_line_definition_owner_code := 'S';
17649 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
17650 --
17651 l_balance_type_code := 'A';
17652 l_segment := NULL;
17653 l_ccid := NULL;
17654 l_adr_transaction_coa_id := NULL;
17655 l_adr_accounting_coa_id := NULL;
17656 l_adr_flexfield_segment_code := NULL;
17657 l_adr_flex_value_set_id := NULL;
17658 l_adr_value_type_code := NULL;
17659 l_adr_value_combination_id := NULL;
17660 l_adr_value_segment_code := NULL;
17661
17662 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
17663 l_bflow_class_code := ''; -- 4219869 Business Flow
17664 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
17665 l_budgetary_control_flag := 'N';
17666
17667 l_bflow_applied_to_amt_idx := NULL; -- 5132302
17668 l_bflow_applied_to_amt := NULL; -- 5132302
17669 l_entered_amt_idx := NULL; -- 4262811
17670 l_accted_amt_idx := NULL; -- 4262811
17671 l_acc_rev_flag := NULL; -- 4262811
17672 l_accrual_line_num := NULL; -- 4262811
17673 l_tmp_amt := NULL; -- 4262811
17674 --
17675
17676 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
17677 l_balance_type_code <> 'B' THEN
17678 IF NVL(p_source_97,'
17679 ') <> 'ISSUE_ISSUE' AND
17680 NVL(p_source_98,'
17681 ') = 'BANK CHARGE'
17682 THEN
17683
17684 --
17685 XLA_AE_LINES_PKG.SetNewLine;
17686
17687 p_balance_type_code := l_balance_type_code;
17688 -- set the flag so later we will know whether the gain loss line needs to be created
17689
17690 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
17691 p_actual_flag :='A';
17692 END IF;
17693
17694 --
17695 -- bulk performance
17696 --
17697 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
17698 p_header_num => 0); -- 4262811
17699 --
17700 -- set accounting line options
17701 --
17702 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
17703 p_natural_side_code => 'D'
17707 , p_switch_side_flag => 'Y'
17704 , p_gain_or_loss_flag => 'N'
17705 , p_gl_transfer_mode_code => 'S'
17706 , p_acct_entry_type_code => 'A'
17708 , p_merge_duplicate_code => 'A'
17709 );
17710 --
17711 l_acc_rev_natural_side_code := 'C'; -- 4262811
17712 --
17713 --
17714 -- set accounting line type info
17715 --
17716 xla_ae_lines_pkg.SetAcctLineType
17717 (p_component_type => l_component_type
17718 ,p_event_type_code => l_event_type_code
17719 ,p_line_definition_owner_code => l_line_definition_owner_code
17720 ,p_line_definition_code => l_line_definition_code
17721 ,p_accounting_line_code => l_component_code
17722 ,p_accounting_line_type_code => l_component_type_code
17723 ,p_accounting_line_appl_id => l_component_appl_id
17724 ,p_amb_context_code => l_amb_context_code
17725 ,p_entity_code => l_entity_code
17726 ,p_event_class_code => l_event_class_code);
17727 --
17728 -- set accounting class
17729 --
17730 xla_ae_lines_pkg.SetAcctClass(
17731 p_accounting_class_code => 'BANK_CHG'
17732 , p_ae_header_id => l_ae_header_id
17733 );
17734
17735 --
17736 -- set rounding class
17737 --
17738 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
17739 'BANK_CHG';
17740
17741 --
17742 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
17743 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
17744 --
17745 -- bulk performance
17746 --
17747 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
17748
17749 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
17750 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
17751
17752 -- 4955764
17753 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
17754 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
17755
17756 -- 4458381 Public Sector Enh
17757
17758 --
17759 -- set accounting attributes for the line type
17760 --
17761 l_entered_amt_idx := 10;
17762 l_accted_amt_idx := 15;
17763 l_bflow_applied_to_amt_idx := 2; -- 5132302
17764 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
17765 l_rec_acct_attrs.array_char_value(1) := p_source_53;
17766 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
17767 l_rec_acct_attrs.array_num_value(2) := p_source_99;
17768 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
17769 l_rec_acct_attrs.array_num_value(3) := p_source_91;
17770 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
17771 l_rec_acct_attrs.array_char_value(4) := p_source_100;
17772 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
17773 l_rec_acct_attrs.array_char_value(5) := p_source_101;
17774 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
17775 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
17776 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
17777 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
17778 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
17779 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
17780 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
17781 l_rec_acct_attrs.array_char_value(9) := p_source_55;
17782 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
17783 l_rec_acct_attrs.array_num_value(10) := p_source_99;
17784 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
17785 l_rec_acct_attrs.array_char_value(11) := p_source_105;
17786 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
17787 l_rec_acct_attrs.array_date_value(12) := p_source_106;
17788 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
17789 l_rec_acct_attrs.array_num_value(13) := p_source_107;
17790 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
17791 l_rec_acct_attrs.array_char_value(14) := p_source_108;
17792 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
17793 l_rec_acct_attrs.array_num_value(15) := p_source_109;
17794 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
17795 l_rec_acct_attrs.array_char_value(16) := p_source_80;
17796 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
17797 l_rec_acct_attrs.array_num_value(17) := p_source_110;
17798 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
17799 l_rec_acct_attrs.array_num_value(18) := p_source_111;
17800 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
17801 l_rec_acct_attrs.array_char_value(19) := p_source_83;
17802 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
17803 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
17804 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
17805 l_rec_acct_attrs.array_char_value(21) := p_source_55;
17806 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
17810 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
17807 l_rec_acct_attrs.array_num_value(22) := p_source_86;
17808 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
17809 l_rec_acct_attrs.array_num_value(23) := p_source_86;
17811 l_rec_acct_attrs.array_num_value(24) := p_source_88;
17812
17813 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
17814 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
17815
17816 ---------------------------------------------------------------------------------------------------------------
17817 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
17818 ---------------------------------------------------------------------------------------------------------------
17819 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
17820
17821 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17822 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17823
17824 IF xla_accounting_cache_pkg.GetValueChar
17825 (p_source_code => 'LEDGER_CATEGORY_CODE'
17826 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
17827 AND l_bflow_method_code = 'PRIOR_ENTRY'
17828 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
17829 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
17830 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
17831 )
17832 THEN
17833 xla_ae_lines_pkg.BflowUpgEntry
17834 (p_business_method_code => l_bflow_method_code
17835 ,p_business_class_code => l_bflow_class_code
17836 ,p_balance_type => l_balance_type_code);
17837 ELSE
17838 NULL;
17839 -- No business flow processing for business flow method of NONE.
17840 END IF;
17841
17842 --
17843 -- call analytical criteria
17844 --
17845
17846 --
17847 -- call description
17848 --
17849 -- No description or it is inherited.
17850 --
17851 -- call ADRs
17852 -- Bug 4922099
17853 --
17854 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
17855 (NVL(l_actual_upg_option, 'N') = 'O') OR
17856 (NVL(l_enc_upg_option, 'N') = 'O')
17857 )
17858 THEN
17859 NULL;
17860 --
17861 --
17862
17863 l_ccid := AcctDerRule_26(
17864 p_application_id => p_application_id
17865 , p_ae_header_id => l_ae_header_id
17866 , p_source_14 => p_source_14
17867 , p_source_15 => p_source_15
17868 , p_source_15_meaning => p_source_15_meaning
17869 , p_source_30 => p_source_30
17870 , x_transaction_coa_id => l_adr_transaction_coa_id
17871 , x_accounting_coa_id => l_adr_accounting_coa_id
17872 , x_value_type_code => l_adr_value_type_code
17873 , p_side => 'NA'
17874 );
17875
17876 xla_ae_lines_pkg.set_ccid(
17877 p_code_combination_id => l_ccid
17878 , p_value_type_code => l_adr_value_type_code
17879 , p_transaction_coa_id => l_adr_transaction_coa_id
17880 , p_accounting_coa_id => l_adr_accounting_coa_id
17881 , p_adr_code => 'AP_BANK_CHARGES'
17882 , p_adr_type_code => 'S'
17883 , p_component_type => l_component_type
17884 , p_component_code => l_component_code
17885 , p_component_type_code => l_component_type_code
17886 , p_component_appl_id => l_component_appl_id
17887 , p_amb_context_code => l_amb_context_code
17888 , p_side => 'NA'
17889 );
17890
17891
17892 l_segment := AcctDerRule_4(
17893 p_application_id => p_application_id
17894 , p_ae_header_id => l_ae_header_id
17895 , p_source_14 => p_source_14
17896 , p_source_15 => p_source_15
17897 , p_source_15_meaning => p_source_15_meaning
17898 , x_transaction_coa_id => l_adr_transaction_coa_id
17899 , x_accounting_coa_id => l_adr_accounting_coa_id
17900 , x_flexfield_segment_code => l_adr_flexfield_segment_code
17901 , x_flex_value_set_id => l_adr_flex_value_set_id
17902 , x_value_type_code => l_adr_value_type_code
17903 , x_value_combination_id => l_adr_value_combination_id
17904 , x_value_segment_code => l_adr_value_segment_code
17905 , p_side => 'NA'
17906 , p_override_seg_flag => 'Y'
17907 );
17908
17909 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
17910
17911 xla_ae_lines_pkg.set_segment(
17912 p_to_segment_code => 'GL_ACCOUNT'
17913 , p_segment_value => l_segment
17914 , p_from_segment_code => l_adr_value_segment_code
17915 , p_from_combination_id => l_adr_value_combination_id
17916 , p_value_type_code => l_adr_value_type_code
17917 , p_transaction_coa_id => l_adr_transaction_coa_id
17918 , p_accounting_coa_id => l_adr_accounting_coa_id
17919 , p_flexfield_segment_code => l_adr_flexfield_segment_code
17920 , p_flex_value_set_id => l_adr_flex_value_set_id
17924 , p_component_code => l_component_code
17921 , p_adr_code => 'AP_BANK_CHARGES_NAT_ACCT_SEG'
17922 , p_adr_type_code => 'S'
17923 , p_component_type => l_component_type
17925 , p_component_type_code => l_component_type_code
17926 , p_component_appl_id => l_component_appl_id
17927 , p_amb_context_code => l_amb_context_code
17928 , p_entity_code => 'AP_PAYMENTS'
17929 , p_event_class_code => 'RECONCILED PAYMENTS'
17930 , p_side => 'NA'
17931 );
17932
17933 END IF;
17934
17935 l_segment := AcctDerRule_22(
17936 p_application_id => p_application_id
17937 , p_ae_header_id => l_ae_header_id
17938 , p_source_15 => p_source_15
17939 , p_source_15_meaning => p_source_15_meaning
17940 , p_source_30 => p_source_30
17941 , x_transaction_coa_id => l_adr_transaction_coa_id
17942 , x_accounting_coa_id => l_adr_accounting_coa_id
17943 , x_flexfield_segment_code => l_adr_flexfield_segment_code
17944 , x_flex_value_set_id => l_adr_flex_value_set_id
17945 , x_value_type_code => l_adr_value_type_code
17946 , x_value_combination_id => l_adr_value_combination_id
17947 , x_value_segment_code => l_adr_value_segment_code
17948 , p_side => 'NA'
17949 , p_override_seg_flag => 'Y'
17950 );
17951
17952 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
17953
17954 xla_ae_lines_pkg.set_segment(
17955 p_to_segment_code => 'GL_BALANCING'
17956 , p_segment_value => l_segment
17957 , p_from_segment_code => l_adr_value_segment_code
17958 , p_from_combination_id => l_adr_value_combination_id
17959 , p_value_type_code => l_adr_value_type_code
17960 , p_transaction_coa_id => l_adr_transaction_coa_id
17961 , p_accounting_coa_id => l_adr_accounting_coa_id
17962 , p_flexfield_segment_code => l_adr_flexfield_segment_code
17963 , p_flex_value_set_id => l_adr_flex_value_set_id
17964 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
17965 , p_adr_type_code => 'S'
17966 , p_component_type => l_component_type
17967 , p_component_code => l_component_code
17968 , p_component_type_code => l_component_type_code
17969 , p_component_appl_id => l_component_appl_id
17970 , p_amb_context_code => l_amb_context_code
17971 , p_entity_code => 'AP_PAYMENTS'
17972 , p_event_class_code => 'RECONCILED PAYMENTS'
17973 , p_side => 'NA'
17974 );
17975
17976 END IF;
17977
17978 --
17979 --
17980 END IF;
17981 --
17982 -- Bug 4922099
17983 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
17984 (NVL(l_enc_upg_option, 'N') = 'O')
17985 ) AND
17986 (l_bflow_method_code = 'PRIOR_ENTRY')
17987 )
17988 THEN
17989 IF
17990 --
17991 1 = 2
17992 --
17993 THEN
17994 xla_accounting_err_pkg.build_message
17995 (p_appli_s_name => 'XLA'
17996 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
17997 ,p_token_1 => 'LINE_NUMBER'
17998 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
17999 ,p_token_2 => 'LINE_TYPE_NAME'
18000 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
18001 l_component_type
18002 ,l_component_code
18003 ,l_component_type_code
18004 ,l_component_appl_id
18005 ,l_amb_context_code
18006 ,l_entity_code
18007 ,l_event_class_code
18008 )
18009 ,p_token_3 => 'OWNER'
18010 ,p_value_3 => xla_lookups_pkg.get_meaning(
18011 p_lookup_type => 'XLA_OWNER_TYPE'
18012 ,p_lookup_code => l_component_type_code
18013 )
18014 ,p_token_4 => 'PRODUCT_NAME'
18015 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
18016 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
18017 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
18021
18018 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
18019 ,p_ae_header_id => NULL
18020 );
18022 IF (C_LEVEL_ERROR>= g_log_level) THEN
18023 trace
18024 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
18025 ,p_level => C_LEVEL_ERROR
18026 ,p_module => l_log_module);
18027 END IF;
18028 END IF;
18029 END IF;
18030 --
18031 --
18032 ------------------------------------------------------------------------------------------------
18033 -- 4219869 Business Flow
18034 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
18035 -- Prior Entry. Currently, the following code is always generated.
18036 ------------------------------------------------------------------------------------------------
18037 XLA_AE_LINES_PKG.ValidateCurrentLine;
18038
18039 ------------------------------------------------------------------------------------
18040 -- 4219869 Business Flow
18041 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
18042 ------------------------------------------------------------------------------------
18043 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
18044
18045 ----------------------------------------------------------------------------------
18046 -- 4219869 Business Flow
18047 -- Update journal entry status -- Need to generate this within IF <condition>
18048 ----------------------------------------------------------------------------------
18049 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
18050 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
18051 ,p_balance_type_code => l_balance_type_code
18052 );
18053
18054 -------------------------------------------------------------------------------------------
18055 -- 4262811 - Generate the Accrual Reversal lines
18056 -------------------------------------------------------------------------------------------
18057 BEGIN
18058 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
18059 (g_array_event(p_event_id).array_value_num('header_index'));
18060 IF l_acc_rev_flag IS NULL THEN
18061 l_acc_rev_flag := 'N';
18062 END IF;
18063 EXCEPTION
18064 WHEN OTHERS THEN
18065 l_acc_rev_flag := 'N';
18066 END;
18067 --
18068 IF (l_acc_rev_flag = 'Y') THEN
18069
18070 -- 4645092 ------------------------------------------------------------------------------
18071 -- To allow MPA report to determine if it should generate report process
18072 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
18073 ------------------------------------------------------------------------------------------
18074
18075 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
18076 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
18077 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
18078 -- call ADRs
18079 -- Bug 4922099
18080 --
18081 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
18082 (NVL(l_actual_upg_option, 'N') = 'O') OR
18083 (NVL(l_enc_upg_option, 'N') = 'O')
18084 )
18085 THEN
18086 NULL;
18087 --
18088 --
18089
18090 l_ccid := AcctDerRule_26(
18091 p_application_id => p_application_id
18092 , p_ae_header_id => l_ae_header_id
18093 , p_source_14 => p_source_14
18094 , p_source_15 => p_source_15
18095 , p_source_15_meaning => p_source_15_meaning
18096 , p_source_30 => p_source_30
18097 , x_transaction_coa_id => l_adr_transaction_coa_id
18098 , x_accounting_coa_id => l_adr_accounting_coa_id
18099 , x_value_type_code => l_adr_value_type_code
18100 , p_side => 'NA'
18101 );
18102
18103 xla_ae_lines_pkg.set_ccid(
18104 p_code_combination_id => l_ccid
18105 , p_value_type_code => l_adr_value_type_code
18106 , p_transaction_coa_id => l_adr_transaction_coa_id
18107 , p_accounting_coa_id => l_adr_accounting_coa_id
18108 , p_adr_code => 'AP_BANK_CHARGES'
18109 , p_adr_type_code => 'S'
18110 , p_component_type => l_component_type
18111 , p_component_code => l_component_code
18112 , p_component_type_code => l_component_type_code
18113 , p_component_appl_id => l_component_appl_id
18114 , p_amb_context_code => l_amb_context_code
18115 , p_side => 'NA'
18116 );
18117
18118
18119 l_segment := AcctDerRule_4(
18120 p_application_id => p_application_id
18121 , p_ae_header_id => l_ae_header_id
18122 , p_source_14 => p_source_14
18123 , p_source_15 => p_source_15
18124 , p_source_15_meaning => p_source_15_meaning
18125 , x_transaction_coa_id => l_adr_transaction_coa_id
18126 , x_accounting_coa_id => l_adr_accounting_coa_id
18127 , x_flexfield_segment_code => l_adr_flexfield_segment_code
18128 , x_flex_value_set_id => l_adr_flex_value_set_id
18129 , x_value_type_code => l_adr_value_type_code
18133 , p_override_seg_flag => 'Y'
18130 , x_value_combination_id => l_adr_value_combination_id
18131 , x_value_segment_code => l_adr_value_segment_code
18132 , p_side => 'NA'
18134 );
18135
18136 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
18137
18138 xla_ae_lines_pkg.set_segment(
18139 p_to_segment_code => 'GL_ACCOUNT'
18140 , p_segment_value => l_segment
18141 , p_from_segment_code => l_adr_value_segment_code
18142 , p_from_combination_id => l_adr_value_combination_id
18143 , p_value_type_code => l_adr_value_type_code
18144 , p_transaction_coa_id => l_adr_transaction_coa_id
18145 , p_accounting_coa_id => l_adr_accounting_coa_id
18146 , p_flexfield_segment_code => l_adr_flexfield_segment_code
18147 , p_flex_value_set_id => l_adr_flex_value_set_id
18148 , p_adr_code => 'AP_BANK_CHARGES_NAT_ACCT_SEG'
18149 , p_adr_type_code => 'S'
18150 , p_component_type => l_component_type
18151 , p_component_code => l_component_code
18152 , p_component_type_code => l_component_type_code
18153 , p_component_appl_id => l_component_appl_id
18154 , p_amb_context_code => l_amb_context_code
18155 , p_entity_code => 'AP_PAYMENTS'
18156 , p_event_class_code => 'RECONCILED PAYMENTS'
18157 , p_side => 'NA'
18158 );
18159
18160 END IF;
18161
18162 l_segment := AcctDerRule_22(
18163 p_application_id => p_application_id
18164 , p_ae_header_id => l_ae_header_id
18165 , p_source_15 => p_source_15
18166 , p_source_15_meaning => p_source_15_meaning
18167 , p_source_30 => p_source_30
18168 , x_transaction_coa_id => l_adr_transaction_coa_id
18169 , x_accounting_coa_id => l_adr_accounting_coa_id
18170 , x_flexfield_segment_code => l_adr_flexfield_segment_code
18171 , x_flex_value_set_id => l_adr_flex_value_set_id
18172 , x_value_type_code => l_adr_value_type_code
18173 , x_value_combination_id => l_adr_value_combination_id
18174 , x_value_segment_code => l_adr_value_segment_code
18175 , p_side => 'NA'
18176 , p_override_seg_flag => 'Y'
18177 );
18178
18179 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
18180
18181 xla_ae_lines_pkg.set_segment(
18182 p_to_segment_code => 'GL_BALANCING'
18183 , p_segment_value => l_segment
18184 , p_from_segment_code => l_adr_value_segment_code
18185 , p_from_combination_id => l_adr_value_combination_id
18186 , p_value_type_code => l_adr_value_type_code
18187 , p_transaction_coa_id => l_adr_transaction_coa_id
18188 , p_accounting_coa_id => l_adr_accounting_coa_id
18189 , p_flexfield_segment_code => l_adr_flexfield_segment_code
18190 , p_flex_value_set_id => l_adr_flex_value_set_id
18191 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
18192 , p_adr_type_code => 'S'
18193 , p_component_type => l_component_type
18194 , p_component_code => l_component_code
18195 , p_component_type_code => l_component_type_code
18196 , p_component_appl_id => l_component_appl_id
18197 , p_amb_context_code => l_amb_context_code
18198 , p_entity_code => 'AP_PAYMENTS'
18199 , p_event_class_code => 'RECONCILED PAYMENTS'
18200 , p_side => 'NA'
18201 );
18202
18203 END IF;
18204
18205 --
18206 --
18207 END IF;
18208
18209 --
18210 -- Update the line information that should be overwritten
18211 --
18212 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
18213 p_header_num => 1);
18214 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
18215
18216 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
18217
18218 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
18219 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
18220 END IF;
18221
18222 --
18223 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
18224 --
18225 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
18226 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
18227 ELSE
18228 ---------------------------------------------------------------------------------------------------
18229 -- 4262811a Switch Sign
18230 ---------------------------------------------------------------------------------------------------
18231 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
18232 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18236 -- 5132302
18233 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18234 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18235 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18237 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
18238 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18239
18240 END IF;
18241
18242 -- 4955764
18243 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
18244 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
18245
18246
18247 XLA_AE_LINES_PKG.ValidateCurrentLine;
18248 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
18249
18250 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
18251 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
18252 ,p_balance_type_code => l_balance_type_code);
18253
18254 END IF;
18255
18256 -----------------------------------------------------------------------------------------
18257 -- 4262811 Multiperiod Accounting
18258 -----------------------------------------------------------------------------------------
18259 -- No MPA option is assigned.
18260
18261
18262 END IF;
18263 END IF;
18264 --
18265
18266 --
18267 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
18268 trace
18269 (p_msg => 'END of AcctLineType_59'
18270 ,p_level => C_LEVEL_PROCEDURE
18271 ,p_module => l_log_module);
18272 END IF;
18273 --
18274 EXCEPTION
18275 WHEN xla_exceptions_pkg.application_exception THEN
18276 RAISE;
18277 WHEN OTHERS THEN
18278 xla_exceptions_pkg.raise_message
18279 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_59');
18280 END AcctLineType_59;
18281 --
18282
18283 ---------------------------------------
18284 --
18285 -- PRIVATE FUNCTION
18286 -- AcctLineType_60
18287 --
18288 ---------------------------------------
18289 PROCEDURE AcctLineType_60 (
18290 p_application_id IN NUMBER
18291 ,p_event_id IN NUMBER
18292 ,p_calculate_acctd_flag IN VARCHAR2
18293 ,p_calculate_g_l_flag IN VARCHAR2
18294 ,p_actual_flag IN OUT VARCHAR2
18295 ,p_balance_type_code OUT VARCHAR2
18296 ,p_gain_or_loss_ref OUT VARCHAR2
18297
18298 --Automatic Offsets Value
18299 , p_source_15 IN VARCHAR2
18300 , p_source_15_meaning IN VARCHAR2
18301 --Bank Errors Account
18302 , p_source_16 IN NUMBER
18303 --Invoice Distribution Account
18304 , p_source_30 IN NUMBER
18305 --Accounting Reversal Indicator
18306 , p_source_53 IN VARCHAR2
18307 --Distribution Link Type
18308 , p_source_55 IN VARCHAR2
18309 --Override Accounted Amount Indicator
18310 , p_source_80 IN VARCHAR2
18311 , p_source_80_meaning IN VARCHAR2
18312 --Third Party Type
18313 , p_source_83 IN VARCHAR2
18314 --Invoice Distribution Tax Line Identifier
18315 , p_source_86 IN NUMBER
18316 --Invoice Distribution Summary Tax Line Identifier
18317 , p_source_88 IN NUMBER
18318 --Business Flow Accounts Payable Application Identifier
18319 , p_source_91 IN NUMBER
18320 --When to Account for Payment Option
18321 , p_source_97 IN VARCHAR2
18322 --Payment Distribution Type
18323 , p_source_98 IN VARCHAR2
18324 , p_source_98_meaning IN VARCHAR2
18325 --Payment Distribution Amount
18326 , p_source_99 IN NUMBER
18327 --Business Flow Payment Distribution Type
18328 , p_source_100 IN VARCHAR2
18329 --Business Flow Payment Entity Code
18330 , p_source_101 IN VARCHAR2
18331 --Business Flow Payment Distribution Identifier
18332 , p_source_102 IN NUMBER
18333 --Business Flow Payment Identifier
18334 , p_source_103 IN NUMBER
18335 --Payment Distribution Identifier
18336 , p_source_104 IN NUMBER
18337 --Cleared Currency Code
18338 , p_source_105 IN VARCHAR2
18339 --Cleared Exchange Date
18340 , p_source_106 IN DATE
18341 --Cleared Exchange Rate
18342 , p_source_107 IN NUMBER
18343 --Cleared Exchange Rate Type
18344 , p_source_108 IN VARCHAR2
18345 --Payment Distribution (Cleared Rate) Ledger Amount
18346 , p_source_109 IN NUMBER
18347 --Payment Supplier Identifier
18348 , p_source_110 IN NUMBER
18349 --Payment Supplier Site Identifier
18350 , p_source_111 IN NUMBER
18351 --Payment Distribution Reversed Identifier
18352 , p_source_112 IN NUMBER
18353 )
18354 IS
18355
18356 l_component_type VARCHAR2(80);
18357 l_component_code VARCHAR2(30);
18358 l_component_type_code VARCHAR2(1);
18359 l_component_appl_id INTEGER;
18360 l_amb_context_code VARCHAR2(30);
18361 l_entity_code VARCHAR2(30);
18362 l_event_class_code VARCHAR2(30);
18363 l_ae_header_id NUMBER;
18364 l_event_type_code VARCHAR2(30);
18365 l_line_definition_code VARCHAR2(30);
18366 l_line_definition_owner_code VARCHAR2(1);
18367 --
18368 -- adr variables
18372 l_adr_accounting_coa_id NUMBER;
18369 l_segment VARCHAR2(30);
18370 l_ccid NUMBER;
18371 l_adr_transaction_coa_id NUMBER;
18373 l_adr_flexfield_segment_code VARCHAR2(30);
18374 l_adr_flex_value_set_id NUMBER;
18375 l_adr_value_type_code VARCHAR2(30);
18376 l_adr_value_combination_id NUMBER;
18377 l_adr_value_segment_code VARCHAR2(30);
18378
18379 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
18380 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
18381 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
18382 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
18383
18384 -- 4262811 Variables ------------------------------------------------------------------------------------------
18385 l_entered_amt_idx NUMBER;
18386 l_accted_amt_idx NUMBER;
18387 l_acc_rev_flag VARCHAR2(1);
18388 l_accrual_line_num NUMBER;
18389 l_tmp_amt NUMBER;
18390 l_acc_rev_natural_side_code VARCHAR2(1);
18391
18392 l_num_entries NUMBER;
18393 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
18394 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
18395 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
18396 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
18397 l_recog_line_1 NUMBER;
18398 l_recog_line_2 NUMBER;
18399
18400 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
18401 l_bflow_applied_to_amt NUMBER; -- 5132302
18402 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
18403
18404 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
18405
18406 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
18407 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
18408
18409 ---------------------------------------------------------------------------------------------------------------
18410
18411
18412 --
18413 -- bulk performance
18414 --
18415 l_balance_type_code VARCHAR2(1);
18416 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
18417 l_log_module VARCHAR2(240);
18418
18419 --
18420 -- Upgrade strategy
18421 --
18422 l_actual_upg_option VARCHAR2(1);
18423 l_enc_upg_option VARCHAR2(1);
18424
18425 --
18426 BEGIN
18427 --
18428 IF g_log_enabled THEN
18429 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_60';
18430 END IF;
18431 --
18432 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
18433
18434 trace
18435 (p_msg => 'BEGIN of AcctLineType_60'
18436 ,p_level => C_LEVEL_PROCEDURE
18437 ,p_module => l_log_module);
18438
18439 END IF;
18440 --
18441 l_component_type := 'AMB_JLT';
18442 l_component_code := 'AP_BANK_ERROR_CLEAR';
18443 l_component_type_code := 'S';
18444 l_component_appl_id := 200;
18445 l_amb_context_code := 'DEFAULT';
18446 l_entity_code := 'AP_PAYMENTS';
18447 l_event_class_code := 'RECONCILED PAYMENTS';
18448 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
18449 l_line_definition_owner_code := 'S';
18450 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
18451 --
18452 l_balance_type_code := 'A';
18453 l_segment := NULL;
18454 l_ccid := NULL;
18455 l_adr_transaction_coa_id := NULL;
18456 l_adr_accounting_coa_id := NULL;
18457 l_adr_flexfield_segment_code := NULL;
18458 l_adr_flex_value_set_id := NULL;
18459 l_adr_value_type_code := NULL;
18460 l_adr_value_combination_id := NULL;
18461 l_adr_value_segment_code := NULL;
18462
18463 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
18464 l_bflow_class_code := ''; -- 4219869 Business Flow
18465 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
18466 l_budgetary_control_flag := 'N';
18467
18468 l_bflow_applied_to_amt_idx := NULL; -- 5132302
18469 l_bflow_applied_to_amt := NULL; -- 5132302
18470 l_entered_amt_idx := NULL; -- 4262811
18471 l_accted_amt_idx := NULL; -- 4262811
18472 l_acc_rev_flag := NULL; -- 4262811
18473 l_accrual_line_num := NULL; -- 4262811
18474 l_tmp_amt := NULL; -- 4262811
18475 --
18476
18477 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
18478 l_balance_type_code <> 'B' THEN
18479 IF NVL(p_source_97,'
18480 ') <> 'ISSUE_ISSUE' AND
18481 NVL(p_source_98,'
18482 ') = 'BANK ERROR'
18483 THEN
18484
18485 --
18486 XLA_AE_LINES_PKG.SetNewLine;
18487
18488 p_balance_type_code := l_balance_type_code;
18489 -- set the flag so later we will know whether the gain loss line needs to be created
18490
18491 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
18492 p_actual_flag :='A';
18493 END IF;
18494
18495 --
18496 -- bulk performance
18497 --
18501 -- set accounting line options
18498 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
18499 p_header_num => 0); -- 4262811
18500 --
18502 --
18503 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
18504 p_natural_side_code => 'D'
18505 , p_gain_or_loss_flag => 'N'
18506 , p_gl_transfer_mode_code => 'S'
18507 , p_acct_entry_type_code => 'A'
18508 , p_switch_side_flag => 'Y'
18509 , p_merge_duplicate_code => 'A'
18510 );
18511 --
18512 l_acc_rev_natural_side_code := 'C'; -- 4262811
18513 --
18514 --
18515 -- set accounting line type info
18516 --
18517 xla_ae_lines_pkg.SetAcctLineType
18518 (p_component_type => l_component_type
18519 ,p_event_type_code => l_event_type_code
18520 ,p_line_definition_owner_code => l_line_definition_owner_code
18521 ,p_line_definition_code => l_line_definition_code
18522 ,p_accounting_line_code => l_component_code
18523 ,p_accounting_line_type_code => l_component_type_code
18524 ,p_accounting_line_appl_id => l_component_appl_id
18525 ,p_amb_context_code => l_amb_context_code
18526 ,p_entity_code => l_entity_code
18527 ,p_event_class_code => l_event_class_code);
18528 --
18529 -- set accounting class
18530 --
18531 xla_ae_lines_pkg.SetAcctClass(
18532 p_accounting_class_code => 'BANK_ERROR'
18533 , p_ae_header_id => l_ae_header_id
18534 );
18535
18536 --
18537 -- set rounding class
18538 --
18539 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
18540 'BANK_ERROR';
18541
18542 --
18543 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
18544 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
18545 --
18546 -- bulk performance
18547 --
18548 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
18549
18550 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
18551 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
18552
18553 -- 4955764
18554 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
18555 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
18556
18557 -- 4458381 Public Sector Enh
18558
18559 --
18560 -- set accounting attributes for the line type
18561 --
18562 l_entered_amt_idx := 10;
18563 l_accted_amt_idx := 15;
18564 l_bflow_applied_to_amt_idx := 2; -- 5132302
18565 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
18566 l_rec_acct_attrs.array_char_value(1) := p_source_53;
18567 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
18568 l_rec_acct_attrs.array_num_value(2) := p_source_99;
18569 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
18570 l_rec_acct_attrs.array_num_value(3) := p_source_91;
18571 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
18572 l_rec_acct_attrs.array_char_value(4) := p_source_100;
18573 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
18574 l_rec_acct_attrs.array_char_value(5) := p_source_101;
18575 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
18576 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
18577 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
18578 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
18579 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
18580 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
18581 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
18582 l_rec_acct_attrs.array_char_value(9) := p_source_55;
18583 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
18584 l_rec_acct_attrs.array_num_value(10) := p_source_99;
18585 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
18586 l_rec_acct_attrs.array_char_value(11) := p_source_105;
18587 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
18588 l_rec_acct_attrs.array_date_value(12) := p_source_106;
18589 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
18590 l_rec_acct_attrs.array_num_value(13) := p_source_107;
18591 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
18592 l_rec_acct_attrs.array_char_value(14) := p_source_108;
18593 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
18594 l_rec_acct_attrs.array_num_value(15) := p_source_109;
18595 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
18596 l_rec_acct_attrs.array_char_value(16) := p_source_80;
18597 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
18598 l_rec_acct_attrs.array_num_value(17) := p_source_110;
18599 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
18600 l_rec_acct_attrs.array_num_value(18) := p_source_111;
18601 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
18605 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
18602 l_rec_acct_attrs.array_char_value(19) := p_source_83;
18603 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
18604 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
18606 l_rec_acct_attrs.array_char_value(21) := p_source_55;
18607 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
18608 l_rec_acct_attrs.array_num_value(22) := p_source_86;
18609 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
18610 l_rec_acct_attrs.array_num_value(23) := p_source_86;
18611 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
18612 l_rec_acct_attrs.array_num_value(24) := p_source_88;
18613
18614 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
18615 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
18616
18617 ---------------------------------------------------------------------------------------------------------------
18618 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
18619 ---------------------------------------------------------------------------------------------------------------
18620 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
18621
18622 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18623 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18624
18625 IF xla_accounting_cache_pkg.GetValueChar
18626 (p_source_code => 'LEDGER_CATEGORY_CODE'
18627 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
18628 AND l_bflow_method_code = 'PRIOR_ENTRY'
18629 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
18630 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
18631 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
18632 )
18633 THEN
18634 xla_ae_lines_pkg.BflowUpgEntry
18635 (p_business_method_code => l_bflow_method_code
18636 ,p_business_class_code => l_bflow_class_code
18637 ,p_balance_type => l_balance_type_code);
18638 ELSE
18639 NULL;
18640 -- No business flow processing for business flow method of NONE.
18641 END IF;
18642
18643 --
18644 -- call analytical criteria
18645 --
18646
18647 --
18648 -- call description
18649 --
18650 -- No description or it is inherited.
18651 --
18652 -- call ADRs
18653 -- Bug 4922099
18654 --
18655 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
18656 (NVL(l_actual_upg_option, 'N') = 'O') OR
18657 (NVL(l_enc_upg_option, 'N') = 'O')
18658 )
18659 THEN
18660 NULL;
18661 --
18662 --
18663
18664 l_ccid := AcctDerRule_27(
18665 p_application_id => p_application_id
18666 , p_ae_header_id => l_ae_header_id
18667 , p_source_15 => p_source_15
18668 , p_source_15_meaning => p_source_15_meaning
18669 , p_source_16 => p_source_16
18670 , p_source_30 => p_source_30
18671 , x_transaction_coa_id => l_adr_transaction_coa_id
18672 , x_accounting_coa_id => l_adr_accounting_coa_id
18673 , x_value_type_code => l_adr_value_type_code
18674 , p_side => 'NA'
18675 );
18676
18677 xla_ae_lines_pkg.set_ccid(
18678 p_code_combination_id => l_ccid
18679 , p_value_type_code => l_adr_value_type_code
18680 , p_transaction_coa_id => l_adr_transaction_coa_id
18681 , p_accounting_coa_id => l_adr_accounting_coa_id
18682 , p_adr_code => 'AP_BANK_ERRORS'
18683 , p_adr_type_code => 'S'
18684 , p_component_type => l_component_type
18685 , p_component_code => l_component_code
18686 , p_component_type_code => l_component_type_code
18687 , p_component_appl_id => l_component_appl_id
18688 , p_amb_context_code => l_amb_context_code
18689 , p_side => 'NA'
18690 );
18691
18692
18693 l_segment := AcctDerRule_5(
18694 p_application_id => p_application_id
18695 , p_ae_header_id => l_ae_header_id
18696 , p_source_15 => p_source_15
18697 , p_source_15_meaning => p_source_15_meaning
18698 , p_source_16 => p_source_16
18699 , x_transaction_coa_id => l_adr_transaction_coa_id
18700 , x_accounting_coa_id => l_adr_accounting_coa_id
18701 , x_flexfield_segment_code => l_adr_flexfield_segment_code
18702 , x_flex_value_set_id => l_adr_flex_value_set_id
18703 , x_value_type_code => l_adr_value_type_code
18704 , x_value_combination_id => l_adr_value_combination_id
18705 , x_value_segment_code => l_adr_value_segment_code
18706 , p_side => 'NA'
18707 , p_override_seg_flag => 'Y'
18708 );
18709
18710 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
18711
18712 xla_ae_lines_pkg.set_segment(
18713 p_to_segment_code => 'GL_ACCOUNT'
18714 , p_segment_value => l_segment
18718 , p_transaction_coa_id => l_adr_transaction_coa_id
18715 , p_from_segment_code => l_adr_value_segment_code
18716 , p_from_combination_id => l_adr_value_combination_id
18717 , p_value_type_code => l_adr_value_type_code
18719 , p_accounting_coa_id => l_adr_accounting_coa_id
18720 , p_flexfield_segment_code => l_adr_flexfield_segment_code
18721 , p_flex_value_set_id => l_adr_flex_value_set_id
18722 , p_adr_code => 'AP_BANK_ERRORS_NAT_ACCT_SEG'
18723 , p_adr_type_code => 'S'
18724 , p_component_type => l_component_type
18725 , p_component_code => l_component_code
18726 , p_component_type_code => l_component_type_code
18727 , p_component_appl_id => l_component_appl_id
18728 , p_amb_context_code => l_amb_context_code
18729 , p_entity_code => 'AP_PAYMENTS'
18730 , p_event_class_code => 'RECONCILED PAYMENTS'
18731 , p_side => 'NA'
18732 );
18733
18734 END IF;
18735
18736 l_segment := AcctDerRule_22(
18737 p_application_id => p_application_id
18738 , p_ae_header_id => l_ae_header_id
18739 , p_source_15 => p_source_15
18740 , p_source_15_meaning => p_source_15_meaning
18741 , p_source_30 => p_source_30
18742 , x_transaction_coa_id => l_adr_transaction_coa_id
18743 , x_accounting_coa_id => l_adr_accounting_coa_id
18744 , x_flexfield_segment_code => l_adr_flexfield_segment_code
18745 , x_flex_value_set_id => l_adr_flex_value_set_id
18746 , x_value_type_code => l_adr_value_type_code
18747 , x_value_combination_id => l_adr_value_combination_id
18748 , x_value_segment_code => l_adr_value_segment_code
18749 , p_side => 'NA'
18750 , p_override_seg_flag => 'Y'
18751 );
18752
18753 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
18754
18755 xla_ae_lines_pkg.set_segment(
18756 p_to_segment_code => 'GL_BALANCING'
18757 , p_segment_value => l_segment
18758 , p_from_segment_code => l_adr_value_segment_code
18759 , p_from_combination_id => l_adr_value_combination_id
18760 , p_value_type_code => l_adr_value_type_code
18761 , p_transaction_coa_id => l_adr_transaction_coa_id
18762 , p_accounting_coa_id => l_adr_accounting_coa_id
18763 , p_flexfield_segment_code => l_adr_flexfield_segment_code
18764 , p_flex_value_set_id => l_adr_flex_value_set_id
18765 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
18766 , p_adr_type_code => 'S'
18767 , p_component_type => l_component_type
18768 , p_component_code => l_component_code
18769 , p_component_type_code => l_component_type_code
18770 , p_component_appl_id => l_component_appl_id
18771 , p_amb_context_code => l_amb_context_code
18772 , p_entity_code => 'AP_PAYMENTS'
18773 , p_event_class_code => 'RECONCILED PAYMENTS'
18774 , p_side => 'NA'
18775 );
18776
18777 END IF;
18778
18779 --
18780 --
18781 END IF;
18782 --
18783 -- Bug 4922099
18784 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
18785 (NVL(l_enc_upg_option, 'N') = 'O')
18786 ) AND
18787 (l_bflow_method_code = 'PRIOR_ENTRY')
18788 )
18789 THEN
18790 IF
18791 --
18792 1 = 2
18793 --
18794 THEN
18795 xla_accounting_err_pkg.build_message
18796 (p_appli_s_name => 'XLA'
18797 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
18798 ,p_token_1 => 'LINE_NUMBER'
18799 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
18800 ,p_token_2 => 'LINE_TYPE_NAME'
18801 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
18802 l_component_type
18803 ,l_component_code
18804 ,l_component_type_code
18805 ,l_component_appl_id
18806 ,l_amb_context_code
18807 ,l_entity_code
18808 ,l_event_class_code
18809 )
18810 ,p_token_3 => 'OWNER'
18811 ,p_value_3 => xla_lookups_pkg.get_meaning(
18812 p_lookup_type => 'XLA_OWNER_TYPE'
18813 ,p_lookup_code => l_component_type_code
18814 )
18815 ,p_token_4 => 'PRODUCT_NAME'
18816 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
18820 ,p_ae_header_id => NULL
18817 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
18818 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
18819 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
18821 );
18822
18823 IF (C_LEVEL_ERROR>= g_log_level) THEN
18824 trace
18825 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
18826 ,p_level => C_LEVEL_ERROR
18827 ,p_module => l_log_module);
18828 END IF;
18829 END IF;
18830 END IF;
18831 --
18832 --
18833 ------------------------------------------------------------------------------------------------
18834 -- 4219869 Business Flow
18835 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
18836 -- Prior Entry. Currently, the following code is always generated.
18837 ------------------------------------------------------------------------------------------------
18838 XLA_AE_LINES_PKG.ValidateCurrentLine;
18839
18840 ------------------------------------------------------------------------------------
18841 -- 4219869 Business Flow
18842 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
18843 ------------------------------------------------------------------------------------
18844 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
18845
18846 ----------------------------------------------------------------------------------
18847 -- 4219869 Business Flow
18848 -- Update journal entry status -- Need to generate this within IF <condition>
18849 ----------------------------------------------------------------------------------
18850 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
18851 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
18852 ,p_balance_type_code => l_balance_type_code
18853 );
18854
18855 -------------------------------------------------------------------------------------------
18856 -- 4262811 - Generate the Accrual Reversal lines
18857 -------------------------------------------------------------------------------------------
18858 BEGIN
18859 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
18860 (g_array_event(p_event_id).array_value_num('header_index'));
18861 IF l_acc_rev_flag IS NULL THEN
18862 l_acc_rev_flag := 'N';
18863 END IF;
18864 EXCEPTION
18865 WHEN OTHERS THEN
18866 l_acc_rev_flag := 'N';
18867 END;
18868 --
18869 IF (l_acc_rev_flag = 'Y') THEN
18870
18871 -- 4645092 ------------------------------------------------------------------------------
18872 -- To allow MPA report to determine if it should generate report process
18873 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
18874 ------------------------------------------------------------------------------------------
18875
18876 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
18877 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
18878 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
18879 -- call ADRs
18880 -- Bug 4922099
18881 --
18882 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
18883 (NVL(l_actual_upg_option, 'N') = 'O') OR
18884 (NVL(l_enc_upg_option, 'N') = 'O')
18885 )
18886 THEN
18887 NULL;
18888 --
18889 --
18890
18891 l_ccid := AcctDerRule_27(
18892 p_application_id => p_application_id
18893 , p_ae_header_id => l_ae_header_id
18894 , p_source_15 => p_source_15
18895 , p_source_15_meaning => p_source_15_meaning
18896 , p_source_16 => p_source_16
18897 , p_source_30 => p_source_30
18898 , x_transaction_coa_id => l_adr_transaction_coa_id
18899 , x_accounting_coa_id => l_adr_accounting_coa_id
18900 , x_value_type_code => l_adr_value_type_code
18901 , p_side => 'NA'
18902 );
18903
18904 xla_ae_lines_pkg.set_ccid(
18905 p_code_combination_id => l_ccid
18906 , p_value_type_code => l_adr_value_type_code
18907 , p_transaction_coa_id => l_adr_transaction_coa_id
18908 , p_accounting_coa_id => l_adr_accounting_coa_id
18909 , p_adr_code => 'AP_BANK_ERRORS'
18910 , p_adr_type_code => 'S'
18911 , p_component_type => l_component_type
18912 , p_component_code => l_component_code
18913 , p_component_type_code => l_component_type_code
18914 , p_component_appl_id => l_component_appl_id
18915 , p_amb_context_code => l_amb_context_code
18916 , p_side => 'NA'
18917 );
18918
18919
18920 l_segment := AcctDerRule_5(
18921 p_application_id => p_application_id
18922 , p_ae_header_id => l_ae_header_id
18923 , p_source_15 => p_source_15
18924 , p_source_15_meaning => p_source_15_meaning
18925 , p_source_16 => p_source_16
18926 , x_transaction_coa_id => l_adr_transaction_coa_id
18927 , x_accounting_coa_id => l_adr_accounting_coa_id
18931 , x_value_combination_id => l_adr_value_combination_id
18928 , x_flexfield_segment_code => l_adr_flexfield_segment_code
18929 , x_flex_value_set_id => l_adr_flex_value_set_id
18930 , x_value_type_code => l_adr_value_type_code
18932 , x_value_segment_code => l_adr_value_segment_code
18933 , p_side => 'NA'
18934 , p_override_seg_flag => 'Y'
18935 );
18936
18937 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
18938
18939 xla_ae_lines_pkg.set_segment(
18940 p_to_segment_code => 'GL_ACCOUNT'
18941 , p_segment_value => l_segment
18942 , p_from_segment_code => l_adr_value_segment_code
18943 , p_from_combination_id => l_adr_value_combination_id
18944 , p_value_type_code => l_adr_value_type_code
18945 , p_transaction_coa_id => l_adr_transaction_coa_id
18946 , p_accounting_coa_id => l_adr_accounting_coa_id
18947 , p_flexfield_segment_code => l_adr_flexfield_segment_code
18948 , p_flex_value_set_id => l_adr_flex_value_set_id
18949 , p_adr_code => 'AP_BANK_ERRORS_NAT_ACCT_SEG'
18950 , p_adr_type_code => 'S'
18951 , p_component_type => l_component_type
18952 , p_component_code => l_component_code
18953 , p_component_type_code => l_component_type_code
18954 , p_component_appl_id => l_component_appl_id
18955 , p_amb_context_code => l_amb_context_code
18956 , p_entity_code => 'AP_PAYMENTS'
18957 , p_event_class_code => 'RECONCILED PAYMENTS'
18958 , p_side => 'NA'
18959 );
18960
18961 END IF;
18962
18963 l_segment := AcctDerRule_22(
18964 p_application_id => p_application_id
18965 , p_ae_header_id => l_ae_header_id
18966 , p_source_15 => p_source_15
18967 , p_source_15_meaning => p_source_15_meaning
18968 , p_source_30 => p_source_30
18969 , x_transaction_coa_id => l_adr_transaction_coa_id
18970 , x_accounting_coa_id => l_adr_accounting_coa_id
18971 , x_flexfield_segment_code => l_adr_flexfield_segment_code
18972 , x_flex_value_set_id => l_adr_flex_value_set_id
18973 , x_value_type_code => l_adr_value_type_code
18974 , x_value_combination_id => l_adr_value_combination_id
18975 , x_value_segment_code => l_adr_value_segment_code
18976 , p_side => 'NA'
18977 , p_override_seg_flag => 'Y'
18978 );
18979
18980 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
18981
18982 xla_ae_lines_pkg.set_segment(
18983 p_to_segment_code => 'GL_BALANCING'
18984 , p_segment_value => l_segment
18985 , p_from_segment_code => l_adr_value_segment_code
18986 , p_from_combination_id => l_adr_value_combination_id
18987 , p_value_type_code => l_adr_value_type_code
18988 , p_transaction_coa_id => l_adr_transaction_coa_id
18989 , p_accounting_coa_id => l_adr_accounting_coa_id
18990 , p_flexfield_segment_code => l_adr_flexfield_segment_code
18991 , p_flex_value_set_id => l_adr_flex_value_set_id
18992 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
18993 , p_adr_type_code => 'S'
18994 , p_component_type => l_component_type
18995 , p_component_code => l_component_code
18996 , p_component_type_code => l_component_type_code
18997 , p_component_appl_id => l_component_appl_id
18998 , p_amb_context_code => l_amb_context_code
18999 , p_entity_code => 'AP_PAYMENTS'
19000 , p_event_class_code => 'RECONCILED PAYMENTS'
19001 , p_side => 'NA'
19002 );
19003
19004 END IF;
19005
19006 --
19007 --
19008 END IF;
19009
19010 --
19011 -- Update the line information that should be overwritten
19012 --
19013 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
19014 p_header_num => 1);
19015 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
19016
19017 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
19018
19019 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
19020 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
19021 END IF;
19022
19023 --
19024 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
19025 --
19026 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
19027 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
19028 ELSE
19029 ---------------------------------------------------------------------------------------------------
19030 -- 4262811a Switch Sign
19031 ---------------------------------------------------------------------------------------------------
19032 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
19036 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19033 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19034 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19035 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19037 -- 5132302
19038 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
19039 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19040
19041 END IF;
19042
19043 -- 4955764
19044 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
19045 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
19046
19047
19048 XLA_AE_LINES_PKG.ValidateCurrentLine;
19049 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
19050
19051 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
19052 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
19053 ,p_balance_type_code => l_balance_type_code);
19054
19055 END IF;
19056
19057 -----------------------------------------------------------------------------------------
19058 -- 4262811 Multiperiod Accounting
19059 -----------------------------------------------------------------------------------------
19060 -- No MPA option is assigned.
19061
19062
19063 END IF;
19064 END IF;
19065 --
19066
19067 --
19068 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
19069 trace
19070 (p_msg => 'END of AcctLineType_60'
19071 ,p_level => C_LEVEL_PROCEDURE
19072 ,p_module => l_log_module);
19073 END IF;
19074 --
19075 EXCEPTION
19076 WHEN xla_exceptions_pkg.application_exception THEN
19077 RAISE;
19078 WHEN OTHERS THEN
19079 xla_exceptions_pkg.raise_message
19080 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_60');
19081 END AcctLineType_60;
19082 --
19083
19084 ---------------------------------------
19085 --
19086 -- PRIVATE FUNCTION
19087 -- AcctLineType_61
19088 --
19089 ---------------------------------------
19090 PROCEDURE AcctLineType_61 (
19091 p_application_id IN NUMBER
19092 ,p_event_id IN NUMBER
19093 ,p_calculate_acctd_flag IN VARCHAR2
19094 ,p_calculate_g_l_flag IN VARCHAR2
19095 ,p_actual_flag IN OUT VARCHAR2
19096 ,p_balance_type_code OUT VARCHAR2
19097 ,p_gain_or_loss_ref OUT VARCHAR2
19098
19099 --Payment Currency Code
19100 , p_source_13 IN VARCHAR2
19101 --Automatic Offsets Value
19102 , p_source_15 IN VARCHAR2
19103 , p_source_15_meaning IN VARCHAR2
19104 --Bank Cash Account
19105 , p_source_17 IN NUMBER
19106 --Accounting Reversal Indicator
19107 , p_source_53 IN VARCHAR2
19108 --Distribution Link Type
19109 , p_source_55 IN VARCHAR2
19110 --Override Accounted Amount Indicator
19111 , p_source_80 IN VARCHAR2
19112 , p_source_80_meaning IN VARCHAR2
19113 --Third Party Type
19114 , p_source_83 IN VARCHAR2
19115 --Invoice Distribution Tax Line Identifier
19116 , p_source_86 IN NUMBER
19117 --Invoice Distribution Summary Tax Line Identifier
19118 , p_source_88 IN NUMBER
19119 --Business Flow Accounts Payable Application Identifier
19120 , p_source_91 IN NUMBER
19121 --When to Account for Payment Option
19122 , p_source_97 IN VARCHAR2
19123 --Payment Distribution Type
19124 , p_source_98 IN VARCHAR2
19125 , p_source_98_meaning IN VARCHAR2
19126 --Payment Distribution Amount
19127 , p_source_99 IN NUMBER
19128 --Business Flow Payment Distribution Type
19129 , p_source_100 IN VARCHAR2
19130 --Business Flow Payment Entity Code
19131 , p_source_101 IN VARCHAR2
19132 --Business Flow Payment Distribution Identifier
19133 , p_source_102 IN NUMBER
19134 --Business Flow Payment Identifier
19135 , p_source_103 IN NUMBER
19136 --Payment Distribution Identifier
19137 , p_source_104 IN NUMBER
19138 --Cleared Exchange Date
19139 , p_source_106 IN DATE
19140 --Cleared Exchange Rate
19141 , p_source_107 IN NUMBER
19142 --Cleared Exchange Rate Type
19143 , p_source_108 IN VARCHAR2
19144 --Payment Distribution (Cleared Rate) Ledger Amount
19145 , p_source_109 IN NUMBER
19146 --Payment Supplier Identifier
19147 , p_source_110 IN NUMBER
19148 --Payment Supplier Site Identifier
19149 , p_source_111 IN NUMBER
19150 --Payment Distribution Reversed Identifier
19151 , p_source_112 IN NUMBER
19152 --Pooled Bank Account Option
19153 , p_source_113 IN VARCHAR2
19154 , p_source_113_meaning IN VARCHAR2
19155 )
19156 IS
19157
19158 l_component_type VARCHAR2(80);
19159 l_component_code VARCHAR2(30);
19160 l_component_type_code VARCHAR2(1);
19161 l_component_appl_id INTEGER;
19162 l_amb_context_code VARCHAR2(30);
19163 l_entity_code VARCHAR2(30);
19164 l_event_class_code VARCHAR2(30);
19165 l_ae_header_id NUMBER;
19169 --
19166 l_event_type_code VARCHAR2(30);
19167 l_line_definition_code VARCHAR2(30);
19168 l_line_definition_owner_code VARCHAR2(1);
19170 -- adr variables
19171 l_segment VARCHAR2(30);
19172 l_ccid NUMBER;
19173 l_adr_transaction_coa_id NUMBER;
19174 l_adr_accounting_coa_id NUMBER;
19175 l_adr_flexfield_segment_code VARCHAR2(30);
19176 l_adr_flex_value_set_id NUMBER;
19177 l_adr_value_type_code VARCHAR2(30);
19178 l_adr_value_combination_id NUMBER;
19179 l_adr_value_segment_code VARCHAR2(30);
19180
19181 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
19182 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
19183 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
19184 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
19185
19186 -- 4262811 Variables ------------------------------------------------------------------------------------------
19187 l_entered_amt_idx NUMBER;
19188 l_accted_amt_idx NUMBER;
19189 l_acc_rev_flag VARCHAR2(1);
19190 l_accrual_line_num NUMBER;
19191 l_tmp_amt NUMBER;
19192 l_acc_rev_natural_side_code VARCHAR2(1);
19193
19194 l_num_entries NUMBER;
19195 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
19196 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
19197 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
19198 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
19199 l_recog_line_1 NUMBER;
19200 l_recog_line_2 NUMBER;
19201
19202 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
19203 l_bflow_applied_to_amt NUMBER; -- 5132302
19204 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
19205
19206 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
19207
19208 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
19209 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
19210
19211 ---------------------------------------------------------------------------------------------------------------
19212
19213
19214 --
19215 -- bulk performance
19216 --
19217 l_balance_type_code VARCHAR2(1);
19218 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
19219 l_log_module VARCHAR2(240);
19220
19221 --
19222 -- Upgrade strategy
19223 --
19224 l_actual_upg_option VARCHAR2(1);
19225 l_enc_upg_option VARCHAR2(1);
19226
19227 --
19228 BEGIN
19229 --
19230 IF g_log_enabled THEN
19231 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_61';
19232 END IF;
19233 --
19234 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
19235
19236 trace
19237 (p_msg => 'BEGIN of AcctLineType_61'
19238 ,p_level => C_LEVEL_PROCEDURE
19239 ,p_module => l_log_module);
19240
19241 END IF;
19242 --
19243 l_component_type := 'AMB_JLT';
19244 l_component_code := 'AP_CASH_CLEARONLY_AOS_AS';
19245 l_component_type_code := 'S';
19246 l_component_appl_id := 200;
19247 l_amb_context_code := 'DEFAULT';
19248 l_entity_code := 'AP_PAYMENTS';
19249 l_event_class_code := 'RECONCILED PAYMENTS';
19250 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
19251 l_line_definition_owner_code := 'S';
19252 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
19253 --
19254 l_balance_type_code := 'A';
19255 l_segment := NULL;
19256 l_ccid := NULL;
19257 l_adr_transaction_coa_id := NULL;
19258 l_adr_accounting_coa_id := NULL;
19259 l_adr_flexfield_segment_code := NULL;
19260 l_adr_flex_value_set_id := NULL;
19261 l_adr_value_type_code := NULL;
19262 l_adr_value_combination_id := NULL;
19263 l_adr_value_segment_code := NULL;
19264
19265 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
19266 l_bflow_class_code := ''; -- 4219869 Business Flow
19267 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
19268 l_budgetary_control_flag := 'N';
19269
19270 l_bflow_applied_to_amt_idx := NULL; -- 5132302
19271 l_bflow_applied_to_amt := NULL; -- 5132302
19272 l_entered_amt_idx := NULL; -- 4262811
19273 l_accted_amt_idx := NULL; -- 4262811
19274 l_acc_rev_flag := NULL; -- 4262811
19275 l_accrual_line_num := NULL; -- 4262811
19276 l_tmp_amt := NULL; -- 4262811
19277 --
19278
19279 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
19280 l_balance_type_code <> 'B' THEN
19281 IF NVL(p_source_97,'
19282 ') <> 'ISSUE_ISSUE' AND
19283 (NVL(p_source_113,'
19284 ') = 'Y' AND
19285 NVL(p_source_15,'
19286 ') = 'ACCOUNT_SEGMENT_VALUE') AND
19287 (NVL(p_source_98,'
19288 ') = 'CASH' OR
19289 NVL(p_source_98,'
19290 ') = 'BANK CHARGE' OR
19291 NVL(p_source_98,'
19292 ') = 'BANK ERROR')
19293 THEN
19294
19295 --
19299 -- set the flag so later we will know whether the gain loss line needs to be created
19296 XLA_AE_LINES_PKG.SetNewLine;
19297
19298 p_balance_type_code := l_balance_type_code;
19300
19301 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
19302 p_actual_flag :='A';
19303 END IF;
19304
19305 --
19306 -- bulk performance
19307 --
19308 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
19309 p_header_num => 0); -- 4262811
19310 --
19311 -- set accounting line options
19312 --
19313 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
19314 p_natural_side_code => 'C'
19315 , p_gain_or_loss_flag => 'N'
19316 , p_gl_transfer_mode_code => 'S'
19317 , p_acct_entry_type_code => 'A'
19318 , p_switch_side_flag => 'Y'
19319 , p_merge_duplicate_code => 'A'
19320 );
19321 --
19322 l_acc_rev_natural_side_code := 'D'; -- 4262811
19323 --
19324 --
19325 -- set accounting line type info
19326 --
19327 xla_ae_lines_pkg.SetAcctLineType
19328 (p_component_type => l_component_type
19329 ,p_event_type_code => l_event_type_code
19330 ,p_line_definition_owner_code => l_line_definition_owner_code
19331 ,p_line_definition_code => l_line_definition_code
19332 ,p_accounting_line_code => l_component_code
19333 ,p_accounting_line_type_code => l_component_type_code
19334 ,p_accounting_line_appl_id => l_component_appl_id
19335 ,p_amb_context_code => l_amb_context_code
19336 ,p_entity_code => l_entity_code
19337 ,p_event_class_code => l_event_class_code);
19338 --
19339 -- set accounting class
19340 --
19341 xla_ae_lines_pkg.SetAcctClass(
19342 p_accounting_class_code => 'CASH'
19343 , p_ae_header_id => l_ae_header_id
19344 );
19345
19346 --
19347 -- set rounding class
19348 --
19349 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
19350 'CASH';
19351
19352 --
19353 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
19354 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
19355 --
19356 -- bulk performance
19357 --
19358 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
19359
19360 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
19361 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
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('header_index'));
19366
19367 -- 4458381 Public Sector Enh
19368
19369 --
19370 -- set accounting attributes for the line type
19371 --
19372 l_entered_amt_idx := 10;
19373 l_accted_amt_idx := 15;
19374 l_bflow_applied_to_amt_idx := 2; -- 5132302
19375 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
19376 l_rec_acct_attrs.array_char_value(1) := p_source_53;
19377 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
19378 l_rec_acct_attrs.array_num_value(2) := p_source_99;
19379 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
19380 l_rec_acct_attrs.array_num_value(3) := p_source_91;
19381 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
19382 l_rec_acct_attrs.array_char_value(4) := p_source_100;
19383 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
19384 l_rec_acct_attrs.array_char_value(5) := p_source_101;
19385 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
19386 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
19387 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
19388 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
19389 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
19390 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
19391 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
19392 l_rec_acct_attrs.array_char_value(9) := p_source_55;
19393 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
19394 l_rec_acct_attrs.array_num_value(10) := p_source_99;
19395 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
19396 l_rec_acct_attrs.array_char_value(11) := p_source_13;
19397 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
19398 l_rec_acct_attrs.array_date_value(12) := p_source_106;
19399 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
19400 l_rec_acct_attrs.array_num_value(13) := p_source_107;
19401 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
19402 l_rec_acct_attrs.array_char_value(14) := p_source_108;
19403 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
19404 l_rec_acct_attrs.array_num_value(15) := p_source_109;
19405 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
19406 l_rec_acct_attrs.array_char_value(16) := p_source_80;
19410 l_rec_acct_attrs.array_num_value(18) := p_source_111;
19407 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
19408 l_rec_acct_attrs.array_num_value(17) := p_source_110;
19409 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
19411 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
19412 l_rec_acct_attrs.array_char_value(19) := p_source_83;
19413 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
19414 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
19415 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
19416 l_rec_acct_attrs.array_char_value(21) := p_source_55;
19417 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
19418 l_rec_acct_attrs.array_num_value(22) := p_source_86;
19419 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
19420 l_rec_acct_attrs.array_num_value(23) := p_source_86;
19421 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
19422 l_rec_acct_attrs.array_num_value(24) := p_source_88;
19423
19424 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
19425 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
19426
19427 ---------------------------------------------------------------------------------------------------------------
19428 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
19429 ---------------------------------------------------------------------------------------------------------------
19430 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
19431
19432 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19433 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19434
19435 IF xla_accounting_cache_pkg.GetValueChar
19436 (p_source_code => 'LEDGER_CATEGORY_CODE'
19437 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
19438 AND l_bflow_method_code = 'PRIOR_ENTRY'
19439 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
19440 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
19441 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
19442 )
19443 THEN
19444 xla_ae_lines_pkg.BflowUpgEntry
19445 (p_business_method_code => l_bflow_method_code
19446 ,p_business_class_code => l_bflow_class_code
19447 ,p_balance_type => l_balance_type_code);
19448 ELSE
19449 NULL;
19450 XLA_AE_LINES_PKG.business_flow_validation(
19451 p_business_method_code => l_bflow_method_code
19452 ,p_business_class_code => l_bflow_class_code
19453 ,p_inherit_description_flag => l_inherit_desc_flag);
19454 END IF;
19455
19456 --
19457 -- call analytical criteria
19458 --
19459
19460 --
19461 -- call description
19462 --
19463 -- No description or it is inherited.
19464 --
19465 -- call ADRs
19466 -- Bug 4922099
19467 --
19468 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
19469 (NVL(l_actual_upg_option, 'N') = 'O') OR
19470 (NVL(l_enc_upg_option, 'N') = 'O')
19471 )
19472 THEN
19473 NULL;
19474 --
19475 --
19476
19477 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
19478 p_code_combination_id => TO_NUMBER(C_NUM)
19479 , p_value_type_code => NULL
19480 , p_transaction_coa_id => null
19481 , p_accounting_coa_id => null
19482 , p_adr_code => NULL
19483 , p_adr_type_code => NULL
19484 , p_component_type => l_component_type
19485 , p_component_code => l_component_code
19486 , p_component_type_code => l_component_type_code
19487 , p_component_appl_id => l_component_appl_id
19488 , p_amb_context_code => l_amb_context_code
19489 , p_side => NULL
19490 );
19491
19492
19493 -- initialise segments
19494 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19495 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19496 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19497 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19498 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19499 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19500 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19501 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19502 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19503 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19504 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19505 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19509 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19506 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19507 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19508 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19510 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19511 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19512 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19513 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19514 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19515 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19516 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19517 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19518 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19519 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19520 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19521 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19522 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19523 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19524 --
19525
19526 --
19527
19528
19529 l_segment := AcctDerRule_6(
19530 p_application_id => p_application_id
19531 , p_ae_header_id => l_ae_header_id
19532 , p_source_17 => p_source_17
19533 , x_transaction_coa_id => l_adr_transaction_coa_id
19534 , x_accounting_coa_id => l_adr_accounting_coa_id
19535 , x_flexfield_segment_code => l_adr_flexfield_segment_code
19536 , x_flex_value_set_id => l_adr_flex_value_set_id
19537 , x_value_type_code => l_adr_value_type_code
19538 , x_value_combination_id => l_adr_value_combination_id
19539 , x_value_segment_code => l_adr_value_segment_code
19540 , p_side => 'NA'
19541 , p_override_seg_flag => 'Y'
19542 );
19543
19544 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
19545
19546 xla_ae_lines_pkg.set_segment(
19547 p_to_segment_code => 'GL_ACCOUNT'
19548 , p_segment_value => l_segment
19549 , p_from_segment_code => l_adr_value_segment_code
19550 , p_from_combination_id => l_adr_value_combination_id
19551 , p_value_type_code => l_adr_value_type_code
19552 , p_transaction_coa_id => l_adr_transaction_coa_id
19553 , p_accounting_coa_id => l_adr_accounting_coa_id
19554 , p_flexfield_segment_code => l_adr_flexfield_segment_code
19555 , p_flex_value_set_id => l_adr_flex_value_set_id
19556 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
19557 , p_adr_type_code => 'S'
19558 , p_component_type => l_component_type
19559 , p_component_code => l_component_code
19560 , p_component_type_code => l_component_type_code
19561 , p_component_appl_id => l_component_appl_id
19562 , p_amb_context_code => l_amb_context_code
19563 , p_entity_code => 'AP_PAYMENTS'
19564 , p_event_class_code => 'RECONCILED PAYMENTS'
19565 , p_side => 'NA'
19566 );
19567
19568 END IF;
19569
19570 --
19571 --
19572 END IF;
19573 --
19574 -- Bug 4922099
19575 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
19576 (NVL(l_enc_upg_option, 'N') = 'O')
19577 ) AND
19578 (l_bflow_method_code = 'PRIOR_ENTRY')
19579 )
19580 THEN
19581 IF
19582 --
19583 1 = 2
19584 --
19585 THEN
19586 xla_accounting_err_pkg.build_message
19587 (p_appli_s_name => 'XLA'
19588 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
19589 ,p_token_1 => 'LINE_NUMBER'
19590 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
19591 ,p_token_2 => 'LINE_TYPE_NAME'
19592 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
19593 l_component_type
19594 ,l_component_code
19595 ,l_component_type_code
19596 ,l_component_appl_id
19597 ,l_amb_context_code
19598 ,l_entity_code
19599 ,l_event_class_code
19600 )
19601 ,p_token_3 => 'OWNER'
19605 )
19602 ,p_value_3 => xla_lookups_pkg.get_meaning(
19603 p_lookup_type => 'XLA_OWNER_TYPE'
19604 ,p_lookup_code => l_component_type_code
19606 ,p_token_4 => 'PRODUCT_NAME'
19607 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
19608 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
19609 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
19610 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
19611 ,p_ae_header_id => NULL
19612 );
19613
19614 IF (C_LEVEL_ERROR>= g_log_level) THEN
19615 trace
19616 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
19617 ,p_level => C_LEVEL_ERROR
19618 ,p_module => l_log_module);
19619 END IF;
19620 END IF;
19621 END IF;
19622 --
19623 --
19624 ------------------------------------------------------------------------------------------------
19625 -- 4219869 Business Flow
19626 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
19627 -- Prior Entry. Currently, the following code is always generated.
19628 ------------------------------------------------------------------------------------------------
19629 XLA_AE_LINES_PKG.ValidateCurrentLine;
19630
19631 ------------------------------------------------------------------------------------
19632 -- 4219869 Business Flow
19633 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
19634 ------------------------------------------------------------------------------------
19635 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
19636
19637 ----------------------------------------------------------------------------------
19638 -- 4219869 Business Flow
19639 -- Update journal entry status -- Need to generate this within IF <condition>
19640 ----------------------------------------------------------------------------------
19641 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
19642 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
19643 ,p_balance_type_code => l_balance_type_code
19644 );
19645
19646 -------------------------------------------------------------------------------------------
19647 -- 4262811 - Generate the Accrual Reversal lines
19648 -------------------------------------------------------------------------------------------
19649 BEGIN
19650 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
19651 (g_array_event(p_event_id).array_value_num('header_index'));
19652 IF l_acc_rev_flag IS NULL THEN
19653 l_acc_rev_flag := 'N';
19654 END IF;
19655 EXCEPTION
19656 WHEN OTHERS THEN
19657 l_acc_rev_flag := 'N';
19658 END;
19659 --
19660 IF (l_acc_rev_flag = 'Y') THEN
19661
19662 -- 4645092 ------------------------------------------------------------------------------
19663 -- To allow MPA report to determine if it should generate report process
19664 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
19665 ------------------------------------------------------------------------------------------
19666
19667 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
19668 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
19669 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
19670 -- call ADRs
19671 -- Bug 4922099
19672 --
19673 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
19674 (NVL(l_actual_upg_option, 'N') = 'O') OR
19675 (NVL(l_enc_upg_option, 'N') = 'O')
19676 )
19677 THEN
19678 NULL;
19679 --
19680 --
19681
19682 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
19683 p_code_combination_id => TO_NUMBER(C_NUM)
19684 , p_value_type_code => NULL
19685 , p_transaction_coa_id => null
19686 , p_accounting_coa_id => null
19687 , p_adr_code => NULL
19688 , p_adr_type_code => NULL
19689 , p_component_type => l_component_type
19690 , p_component_code => l_component_code
19691 , p_component_type_code => l_component_type_code
19692 , p_component_appl_id => l_component_appl_id
19693 , p_amb_context_code => l_amb_context_code
19694 , p_side => NULL
19695 );
19696
19697
19698 -- initialise segments
19699 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19700 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19701 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19702 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19706 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19703 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19704 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19705 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19707 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19708 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19709 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19710 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19711 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19712 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19713 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19714 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19715 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19716 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19717 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19718 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19719 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19720 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19721 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19722 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19723 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19724 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19725 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19726 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19727 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19728 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
19729 --
19730
19731 --
19732
19733
19734 l_segment := AcctDerRule_6(
19735 p_application_id => p_application_id
19736 , p_ae_header_id => l_ae_header_id
19737 , p_source_17 => p_source_17
19738 , x_transaction_coa_id => l_adr_transaction_coa_id
19739 , x_accounting_coa_id => l_adr_accounting_coa_id
19740 , x_flexfield_segment_code => l_adr_flexfield_segment_code
19741 , x_flex_value_set_id => l_adr_flex_value_set_id
19742 , x_value_type_code => l_adr_value_type_code
19743 , x_value_combination_id => l_adr_value_combination_id
19744 , x_value_segment_code => l_adr_value_segment_code
19745 , p_side => 'NA'
19746 , p_override_seg_flag => 'Y'
19747 );
19748
19749 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
19750
19751 xla_ae_lines_pkg.set_segment(
19752 p_to_segment_code => 'GL_ACCOUNT'
19753 , p_segment_value => l_segment
19754 , p_from_segment_code => l_adr_value_segment_code
19755 , p_from_combination_id => l_adr_value_combination_id
19756 , p_value_type_code => l_adr_value_type_code
19757 , p_transaction_coa_id => l_adr_transaction_coa_id
19758 , p_accounting_coa_id => l_adr_accounting_coa_id
19759 , p_flexfield_segment_code => l_adr_flexfield_segment_code
19760 , p_flex_value_set_id => l_adr_flex_value_set_id
19761 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
19762 , p_adr_type_code => 'S'
19763 , p_component_type => l_component_type
19764 , p_component_code => l_component_code
19765 , p_component_type_code => l_component_type_code
19766 , p_component_appl_id => l_component_appl_id
19767 , p_amb_context_code => l_amb_context_code
19768 , p_entity_code => 'AP_PAYMENTS'
19769 , p_event_class_code => 'RECONCILED PAYMENTS'
19770 , p_side => 'NA'
19771 );
19772
19773 END IF;
19774
19775 --
19776 --
19777 END IF;
19778
19779 --
19780 -- Update the line information that should be overwritten
19781 --
19782 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
19783 p_header_num => 1);
19784 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
19785
19786 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
19787
19788 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
19789 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
19790 END IF;
19791
19792 --
19793 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
19794 --
19795 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
19796 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
19800 ---------------------------------------------------------------------------------------------------
19797 ELSE
19798 ---------------------------------------------------------------------------------------------------
19799 -- 4262811a Switch Sign
19801 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
19802 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19803 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19804 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19805 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19806 -- 5132302
19807 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
19808 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19809
19810 END IF;
19811
19812 -- 4955764
19813 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
19814 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
19815
19816
19817 XLA_AE_LINES_PKG.ValidateCurrentLine;
19818 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
19819
19820 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
19821 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
19822 ,p_balance_type_code => l_balance_type_code);
19823
19824 END IF;
19825
19826 -----------------------------------------------------------------------------------------
19827 -- 4262811 Multiperiod Accounting
19828 -----------------------------------------------------------------------------------------
19829 -- No MPA option is assigned.
19830
19831
19832 END IF;
19833 END IF;
19834 --
19835
19836 --
19837 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
19838 trace
19839 (p_msg => 'END of AcctLineType_61'
19840 ,p_level => C_LEVEL_PROCEDURE
19841 ,p_module => l_log_module);
19842 END IF;
19843 --
19844 EXCEPTION
19845 WHEN xla_exceptions_pkg.application_exception THEN
19846 RAISE;
19847 WHEN OTHERS THEN
19848 xla_exceptions_pkg.raise_message
19849 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_61');
19850 END AcctLineType_61;
19851 --
19852
19853 ---------------------------------------
19854 --
19855 -- PRIVATE FUNCTION
19856 -- AcctLineType_62
19857 --
19858 ---------------------------------------
19859 PROCEDURE AcctLineType_62 (
19860 p_application_id IN NUMBER
19861 ,p_event_id IN NUMBER
19862 ,p_calculate_acctd_flag IN VARCHAR2
19863 ,p_calculate_g_l_flag IN VARCHAR2
19864 ,p_actual_flag IN OUT VARCHAR2
19865 ,p_balance_type_code OUT VARCHAR2
19866 ,p_gain_or_loss_ref OUT VARCHAR2
19867
19868 --Payment Currency Code
19869 , p_source_13 IN VARCHAR2
19870 --Automatic Offsets Value
19871 , p_source_15 IN VARCHAR2
19872 , p_source_15_meaning IN VARCHAR2
19873 --Bank Cash Account
19874 , p_source_17 IN NUMBER
19875 --Accounting Reversal Indicator
19876 , p_source_53 IN VARCHAR2
19877 --Distribution Link Type
19878 , p_source_55 IN VARCHAR2
19879 --Override Accounted Amount Indicator
19880 , p_source_80 IN VARCHAR2
19881 , p_source_80_meaning IN VARCHAR2
19882 --Third Party Type
19883 , p_source_83 IN VARCHAR2
19884 --Invoice Distribution Tax Line Identifier
19885 , p_source_86 IN NUMBER
19886 --Invoice Distribution Summary Tax Line Identifier
19887 , p_source_88 IN NUMBER
19888 --Business Flow Accounts Payable Application Identifier
19889 , p_source_91 IN NUMBER
19890 --When to Account for Payment Option
19891 , p_source_97 IN VARCHAR2
19892 --Payment Distribution Type
19893 , p_source_98 IN VARCHAR2
19894 , p_source_98_meaning IN VARCHAR2
19895 --Payment Distribution Amount
19896 , p_source_99 IN NUMBER
19897 --Business Flow Payment Distribution Type
19898 , p_source_100 IN VARCHAR2
19899 --Business Flow Payment Entity Code
19900 , p_source_101 IN VARCHAR2
19901 --Business Flow Payment Distribution Identifier
19902 , p_source_102 IN NUMBER
19903 --Business Flow Payment Identifier
19904 , p_source_103 IN NUMBER
19905 --Payment Distribution Identifier
19906 , p_source_104 IN NUMBER
19907 --Cleared Exchange Date
19908 , p_source_106 IN DATE
19909 --Cleared Exchange Rate
19910 , p_source_107 IN NUMBER
19911 --Cleared Exchange Rate Type
19912 , p_source_108 IN VARCHAR2
19913 --Payment Distribution (Cleared Rate) Ledger Amount
19914 , p_source_109 IN NUMBER
19915 --Payment Supplier Identifier
19916 , p_source_110 IN NUMBER
19917 --Payment Supplier Site Identifier
19918 , p_source_111 IN NUMBER
19919 --Payment Distribution Reversed Identifier
19920 , p_source_112 IN NUMBER
19921 --Pooled Bank Account Option
19922 , p_source_113 IN VARCHAR2
19923 , p_source_113_meaning IN VARCHAR2
19924 )
19928 l_component_code VARCHAR2(30);
19925 IS
19926
19927 l_component_type VARCHAR2(80);
19929 l_component_type_code VARCHAR2(1);
19930 l_component_appl_id INTEGER;
19931 l_amb_context_code VARCHAR2(30);
19932 l_entity_code VARCHAR2(30);
19933 l_event_class_code VARCHAR2(30);
19934 l_ae_header_id NUMBER;
19935 l_event_type_code VARCHAR2(30);
19936 l_line_definition_code VARCHAR2(30);
19937 l_line_definition_owner_code VARCHAR2(1);
19938 --
19939 -- adr variables
19940 l_segment VARCHAR2(30);
19941 l_ccid NUMBER;
19942 l_adr_transaction_coa_id NUMBER;
19943 l_adr_accounting_coa_id NUMBER;
19944 l_adr_flexfield_segment_code VARCHAR2(30);
19945 l_adr_flex_value_set_id NUMBER;
19946 l_adr_value_type_code VARCHAR2(30);
19947 l_adr_value_combination_id NUMBER;
19948 l_adr_value_segment_code VARCHAR2(30);
19949
19950 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
19951 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
19952 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
19953 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
19954
19955 -- 4262811 Variables ------------------------------------------------------------------------------------------
19956 l_entered_amt_idx NUMBER;
19957 l_accted_amt_idx NUMBER;
19958 l_acc_rev_flag VARCHAR2(1);
19959 l_accrual_line_num NUMBER;
19960 l_tmp_amt NUMBER;
19961 l_acc_rev_natural_side_code VARCHAR2(1);
19962
19963 l_num_entries NUMBER;
19964 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
19965 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
19966 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
19967 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
19968 l_recog_line_1 NUMBER;
19969 l_recog_line_2 NUMBER;
19970
19971 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
19972 l_bflow_applied_to_amt NUMBER; -- 5132302
19973 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
19974
19975 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
19976
19977 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
19978 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
19979
19980 ---------------------------------------------------------------------------------------------------------------
19981
19982
19983 --
19984 -- bulk performance
19985 --
19986 l_balance_type_code VARCHAR2(1);
19987 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
19988 l_log_module VARCHAR2(240);
19989
19990 --
19991 -- Upgrade strategy
19992 --
19993 l_actual_upg_option VARCHAR2(1);
19994 l_enc_upg_option VARCHAR2(1);
19995
19996 --
19997 BEGIN
19998 --
19999 IF g_log_enabled THEN
20000 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_62';
20001 END IF;
20002 --
20003 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
20004
20005 trace
20006 (p_msg => 'BEGIN of AcctLineType_62'
20007 ,p_level => C_LEVEL_PROCEDURE
20008 ,p_module => l_log_module);
20009
20010 END IF;
20011 --
20012 l_component_type := 'AMB_JLT';
20013 l_component_code := 'AP_CASH_CLEARONLY_AOS_BS';
20014 l_component_type_code := 'S';
20015 l_component_appl_id := 200;
20016 l_amb_context_code := 'DEFAULT';
20017 l_entity_code := 'AP_PAYMENTS';
20018 l_event_class_code := 'RECONCILED PAYMENTS';
20019 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
20020 l_line_definition_owner_code := 'S';
20021 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
20022 --
20023 l_balance_type_code := 'A';
20024 l_segment := NULL;
20025 l_ccid := NULL;
20026 l_adr_transaction_coa_id := NULL;
20027 l_adr_accounting_coa_id := NULL;
20028 l_adr_flexfield_segment_code := NULL;
20029 l_adr_flex_value_set_id := NULL;
20030 l_adr_value_type_code := NULL;
20031 l_adr_value_combination_id := NULL;
20032 l_adr_value_segment_code := NULL;
20033
20034 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
20035 l_bflow_class_code := ''; -- 4219869 Business Flow
20036 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
20037 l_budgetary_control_flag := 'N';
20038
20039 l_bflow_applied_to_amt_idx := NULL; -- 5132302
20040 l_bflow_applied_to_amt := NULL; -- 5132302
20041 l_entered_amt_idx := NULL; -- 4262811
20042 l_accted_amt_idx := NULL; -- 4262811
20043 l_acc_rev_flag := NULL; -- 4262811
20044 l_accrual_line_num := NULL; -- 4262811
20045 l_tmp_amt := NULL; -- 4262811
20046 --
20047
20048 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
20049 l_balance_type_code <> 'B' THEN
20053 ') = 'Y' AND
20050 IF NVL(p_source_97,'
20051 ') <> 'ISSUE_ISSUE' AND
20052 (NVL(p_source_113,'
20054 NVL(p_source_15,'
20055 ') = 'BALANCING_SEGMENT') AND
20056 (NVL(p_source_98,'
20057 ') = 'CASH' OR
20058 NVL(p_source_98,'
20059 ') = 'BANK CHARGE' OR
20060 NVL(p_source_98,'
20061 ') = 'BANK ERROR')
20062 THEN
20063
20064 --
20065 XLA_AE_LINES_PKG.SetNewLine;
20066
20067 p_balance_type_code := l_balance_type_code;
20068 -- set the flag so later we will know whether the gain loss line needs to be created
20069
20070 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
20071 p_actual_flag :='A';
20072 END IF;
20073
20074 --
20075 -- bulk performance
20076 --
20077 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
20078 p_header_num => 0); -- 4262811
20079 --
20080 -- set accounting line options
20081 --
20082 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
20083 p_natural_side_code => 'C'
20084 , p_gain_or_loss_flag => 'N'
20085 , p_gl_transfer_mode_code => 'S'
20086 , p_acct_entry_type_code => 'A'
20087 , p_switch_side_flag => 'Y'
20088 , p_merge_duplicate_code => 'A'
20089 );
20090 --
20091 l_acc_rev_natural_side_code := 'D'; -- 4262811
20092 --
20093 --
20094 -- set accounting line type info
20095 --
20096 xla_ae_lines_pkg.SetAcctLineType
20097 (p_component_type => l_component_type
20098 ,p_event_type_code => l_event_type_code
20099 ,p_line_definition_owner_code => l_line_definition_owner_code
20100 ,p_line_definition_code => l_line_definition_code
20101 ,p_accounting_line_code => l_component_code
20102 ,p_accounting_line_type_code => l_component_type_code
20103 ,p_accounting_line_appl_id => l_component_appl_id
20104 ,p_amb_context_code => l_amb_context_code
20105 ,p_entity_code => l_entity_code
20106 ,p_event_class_code => l_event_class_code);
20107 --
20108 -- set accounting class
20109 --
20110 xla_ae_lines_pkg.SetAcctClass(
20111 p_accounting_class_code => 'CASH'
20112 , p_ae_header_id => l_ae_header_id
20113 );
20114
20115 --
20116 -- set rounding class
20117 --
20118 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
20119 'CASH';
20120
20121 --
20122 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
20123 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
20124 --
20125 -- bulk performance
20126 --
20127 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
20128
20129 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
20130 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
20131
20132 -- 4955764
20133 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
20134 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
20135
20136 -- 4458381 Public Sector Enh
20137
20138 --
20139 -- set accounting attributes for the line type
20140 --
20141 l_entered_amt_idx := 10;
20142 l_accted_amt_idx := 15;
20143 l_bflow_applied_to_amt_idx := 2; -- 5132302
20144 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
20145 l_rec_acct_attrs.array_char_value(1) := p_source_53;
20146 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
20147 l_rec_acct_attrs.array_num_value(2) := p_source_99;
20148 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
20149 l_rec_acct_attrs.array_num_value(3) := p_source_91;
20150 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
20151 l_rec_acct_attrs.array_char_value(4) := p_source_100;
20152 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
20153 l_rec_acct_attrs.array_char_value(5) := p_source_101;
20154 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
20155 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
20156 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
20157 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
20158 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
20159 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
20160 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
20161 l_rec_acct_attrs.array_char_value(9) := p_source_55;
20162 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
20163 l_rec_acct_attrs.array_num_value(10) := p_source_99;
20164 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
20165 l_rec_acct_attrs.array_char_value(11) := p_source_13;
20166 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
20167 l_rec_acct_attrs.array_date_value(12) := p_source_106;
20168 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
20169 l_rec_acct_attrs.array_num_value(13) := p_source_107;
20173 l_rec_acct_attrs.array_num_value(15) := p_source_109;
20170 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
20171 l_rec_acct_attrs.array_char_value(14) := p_source_108;
20172 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
20174 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
20175 l_rec_acct_attrs.array_char_value(16) := p_source_80;
20176 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
20177 l_rec_acct_attrs.array_num_value(17) := p_source_110;
20178 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
20179 l_rec_acct_attrs.array_num_value(18) := p_source_111;
20180 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
20181 l_rec_acct_attrs.array_char_value(19) := p_source_83;
20182 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
20183 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
20184 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
20185 l_rec_acct_attrs.array_char_value(21) := p_source_55;
20186 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
20187 l_rec_acct_attrs.array_num_value(22) := p_source_86;
20188 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
20189 l_rec_acct_attrs.array_num_value(23) := p_source_86;
20190 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
20191 l_rec_acct_attrs.array_num_value(24) := p_source_88;
20192
20193 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
20194 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
20195
20196 ---------------------------------------------------------------------------------------------------------------
20197 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20198 ---------------------------------------------------------------------------------------------------------------
20199 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
20200
20201 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20202 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20203
20204 IF xla_accounting_cache_pkg.GetValueChar
20205 (p_source_code => 'LEDGER_CATEGORY_CODE'
20206 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
20207 AND l_bflow_method_code = 'PRIOR_ENTRY'
20208 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
20209 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
20210 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
20211 )
20212 THEN
20213 xla_ae_lines_pkg.BflowUpgEntry
20214 (p_business_method_code => l_bflow_method_code
20215 ,p_business_class_code => l_bflow_class_code
20216 ,p_balance_type => l_balance_type_code);
20217 ELSE
20218 NULL;
20219 XLA_AE_LINES_PKG.business_flow_validation(
20220 p_business_method_code => l_bflow_method_code
20221 ,p_business_class_code => l_bflow_class_code
20222 ,p_inherit_description_flag => l_inherit_desc_flag);
20223 END IF;
20224
20225 --
20226 -- call analytical criteria
20227 --
20228
20229 --
20230 -- call description
20231 --
20232 -- No description or it is inherited.
20233 --
20234 -- call ADRs
20235 -- Bug 4922099
20236 --
20237 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
20238 (NVL(l_actual_upg_option, 'N') = 'O') OR
20239 (NVL(l_enc_upg_option, 'N') = 'O')
20240 )
20241 THEN
20242 NULL;
20243 --
20244 --
20245
20246 l_ccid := AcctDerRule_28(
20247 p_application_id => p_application_id
20248 , p_ae_header_id => l_ae_header_id
20249 , p_source_17 => p_source_17
20250 , x_transaction_coa_id => l_adr_transaction_coa_id
20251 , x_accounting_coa_id => l_adr_accounting_coa_id
20252 , x_value_type_code => l_adr_value_type_code
20253 , p_side => 'NA'
20254 );
20255
20256 xla_ae_lines_pkg.set_ccid(
20257 p_code_combination_id => l_ccid
20258 , p_value_type_code => l_adr_value_type_code
20259 , p_transaction_coa_id => l_adr_transaction_coa_id
20260 , p_accounting_coa_id => l_adr_accounting_coa_id
20261 , p_adr_code => 'AP_CASH'
20262 , p_adr_type_code => 'S'
20263 , p_component_type => l_component_type
20264 , p_component_code => l_component_code
20265 , p_component_type_code => l_component_type_code
20266 , p_component_appl_id => l_component_appl_id
20267 , p_amb_context_code => l_amb_context_code
20268 , p_side => 'NA'
20269 );
20270
20271
20272 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
20273 p_to_segment_code => 'GL_BALANCING'
20274 , p_segment_value => C_CHAR
20275 , p_from_segment_code => NULL
20276 , p_from_combination_id => NULL
20277 , p_value_type_code => NULL
20281 , p_flex_value_set_id => NULL
20278 , p_transaction_coa_id => null
20279 , p_accounting_coa_id => null
20280 , p_flexfield_segment_code => NULL
20282 , p_adr_code => NULL
20283 , p_adr_type_code => NULL
20284 , p_component_type => l_component_type
20285 , p_component_code => l_component_code
20286 , p_component_type_code => l_component_type_code
20287 , p_component_appl_id => l_component_appl_id
20288 , p_amb_context_code => l_amb_context_code
20289 , p_entity_code => 'AP_PAYMENTS'
20290 , p_event_class_code => 'RECONCILED PAYMENTS'
20291 , p_side => 'NA'
20292 );
20293 --
20294
20295
20296 --
20297 --
20298 END IF;
20299 --
20300 -- Bug 4922099
20301 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
20302 (NVL(l_enc_upg_option, 'N') = 'O')
20303 ) AND
20304 (l_bflow_method_code = 'PRIOR_ENTRY')
20305 )
20306 THEN
20307 IF
20308 --
20309 1 = 2
20310 --
20311 THEN
20312 xla_accounting_err_pkg.build_message
20313 (p_appli_s_name => 'XLA'
20314 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
20315 ,p_token_1 => 'LINE_NUMBER'
20316 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
20317 ,p_token_2 => 'LINE_TYPE_NAME'
20318 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
20319 l_component_type
20320 ,l_component_code
20321 ,l_component_type_code
20322 ,l_component_appl_id
20323 ,l_amb_context_code
20324 ,l_entity_code
20325 ,l_event_class_code
20326 )
20327 ,p_token_3 => 'OWNER'
20328 ,p_value_3 => xla_lookups_pkg.get_meaning(
20329 p_lookup_type => 'XLA_OWNER_TYPE'
20330 ,p_lookup_code => l_component_type_code
20331 )
20332 ,p_token_4 => 'PRODUCT_NAME'
20333 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
20334 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
20335 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
20336 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
20337 ,p_ae_header_id => NULL
20338 );
20339
20340 IF (C_LEVEL_ERROR>= g_log_level) THEN
20341 trace
20342 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
20343 ,p_level => C_LEVEL_ERROR
20344 ,p_module => l_log_module);
20345 END IF;
20346 END IF;
20347 END IF;
20348 --
20349 --
20350 ------------------------------------------------------------------------------------------------
20351 -- 4219869 Business Flow
20352 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
20353 -- Prior Entry. Currently, the following code is always generated.
20354 ------------------------------------------------------------------------------------------------
20355 XLA_AE_LINES_PKG.ValidateCurrentLine;
20356
20357 ------------------------------------------------------------------------------------
20358 -- 4219869 Business Flow
20359 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
20360 ------------------------------------------------------------------------------------
20361 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
20362
20363 ----------------------------------------------------------------------------------
20364 -- 4219869 Business Flow
20365 -- Update journal entry status -- Need to generate this within IF <condition>
20366 ----------------------------------------------------------------------------------
20367 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
20368 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
20369 ,p_balance_type_code => l_balance_type_code
20370 );
20371
20372 -------------------------------------------------------------------------------------------
20373 -- 4262811 - Generate the Accrual Reversal lines
20374 -------------------------------------------------------------------------------------------
20375 BEGIN
20379 l_acc_rev_flag := 'N';
20376 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
20377 (g_array_event(p_event_id).array_value_num('header_index'));
20378 IF l_acc_rev_flag IS NULL THEN
20380 END IF;
20381 EXCEPTION
20382 WHEN OTHERS THEN
20383 l_acc_rev_flag := 'N';
20384 END;
20385 --
20386 IF (l_acc_rev_flag = 'Y') THEN
20387
20388 -- 4645092 ------------------------------------------------------------------------------
20389 -- To allow MPA report to determine if it should generate report process
20390 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
20391 ------------------------------------------------------------------------------------------
20392
20393 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
20394 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
20395 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
20396 -- call ADRs
20397 -- Bug 4922099
20398 --
20399 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
20400 (NVL(l_actual_upg_option, 'N') = 'O') OR
20401 (NVL(l_enc_upg_option, 'N') = 'O')
20402 )
20403 THEN
20404 NULL;
20405 --
20406 --
20407
20408 l_ccid := AcctDerRule_28(
20409 p_application_id => p_application_id
20410 , p_ae_header_id => l_ae_header_id
20411 , p_source_17 => p_source_17
20412 , x_transaction_coa_id => l_adr_transaction_coa_id
20413 , x_accounting_coa_id => l_adr_accounting_coa_id
20414 , x_value_type_code => l_adr_value_type_code
20415 , p_side => 'NA'
20416 );
20417
20418 xla_ae_lines_pkg.set_ccid(
20419 p_code_combination_id => l_ccid
20420 , p_value_type_code => l_adr_value_type_code
20421 , p_transaction_coa_id => l_adr_transaction_coa_id
20422 , p_accounting_coa_id => l_adr_accounting_coa_id
20423 , p_adr_code => 'AP_CASH'
20424 , p_adr_type_code => 'S'
20425 , p_component_type => l_component_type
20426 , p_component_code => l_component_code
20427 , p_component_type_code => l_component_type_code
20428 , p_component_appl_id => l_component_appl_id
20429 , p_amb_context_code => l_amb_context_code
20430 , p_side => 'NA'
20431 );
20432
20433
20434 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
20435 p_to_segment_code => 'GL_BALANCING'
20436 , p_segment_value => C_CHAR
20437 , p_from_segment_code => NULL
20438 , p_from_combination_id => NULL
20439 , p_value_type_code => NULL
20440 , p_transaction_coa_id => null
20441 , p_accounting_coa_id => null
20442 , p_flexfield_segment_code => NULL
20443 , p_flex_value_set_id => NULL
20444 , p_adr_code => NULL
20445 , p_adr_type_code => NULL
20446 , p_component_type => l_component_type
20447 , p_component_code => l_component_code
20448 , p_component_type_code => l_component_type_code
20449 , p_component_appl_id => l_component_appl_id
20450 , p_amb_context_code => l_amb_context_code
20451 , p_entity_code => 'AP_PAYMENTS'
20452 , p_event_class_code => 'RECONCILED PAYMENTS'
20453 , p_side => 'NA'
20454 );
20455 --
20456
20457
20458 --
20459 --
20460 END IF;
20461
20462 --
20463 -- Update the line information that should be overwritten
20464 --
20465 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
20466 p_header_num => 1);
20467 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
20468
20469 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
20470
20471 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
20472 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
20473 END IF;
20474
20475 --
20476 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
20477 --
20478 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
20479 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
20480 ELSE
20481 ---------------------------------------------------------------------------------------------------
20482 -- 4262811a Switch Sign
20483 ---------------------------------------------------------------------------------------------------
20484 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
20485 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20486 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20487 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20491 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20488 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20489 -- 5132302
20490 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
20492
20493 END IF;
20494
20495 -- 4955764
20496 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
20497 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
20498
20499
20500 XLA_AE_LINES_PKG.ValidateCurrentLine;
20501 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
20502
20503 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
20504 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
20505 ,p_balance_type_code => l_balance_type_code);
20506
20507 END IF;
20508
20509 -----------------------------------------------------------------------------------------
20510 -- 4262811 Multiperiod Accounting
20511 -----------------------------------------------------------------------------------------
20512 -- No MPA option is assigned.
20513
20514
20515 END IF;
20516 END IF;
20517 --
20518
20519 --
20520 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
20521 trace
20522 (p_msg => 'END of AcctLineType_62'
20523 ,p_level => C_LEVEL_PROCEDURE
20524 ,p_module => l_log_module);
20525 END IF;
20526 --
20527 EXCEPTION
20528 WHEN xla_exceptions_pkg.application_exception THEN
20529 RAISE;
20530 WHEN OTHERS THEN
20531 xla_exceptions_pkg.raise_message
20532 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_62');
20533 END AcctLineType_62;
20534 --
20535
20536 ---------------------------------------
20537 --
20538 -- PRIVATE FUNCTION
20539 -- AcctLineType_63
20540 --
20541 ---------------------------------------
20542 PROCEDURE AcctLineType_63 (
20543 p_application_id IN NUMBER
20544 ,p_event_id IN NUMBER
20545 ,p_calculate_acctd_flag IN VARCHAR2
20546 ,p_calculate_g_l_flag IN VARCHAR2
20547 ,p_actual_flag IN OUT VARCHAR2
20548 ,p_balance_type_code OUT VARCHAR2
20549 ,p_gain_or_loss_ref OUT VARCHAR2
20550
20551 --Payment Currency Code
20552 , p_source_13 IN VARCHAR2
20553 --Bank Cash Account
20554 , p_source_17 IN NUMBER
20555 --Automatic Offsets Flag
20556 , p_source_47 IN VARCHAR2
20557 , p_source_47_meaning IN VARCHAR2
20558 --Accounting Reversal Indicator
20559 , p_source_53 IN VARCHAR2
20560 --Distribution Link Type
20561 , p_source_55 IN VARCHAR2
20562 --Override Accounted Amount Indicator
20563 , p_source_80 IN VARCHAR2
20564 , p_source_80_meaning IN VARCHAR2
20565 --Third Party Type
20566 , p_source_83 IN VARCHAR2
20567 --Invoice Distribution Tax Line Identifier
20568 , p_source_86 IN NUMBER
20569 --Invoice Distribution Summary Tax Line Identifier
20570 , p_source_88 IN NUMBER
20571 --Business Flow Accounts Payable Application Identifier
20572 , p_source_91 IN NUMBER
20573 --When to Account for Payment Option
20574 , p_source_97 IN VARCHAR2
20575 --Payment Distribution Type
20576 , p_source_98 IN VARCHAR2
20577 , p_source_98_meaning IN VARCHAR2
20578 --Payment Distribution Amount
20579 , p_source_99 IN NUMBER
20580 --Business Flow Payment Distribution Type
20581 , p_source_100 IN VARCHAR2
20582 --Business Flow Payment Entity Code
20583 , p_source_101 IN VARCHAR2
20584 --Business Flow Payment Distribution Identifier
20585 , p_source_102 IN NUMBER
20586 --Business Flow Payment Identifier
20587 , p_source_103 IN NUMBER
20588 --Payment Distribution Identifier
20589 , p_source_104 IN NUMBER
20590 --Cleared Exchange Date
20591 , p_source_106 IN DATE
20592 --Cleared Exchange Rate
20593 , p_source_107 IN NUMBER
20594 --Cleared Exchange Rate Type
20595 , p_source_108 IN VARCHAR2
20596 --Payment Distribution (Cleared Rate) Ledger Amount
20597 , p_source_109 IN NUMBER
20598 --Payment Supplier Identifier
20599 , p_source_110 IN NUMBER
20600 --Payment Supplier Site Identifier
20601 , p_source_111 IN NUMBER
20602 --Payment Distribution Reversed Identifier
20603 , p_source_112 IN NUMBER
20604 --Pooled Bank Account Option
20605 , p_source_113 IN VARCHAR2
20606 , p_source_113_meaning IN VARCHAR2
20607 )
20608 IS
20609
20610 l_component_type VARCHAR2(80);
20611 l_component_code VARCHAR2(30);
20612 l_component_type_code VARCHAR2(1);
20613 l_component_appl_id INTEGER;
20614 l_amb_context_code VARCHAR2(30);
20615 l_entity_code VARCHAR2(30);
20616 l_event_class_code VARCHAR2(30);
20617 l_ae_header_id NUMBER;
20618 l_event_type_code VARCHAR2(30);
20619 l_line_definition_code VARCHAR2(30);
20620 l_line_definition_owner_code VARCHAR2(1);
20621 --
20622 -- adr variables
20623 l_segment VARCHAR2(30);
20627 l_adr_flexfield_segment_code VARCHAR2(30);
20624 l_ccid NUMBER;
20625 l_adr_transaction_coa_id NUMBER;
20626 l_adr_accounting_coa_id NUMBER;
20628 l_adr_flex_value_set_id NUMBER;
20629 l_adr_value_type_code VARCHAR2(30);
20630 l_adr_value_combination_id NUMBER;
20631 l_adr_value_segment_code VARCHAR2(30);
20632
20633 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
20634 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
20635 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
20636 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
20637
20638 -- 4262811 Variables ------------------------------------------------------------------------------------------
20639 l_entered_amt_idx NUMBER;
20640 l_accted_amt_idx NUMBER;
20641 l_acc_rev_flag VARCHAR2(1);
20642 l_accrual_line_num NUMBER;
20643 l_tmp_amt NUMBER;
20644 l_acc_rev_natural_side_code VARCHAR2(1);
20645
20646 l_num_entries NUMBER;
20647 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
20648 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
20649 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
20650 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
20651 l_recog_line_1 NUMBER;
20652 l_recog_line_2 NUMBER;
20653
20654 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
20655 l_bflow_applied_to_amt NUMBER; -- 5132302
20656 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
20657
20658 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
20659
20660 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
20661 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
20662
20663 ---------------------------------------------------------------------------------------------------------------
20664
20665
20666 --
20667 -- bulk performance
20668 --
20669 l_balance_type_code VARCHAR2(1);
20670 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
20671 l_log_module VARCHAR2(240);
20672
20673 --
20674 -- Upgrade strategy
20675 --
20676 l_actual_upg_option VARCHAR2(1);
20677 l_enc_upg_option VARCHAR2(1);
20678
20679 --
20680 BEGIN
20681 --
20682 IF g_log_enabled THEN
20683 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_63';
20684 END IF;
20685 --
20686 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
20687
20688 trace
20689 (p_msg => 'BEGIN of AcctLineType_63'
20690 ,p_level => C_LEVEL_PROCEDURE
20691 ,p_module => l_log_module);
20692
20693 END IF;
20694 --
20695 l_component_type := 'AMB_JLT';
20696 l_component_code := 'AP_CASH_CLEARONLY_NP';
20697 l_component_type_code := 'S';
20698 l_component_appl_id := 200;
20699 l_amb_context_code := 'DEFAULT';
20700 l_entity_code := 'AP_PAYMENTS';
20701 l_event_class_code := 'RECONCILED PAYMENTS';
20702 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
20703 l_line_definition_owner_code := 'S';
20704 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
20705 --
20706 l_balance_type_code := 'A';
20707 l_segment := NULL;
20708 l_ccid := NULL;
20709 l_adr_transaction_coa_id := NULL;
20710 l_adr_accounting_coa_id := NULL;
20711 l_adr_flexfield_segment_code := NULL;
20712 l_adr_flex_value_set_id := NULL;
20713 l_adr_value_type_code := NULL;
20714 l_adr_value_combination_id := NULL;
20715 l_adr_value_segment_code := NULL;
20716
20717 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
20718 l_bflow_class_code := ''; -- 4219869 Business Flow
20719 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
20720 l_budgetary_control_flag := 'N';
20721
20722 l_bflow_applied_to_amt_idx := NULL; -- 5132302
20723 l_bflow_applied_to_amt := NULL; -- 5132302
20724 l_entered_amt_idx := NULL; -- 4262811
20725 l_accted_amt_idx := NULL; -- 4262811
20726 l_acc_rev_flag := NULL; -- 4262811
20727 l_accrual_line_num := NULL; -- 4262811
20728 l_tmp_amt := NULL; -- 4262811
20729 --
20730
20731 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
20732 l_balance_type_code <> 'B' THEN
20733 IF NVL(p_source_97,'
20734 ') <> 'ISSUE_ISSUE' AND
20735 (NVL(p_source_47,'
20736 ') <> 'Y' OR
20737 NVL(p_source_47,'
20738 ') = 'Y' AND
20739 NVL(p_source_113,'
20740 ') <> 'Y') AND
20741 (NVL(p_source_98,'
20742 ') = 'CASH' OR
20743 NVL(p_source_98,'
20744 ') = 'BANK CHARGE' OR
20745 NVL(p_source_98,'
20746 ') = 'BANK ERROR')
20747 THEN
20748
20749 --
20750 XLA_AE_LINES_PKG.SetNewLine;
20751
20752 p_balance_type_code := l_balance_type_code;
20753 -- set the flag so later we will know whether the gain loss line needs to be created
20754
20758
20755 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
20756 p_actual_flag :='A';
20757 END IF;
20759 --
20760 -- bulk performance
20761 --
20762 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
20763 p_header_num => 0); -- 4262811
20764 --
20765 -- set accounting line options
20766 --
20767 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
20768 p_natural_side_code => 'C'
20769 , p_gain_or_loss_flag => 'N'
20770 , p_gl_transfer_mode_code => 'S'
20771 , p_acct_entry_type_code => 'A'
20772 , p_switch_side_flag => 'Y'
20773 , p_merge_duplicate_code => 'A'
20774 );
20775 --
20776 l_acc_rev_natural_side_code := 'D'; -- 4262811
20777 --
20778 --
20779 -- set accounting line type info
20780 --
20781 xla_ae_lines_pkg.SetAcctLineType
20782 (p_component_type => l_component_type
20783 ,p_event_type_code => l_event_type_code
20784 ,p_line_definition_owner_code => l_line_definition_owner_code
20785 ,p_line_definition_code => l_line_definition_code
20786 ,p_accounting_line_code => l_component_code
20787 ,p_accounting_line_type_code => l_component_type_code
20788 ,p_accounting_line_appl_id => l_component_appl_id
20789 ,p_amb_context_code => l_amb_context_code
20790 ,p_entity_code => l_entity_code
20791 ,p_event_class_code => l_event_class_code);
20792 --
20793 -- set accounting class
20794 --
20795 xla_ae_lines_pkg.SetAcctClass(
20796 p_accounting_class_code => 'CASH'
20797 , p_ae_header_id => l_ae_header_id
20798 );
20799
20800 --
20801 -- set rounding class
20802 --
20803 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
20804 'CASH';
20805
20806 --
20807 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
20808 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
20809 --
20810 -- bulk performance
20811 --
20812 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
20813
20814 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
20815 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
20816
20817 -- 4955764
20818 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
20819 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
20820
20821 -- 4458381 Public Sector Enh
20822
20823 --
20824 -- set accounting attributes for the line type
20825 --
20826 l_entered_amt_idx := 10;
20827 l_accted_amt_idx := 15;
20828 l_bflow_applied_to_amt_idx := 2; -- 5132302
20829 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
20830 l_rec_acct_attrs.array_char_value(1) := p_source_53;
20831 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
20832 l_rec_acct_attrs.array_num_value(2) := p_source_99;
20833 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
20834 l_rec_acct_attrs.array_num_value(3) := p_source_91;
20835 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
20836 l_rec_acct_attrs.array_char_value(4) := p_source_100;
20837 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
20838 l_rec_acct_attrs.array_char_value(5) := p_source_101;
20839 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
20840 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
20841 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
20842 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
20843 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
20844 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
20845 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
20846 l_rec_acct_attrs.array_char_value(9) := p_source_55;
20847 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
20848 l_rec_acct_attrs.array_num_value(10) := p_source_99;
20849 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
20850 l_rec_acct_attrs.array_char_value(11) := p_source_13;
20851 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
20852 l_rec_acct_attrs.array_date_value(12) := p_source_106;
20853 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
20854 l_rec_acct_attrs.array_num_value(13) := p_source_107;
20855 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
20856 l_rec_acct_attrs.array_char_value(14) := p_source_108;
20857 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
20858 l_rec_acct_attrs.array_num_value(15) := p_source_109;
20859 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
20860 l_rec_acct_attrs.array_char_value(16) := p_source_80;
20861 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
20862 l_rec_acct_attrs.array_num_value(17) := p_source_110;
20863 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
20867 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
20864 l_rec_acct_attrs.array_num_value(18) := p_source_111;
20865 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
20866 l_rec_acct_attrs.array_char_value(19) := p_source_83;
20868 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
20869 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
20870 l_rec_acct_attrs.array_char_value(21) := p_source_55;
20871 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
20872 l_rec_acct_attrs.array_num_value(22) := p_source_86;
20873 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
20874 l_rec_acct_attrs.array_num_value(23) := p_source_86;
20875 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
20876 l_rec_acct_attrs.array_num_value(24) := p_source_88;
20877
20878 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
20879 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
20880
20881 ---------------------------------------------------------------------------------------------------------------
20882 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20883 ---------------------------------------------------------------------------------------------------------------
20884 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
20885
20886 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20887 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20888
20889 IF xla_accounting_cache_pkg.GetValueChar
20890 (p_source_code => 'LEDGER_CATEGORY_CODE'
20891 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
20892 AND l_bflow_method_code = 'PRIOR_ENTRY'
20893 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
20894 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
20895 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
20896 )
20897 THEN
20898 xla_ae_lines_pkg.BflowUpgEntry
20899 (p_business_method_code => l_bflow_method_code
20900 ,p_business_class_code => l_bflow_class_code
20901 ,p_balance_type => l_balance_type_code);
20902 ELSE
20903 NULL;
20904 -- No business flow processing for business flow method of NONE.
20905 END IF;
20906
20907 --
20908 -- call analytical criteria
20909 --
20910
20911 --
20912 -- call description
20913 --
20914 -- No description or it is inherited.
20915 --
20916 -- call ADRs
20917 -- Bug 4922099
20918 --
20919 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
20920 (NVL(l_actual_upg_option, 'N') = 'O') OR
20921 (NVL(l_enc_upg_option, 'N') = 'O')
20922 )
20923 THEN
20924 NULL;
20925 --
20926 --
20927
20928 l_ccid := AcctDerRule_28(
20929 p_application_id => p_application_id
20930 , p_ae_header_id => l_ae_header_id
20931 , p_source_17 => p_source_17
20932 , x_transaction_coa_id => l_adr_transaction_coa_id
20933 , x_accounting_coa_id => l_adr_accounting_coa_id
20934 , x_value_type_code => l_adr_value_type_code
20935 , p_side => 'NA'
20936 );
20937
20938 xla_ae_lines_pkg.set_ccid(
20939 p_code_combination_id => l_ccid
20940 , p_value_type_code => l_adr_value_type_code
20941 , p_transaction_coa_id => l_adr_transaction_coa_id
20942 , p_accounting_coa_id => l_adr_accounting_coa_id
20943 , p_adr_code => 'AP_CASH'
20944 , p_adr_type_code => 'S'
20945 , p_component_type => l_component_type
20946 , p_component_code => l_component_code
20947 , p_component_type_code => l_component_type_code
20948 , p_component_appl_id => l_component_appl_id
20949 , p_amb_context_code => l_amb_context_code
20950 , p_side => 'NA'
20951 );
20952
20953
20954 --
20955 --
20956 END IF;
20957 --
20958 -- Bug 4922099
20959 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
20960 (NVL(l_enc_upg_option, 'N') = 'O')
20961 ) AND
20962 (l_bflow_method_code = 'PRIOR_ENTRY')
20963 )
20964 THEN
20965 IF
20966 --
20967 1 = 2
20968 --
20969 THEN
20970 xla_accounting_err_pkg.build_message
20971 (p_appli_s_name => 'XLA'
20972 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
20973 ,p_token_1 => 'LINE_NUMBER'
20974 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
20975 ,p_token_2 => 'LINE_TYPE_NAME'
20976 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
20977 l_component_type
20978 ,l_component_code
20982 ,l_entity_code
20979 ,l_component_type_code
20980 ,l_component_appl_id
20981 ,l_amb_context_code
20983 ,l_event_class_code
20984 )
20985 ,p_token_3 => 'OWNER'
20986 ,p_value_3 => xla_lookups_pkg.get_meaning(
20987 p_lookup_type => 'XLA_OWNER_TYPE'
20988 ,p_lookup_code => l_component_type_code
20989 )
20990 ,p_token_4 => 'PRODUCT_NAME'
20991 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
20992 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
20993 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
20994 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
20995 ,p_ae_header_id => NULL
20996 );
20997
20998 IF (C_LEVEL_ERROR>= g_log_level) THEN
20999 trace
21000 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
21001 ,p_level => C_LEVEL_ERROR
21002 ,p_module => l_log_module);
21003 END IF;
21004 END IF;
21005 END IF;
21006 --
21007 --
21008 ------------------------------------------------------------------------------------------------
21009 -- 4219869 Business Flow
21010 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
21011 -- Prior Entry. Currently, the following code is always generated.
21012 ------------------------------------------------------------------------------------------------
21013 XLA_AE_LINES_PKG.ValidateCurrentLine;
21014
21015 ------------------------------------------------------------------------------------
21016 -- 4219869 Business Flow
21017 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
21018 ------------------------------------------------------------------------------------
21019 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
21020
21021 ----------------------------------------------------------------------------------
21022 -- 4219869 Business Flow
21023 -- Update journal entry status -- Need to generate this within IF <condition>
21024 ----------------------------------------------------------------------------------
21025 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
21026 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
21027 ,p_balance_type_code => l_balance_type_code
21028 );
21029
21030 -------------------------------------------------------------------------------------------
21031 -- 4262811 - Generate the Accrual Reversal lines
21032 -------------------------------------------------------------------------------------------
21033 BEGIN
21034 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
21035 (g_array_event(p_event_id).array_value_num('header_index'));
21036 IF l_acc_rev_flag IS NULL THEN
21037 l_acc_rev_flag := 'N';
21038 END IF;
21039 EXCEPTION
21040 WHEN OTHERS THEN
21041 l_acc_rev_flag := 'N';
21042 END;
21043 --
21044 IF (l_acc_rev_flag = 'Y') THEN
21045
21046 -- 4645092 ------------------------------------------------------------------------------
21047 -- To allow MPA report to determine if it should generate report process
21048 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
21049 ------------------------------------------------------------------------------------------
21050
21051 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
21052 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
21053 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
21054 -- call ADRs
21055 -- Bug 4922099
21056 --
21057 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
21058 (NVL(l_actual_upg_option, 'N') = 'O') OR
21059 (NVL(l_enc_upg_option, 'N') = 'O')
21060 )
21061 THEN
21062 NULL;
21063 --
21064 --
21065
21066 l_ccid := AcctDerRule_28(
21067 p_application_id => p_application_id
21068 , p_ae_header_id => l_ae_header_id
21069 , p_source_17 => p_source_17
21070 , x_transaction_coa_id => l_adr_transaction_coa_id
21071 , x_accounting_coa_id => l_adr_accounting_coa_id
21072 , x_value_type_code => l_adr_value_type_code
21073 , p_side => 'NA'
21074 );
21075
21076 xla_ae_lines_pkg.set_ccid(
21080 , p_accounting_coa_id => l_adr_accounting_coa_id
21077 p_code_combination_id => l_ccid
21078 , p_value_type_code => l_adr_value_type_code
21079 , p_transaction_coa_id => l_adr_transaction_coa_id
21081 , p_adr_code => 'AP_CASH'
21082 , p_adr_type_code => 'S'
21083 , p_component_type => l_component_type
21084 , p_component_code => l_component_code
21085 , p_component_type_code => l_component_type_code
21086 , p_component_appl_id => l_component_appl_id
21087 , p_amb_context_code => l_amb_context_code
21088 , p_side => 'NA'
21089 );
21090
21091
21092 --
21093 --
21094 END IF;
21095
21096 --
21097 -- Update the line information that should be overwritten
21098 --
21099 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
21100 p_header_num => 1);
21101 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
21102
21103 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
21104
21105 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
21106 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
21107 END IF;
21108
21109 --
21110 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
21111 --
21112 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
21113 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
21114 ELSE
21115 ---------------------------------------------------------------------------------------------------
21116 -- 4262811a Switch Sign
21117 ---------------------------------------------------------------------------------------------------
21118 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21119 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21120 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21121 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21122 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21123 -- 5132302
21124 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21125 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21126
21127 END IF;
21128
21129 -- 4955764
21130 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21131 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
21132
21133
21134 XLA_AE_LINES_PKG.ValidateCurrentLine;
21135 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
21136
21137 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
21138 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
21139 ,p_balance_type_code => l_balance_type_code);
21140
21141 END IF;
21142
21143 -----------------------------------------------------------------------------------------
21144 -- 4262811 Multiperiod Accounting
21145 -----------------------------------------------------------------------------------------
21146 -- No MPA option is assigned.
21147
21148
21149 END IF;
21150 END IF;
21151 --
21152
21153 --
21154 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
21155 trace
21156 (p_msg => 'END of AcctLineType_63'
21157 ,p_level => C_LEVEL_PROCEDURE
21158 ,p_module => l_log_module);
21159 END IF;
21160 --
21161 EXCEPTION
21162 WHEN xla_exceptions_pkg.application_exception THEN
21163 RAISE;
21164 WHEN OTHERS THEN
21165 xla_exceptions_pkg.raise_message
21166 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_63');
21167 END AcctLineType_63;
21168 --
21169
21170 ---------------------------------------
21171 --
21172 -- PRIVATE FUNCTION
21173 -- AcctLineType_64
21174 --
21175 ---------------------------------------
21176 PROCEDURE AcctLineType_64 (
21177 p_application_id IN NUMBER
21178 ,p_event_id IN NUMBER
21179 ,p_calculate_acctd_flag IN VARCHAR2
21180 ,p_calculate_g_l_flag IN VARCHAR2
21181 ,p_actual_flag IN OUT VARCHAR2
21182 ,p_balance_type_code OUT VARCHAR2
21183 ,p_gain_or_loss_ref OUT VARCHAR2
21184
21185 --Payment Currency Code
21186 , p_source_13 IN VARCHAR2
21187 --Accounting Reversal Indicator
21188 , p_source_53 IN VARCHAR2
21189 --Distribution Link Type
21190 , p_source_55 IN VARCHAR2
21191 --Override Accounted Amount Indicator
21192 , p_source_80 IN VARCHAR2
21193 , p_source_80_meaning IN VARCHAR2
21194 --Third Party Type
21195 , p_source_83 IN VARCHAR2
21196 --Invoice Distribution Tax Line Identifier
21200 --Business Flow Accounts Payable Application Identifier
21197 , p_source_86 IN NUMBER
21198 --Invoice Distribution Summary Tax Line Identifier
21199 , p_source_88 IN NUMBER
21201 , p_source_91 IN NUMBER
21202 --When to Account for Payment Option
21203 , p_source_97 IN VARCHAR2
21204 --Payment Distribution Type
21205 , p_source_98 IN VARCHAR2
21206 , p_source_98_meaning IN VARCHAR2
21207 --Payment Distribution Amount
21208 , p_source_99 IN NUMBER
21209 --Business Flow Payment Distribution Type
21210 , p_source_100 IN VARCHAR2
21211 --Business Flow Payment Entity Code
21212 , p_source_101 IN VARCHAR2
21213 --Business Flow Payment Distribution Identifier
21214 , p_source_102 IN NUMBER
21215 --Business Flow Payment Identifier
21216 , p_source_103 IN NUMBER
21217 --Payment Distribution Identifier
21218 , p_source_104 IN NUMBER
21219 --Payment Distribution Reversed Identifier
21220 , p_source_112 IN NUMBER
21221 --Payment Maturity Date
21222 , p_source_114 IN DATE
21223 --Payment Distribution (Payment Rate) Ledger Amount
21224 , p_source_115 IN NUMBER
21225 )
21226 IS
21227
21228 l_component_type VARCHAR2(80);
21229 l_component_code VARCHAR2(30);
21230 l_component_type_code VARCHAR2(1);
21231 l_component_appl_id INTEGER;
21232 l_amb_context_code VARCHAR2(30);
21233 l_entity_code VARCHAR2(30);
21234 l_event_class_code VARCHAR2(30);
21235 l_ae_header_id NUMBER;
21236 l_event_type_code VARCHAR2(30);
21237 l_line_definition_code VARCHAR2(30);
21238 l_line_definition_owner_code VARCHAR2(1);
21239 --
21240 -- adr variables
21241 l_segment VARCHAR2(30);
21242 l_ccid NUMBER;
21243 l_adr_transaction_coa_id NUMBER;
21244 l_adr_accounting_coa_id NUMBER;
21245 l_adr_flexfield_segment_code VARCHAR2(30);
21246 l_adr_flex_value_set_id NUMBER;
21247 l_adr_value_type_code VARCHAR2(30);
21248 l_adr_value_combination_id NUMBER;
21249 l_adr_value_segment_code VARCHAR2(30);
21250
21251 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
21252 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
21253 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
21254 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
21255
21256 -- 4262811 Variables ------------------------------------------------------------------------------------------
21257 l_entered_amt_idx NUMBER;
21258 l_accted_amt_idx NUMBER;
21259 l_acc_rev_flag VARCHAR2(1);
21260 l_accrual_line_num NUMBER;
21261 l_tmp_amt NUMBER;
21262 l_acc_rev_natural_side_code VARCHAR2(1);
21263
21264 l_num_entries NUMBER;
21265 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
21266 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
21267 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
21268 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
21269 l_recog_line_1 NUMBER;
21270 l_recog_line_2 NUMBER;
21271
21272 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
21273 l_bflow_applied_to_amt NUMBER; -- 5132302
21274 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
21275
21276 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
21277
21278 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
21279 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
21280
21281 ---------------------------------------------------------------------------------------------------------------
21282
21283
21284 --
21285 -- bulk performance
21286 --
21287 l_balance_type_code VARCHAR2(1);
21288 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
21289 l_log_module VARCHAR2(240);
21290
21291 --
21292 -- Upgrade strategy
21293 --
21294 l_actual_upg_option VARCHAR2(1);
21295 l_enc_upg_option VARCHAR2(1);
21296
21297 --
21298 BEGIN
21299 --
21300 IF g_log_enabled THEN
21301 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_64';
21302 END IF;
21303 --
21304 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
21305
21306 trace
21307 (p_msg => 'BEGIN of AcctLineType_64'
21308 ,p_level => C_LEVEL_PROCEDURE
21309 ,p_module => l_log_module);
21310
21311 END IF;
21312 --
21313 l_component_type := 'AMB_JLT';
21314 l_component_code := 'AP_CASH_CLEAR_CLEAR';
21315 l_component_type_code := 'S';
21316 l_component_appl_id := 200;
21317 l_amb_context_code := 'DEFAULT';
21318 l_entity_code := 'AP_PAYMENTS';
21319 l_event_class_code := 'RECONCILED PAYMENTS';
21320 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
21321 l_line_definition_owner_code := 'S';
21322 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
21323 --
21324 l_balance_type_code := 'A';
21325 l_segment := NULL;
21326 l_ccid := NULL;
21330 l_adr_flex_value_set_id := NULL;
21327 l_adr_transaction_coa_id := NULL;
21328 l_adr_accounting_coa_id := NULL;
21329 l_adr_flexfield_segment_code := NULL;
21331 l_adr_value_type_code := NULL;
21332 l_adr_value_combination_id := NULL;
21333 l_adr_value_segment_code := NULL;
21334
21335 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
21336 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
21337 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
21338 l_budgetary_control_flag := 'N';
21339
21340 l_bflow_applied_to_amt_idx := NULL; -- 5132302
21341 l_bflow_applied_to_amt := NULL; -- 5132302
21342 l_entered_amt_idx := NULL; -- 4262811
21343 l_accted_amt_idx := NULL; -- 4262811
21344 l_acc_rev_flag := NULL; -- 4262811
21345 l_accrual_line_num := NULL; -- 4262811
21346 l_tmp_amt := NULL; -- 4262811
21347 --
21348
21349 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
21350 l_balance_type_code <> 'B' THEN
21351 IF (NVL(p_source_97,'
21352 ') = 'ALWAYS_ALWAYS' OR
21353 NVL(p_source_97,'
21354 ') = 'ALWAYS_ISSUE') AND
21355 NVL(p_source_98,'
21356 ') = 'CASH' AND
21357 p_source_114 IS NULL
21358 THEN
21359
21360 --
21361 XLA_AE_LINES_PKG.SetNewLine;
21362
21363 p_balance_type_code := l_balance_type_code;
21364 -- set the flag so later we will know whether the gain loss line needs to be created
21365
21366 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
21367 p_actual_flag :='A';
21368 END IF;
21369
21370 --
21371 -- bulk performance
21372 --
21373 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
21374 p_header_num => 0); -- 4262811
21375 --
21376 -- set accounting line options
21377 --
21378 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
21379 p_natural_side_code => 'D'
21380 , p_gain_or_loss_flag => 'N'
21381 , p_gl_transfer_mode_code => 'S'
21382 , p_acct_entry_type_code => 'A'
21383 , p_switch_side_flag => 'Y'
21384 , p_merge_duplicate_code => 'A'
21385 );
21386 --
21387 l_acc_rev_natural_side_code := 'C'; -- 4262811
21388 --
21389 --
21390 -- set accounting line type info
21391 --
21392 xla_ae_lines_pkg.SetAcctLineType
21393 (p_component_type => l_component_type
21394 ,p_event_type_code => l_event_type_code
21395 ,p_line_definition_owner_code => l_line_definition_owner_code
21396 ,p_line_definition_code => l_line_definition_code
21397 ,p_accounting_line_code => l_component_code
21398 ,p_accounting_line_type_code => l_component_type_code
21399 ,p_accounting_line_appl_id => l_component_appl_id
21400 ,p_amb_context_code => l_amb_context_code
21401 ,p_entity_code => l_entity_code
21402 ,p_event_class_code => l_event_class_code);
21403 --
21404 -- set accounting class
21405 --
21406 xla_ae_lines_pkg.SetAcctClass(
21407 p_accounting_class_code => 'CASH_CLEARING'
21408 , p_ae_header_id => l_ae_header_id
21409 );
21410
21411 --
21412 -- set rounding class
21413 --
21414 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
21415 'CASH_CLEARING';
21416
21417 --
21418 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
21419 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
21420 --
21421 -- bulk performance
21422 --
21423 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
21424
21425 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
21426 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
21427
21428 -- 4955764
21429 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21430 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
21431
21432 -- 4458381 Public Sector Enh
21433
21434 --
21435 -- set accounting attributes for the line type
21436 --
21437 l_entered_amt_idx := 10;
21438 l_accted_amt_idx := 12;
21439 l_bflow_applied_to_amt_idx := 2; -- 5132302
21440 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
21441 l_rec_acct_attrs.array_char_value(1) := p_source_53;
21442 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
21443 l_rec_acct_attrs.array_num_value(2) := p_source_99;
21444 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
21445 l_rec_acct_attrs.array_num_value(3) := p_source_91;
21446 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
21447 l_rec_acct_attrs.array_char_value(4) := p_source_100;
21448 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
21452 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
21449 l_rec_acct_attrs.array_char_value(5) := p_source_101;
21450 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
21451 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
21453 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
21454 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
21455 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
21456 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
21457 l_rec_acct_attrs.array_char_value(9) := p_source_55;
21458 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
21459 l_rec_acct_attrs.array_num_value(10) := p_source_99;
21460 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
21461 l_rec_acct_attrs.array_char_value(11) := p_source_13;
21462 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
21463 l_rec_acct_attrs.array_num_value(12) := p_source_115;
21464 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
21465 l_rec_acct_attrs.array_char_value(13) := p_source_80;
21466 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
21467 l_rec_acct_attrs.array_char_value(14) := p_source_83;
21468 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
21469 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_112);
21470 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
21471 l_rec_acct_attrs.array_char_value(16) := p_source_55;
21472 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
21473 l_rec_acct_attrs.array_num_value(17) := p_source_86;
21474 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
21475 l_rec_acct_attrs.array_num_value(18) := p_source_86;
21476 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
21477 l_rec_acct_attrs.array_num_value(19) := p_source_88;
21478
21479 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
21480 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
21481
21482 ---------------------------------------------------------------------------------------------------------------
21483 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
21484 ---------------------------------------------------------------------------------------------------------------
21485 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
21486
21487 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
21488 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
21489
21490 IF xla_accounting_cache_pkg.GetValueChar
21491 (p_source_code => 'LEDGER_CATEGORY_CODE'
21492 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
21493 AND l_bflow_method_code = 'PRIOR_ENTRY'
21494 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
21495 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
21496 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
21497 )
21498 THEN
21499 xla_ae_lines_pkg.BflowUpgEntry
21500 (p_business_method_code => l_bflow_method_code
21501 ,p_business_class_code => l_bflow_class_code
21502 ,p_balance_type => l_balance_type_code);
21503 ELSE
21504 NULL;
21505 XLA_AE_LINES_PKG.business_flow_validation(
21506 p_business_method_code => l_bflow_method_code
21507 ,p_business_class_code => l_bflow_class_code
21508 ,p_inherit_description_flag => l_inherit_desc_flag);
21509 END IF;
21510
21511 --
21512 -- call analytical criteria
21513 --
21514 -- Inherited Analytical Criteria for business flow method of Prior Entry.
21515 --
21516 -- call description
21517 --
21518 -- No description or it is inherited.
21519 --
21520 -- call ADRs
21521 -- Bug 4922099
21522 --
21523 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
21524 (NVL(l_actual_upg_option, 'N') = 'O') OR
21525 (NVL(l_enc_upg_option, 'N') = 'O')
21526 )
21527 THEN
21528 NULL;
21529 --
21530 --
21531
21532 --
21533 --
21534 END IF;
21535 --
21536 -- Bug 4922099
21537 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
21538 (NVL(l_enc_upg_option, 'N') = 'O')
21539 ) AND
21540 (l_bflow_method_code = 'PRIOR_ENTRY')
21541 )
21542 THEN
21543 IF
21544 --
21545 1 = 1
21546 --
21547 THEN
21548 xla_accounting_err_pkg.build_message
21549 (p_appli_s_name => 'XLA'
21550 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
21551 ,p_token_1 => 'LINE_NUMBER'
21552 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
21553 ,p_token_2 => 'LINE_TYPE_NAME'
21554 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
21558 ,l_component_appl_id
21555 l_component_type
21556 ,l_component_code
21557 ,l_component_type_code
21559 ,l_amb_context_code
21560 ,l_entity_code
21561 ,l_event_class_code
21562 )
21563 ,p_token_3 => 'OWNER'
21564 ,p_value_3 => xla_lookups_pkg.get_meaning(
21565 p_lookup_type => 'XLA_OWNER_TYPE'
21566 ,p_lookup_code => l_component_type_code
21567 )
21568 ,p_token_4 => 'PRODUCT_NAME'
21569 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
21570 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
21571 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
21572 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
21573 ,p_ae_header_id => NULL
21574 );
21575
21576 IF (C_LEVEL_ERROR>= g_log_level) THEN
21577 trace
21578 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
21579 ,p_level => C_LEVEL_ERROR
21580 ,p_module => l_log_module);
21581 END IF;
21582 END IF;
21583 END IF;
21584 --
21585 --
21586 ------------------------------------------------------------------------------------------------
21587 -- 4219869 Business Flow
21588 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
21589 -- Prior Entry. Currently, the following code is always generated.
21590 ------------------------------------------------------------------------------------------------
21591 -- No ValidateCurrentLine for business flow method of Prior Entry
21592
21593 ------------------------------------------------------------------------------------
21594 -- 4219869 Business Flow
21595 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
21596 ------------------------------------------------------------------------------------
21597 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
21598
21599 ----------------------------------------------------------------------------------
21600 -- 4219869 Business Flow
21601 -- Update journal entry status -- Need to generate this within IF <condition>
21602 ----------------------------------------------------------------------------------
21603 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
21604 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
21605 ,p_balance_type_code => l_balance_type_code
21606 );
21607
21608 -------------------------------------------------------------------------------------------
21609 -- 4262811 - Generate the Accrual Reversal lines
21610 -------------------------------------------------------------------------------------------
21611 BEGIN
21612 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
21613 (g_array_event(p_event_id).array_value_num('header_index'));
21614 IF l_acc_rev_flag IS NULL THEN
21615 l_acc_rev_flag := 'N';
21616 END IF;
21617 EXCEPTION
21618 WHEN OTHERS THEN
21619 l_acc_rev_flag := 'N';
21620 END;
21621 --
21622 IF (l_acc_rev_flag = 'Y') THEN
21623
21624 -- 4645092 ------------------------------------------------------------------------------
21625 -- To allow MPA report to determine if it should generate report process
21626 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
21627 ------------------------------------------------------------------------------------------
21628
21629 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
21630 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
21631 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
21632 -- call ADRs
21633 -- Bug 4922099
21634 --
21635 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
21636 (NVL(l_actual_upg_option, 'N') = 'O') OR
21637 (NVL(l_enc_upg_option, 'N') = 'O')
21638 )
21639 THEN
21640 NULL;
21641 --
21642 --
21643
21644 --
21645 --
21646 END IF;
21647
21648 --
21649 -- Update the line information that should be overwritten
21650 --
21651 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
21652 p_header_num => 1);
21656
21653 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
21654
21655 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
21657 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
21658 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
21659 END IF;
21660
21661 --
21662 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
21663 --
21664 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
21665 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
21666 ELSE
21667 ---------------------------------------------------------------------------------------------------
21668 -- 4262811a Switch Sign
21669 ---------------------------------------------------------------------------------------------------
21670 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21671 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21672 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21673 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21674 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21675 -- 5132302
21676 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21677 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21678
21679 END IF;
21680
21681 -- 4955764
21682 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21683 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
21684
21685
21686 XLA_AE_LINES_PKG.ValidateCurrentLine;
21687 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
21688
21689 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
21690 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
21691 ,p_balance_type_code => l_balance_type_code);
21692
21693 END IF;
21694
21695 -----------------------------------------------------------------------------------------
21696 -- 4262811 Multiperiod Accounting
21697 -----------------------------------------------------------------------------------------
21698 -- No MPA option is assigned.
21699
21700
21701 END IF;
21702 END IF;
21703 --
21704
21705 --
21706 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
21707 trace
21708 (p_msg => 'END of AcctLineType_64'
21709 ,p_level => C_LEVEL_PROCEDURE
21710 ,p_module => l_log_module);
21711 END IF;
21712 --
21713 EXCEPTION
21714 WHEN xla_exceptions_pkg.application_exception THEN
21715 RAISE;
21716 WHEN OTHERS THEN
21717 xla_exceptions_pkg.raise_message
21718 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_64');
21719 END AcctLineType_64;
21720 --
21721
21722 ---------------------------------------
21723 --
21724 -- PRIVATE FUNCTION
21725 -- AcctLineType_65
21726 --
21727 ---------------------------------------
21728 PROCEDURE AcctLineType_65 (
21729 p_application_id IN NUMBER
21730 ,p_event_id IN NUMBER
21731 ,p_calculate_acctd_flag IN VARCHAR2
21732 ,p_calculate_g_l_flag IN VARCHAR2
21733 ,p_actual_flag IN OUT VARCHAR2
21734 ,p_balance_type_code OUT VARCHAR2
21735 ,p_gain_or_loss_ref OUT VARCHAR2
21736
21737 --Payment Currency Code
21738 , p_source_13 IN VARCHAR2
21739 --Accounting Reversal Indicator
21740 , p_source_53 IN VARCHAR2
21741 --Distribution Link Type
21742 , p_source_55 IN VARCHAR2
21743 --Override Accounted Amount Indicator
21744 , p_source_80 IN VARCHAR2
21745 , p_source_80_meaning IN VARCHAR2
21746 --Third Party Type
21747 , p_source_83 IN VARCHAR2
21748 --Invoice Distribution Tax Line Identifier
21749 , p_source_86 IN NUMBER
21750 --Invoice Distribution Summary Tax Line Identifier
21751 , p_source_88 IN NUMBER
21752 --Business Flow Accounts Payable Application Identifier
21753 , p_source_91 IN NUMBER
21754 --When to Account for Payment Option
21755 , p_source_97 IN VARCHAR2
21756 --Payment Distribution Type
21757 , p_source_98 IN VARCHAR2
21758 , p_source_98_meaning IN VARCHAR2
21759 --Payment Distribution Amount
21760 , p_source_99 IN NUMBER
21761 --Business Flow Payment Distribution Type
21762 , p_source_100 IN VARCHAR2
21763 --Business Flow Payment Entity Code
21764 , p_source_101 IN VARCHAR2
21765 --Business Flow Payment Distribution Identifier
21766 , p_source_102 IN NUMBER
21767 --Business Flow Payment Identifier
21768 , p_source_103 IN NUMBER
21769 --Payment Distribution Identifier
21770 , p_source_104 IN NUMBER
21771 --Payment Distribution Reversed Identifier
21772 , p_source_112 IN NUMBER
21773 --Payment Maturity Date
21774 , p_source_114 IN DATE
21775 --Payment Distribution (Invoice Rate) Ledger Amount
21776 , p_source_116 IN NUMBER
21777 )
21778 IS
21779
21783 l_component_appl_id INTEGER;
21780 l_component_type VARCHAR2(80);
21781 l_component_code VARCHAR2(30);
21782 l_component_type_code VARCHAR2(1);
21784 l_amb_context_code VARCHAR2(30);
21785 l_entity_code VARCHAR2(30);
21786 l_event_class_code VARCHAR2(30);
21787 l_ae_header_id NUMBER;
21788 l_event_type_code VARCHAR2(30);
21789 l_line_definition_code VARCHAR2(30);
21790 l_line_definition_owner_code VARCHAR2(1);
21791 --
21792 -- adr variables
21793 l_segment VARCHAR2(30);
21794 l_ccid NUMBER;
21795 l_adr_transaction_coa_id NUMBER;
21796 l_adr_accounting_coa_id NUMBER;
21797 l_adr_flexfield_segment_code VARCHAR2(30);
21798 l_adr_flex_value_set_id NUMBER;
21799 l_adr_value_type_code VARCHAR2(30);
21800 l_adr_value_combination_id NUMBER;
21801 l_adr_value_segment_code VARCHAR2(30);
21802
21803 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
21804 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
21805 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
21806 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
21807
21808 -- 4262811 Variables ------------------------------------------------------------------------------------------
21809 l_entered_amt_idx NUMBER;
21810 l_accted_amt_idx NUMBER;
21811 l_acc_rev_flag VARCHAR2(1);
21812 l_accrual_line_num NUMBER;
21813 l_tmp_amt NUMBER;
21814 l_acc_rev_natural_side_code VARCHAR2(1);
21815
21816 l_num_entries NUMBER;
21817 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
21818 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
21819 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
21820 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
21821 l_recog_line_1 NUMBER;
21822 l_recog_line_2 NUMBER;
21823
21824 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
21825 l_bflow_applied_to_amt NUMBER; -- 5132302
21826 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
21827
21828 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
21829
21830 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
21831 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
21832
21833 ---------------------------------------------------------------------------------------------------------------
21834
21835
21836 --
21837 -- bulk performance
21838 --
21839 l_balance_type_code VARCHAR2(1);
21840 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
21841 l_log_module VARCHAR2(240);
21842
21843 --
21844 -- Upgrade strategy
21845 --
21846 l_actual_upg_option VARCHAR2(1);
21847 l_enc_upg_option VARCHAR2(1);
21848
21849 --
21850 BEGIN
21851 --
21852 IF g_log_enabled THEN
21853 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_65';
21854 END IF;
21855 --
21856 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
21857
21858 trace
21859 (p_msg => 'BEGIN of AcctLineType_65'
21860 ,p_level => C_LEVEL_PROCEDURE
21861 ,p_module => l_log_module);
21862
21863 END IF;
21864 --
21865 l_component_type := 'AMB_JLT';
21866 l_component_code := 'AP_CASH_CLEAR_CLEAR_INVXRATE';
21867 l_component_type_code := 'S';
21868 l_component_appl_id := 200;
21869 l_amb_context_code := 'DEFAULT';
21870 l_entity_code := 'AP_PAYMENTS';
21871 l_event_class_code := 'RECONCILED PAYMENTS';
21872 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
21873 l_line_definition_owner_code := 'S';
21874 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
21875 --
21876 l_balance_type_code := 'A';
21877 l_segment := NULL;
21878 l_ccid := NULL;
21879 l_adr_transaction_coa_id := NULL;
21880 l_adr_accounting_coa_id := NULL;
21881 l_adr_flexfield_segment_code := NULL;
21882 l_adr_flex_value_set_id := NULL;
21883 l_adr_value_type_code := NULL;
21884 l_adr_value_combination_id := NULL;
21885 l_adr_value_segment_code := NULL;
21886
21887 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
21888 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
21889 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
21890 l_budgetary_control_flag := 'N';
21891
21892 l_bflow_applied_to_amt_idx := NULL; -- 5132302
21893 l_bflow_applied_to_amt := NULL; -- 5132302
21894 l_entered_amt_idx := NULL; -- 4262811
21895 l_accted_amt_idx := NULL; -- 4262811
21896 l_acc_rev_flag := NULL; -- 4262811
21897 l_accrual_line_num := NULL; -- 4262811
21898 l_tmp_amt := NULL; -- 4262811
21899 --
21900
21901 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
21902 l_balance_type_code <> 'B' THEN
21903 IF NVL(p_source_97,'
21904 ') = 'ALWAYS_CLEAR' AND
21905 NVL(p_source_98,'
21906 ') = 'CASH' AND
21907 p_source_114 IS NULL
21911 XLA_AE_LINES_PKG.SetNewLine;
21908 THEN
21909
21910 --
21912
21913 p_balance_type_code := l_balance_type_code;
21914 -- set the flag so later we will know whether the gain loss line needs to be created
21915
21916 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
21917 p_actual_flag :='A';
21918 END IF;
21919
21920 --
21921 -- bulk performance
21922 --
21923 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
21924 p_header_num => 0); -- 4262811
21925 --
21926 -- set accounting line options
21927 --
21928 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
21929 p_natural_side_code => 'D'
21930 , p_gain_or_loss_flag => 'N'
21931 , p_gl_transfer_mode_code => 'S'
21932 , p_acct_entry_type_code => 'A'
21933 , p_switch_side_flag => 'Y'
21934 , p_merge_duplicate_code => 'A'
21935 );
21936 --
21937 l_acc_rev_natural_side_code := 'C'; -- 4262811
21938 --
21939 --
21940 -- set accounting line type info
21941 --
21942 xla_ae_lines_pkg.SetAcctLineType
21943 (p_component_type => l_component_type
21944 ,p_event_type_code => l_event_type_code
21945 ,p_line_definition_owner_code => l_line_definition_owner_code
21946 ,p_line_definition_code => l_line_definition_code
21947 ,p_accounting_line_code => l_component_code
21948 ,p_accounting_line_type_code => l_component_type_code
21949 ,p_accounting_line_appl_id => l_component_appl_id
21950 ,p_amb_context_code => l_amb_context_code
21951 ,p_entity_code => l_entity_code
21952 ,p_event_class_code => l_event_class_code);
21953 --
21954 -- set accounting class
21955 --
21956 xla_ae_lines_pkg.SetAcctClass(
21957 p_accounting_class_code => 'CASH_CLEARING'
21958 , p_ae_header_id => l_ae_header_id
21959 );
21960
21961 --
21962 -- set rounding class
21963 --
21964 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
21965 'CASH_CLEARING';
21966
21967 --
21968 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
21969 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
21970 --
21971 -- bulk performance
21972 --
21973 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
21974
21975 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
21976 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
21977
21978 -- 4955764
21979 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21980 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
21981
21982 -- 4458381 Public Sector Enh
21983
21984 --
21985 -- set accounting attributes for the line type
21986 --
21987 l_entered_amt_idx := 10;
21988 l_accted_amt_idx := 12;
21989 l_bflow_applied_to_amt_idx := 2; -- 5132302
21990 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
21991 l_rec_acct_attrs.array_char_value(1) := p_source_53;
21992 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
21993 l_rec_acct_attrs.array_num_value(2) := p_source_99;
21994 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
21995 l_rec_acct_attrs.array_num_value(3) := p_source_91;
21996 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
21997 l_rec_acct_attrs.array_char_value(4) := p_source_100;
21998 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
21999 l_rec_acct_attrs.array_char_value(5) := p_source_101;
22000 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
22001 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
22002 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
22003 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
22004 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
22005 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
22006 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
22007 l_rec_acct_attrs.array_char_value(9) := p_source_55;
22008 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
22009 l_rec_acct_attrs.array_num_value(10) := p_source_99;
22010 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
22011 l_rec_acct_attrs.array_char_value(11) := p_source_13;
22012 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
22013 l_rec_acct_attrs.array_num_value(12) := p_source_116;
22014 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
22015 l_rec_acct_attrs.array_char_value(13) := p_source_80;
22016 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
22017 l_rec_acct_attrs.array_char_value(14) := p_source_83;
22018 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
22019 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_112);
22020 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
22024 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
22021 l_rec_acct_attrs.array_char_value(16) := p_source_55;
22022 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
22023 l_rec_acct_attrs.array_num_value(17) := p_source_86;
22025 l_rec_acct_attrs.array_num_value(18) := p_source_86;
22026 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
22027 l_rec_acct_attrs.array_num_value(19) := p_source_88;
22028
22029 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
22030 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
22031
22032 ---------------------------------------------------------------------------------------------------------------
22033 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
22034 ---------------------------------------------------------------------------------------------------------------
22035 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
22036
22037 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22038 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22039
22040 IF xla_accounting_cache_pkg.GetValueChar
22041 (p_source_code => 'LEDGER_CATEGORY_CODE'
22042 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
22043 AND l_bflow_method_code = 'PRIOR_ENTRY'
22044 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
22045 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
22046 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
22047 )
22048 THEN
22049 xla_ae_lines_pkg.BflowUpgEntry
22050 (p_business_method_code => l_bflow_method_code
22051 ,p_business_class_code => l_bflow_class_code
22052 ,p_balance_type => l_balance_type_code);
22053 ELSE
22054 NULL;
22055 XLA_AE_LINES_PKG.business_flow_validation(
22056 p_business_method_code => l_bflow_method_code
22057 ,p_business_class_code => l_bflow_class_code
22058 ,p_inherit_description_flag => l_inherit_desc_flag);
22059 END IF;
22060
22061 --
22062 -- call analytical criteria
22063 --
22064 -- Inherited Analytical Criteria for business flow method of Prior Entry.
22065 --
22066 -- call description
22067 --
22068 -- No description or it is inherited.
22069 --
22070 -- call ADRs
22071 -- Bug 4922099
22072 --
22073 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
22074 (NVL(l_actual_upg_option, 'N') = 'O') OR
22075 (NVL(l_enc_upg_option, 'N') = 'O')
22076 )
22077 THEN
22078 NULL;
22079 --
22080 --
22081
22082 --
22083 --
22084 END IF;
22085 --
22086 -- Bug 4922099
22087 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
22088 (NVL(l_enc_upg_option, 'N') = 'O')
22089 ) AND
22090 (l_bflow_method_code = 'PRIOR_ENTRY')
22091 )
22092 THEN
22093 IF
22094 --
22095 1 = 1
22096 --
22097 THEN
22098 xla_accounting_err_pkg.build_message
22099 (p_appli_s_name => 'XLA'
22100 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
22101 ,p_token_1 => 'LINE_NUMBER'
22102 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
22103 ,p_token_2 => 'LINE_TYPE_NAME'
22104 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
22105 l_component_type
22106 ,l_component_code
22107 ,l_component_type_code
22108 ,l_component_appl_id
22109 ,l_amb_context_code
22110 ,l_entity_code
22111 ,l_event_class_code
22112 )
22113 ,p_token_3 => 'OWNER'
22114 ,p_value_3 => xla_lookups_pkg.get_meaning(
22115 p_lookup_type => 'XLA_OWNER_TYPE'
22116 ,p_lookup_code => l_component_type_code
22117 )
22118 ,p_token_4 => 'PRODUCT_NAME'
22119 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
22120 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
22124 );
22121 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
22122 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
22123 ,p_ae_header_id => NULL
22125
22126 IF (C_LEVEL_ERROR>= g_log_level) THEN
22127 trace
22128 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
22129 ,p_level => C_LEVEL_ERROR
22130 ,p_module => l_log_module);
22131 END IF;
22132 END IF;
22133 END IF;
22134 --
22135 --
22136 ------------------------------------------------------------------------------------------------
22137 -- 4219869 Business Flow
22138 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
22139 -- Prior Entry. Currently, the following code is always generated.
22140 ------------------------------------------------------------------------------------------------
22141 -- No ValidateCurrentLine for business flow method of Prior Entry
22142
22143 ------------------------------------------------------------------------------------
22144 -- 4219869 Business Flow
22145 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
22146 ------------------------------------------------------------------------------------
22147 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22148
22149 ----------------------------------------------------------------------------------
22150 -- 4219869 Business Flow
22151 -- Update journal entry status -- Need to generate this within IF <condition>
22152 ----------------------------------------------------------------------------------
22153 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
22154 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
22155 ,p_balance_type_code => l_balance_type_code
22156 );
22157
22158 -------------------------------------------------------------------------------------------
22159 -- 4262811 - Generate the Accrual Reversal lines
22160 -------------------------------------------------------------------------------------------
22161 BEGIN
22162 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
22163 (g_array_event(p_event_id).array_value_num('header_index'));
22164 IF l_acc_rev_flag IS NULL THEN
22165 l_acc_rev_flag := 'N';
22166 END IF;
22167 EXCEPTION
22168 WHEN OTHERS THEN
22169 l_acc_rev_flag := 'N';
22170 END;
22171 --
22172 IF (l_acc_rev_flag = 'Y') THEN
22173
22174 -- 4645092 ------------------------------------------------------------------------------
22175 -- To allow MPA report to determine if it should generate report process
22176 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
22177 ------------------------------------------------------------------------------------------
22178
22179 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
22180 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
22181 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
22182 -- call ADRs
22183 -- Bug 4922099
22184 --
22185 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
22186 (NVL(l_actual_upg_option, 'N') = 'O') OR
22187 (NVL(l_enc_upg_option, 'N') = 'O')
22188 )
22189 THEN
22190 NULL;
22191 --
22192 --
22193
22194 --
22195 --
22196 END IF;
22197
22198 --
22199 -- Update the line information that should be overwritten
22200 --
22201 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
22202 p_header_num => 1);
22203 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
22204
22205 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
22206
22207 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
22208 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
22209 END IF;
22210
22211 --
22212 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
22213 --
22214 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
22215 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
22216 ELSE
22217 ---------------------------------------------------------------------------------------------------
22218 -- 4262811a Switch Sign
22219 ---------------------------------------------------------------------------------------------------
22220 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
22221 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22222 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22223 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22224 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22225 -- 5132302
22229 END IF;
22226 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
22227 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22228
22230
22231 -- 4955764
22232 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
22233 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
22234
22235
22236 XLA_AE_LINES_PKG.ValidateCurrentLine;
22237 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22238
22239 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
22240 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
22241 ,p_balance_type_code => l_balance_type_code);
22242
22243 END IF;
22244
22245 -----------------------------------------------------------------------------------------
22246 -- 4262811 Multiperiod Accounting
22247 -----------------------------------------------------------------------------------------
22248 -- No MPA option is assigned.
22249
22250
22251 END IF;
22252 END IF;
22253 --
22254
22255 --
22256 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
22257 trace
22258 (p_msg => 'END of AcctLineType_65'
22259 ,p_level => C_LEVEL_PROCEDURE
22260 ,p_module => l_log_module);
22261 END IF;
22262 --
22263 EXCEPTION
22264 WHEN xla_exceptions_pkg.application_exception THEN
22265 RAISE;
22266 WHEN OTHERS THEN
22267 xla_exceptions_pkg.raise_message
22268 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_65');
22269 END AcctLineType_65;
22270 --
22271
22272 ---------------------------------------
22273 --
22274 -- PRIVATE FUNCTION
22275 -- AcctLineType_66
22276 --
22277 ---------------------------------------
22278 PROCEDURE AcctLineType_66 (
22279 p_application_id IN NUMBER
22280 ,p_event_id IN NUMBER
22281 ,p_calculate_acctd_flag IN VARCHAR2
22282 ,p_calculate_g_l_flag IN VARCHAR2
22283 ,p_actual_flag IN OUT VARCHAR2
22284 ,p_balance_type_code OUT VARCHAR2
22285 ,p_gain_or_loss_ref OUT VARCHAR2
22286
22287 --Payment Currency Code
22288 , p_source_13 IN VARCHAR2
22289 --Automatic Offsets Value
22290 , p_source_15 IN VARCHAR2
22291 , p_source_15_meaning IN VARCHAR2
22292 --Bank Cash Clearing Account
22293 , p_source_35 IN NUMBER
22294 --Accounting Reversal Indicator
22295 , p_source_53 IN VARCHAR2
22296 --Distribution Link Type
22297 , p_source_55 IN VARCHAR2
22298 --Override Accounted Amount Indicator
22299 , p_source_80 IN VARCHAR2
22300 , p_source_80_meaning IN VARCHAR2
22301 --Third Party Type
22302 , p_source_83 IN VARCHAR2
22303 --Business Flow Accounts Payable Application Identifier
22304 , p_source_91 IN NUMBER
22305 --When to Account for Payment Option
22306 , p_source_97 IN VARCHAR2
22307 --Payment Distribution Type
22308 , p_source_98 IN VARCHAR2
22309 , p_source_98_meaning IN VARCHAR2
22310 --Payment Distribution Amount
22311 , p_source_99 IN NUMBER
22312 --Business Flow Payment Distribution Type
22313 , p_source_100 IN VARCHAR2
22314 --Business Flow Payment Entity Code
22315 , p_source_101 IN VARCHAR2
22316 --Business Flow Payment Distribution Identifier
22317 , p_source_102 IN NUMBER
22318 --Business Flow Payment Identifier
22319 , p_source_103 IN NUMBER
22320 --Payment Distribution Identifier
22321 , p_source_104 IN NUMBER
22322 --Payment Supplier Identifier
22323 , p_source_110 IN NUMBER
22324 --Payment Supplier Site Identifier
22325 , p_source_111 IN NUMBER
22326 --Payment Distribution Reversed Identifier
22327 , p_source_112 IN NUMBER
22328 --Pooled Bank Account Option
22329 , p_source_113 IN VARCHAR2
22330 , p_source_113_meaning IN VARCHAR2
22331 --Payment Maturity Date
22332 , p_source_114 IN DATE
22333 --Payment Distribution (Invoice Rate) Ledger Amount
22334 , p_source_116 IN NUMBER
22335 --Payment Exchange Date
22336 , p_source_117 IN DATE
22337 --Payment Exchange Rate
22338 , p_source_118 IN NUMBER
22339 --Payment Exchange Rate Type
22340 , p_source_119 IN VARCHAR2
22341 )
22342 IS
22343
22344 l_component_type VARCHAR2(80);
22345 l_component_code VARCHAR2(30);
22346 l_component_type_code VARCHAR2(1);
22347 l_component_appl_id INTEGER;
22348 l_amb_context_code VARCHAR2(30);
22349 l_entity_code VARCHAR2(30);
22350 l_event_class_code VARCHAR2(30);
22351 l_ae_header_id NUMBER;
22352 l_event_type_code VARCHAR2(30);
22353 l_line_definition_code VARCHAR2(30);
22354 l_line_definition_owner_code VARCHAR2(1);
22355 --
22356 -- adr variables
22357 l_segment VARCHAR2(30);
22358 l_ccid NUMBER;
22359 l_adr_transaction_coa_id NUMBER;
22360 l_adr_accounting_coa_id NUMBER;
22361 l_adr_flexfield_segment_code VARCHAR2(30);
22362 l_adr_flex_value_set_id NUMBER;
22366
22363 l_adr_value_type_code VARCHAR2(30);
22364 l_adr_value_combination_id NUMBER;
22365 l_adr_value_segment_code VARCHAR2(30);
22367 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
22368 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
22369 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
22370 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
22371
22372 -- 4262811 Variables ------------------------------------------------------------------------------------------
22373 l_entered_amt_idx NUMBER;
22374 l_accted_amt_idx NUMBER;
22375 l_acc_rev_flag VARCHAR2(1);
22376 l_accrual_line_num NUMBER;
22377 l_tmp_amt NUMBER;
22378 l_acc_rev_natural_side_code VARCHAR2(1);
22379
22380 l_num_entries NUMBER;
22381 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
22382 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
22383 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
22384 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
22385 l_recog_line_1 NUMBER;
22386 l_recog_line_2 NUMBER;
22387
22388 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
22389 l_bflow_applied_to_amt NUMBER; -- 5132302
22390 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
22391
22392 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
22393
22394 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
22395 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
22396
22397 ---------------------------------------------------------------------------------------------------------------
22398
22399
22400 --
22401 -- bulk performance
22402 --
22403 l_balance_type_code VARCHAR2(1);
22404 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
22405 l_log_module VARCHAR2(240);
22406
22407 --
22408 -- Upgrade strategy
22409 --
22410 l_actual_upg_option VARCHAR2(1);
22411 l_enc_upg_option VARCHAR2(1);
22412
22413 --
22414 BEGIN
22415 --
22416 IF g_log_enabled THEN
22417 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_66';
22418 END IF;
22419 --
22420 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
22421
22422 trace
22423 (p_msg => 'BEGIN of AcctLineType_66'
22424 ,p_level => C_LEVEL_PROCEDURE
22425 ,p_module => l_log_module);
22426
22427 END IF;
22428 --
22429 l_component_type := 'AMB_JLT';
22430 l_component_code := 'AP_CASH_CLEAR_MAT_AS_INVXRATE';
22431 l_component_type_code := 'S';
22432 l_component_appl_id := 200;
22433 l_amb_context_code := 'DEFAULT';
22434 l_entity_code := 'AP_PAYMENTS';
22435 l_event_class_code := 'FUTURE DATED PAYMENTS';
22436 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
22437 l_line_definition_owner_code := 'S';
22438 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
22439 --
22440 l_balance_type_code := 'A';
22441 l_segment := NULL;
22442 l_ccid := NULL;
22443 l_adr_transaction_coa_id := NULL;
22444 l_adr_accounting_coa_id := NULL;
22445 l_adr_flexfield_segment_code := NULL;
22446 l_adr_flex_value_set_id := NULL;
22447 l_adr_value_type_code := NULL;
22448 l_adr_value_combination_id := NULL;
22449 l_adr_value_segment_code := NULL;
22450
22451 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
22452 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
22453 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
22454 l_budgetary_control_flag := 'N';
22455
22456 l_bflow_applied_to_amt_idx := NULL; -- 5132302
22457 l_bflow_applied_to_amt := NULL; -- 5132302
22458 l_entered_amt_idx := NULL; -- 4262811
22459 l_accted_amt_idx := NULL; -- 4262811
22460 l_acc_rev_flag := NULL; -- 4262811
22461 l_accrual_line_num := NULL; -- 4262811
22462 l_tmp_amt := NULL; -- 4262811
22463 --
22464
22465 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
22466 l_balance_type_code <> 'B' THEN
22467 IF NVL(p_source_97,'
22468 ') = 'ALWAYS_CLEAR' AND
22469 (NVL(p_source_113,'
22470 ') = 'Y' AND
22471 NVL(p_source_15,'
22472 ') = 'ACCOUNT_SEGMENT_VALUE') AND
22473 p_source_114 IS NOT NULL AND
22474 NVL(p_source_98,'
22475 ') = 'CASH'
22476 THEN
22477
22478 --
22479 XLA_AE_LINES_PKG.SetNewLine;
22480
22481 p_balance_type_code := l_balance_type_code;
22482 -- set the flag so later we will know whether the gain loss line needs to be created
22483
22484 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
22485 p_actual_flag :='A';
22486 END IF;
22487
22488 --
22489 -- bulk performance
22490 --
22491 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
22495 --
22492 p_header_num => 0); -- 4262811
22493 --
22494 -- set accounting line options
22496 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
22497 p_natural_side_code => 'C'
22498 , p_gain_or_loss_flag => 'N'
22499 , p_gl_transfer_mode_code => 'S'
22500 , p_acct_entry_type_code => 'A'
22501 , p_switch_side_flag => 'Y'
22502 , p_merge_duplicate_code => 'A'
22503 );
22504 --
22505 l_acc_rev_natural_side_code := 'D'; -- 4262811
22506 --
22507 --
22508 -- set accounting line type info
22509 --
22510 xla_ae_lines_pkg.SetAcctLineType
22511 (p_component_type => l_component_type
22512 ,p_event_type_code => l_event_type_code
22513 ,p_line_definition_owner_code => l_line_definition_owner_code
22514 ,p_line_definition_code => l_line_definition_code
22515 ,p_accounting_line_code => l_component_code
22516 ,p_accounting_line_type_code => l_component_type_code
22517 ,p_accounting_line_appl_id => l_component_appl_id
22518 ,p_amb_context_code => l_amb_context_code
22519 ,p_entity_code => l_entity_code
22520 ,p_event_class_code => l_event_class_code);
22521 --
22522 -- set accounting class
22523 --
22524 xla_ae_lines_pkg.SetAcctClass(
22525 p_accounting_class_code => 'CASH_CLEARING'
22526 , p_ae_header_id => l_ae_header_id
22527 );
22528
22529 --
22530 -- set rounding class
22531 --
22532 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
22533 'CASH_CLEARING';
22534
22535 --
22536 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
22537 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
22538 --
22539 -- bulk performance
22540 --
22541 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
22542
22543 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
22544 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
22545
22546 -- 4955764
22547 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
22548 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
22549
22550 -- 4458381 Public Sector Enh
22551
22552 --
22553 -- set accounting attributes for the line type
22554 --
22555 l_entered_amt_idx := 9;
22556 l_accted_amt_idx := 14;
22557 l_bflow_applied_to_amt_idx := NULL; -- 5132302
22558 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
22559 l_rec_acct_attrs.array_char_value(1) := p_source_53;
22560 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
22561 l_rec_acct_attrs.array_num_value(2) := p_source_91;
22562 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
22563 l_rec_acct_attrs.array_char_value(3) := p_source_100;
22564 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
22565 l_rec_acct_attrs.array_char_value(4) := p_source_101;
22566 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
22567 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_102);
22568 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
22569 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_103);
22570 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
22571 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
22572 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
22573 l_rec_acct_attrs.array_char_value(8) := p_source_55;
22574 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
22575 l_rec_acct_attrs.array_num_value(9) := p_source_99;
22576 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
22577 l_rec_acct_attrs.array_char_value(10) := p_source_13;
22578 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
22579 l_rec_acct_attrs.array_date_value(11) := p_source_117;
22580 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
22581 l_rec_acct_attrs.array_num_value(12) := p_source_118;
22582 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
22583 l_rec_acct_attrs.array_char_value(13) := p_source_119;
22584 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
22585 l_rec_acct_attrs.array_num_value(14) := p_source_116;
22586 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
22587 l_rec_acct_attrs.array_char_value(15) := p_source_80;
22588 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
22589 l_rec_acct_attrs.array_num_value(16) := p_source_110;
22590 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
22591 l_rec_acct_attrs.array_num_value(17) := p_source_111;
22592 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
22593 l_rec_acct_attrs.array_char_value(18) := p_source_83;
22594 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
22598
22595 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_112);
22596 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
22597 l_rec_acct_attrs.array_char_value(20) := p_source_55;
22599 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
22600 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
22601
22602 ---------------------------------------------------------------------------------------------------------------
22603 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
22604 ---------------------------------------------------------------------------------------------------------------
22605 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
22606
22607 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22608 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22609
22610 IF xla_accounting_cache_pkg.GetValueChar
22611 (p_source_code => 'LEDGER_CATEGORY_CODE'
22612 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
22613 AND l_bflow_method_code = 'PRIOR_ENTRY'
22614 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
22615 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
22616 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
22617 )
22618 THEN
22619 xla_ae_lines_pkg.BflowUpgEntry
22620 (p_business_method_code => l_bflow_method_code
22621 ,p_business_class_code => l_bflow_class_code
22622 ,p_balance_type => l_balance_type_code);
22623 ELSE
22624 NULL;
22625 XLA_AE_LINES_PKG.business_flow_validation(
22626 p_business_method_code => l_bflow_method_code
22627 ,p_business_class_code => l_bflow_class_code
22628 ,p_inherit_description_flag => l_inherit_desc_flag);
22629 END IF;
22630
22631 --
22632 -- call analytical criteria
22633 --
22634
22635 --
22636 -- call description
22637 --
22638 -- No description or it is inherited.
22639 --
22640 -- call ADRs
22641 -- Bug 4922099
22642 --
22643 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
22644 (NVL(l_actual_upg_option, 'N') = 'O') OR
22645 (NVL(l_enc_upg_option, 'N') = 'O')
22646 )
22647 THEN
22648 NULL;
22649 --
22650 --
22651
22652 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
22653 p_code_combination_id => TO_NUMBER(C_NUM)
22654 , p_value_type_code => NULL
22655 , p_transaction_coa_id => null
22656 , p_accounting_coa_id => null
22657 , p_adr_code => NULL
22658 , p_adr_type_code => NULL
22659 , p_component_type => l_component_type
22660 , p_component_code => l_component_code
22661 , p_component_type_code => l_component_type_code
22662 , p_component_appl_id => l_component_appl_id
22663 , p_amb_context_code => l_amb_context_code
22664 , p_side => NULL
22665 );
22666
22667
22668 -- initialise segments
22669 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22670 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22671 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22672 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22673 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22674 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22675 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22676 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22677 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22678 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22679 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22680 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22681 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22682 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22683 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22684 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22685 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22686 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22687 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22688 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22689 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22690 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22691 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22692 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22696 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22693 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22694 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22695 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22697 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22698 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22699 --
22700
22701 --
22702
22703
22704 l_segment := AcctDerRule_16(
22705 p_application_id => p_application_id
22706 , p_ae_header_id => l_ae_header_id
22707 , p_source_35 => p_source_35
22708 , x_transaction_coa_id => l_adr_transaction_coa_id
22709 , x_accounting_coa_id => l_adr_accounting_coa_id
22710 , x_flexfield_segment_code => l_adr_flexfield_segment_code
22711 , x_flex_value_set_id => l_adr_flex_value_set_id
22712 , x_value_type_code => l_adr_value_type_code
22713 , x_value_combination_id => l_adr_value_combination_id
22714 , x_value_segment_code => l_adr_value_segment_code
22715 , p_side => 'NA'
22716 , p_override_seg_flag => 'Y'
22717 );
22718
22719 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
22720
22721 xla_ae_lines_pkg.set_segment(
22722 p_to_segment_code => 'GL_ACCOUNT'
22723 , p_segment_value => l_segment
22724 , p_from_segment_code => l_adr_value_segment_code
22725 , p_from_combination_id => l_adr_value_combination_id
22726 , p_value_type_code => l_adr_value_type_code
22727 , p_transaction_coa_id => l_adr_transaction_coa_id
22728 , p_accounting_coa_id => l_adr_accounting_coa_id
22729 , p_flexfield_segment_code => l_adr_flexfield_segment_code
22730 , p_flex_value_set_id => l_adr_flex_value_set_id
22731 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
22732 , p_adr_type_code => 'S'
22733 , p_component_type => l_component_type
22734 , p_component_code => l_component_code
22735 , p_component_type_code => l_component_type_code
22736 , p_component_appl_id => l_component_appl_id
22737 , p_amb_context_code => l_amb_context_code
22738 , p_entity_code => 'AP_PAYMENTS'
22739 , p_event_class_code => 'FUTURE DATED PAYMENTS'
22740 , p_side => 'NA'
22741 );
22742
22743 END IF;
22744
22745 --
22746 --
22747 END IF;
22748 --
22749 -- Bug 4922099
22750 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
22751 (NVL(l_enc_upg_option, 'N') = 'O')
22752 ) AND
22753 (l_bflow_method_code = 'PRIOR_ENTRY')
22754 )
22755 THEN
22756 IF
22757 --
22758 1 = 2
22759 --
22760 THEN
22761 xla_accounting_err_pkg.build_message
22762 (p_appli_s_name => 'XLA'
22763 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
22764 ,p_token_1 => 'LINE_NUMBER'
22765 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
22766 ,p_token_2 => 'LINE_TYPE_NAME'
22767 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
22768 l_component_type
22769 ,l_component_code
22770 ,l_component_type_code
22771 ,l_component_appl_id
22772 ,l_amb_context_code
22773 ,l_entity_code
22774 ,l_event_class_code
22775 )
22776 ,p_token_3 => 'OWNER'
22777 ,p_value_3 => xla_lookups_pkg.get_meaning(
22778 p_lookup_type => 'XLA_OWNER_TYPE'
22779 ,p_lookup_code => l_component_type_code
22780 )
22781 ,p_token_4 => 'PRODUCT_NAME'
22782 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
22783 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
22784 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
22785 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
22786 ,p_ae_header_id => NULL
22790 trace
22787 );
22788
22789 IF (C_LEVEL_ERROR>= g_log_level) THEN
22791 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
22792 ,p_level => C_LEVEL_ERROR
22793 ,p_module => l_log_module);
22794 END IF;
22795 END IF;
22796 END IF;
22797 --
22798 --
22799 ------------------------------------------------------------------------------------------------
22800 -- 4219869 Business Flow
22801 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
22802 -- Prior Entry. Currently, the following code is always generated.
22803 ------------------------------------------------------------------------------------------------
22804 XLA_AE_LINES_PKG.ValidateCurrentLine;
22805
22806 ------------------------------------------------------------------------------------
22807 -- 4219869 Business Flow
22808 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
22809 ------------------------------------------------------------------------------------
22810 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22811
22812 ----------------------------------------------------------------------------------
22813 -- 4219869 Business Flow
22814 -- Update journal entry status -- Need to generate this within IF <condition>
22815 ----------------------------------------------------------------------------------
22816 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
22817 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
22818 ,p_balance_type_code => l_balance_type_code
22819 );
22820
22821 -------------------------------------------------------------------------------------------
22822 -- 4262811 - Generate the Accrual Reversal lines
22823 -------------------------------------------------------------------------------------------
22824 BEGIN
22825 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
22826 (g_array_event(p_event_id).array_value_num('header_index'));
22827 IF l_acc_rev_flag IS NULL THEN
22828 l_acc_rev_flag := 'N';
22829 END IF;
22830 EXCEPTION
22831 WHEN OTHERS THEN
22832 l_acc_rev_flag := 'N';
22833 END;
22834 --
22835 IF (l_acc_rev_flag = 'Y') THEN
22836
22837 -- 4645092 ------------------------------------------------------------------------------
22838 -- To allow MPA report to determine if it should generate report process
22839 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
22840 ------------------------------------------------------------------------------------------
22841
22842 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
22843 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
22844 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
22845 -- call ADRs
22846 -- Bug 4922099
22847 --
22848 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
22849 (NVL(l_actual_upg_option, 'N') = 'O') OR
22850 (NVL(l_enc_upg_option, 'N') = 'O')
22851 )
22852 THEN
22853 NULL;
22854 --
22855 --
22856
22857 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
22858 p_code_combination_id => TO_NUMBER(C_NUM)
22859 , p_value_type_code => NULL
22860 , p_transaction_coa_id => null
22861 , p_accounting_coa_id => null
22862 , p_adr_code => NULL
22863 , p_adr_type_code => NULL
22864 , p_component_type => l_component_type
22865 , p_component_code => l_component_code
22866 , p_component_type_code => l_component_type_code
22867 , p_component_appl_id => l_component_appl_id
22868 , p_amb_context_code => l_amb_context_code
22869 , p_side => NULL
22870 );
22871
22872
22873 -- initialise segments
22874 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22875 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22876 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22877 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22878 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22879 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22880 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22881 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22882 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22883 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22884 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22885 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22886 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22887 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22888 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22889 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22893 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22890 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22891 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22892 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22894 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22895 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22896 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22897 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22898 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22899 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22900 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22901 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22902 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22903 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
22904 --
22905
22906 --
22907
22908
22909 l_segment := AcctDerRule_16(
22910 p_application_id => p_application_id
22911 , p_ae_header_id => l_ae_header_id
22912 , p_source_35 => p_source_35
22913 , x_transaction_coa_id => l_adr_transaction_coa_id
22914 , x_accounting_coa_id => l_adr_accounting_coa_id
22915 , x_flexfield_segment_code => l_adr_flexfield_segment_code
22916 , x_flex_value_set_id => l_adr_flex_value_set_id
22917 , x_value_type_code => l_adr_value_type_code
22918 , x_value_combination_id => l_adr_value_combination_id
22919 , x_value_segment_code => l_adr_value_segment_code
22920 , p_side => 'NA'
22921 , p_override_seg_flag => 'Y'
22922 );
22923
22924 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
22925
22926 xla_ae_lines_pkg.set_segment(
22927 p_to_segment_code => 'GL_ACCOUNT'
22928 , p_segment_value => l_segment
22929 , p_from_segment_code => l_adr_value_segment_code
22930 , p_from_combination_id => l_adr_value_combination_id
22931 , p_value_type_code => l_adr_value_type_code
22932 , p_transaction_coa_id => l_adr_transaction_coa_id
22933 , p_accounting_coa_id => l_adr_accounting_coa_id
22934 , p_flexfield_segment_code => l_adr_flexfield_segment_code
22935 , p_flex_value_set_id => l_adr_flex_value_set_id
22936 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
22937 , p_adr_type_code => 'S'
22938 , p_component_type => l_component_type
22939 , p_component_code => l_component_code
22940 , p_component_type_code => l_component_type_code
22941 , p_component_appl_id => l_component_appl_id
22942 , p_amb_context_code => l_amb_context_code
22943 , p_entity_code => 'AP_PAYMENTS'
22944 , p_event_class_code => 'FUTURE DATED PAYMENTS'
22945 , p_side => 'NA'
22946 );
22947
22948 END IF;
22949
22950 --
22951 --
22952 END IF;
22953
22954 --
22955 -- Update the line information that should be overwritten
22956 --
22957 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
22958 p_header_num => 1);
22959 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
22960
22961 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
22962
22963 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
22964 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
22965 END IF;
22966
22967 --
22968 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
22969 --
22970 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
22971 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
22972 ELSE
22973 ---------------------------------------------------------------------------------------------------
22974 -- 4262811a Switch Sign
22975 ---------------------------------------------------------------------------------------------------
22976 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
22977 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22978 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22979 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22980 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22981 -- 5132302
22982 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
22983 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22984
22988 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
22985 END IF;
22986
22987 -- 4955764
22989 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
22990
22991
22992 XLA_AE_LINES_PKG.ValidateCurrentLine;
22993 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22994
22995 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
22996 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
22997 ,p_balance_type_code => l_balance_type_code);
22998
22999 END IF;
23000
23001 -----------------------------------------------------------------------------------------
23002 -- 4262811 Multiperiod Accounting
23003 -----------------------------------------------------------------------------------------
23004 -- No MPA option is assigned.
23005
23006
23007 END IF;
23008 END IF;
23009 --
23010
23011 --
23012 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
23013 trace
23014 (p_msg => 'END of AcctLineType_66'
23015 ,p_level => C_LEVEL_PROCEDURE
23016 ,p_module => l_log_module);
23017 END IF;
23018 --
23019 EXCEPTION
23020 WHEN xla_exceptions_pkg.application_exception THEN
23021 RAISE;
23022 WHEN OTHERS THEN
23023 xla_exceptions_pkg.raise_message
23024 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_66');
23025 END AcctLineType_66;
23026 --
23027
23028 ---------------------------------------
23029 --
23030 -- PRIVATE FUNCTION
23031 -- AcctLineType_67
23032 --
23033 ---------------------------------------
23034 PROCEDURE AcctLineType_67 (
23035 p_application_id IN NUMBER
23036 ,p_event_id IN NUMBER
23037 ,p_calculate_acctd_flag IN VARCHAR2
23038 ,p_calculate_g_l_flag IN VARCHAR2
23039 ,p_actual_flag IN OUT VARCHAR2
23040 ,p_balance_type_code OUT VARCHAR2
23041 ,p_gain_or_loss_ref OUT VARCHAR2
23042
23043 --Payment Currency Code
23044 , p_source_13 IN VARCHAR2
23045 --Automatic Offsets Value
23046 , p_source_15 IN VARCHAR2
23047 , p_source_15_meaning IN VARCHAR2
23048 --Bank Cash Clearing Account
23049 , p_source_35 IN NUMBER
23050 --Accounting Reversal Indicator
23051 , p_source_53 IN VARCHAR2
23052 --Distribution Link Type
23053 , p_source_55 IN VARCHAR2
23054 --Override Accounted Amount Indicator
23055 , p_source_80 IN VARCHAR2
23056 , p_source_80_meaning IN VARCHAR2
23057 --Third Party Type
23058 , p_source_83 IN VARCHAR2
23059 --Business Flow Accounts Payable Application Identifier
23060 , p_source_91 IN NUMBER
23061 --When to Account for Payment Option
23062 , p_source_97 IN VARCHAR2
23063 --Payment Distribution Type
23064 , p_source_98 IN VARCHAR2
23065 , p_source_98_meaning IN VARCHAR2
23066 --Payment Distribution Amount
23067 , p_source_99 IN NUMBER
23068 --Business Flow Payment Distribution Type
23069 , p_source_100 IN VARCHAR2
23070 --Business Flow Payment Entity Code
23071 , p_source_101 IN VARCHAR2
23072 --Business Flow Payment Distribution Identifier
23073 , p_source_102 IN NUMBER
23074 --Business Flow Payment Identifier
23075 , p_source_103 IN NUMBER
23076 --Payment Distribution Identifier
23077 , p_source_104 IN NUMBER
23078 --Payment Supplier Identifier
23079 , p_source_110 IN NUMBER
23080 --Payment Supplier Site Identifier
23081 , p_source_111 IN NUMBER
23082 --Payment Distribution Reversed Identifier
23083 , p_source_112 IN NUMBER
23084 --Pooled Bank Account Option
23085 , p_source_113 IN VARCHAR2
23086 , p_source_113_meaning IN VARCHAR2
23087 --Payment Maturity Date
23088 , p_source_114 IN DATE
23089 --Payment Distribution (Invoice Rate) Ledger Amount
23090 , p_source_116 IN NUMBER
23091 --Payment Exchange Date
23092 , p_source_117 IN DATE
23093 --Payment Exchange Rate
23094 , p_source_118 IN NUMBER
23095 --Payment Exchange Rate Type
23096 , p_source_119 IN VARCHAR2
23097 )
23098 IS
23099
23100 l_component_type VARCHAR2(80);
23101 l_component_code VARCHAR2(30);
23102 l_component_type_code VARCHAR2(1);
23103 l_component_appl_id INTEGER;
23104 l_amb_context_code VARCHAR2(30);
23105 l_entity_code VARCHAR2(30);
23106 l_event_class_code VARCHAR2(30);
23107 l_ae_header_id NUMBER;
23108 l_event_type_code VARCHAR2(30);
23109 l_line_definition_code VARCHAR2(30);
23110 l_line_definition_owner_code VARCHAR2(1);
23111 --
23112 -- adr variables
23113 l_segment VARCHAR2(30);
23114 l_ccid NUMBER;
23115 l_adr_transaction_coa_id NUMBER;
23116 l_adr_accounting_coa_id NUMBER;
23117 l_adr_flexfield_segment_code VARCHAR2(30);
23118 l_adr_flex_value_set_id NUMBER;
23119 l_adr_value_type_code VARCHAR2(30);
23120 l_adr_value_combination_id NUMBER;
23121 l_adr_value_segment_code VARCHAR2(30);
23122
23123 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
23127
23124 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
23125 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
23126 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
23128 -- 4262811 Variables ------------------------------------------------------------------------------------------
23129 l_entered_amt_idx NUMBER;
23130 l_accted_amt_idx NUMBER;
23131 l_acc_rev_flag VARCHAR2(1);
23132 l_accrual_line_num NUMBER;
23133 l_tmp_amt NUMBER;
23134 l_acc_rev_natural_side_code VARCHAR2(1);
23135
23136 l_num_entries NUMBER;
23137 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
23138 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
23139 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
23140 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
23141 l_recog_line_1 NUMBER;
23142 l_recog_line_2 NUMBER;
23143
23144 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
23145 l_bflow_applied_to_amt NUMBER; -- 5132302
23146 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
23147
23148 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
23149
23150 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
23151 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
23152
23153 ---------------------------------------------------------------------------------------------------------------
23154
23155
23156 --
23157 -- bulk performance
23158 --
23159 l_balance_type_code VARCHAR2(1);
23160 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
23161 l_log_module VARCHAR2(240);
23162
23163 --
23164 -- Upgrade strategy
23165 --
23166 l_actual_upg_option VARCHAR2(1);
23167 l_enc_upg_option VARCHAR2(1);
23168
23169 --
23170 BEGIN
23171 --
23172 IF g_log_enabled THEN
23173 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_67';
23174 END IF;
23175 --
23176 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
23177
23178 trace
23179 (p_msg => 'BEGIN of AcctLineType_67'
23180 ,p_level => C_LEVEL_PROCEDURE
23181 ,p_module => l_log_module);
23182
23183 END IF;
23184 --
23185 l_component_type := 'AMB_JLT';
23186 l_component_code := 'AP_CASH_CLEAR_MAT_BS_INVXRATE';
23187 l_component_type_code := 'S';
23188 l_component_appl_id := 200;
23189 l_amb_context_code := 'DEFAULT';
23190 l_entity_code := 'AP_PAYMENTS';
23191 l_event_class_code := 'FUTURE DATED PAYMENTS';
23192 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
23193 l_line_definition_owner_code := 'S';
23194 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
23195 --
23196 l_balance_type_code := 'A';
23197 l_segment := NULL;
23198 l_ccid := NULL;
23199 l_adr_transaction_coa_id := NULL;
23200 l_adr_accounting_coa_id := NULL;
23201 l_adr_flexfield_segment_code := NULL;
23202 l_adr_flex_value_set_id := NULL;
23203 l_adr_value_type_code := NULL;
23204 l_adr_value_combination_id := NULL;
23205 l_adr_value_segment_code := NULL;
23206
23207 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
23208 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
23209 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
23210 l_budgetary_control_flag := 'N';
23211
23212 l_bflow_applied_to_amt_idx := NULL; -- 5132302
23213 l_bflow_applied_to_amt := NULL; -- 5132302
23214 l_entered_amt_idx := NULL; -- 4262811
23215 l_accted_amt_idx := NULL; -- 4262811
23216 l_acc_rev_flag := NULL; -- 4262811
23217 l_accrual_line_num := NULL; -- 4262811
23218 l_tmp_amt := NULL; -- 4262811
23219 --
23220
23221 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
23222 l_balance_type_code <> 'B' THEN
23223 IF NVL(p_source_97,'
23224 ') = 'ALWAYS_CLEAR' AND
23225 (NVL(p_source_113,'
23226 ') = 'Y' AND
23227 NVL(p_source_15,'
23228 ') = 'BALANCING_SEGMENT') AND
23229 p_source_114 IS NOT NULL AND
23230 NVL(p_source_98,'
23231 ') = 'CASH'
23232 THEN
23233
23234 --
23235 XLA_AE_LINES_PKG.SetNewLine;
23236
23237 p_balance_type_code := l_balance_type_code;
23238 -- set the flag so later we will know whether the gain loss line needs to be created
23239
23240 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
23241 p_actual_flag :='A';
23242 END IF;
23243
23244 --
23245 -- bulk performance
23246 --
23247 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
23248 p_header_num => 0); -- 4262811
23249 --
23250 -- set accounting line options
23251 --
23252 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
23253 p_natural_side_code => 'C'
23257 , p_switch_side_flag => 'Y'
23254 , p_gain_or_loss_flag => 'N'
23255 , p_gl_transfer_mode_code => 'S'
23256 , p_acct_entry_type_code => 'A'
23258 , p_merge_duplicate_code => 'A'
23259 );
23260 --
23261 l_acc_rev_natural_side_code := 'D'; -- 4262811
23262 --
23263 --
23264 -- set accounting line type info
23265 --
23266 xla_ae_lines_pkg.SetAcctLineType
23267 (p_component_type => l_component_type
23268 ,p_event_type_code => l_event_type_code
23269 ,p_line_definition_owner_code => l_line_definition_owner_code
23270 ,p_line_definition_code => l_line_definition_code
23271 ,p_accounting_line_code => l_component_code
23272 ,p_accounting_line_type_code => l_component_type_code
23273 ,p_accounting_line_appl_id => l_component_appl_id
23274 ,p_amb_context_code => l_amb_context_code
23275 ,p_entity_code => l_entity_code
23276 ,p_event_class_code => l_event_class_code);
23277 --
23278 -- set accounting class
23279 --
23280 xla_ae_lines_pkg.SetAcctClass(
23281 p_accounting_class_code => 'CASH_CLEARING'
23282 , p_ae_header_id => l_ae_header_id
23283 );
23284
23285 --
23286 -- set rounding class
23287 --
23288 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
23289 'CASH_CLEARING';
23290
23291 --
23292 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
23293 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
23294 --
23295 -- bulk performance
23296 --
23297 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
23298
23299 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
23300 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
23301
23302 -- 4955764
23303 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23304 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
23305
23306 -- 4458381 Public Sector Enh
23307
23308 --
23309 -- set accounting attributes for the line type
23310 --
23311 l_entered_amt_idx := 9;
23312 l_accted_amt_idx := 14;
23313 l_bflow_applied_to_amt_idx := NULL; -- 5132302
23314 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
23315 l_rec_acct_attrs.array_char_value(1) := p_source_53;
23316 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
23317 l_rec_acct_attrs.array_num_value(2) := p_source_91;
23318 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
23319 l_rec_acct_attrs.array_char_value(3) := p_source_100;
23320 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
23321 l_rec_acct_attrs.array_char_value(4) := p_source_101;
23322 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
23323 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_102);
23324 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
23325 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_103);
23326 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
23327 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
23328 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
23329 l_rec_acct_attrs.array_char_value(8) := p_source_55;
23330 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
23331 l_rec_acct_attrs.array_num_value(9) := p_source_99;
23332 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
23333 l_rec_acct_attrs.array_char_value(10) := p_source_13;
23334 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
23335 l_rec_acct_attrs.array_date_value(11) := p_source_117;
23336 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
23337 l_rec_acct_attrs.array_num_value(12) := p_source_118;
23338 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
23339 l_rec_acct_attrs.array_char_value(13) := p_source_119;
23340 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
23341 l_rec_acct_attrs.array_num_value(14) := p_source_116;
23342 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
23343 l_rec_acct_attrs.array_char_value(15) := p_source_80;
23344 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
23345 l_rec_acct_attrs.array_num_value(16) := p_source_110;
23346 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
23347 l_rec_acct_attrs.array_num_value(17) := p_source_111;
23348 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
23349 l_rec_acct_attrs.array_char_value(18) := p_source_83;
23350 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
23351 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_112);
23352 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
23353 l_rec_acct_attrs.array_char_value(20) := p_source_55;
23354
23355 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
23356 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
23357
23361 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
23358 ---------------------------------------------------------------------------------------------------------------
23359 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
23360 ---------------------------------------------------------------------------------------------------------------
23362
23363 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23364 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23365
23366 IF xla_accounting_cache_pkg.GetValueChar
23367 (p_source_code => 'LEDGER_CATEGORY_CODE'
23368 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
23369 AND l_bflow_method_code = 'PRIOR_ENTRY'
23370 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
23371 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
23372 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
23373 )
23374 THEN
23375 xla_ae_lines_pkg.BflowUpgEntry
23376 (p_business_method_code => l_bflow_method_code
23377 ,p_business_class_code => l_bflow_class_code
23378 ,p_balance_type => l_balance_type_code);
23379 ELSE
23380 NULL;
23381 XLA_AE_LINES_PKG.business_flow_validation(
23382 p_business_method_code => l_bflow_method_code
23383 ,p_business_class_code => l_bflow_class_code
23384 ,p_inherit_description_flag => l_inherit_desc_flag);
23385 END IF;
23386
23387 --
23388 -- call analytical criteria
23389 --
23390
23391 --
23392 -- call description
23393 --
23394 -- No description or it is inherited.
23395 --
23396 -- call ADRs
23397 -- Bug 4922099
23398 --
23399 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
23400 (NVL(l_actual_upg_option, 'N') = 'O') OR
23401 (NVL(l_enc_upg_option, 'N') = 'O')
23402 )
23403 THEN
23404 NULL;
23405 --
23406 --
23407
23408 l_ccid := AcctDerRule_36(
23409 p_application_id => p_application_id
23410 , p_ae_header_id => l_ae_header_id
23411 , p_source_35 => p_source_35
23412 , x_transaction_coa_id => l_adr_transaction_coa_id
23413 , x_accounting_coa_id => l_adr_accounting_coa_id
23414 , x_value_type_code => l_adr_value_type_code
23415 , p_side => 'NA'
23416 );
23417
23418 xla_ae_lines_pkg.set_ccid(
23419 p_code_combination_id => l_ccid
23420 , p_value_type_code => l_adr_value_type_code
23421 , p_transaction_coa_id => l_adr_transaction_coa_id
23422 , p_accounting_coa_id => l_adr_accounting_coa_id
23423 , p_adr_code => 'AP_PMT_CASH_CLEAR'
23424 , p_adr_type_code => 'S'
23425 , p_component_type => l_component_type
23426 , p_component_code => l_component_code
23427 , p_component_type_code => l_component_type_code
23428 , p_component_appl_id => l_component_appl_id
23429 , p_amb_context_code => l_amb_context_code
23430 , p_side => 'NA'
23431 );
23432
23433
23434 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
23435 p_to_segment_code => 'GL_BALANCING'
23436 , p_segment_value => C_CHAR
23437 , p_from_segment_code => NULL
23438 , p_from_combination_id => NULL
23439 , p_value_type_code => NULL
23440 , p_transaction_coa_id => null
23441 , p_accounting_coa_id => null
23442 , p_flexfield_segment_code => NULL
23443 , p_flex_value_set_id => NULL
23444 , p_adr_code => NULL
23445 , p_adr_type_code => NULL
23446 , p_component_type => l_component_type
23447 , p_component_code => l_component_code
23448 , p_component_type_code => l_component_type_code
23449 , p_component_appl_id => l_component_appl_id
23450 , p_amb_context_code => l_amb_context_code
23451 , p_entity_code => 'AP_PAYMENTS'
23452 , p_event_class_code => 'FUTURE DATED PAYMENTS'
23453 , p_side => 'NA'
23454 );
23455 --
23456
23457
23458 --
23459 --
23460 END IF;
23461 --
23462 -- Bug 4922099
23463 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
23464 (NVL(l_enc_upg_option, 'N') = 'O')
23465 ) AND
23466 (l_bflow_method_code = 'PRIOR_ENTRY')
23467 )
23468 THEN
23469 IF
23470 --
23471 1 = 2
23472 --
23473 THEN
23474 xla_accounting_err_pkg.build_message
23475 (p_appli_s_name => 'XLA'
23476 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
23477 ,p_token_1 => 'LINE_NUMBER'
23478 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
23479 ,p_token_2 => 'LINE_TYPE_NAME'
23483 ,l_component_type_code
23480 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
23481 l_component_type
23482 ,l_component_code
23484 ,l_component_appl_id
23485 ,l_amb_context_code
23486 ,l_entity_code
23487 ,l_event_class_code
23488 )
23489 ,p_token_3 => 'OWNER'
23490 ,p_value_3 => xla_lookups_pkg.get_meaning(
23491 p_lookup_type => 'XLA_OWNER_TYPE'
23492 ,p_lookup_code => l_component_type_code
23493 )
23494 ,p_token_4 => 'PRODUCT_NAME'
23495 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
23496 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
23497 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
23498 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
23499 ,p_ae_header_id => NULL
23500 );
23501
23502 IF (C_LEVEL_ERROR>= g_log_level) THEN
23503 trace
23504 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
23505 ,p_level => C_LEVEL_ERROR
23506 ,p_module => l_log_module);
23507 END IF;
23508 END IF;
23509 END IF;
23510 --
23511 --
23512 ------------------------------------------------------------------------------------------------
23513 -- 4219869 Business Flow
23514 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
23515 -- Prior Entry. Currently, the following code is always generated.
23516 ------------------------------------------------------------------------------------------------
23517 XLA_AE_LINES_PKG.ValidateCurrentLine;
23518
23519 ------------------------------------------------------------------------------------
23520 -- 4219869 Business Flow
23521 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
23522 ------------------------------------------------------------------------------------
23523 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
23524
23525 ----------------------------------------------------------------------------------
23526 -- 4219869 Business Flow
23527 -- Update journal entry status -- Need to generate this within IF <condition>
23528 ----------------------------------------------------------------------------------
23529 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
23530 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
23531 ,p_balance_type_code => l_balance_type_code
23532 );
23533
23534 -------------------------------------------------------------------------------------------
23535 -- 4262811 - Generate the Accrual Reversal lines
23536 -------------------------------------------------------------------------------------------
23537 BEGIN
23538 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
23539 (g_array_event(p_event_id).array_value_num('header_index'));
23540 IF l_acc_rev_flag IS NULL THEN
23541 l_acc_rev_flag := 'N';
23542 END IF;
23543 EXCEPTION
23544 WHEN OTHERS THEN
23545 l_acc_rev_flag := 'N';
23546 END;
23547 --
23548 IF (l_acc_rev_flag = 'Y') THEN
23549
23550 -- 4645092 ------------------------------------------------------------------------------
23551 -- To allow MPA report to determine if it should generate report process
23552 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
23553 ------------------------------------------------------------------------------------------
23554
23555 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
23556 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
23557 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
23558 -- call ADRs
23559 -- Bug 4922099
23560 --
23561 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
23562 (NVL(l_actual_upg_option, 'N') = 'O') OR
23563 (NVL(l_enc_upg_option, 'N') = 'O')
23564 )
23565 THEN
23566 NULL;
23567 --
23568 --
23569
23570 l_ccid := AcctDerRule_36(
23571 p_application_id => p_application_id
23572 , p_ae_header_id => l_ae_header_id
23573 , p_source_35 => p_source_35
23574 , x_transaction_coa_id => l_adr_transaction_coa_id
23578 );
23575 , x_accounting_coa_id => l_adr_accounting_coa_id
23576 , x_value_type_code => l_adr_value_type_code
23577 , p_side => 'NA'
23579
23580 xla_ae_lines_pkg.set_ccid(
23581 p_code_combination_id => l_ccid
23582 , p_value_type_code => l_adr_value_type_code
23583 , p_transaction_coa_id => l_adr_transaction_coa_id
23584 , p_accounting_coa_id => l_adr_accounting_coa_id
23585 , p_adr_code => 'AP_PMT_CASH_CLEAR'
23586 , p_adr_type_code => 'S'
23587 , p_component_type => l_component_type
23588 , p_component_code => l_component_code
23589 , p_component_type_code => l_component_type_code
23590 , p_component_appl_id => l_component_appl_id
23591 , p_amb_context_code => l_amb_context_code
23592 , p_side => 'NA'
23593 );
23594
23595
23596 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
23597 p_to_segment_code => 'GL_BALANCING'
23598 , p_segment_value => C_CHAR
23599 , p_from_segment_code => NULL
23600 , p_from_combination_id => NULL
23601 , p_value_type_code => NULL
23602 , p_transaction_coa_id => null
23603 , p_accounting_coa_id => null
23604 , p_flexfield_segment_code => NULL
23605 , p_flex_value_set_id => NULL
23606 , p_adr_code => NULL
23607 , p_adr_type_code => NULL
23608 , p_component_type => l_component_type
23609 , p_component_code => l_component_code
23610 , p_component_type_code => l_component_type_code
23611 , p_component_appl_id => l_component_appl_id
23612 , p_amb_context_code => l_amb_context_code
23613 , p_entity_code => 'AP_PAYMENTS'
23614 , p_event_class_code => 'FUTURE DATED PAYMENTS'
23615 , p_side => 'NA'
23616 );
23617 --
23618
23619
23620 --
23621 --
23622 END IF;
23623
23624 --
23625 -- Update the line information that should be overwritten
23626 --
23627 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
23628 p_header_num => 1);
23629 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
23630
23631 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
23632
23633 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
23634 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
23635 END IF;
23636
23637 --
23638 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
23639 --
23640 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
23641 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
23642 ELSE
23643 ---------------------------------------------------------------------------------------------------
23644 -- 4262811a Switch Sign
23645 ---------------------------------------------------------------------------------------------------
23646 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
23647 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23648 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23649 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23650 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23651 -- 5132302
23652 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
23653 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23654
23655 END IF;
23656
23657 -- 4955764
23658 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23659 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
23660
23661
23662 XLA_AE_LINES_PKG.ValidateCurrentLine;
23663 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
23664
23665 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
23666 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
23667 ,p_balance_type_code => l_balance_type_code);
23668
23669 END IF;
23670
23671 -----------------------------------------------------------------------------------------
23672 -- 4262811 Multiperiod Accounting
23673 -----------------------------------------------------------------------------------------
23674 -- No MPA option is assigned.
23675
23676
23677 END IF;
23678 END IF;
23679 --
23680
23681 --
23682 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
23683 trace
23684 (p_msg => 'END of AcctLineType_67'
23685 ,p_level => C_LEVEL_PROCEDURE
23686 ,p_module => l_log_module);
23687 END IF;
23688 --
23689 EXCEPTION
23690 WHEN xla_exceptions_pkg.application_exception THEN
23694 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_67');
23691 RAISE;
23692 WHEN OTHERS THEN
23693 xla_exceptions_pkg.raise_message
23695 END AcctLineType_67;
23696 --
23697
23698 ---------------------------------------
23699 --
23700 -- PRIVATE FUNCTION
23701 -- AcctLineType_68
23702 --
23703 ---------------------------------------
23704 PROCEDURE AcctLineType_68 (
23705 p_application_id IN NUMBER
23706 ,p_event_id IN NUMBER
23707 ,p_calculate_acctd_flag IN VARCHAR2
23708 ,p_calculate_g_l_flag IN VARCHAR2
23709 ,p_actual_flag IN OUT VARCHAR2
23710 ,p_balance_type_code OUT VARCHAR2
23711 ,p_gain_or_loss_ref OUT VARCHAR2
23712
23713 --Payment Currency Code
23714 , p_source_13 IN VARCHAR2
23715 --Accounting Reversal Indicator
23716 , p_source_53 IN VARCHAR2
23717 --Distribution Link Type
23718 , p_source_55 IN VARCHAR2
23719 --Override Accounted Amount Indicator
23720 , p_source_80 IN VARCHAR2
23721 , p_source_80_meaning IN VARCHAR2
23722 --Third Party Type
23723 , p_source_83 IN VARCHAR2
23724 --Invoice Distribution Tax Line Identifier
23725 , p_source_86 IN NUMBER
23726 --Invoice Distribution Summary Tax Line Identifier
23727 , p_source_88 IN NUMBER
23728 --Business Flow Accounts Payable Application Identifier
23729 , p_source_91 IN NUMBER
23730 --When to Account for Payment Option
23731 , p_source_97 IN VARCHAR2
23732 --Payment Distribution Type
23733 , p_source_98 IN VARCHAR2
23734 , p_source_98_meaning IN VARCHAR2
23735 --Payment Distribution Amount
23736 , p_source_99 IN NUMBER
23737 --Business Flow Payment Distribution Type
23738 , p_source_100 IN VARCHAR2
23739 --Business Flow Payment Entity Code
23740 , p_source_101 IN VARCHAR2
23741 --Business Flow Payment Identifier
23742 , p_source_103 IN NUMBER
23743 --Payment Distribution Identifier
23744 , p_source_104 IN NUMBER
23745 --Payment Distribution Reversed Identifier
23746 , p_source_112 IN NUMBER
23747 --Payment Maturity Date
23748 , p_source_114 IN DATE
23749 --Business Flow Payment Maturity Identifier
23750 , p_source_120 IN NUMBER
23751 --Payment Distribution (Matured Rate) Ledger Amount
23752 , p_source_121 IN NUMBER
23753 )
23754 IS
23755
23756 l_component_type VARCHAR2(80);
23757 l_component_code VARCHAR2(30);
23758 l_component_type_code VARCHAR2(1);
23759 l_component_appl_id INTEGER;
23760 l_amb_context_code VARCHAR2(30);
23761 l_entity_code VARCHAR2(30);
23762 l_event_class_code VARCHAR2(30);
23763 l_ae_header_id NUMBER;
23764 l_event_type_code VARCHAR2(30);
23765 l_line_definition_code VARCHAR2(30);
23766 l_line_definition_owner_code VARCHAR2(1);
23767 --
23768 -- adr variables
23769 l_segment VARCHAR2(30);
23770 l_ccid NUMBER;
23771 l_adr_transaction_coa_id NUMBER;
23772 l_adr_accounting_coa_id NUMBER;
23773 l_adr_flexfield_segment_code VARCHAR2(30);
23774 l_adr_flex_value_set_id NUMBER;
23775 l_adr_value_type_code VARCHAR2(30);
23776 l_adr_value_combination_id NUMBER;
23777 l_adr_value_segment_code VARCHAR2(30);
23778
23779 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
23780 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
23781 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
23782 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
23783
23784 -- 4262811 Variables ------------------------------------------------------------------------------------------
23785 l_entered_amt_idx NUMBER;
23786 l_accted_amt_idx NUMBER;
23787 l_acc_rev_flag VARCHAR2(1);
23788 l_accrual_line_num NUMBER;
23789 l_tmp_amt NUMBER;
23790 l_acc_rev_natural_side_code VARCHAR2(1);
23791
23792 l_num_entries NUMBER;
23793 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
23794 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
23795 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
23796 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
23797 l_recog_line_1 NUMBER;
23798 l_recog_line_2 NUMBER;
23799
23800 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
23801 l_bflow_applied_to_amt NUMBER; -- 5132302
23802 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
23803
23804 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
23805
23806 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
23807 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
23808
23809 ---------------------------------------------------------------------------------------------------------------
23810
23811
23812 --
23813 -- bulk performance
23814 --
23815 l_balance_type_code VARCHAR2(1);
23816 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
23817 l_log_module VARCHAR2(240);
23818
23819 --
23823 l_enc_upg_option VARCHAR2(1);
23820 -- Upgrade strategy
23821 --
23822 l_actual_upg_option VARCHAR2(1);
23824
23825 --
23826 BEGIN
23827 --
23828 IF g_log_enabled THEN
23829 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_68';
23830 END IF;
23831 --
23832 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
23833
23834 trace
23835 (p_msg => 'BEGIN of AcctLineType_68'
23836 ,p_level => C_LEVEL_PROCEDURE
23837 ,p_module => l_log_module);
23838
23839 END IF;
23840 --
23841 l_component_type := 'AMB_JLT';
23842 l_component_code := 'AP_CASH_CLEAR_MAT_CLEAR';
23843 l_component_type_code := 'S';
23844 l_component_appl_id := 200;
23845 l_amb_context_code := 'DEFAULT';
23846 l_entity_code := 'AP_PAYMENTS';
23847 l_event_class_code := 'RECONCILED PAYMENTS';
23848 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
23849 l_line_definition_owner_code := 'S';
23850 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
23851 --
23852 l_balance_type_code := 'A';
23853 l_segment := NULL;
23854 l_ccid := NULL;
23855 l_adr_transaction_coa_id := NULL;
23856 l_adr_accounting_coa_id := NULL;
23857 l_adr_flexfield_segment_code := NULL;
23858 l_adr_flex_value_set_id := NULL;
23859 l_adr_value_type_code := NULL;
23860 l_adr_value_combination_id := NULL;
23861 l_adr_value_segment_code := NULL;
23862
23863 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
23864 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
23865 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
23866 l_budgetary_control_flag := 'N';
23867
23868 l_bflow_applied_to_amt_idx := NULL; -- 5132302
23869 l_bflow_applied_to_amt := NULL; -- 5132302
23870 l_entered_amt_idx := NULL; -- 4262811
23871 l_accted_amt_idx := NULL; -- 4262811
23872 l_acc_rev_flag := NULL; -- 4262811
23873 l_accrual_line_num := NULL; -- 4262811
23874 l_tmp_amt := NULL; -- 4262811
23875 --
23876
23877 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
23878 l_balance_type_code <> 'B' THEN
23879 IF (NVL(p_source_97,'
23880 ') = 'ALWAYS_ALWAYS' OR
23881 NVL(p_source_97,'
23882 ') = 'ALWAYS_CLEAR' OR
23883 NVL(p_source_97,'
23884 ') = 'ALWAYS_ISSUE') AND
23885 NVL(p_source_98,'
23886 ') = 'CASH' AND
23887 p_source_114 IS NOT NULL
23888 THEN
23889
23890 --
23891 XLA_AE_LINES_PKG.SetNewLine;
23892
23893 p_balance_type_code := l_balance_type_code;
23894 -- set the flag so later we will know whether the gain loss line needs to be created
23895
23896 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
23897 p_actual_flag :='A';
23898 END IF;
23899
23900 --
23901 -- bulk performance
23902 --
23903 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
23904 p_header_num => 0); -- 4262811
23905 --
23906 -- set accounting line options
23907 --
23908 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
23909 p_natural_side_code => 'D'
23910 , p_gain_or_loss_flag => 'N'
23911 , p_gl_transfer_mode_code => 'S'
23912 , p_acct_entry_type_code => 'A'
23913 , p_switch_side_flag => 'Y'
23914 , p_merge_duplicate_code => 'A'
23915 );
23916 --
23917 l_acc_rev_natural_side_code := 'C'; -- 4262811
23918 --
23919 --
23920 -- set accounting line type info
23921 --
23922 xla_ae_lines_pkg.SetAcctLineType
23923 (p_component_type => l_component_type
23924 ,p_event_type_code => l_event_type_code
23925 ,p_line_definition_owner_code => l_line_definition_owner_code
23926 ,p_line_definition_code => l_line_definition_code
23927 ,p_accounting_line_code => l_component_code
23928 ,p_accounting_line_type_code => l_component_type_code
23929 ,p_accounting_line_appl_id => l_component_appl_id
23930 ,p_amb_context_code => l_amb_context_code
23931 ,p_entity_code => l_entity_code
23932 ,p_event_class_code => l_event_class_code);
23933 --
23934 -- set accounting class
23935 --
23936 xla_ae_lines_pkg.SetAcctClass(
23937 p_accounting_class_code => 'CASH_CLEARING'
23938 , p_ae_header_id => l_ae_header_id
23939 );
23940
23941 --
23942 -- set rounding class
23943 --
23944 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
23945 'CASH_CLEARING';
23946
23947 --
23948 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
23949 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
23950 --
23951 -- bulk performance
23952 --
23953 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
23954
23958 -- 4955764
23955 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
23956 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
23957
23959 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23960 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
23961
23962 -- 4458381 Public Sector Enh
23963
23964 --
23965 -- set accounting attributes for the line type
23966 --
23967 l_entered_amt_idx := 10;
23968 l_accted_amt_idx := 12;
23969 l_bflow_applied_to_amt_idx := 2; -- 5132302
23970 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
23971 l_rec_acct_attrs.array_char_value(1) := p_source_53;
23972 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
23973 l_rec_acct_attrs.array_num_value(2) := p_source_99;
23974 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
23975 l_rec_acct_attrs.array_num_value(3) := p_source_91;
23976 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
23977 l_rec_acct_attrs.array_char_value(4) := p_source_100;
23978 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
23979 l_rec_acct_attrs.array_char_value(5) := p_source_101;
23980 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
23981 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_120);
23982 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
23983 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
23984 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
23985 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
23986 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
23987 l_rec_acct_attrs.array_char_value(9) := p_source_55;
23988 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
23989 l_rec_acct_attrs.array_num_value(10) := p_source_99;
23990 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
23991 l_rec_acct_attrs.array_char_value(11) := p_source_13;
23992 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
23993 l_rec_acct_attrs.array_num_value(12) := p_source_121;
23994 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
23995 l_rec_acct_attrs.array_char_value(13) := p_source_80;
23996 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
23997 l_rec_acct_attrs.array_char_value(14) := p_source_83;
23998 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
23999 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_112);
24000 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
24001 l_rec_acct_attrs.array_char_value(16) := p_source_55;
24002 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
24003 l_rec_acct_attrs.array_num_value(17) := p_source_86;
24004 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
24005 l_rec_acct_attrs.array_num_value(18) := p_source_86;
24006 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
24007 l_rec_acct_attrs.array_num_value(19) := p_source_88;
24008
24009 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
24010 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
24011
24012 ---------------------------------------------------------------------------------------------------------------
24013 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
24014 ---------------------------------------------------------------------------------------------------------------
24015 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
24016
24017 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24018 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24019
24020 IF xla_accounting_cache_pkg.GetValueChar
24021 (p_source_code => 'LEDGER_CATEGORY_CODE'
24022 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
24023 AND l_bflow_method_code = 'PRIOR_ENTRY'
24024 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
24025 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
24026 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
24027 )
24028 THEN
24029 xla_ae_lines_pkg.BflowUpgEntry
24030 (p_business_method_code => l_bflow_method_code
24031 ,p_business_class_code => l_bflow_class_code
24032 ,p_balance_type => l_balance_type_code);
24033 ELSE
24034 NULL;
24035 XLA_AE_LINES_PKG.business_flow_validation(
24036 p_business_method_code => l_bflow_method_code
24037 ,p_business_class_code => l_bflow_class_code
24038 ,p_inherit_description_flag => l_inherit_desc_flag);
24039 END IF;
24040
24041 --
24042 -- call analytical criteria
24043 --
24044 -- Inherited Analytical Criteria for business flow method of Prior Entry.
24045 --
24046 -- call description
24047 --
24048 -- No description or it is inherited.
24049 --
24050 -- call ADRs
24051 -- Bug 4922099
24052 --
24053 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
24057 THEN
24054 (NVL(l_actual_upg_option, 'N') = 'O') OR
24055 (NVL(l_enc_upg_option, 'N') = 'O')
24056 )
24058 NULL;
24059 --
24060 --
24061
24062 --
24063 --
24064 END IF;
24065 --
24066 -- Bug 4922099
24067 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
24068 (NVL(l_enc_upg_option, 'N') = 'O')
24069 ) AND
24070 (l_bflow_method_code = 'PRIOR_ENTRY')
24071 )
24072 THEN
24073 IF
24074 --
24075 1 = 1
24076 --
24077 THEN
24078 xla_accounting_err_pkg.build_message
24079 (p_appli_s_name => 'XLA'
24080 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
24081 ,p_token_1 => 'LINE_NUMBER'
24082 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
24083 ,p_token_2 => 'LINE_TYPE_NAME'
24084 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
24085 l_component_type
24086 ,l_component_code
24087 ,l_component_type_code
24088 ,l_component_appl_id
24089 ,l_amb_context_code
24090 ,l_entity_code
24091 ,l_event_class_code
24092 )
24093 ,p_token_3 => 'OWNER'
24094 ,p_value_3 => xla_lookups_pkg.get_meaning(
24095 p_lookup_type => 'XLA_OWNER_TYPE'
24096 ,p_lookup_code => l_component_type_code
24097 )
24098 ,p_token_4 => 'PRODUCT_NAME'
24099 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
24100 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
24101 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
24102 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
24103 ,p_ae_header_id => NULL
24104 );
24105
24106 IF (C_LEVEL_ERROR>= g_log_level) THEN
24107 trace
24108 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
24109 ,p_level => C_LEVEL_ERROR
24110 ,p_module => l_log_module);
24111 END IF;
24112 END IF;
24113 END IF;
24114 --
24115 --
24116 ------------------------------------------------------------------------------------------------
24117 -- 4219869 Business Flow
24118 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
24119 -- Prior Entry. Currently, the following code is always generated.
24120 ------------------------------------------------------------------------------------------------
24121 -- No ValidateCurrentLine for business flow method of Prior Entry
24122
24123 ------------------------------------------------------------------------------------
24124 -- 4219869 Business Flow
24125 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
24126 ------------------------------------------------------------------------------------
24127 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
24128
24129 ----------------------------------------------------------------------------------
24130 -- 4219869 Business Flow
24131 -- Update journal entry status -- Need to generate this within IF <condition>
24132 ----------------------------------------------------------------------------------
24133 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
24134 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
24135 ,p_balance_type_code => l_balance_type_code
24136 );
24137
24138 -------------------------------------------------------------------------------------------
24139 -- 4262811 - Generate the Accrual Reversal lines
24140 -------------------------------------------------------------------------------------------
24141 BEGIN
24142 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
24143 (g_array_event(p_event_id).array_value_num('header_index'));
24144 IF l_acc_rev_flag IS NULL THEN
24145 l_acc_rev_flag := 'N';
24146 END IF;
24147 EXCEPTION
24148 WHEN OTHERS THEN
24149 l_acc_rev_flag := 'N';
24150 END;
24151 --
24152 IF (l_acc_rev_flag = 'Y') THEN
24153
24157 ------------------------------------------------------------------------------------------
24154 -- 4645092 ------------------------------------------------------------------------------
24155 -- To allow MPA report to determine if it should generate report process
24156 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
24158
24159 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
24160 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
24161 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
24162 -- call ADRs
24163 -- Bug 4922099
24164 --
24165 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
24166 (NVL(l_actual_upg_option, 'N') = 'O') OR
24167 (NVL(l_enc_upg_option, 'N') = 'O')
24168 )
24169 THEN
24170 NULL;
24171 --
24172 --
24173
24174 --
24175 --
24176 END IF;
24177
24178 --
24179 -- Update the line information that should be overwritten
24180 --
24181 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
24182 p_header_num => 1);
24183 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
24184
24185 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
24186
24187 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
24188 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
24189 END IF;
24190
24191 --
24192 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
24193 --
24194 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
24195 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
24196 ELSE
24197 ---------------------------------------------------------------------------------------------------
24198 -- 4262811a Switch Sign
24199 ---------------------------------------------------------------------------------------------------
24200 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
24201 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24202 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24203 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24204 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24205 -- 5132302
24206 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
24207 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24208
24209 END IF;
24210
24211 -- 4955764
24212 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
24213 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
24214
24215
24216 XLA_AE_LINES_PKG.ValidateCurrentLine;
24217 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
24218
24219 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
24220 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
24221 ,p_balance_type_code => l_balance_type_code);
24222
24223 END IF;
24224
24225 -----------------------------------------------------------------------------------------
24226 -- 4262811 Multiperiod Accounting
24227 -----------------------------------------------------------------------------------------
24228 -- No MPA option is assigned.
24229
24230
24231 END IF;
24232 END IF;
24233 --
24234
24235 --
24236 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
24237 trace
24238 (p_msg => 'END of AcctLineType_68'
24239 ,p_level => C_LEVEL_PROCEDURE
24240 ,p_module => l_log_module);
24241 END IF;
24242 --
24243 EXCEPTION
24244 WHEN xla_exceptions_pkg.application_exception THEN
24245 RAISE;
24246 WHEN OTHERS THEN
24247 xla_exceptions_pkg.raise_message
24248 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_68');
24249 END AcctLineType_68;
24250 --
24251
24252 ---------------------------------------
24253 --
24254 -- PRIVATE FUNCTION
24255 -- AcctLineType_69
24256 --
24257 ---------------------------------------
24258 PROCEDURE AcctLineType_69 (
24259 p_application_id IN NUMBER
24260 ,p_event_id IN NUMBER
24261 ,p_calculate_acctd_flag IN VARCHAR2
24262 ,p_calculate_g_l_flag IN VARCHAR2
24263 ,p_actual_flag IN OUT VARCHAR2
24264 ,p_balance_type_code OUT VARCHAR2
24265 ,p_gain_or_loss_ref OUT VARCHAR2
24266
24267 --Payment Currency Code
24268 , p_source_13 IN VARCHAR2
24269 --Bank Cash Clearing Account
24270 , p_source_35 IN NUMBER
24271 --Automatic Offsets Flag
24272 , p_source_47 IN VARCHAR2
24273 , p_source_47_meaning IN VARCHAR2
24274 --Accounting Reversal Indicator
24275 , p_source_53 IN VARCHAR2
24279 , p_source_80 IN VARCHAR2
24276 --Distribution Link Type
24277 , p_source_55 IN VARCHAR2
24278 --Override Accounted Amount Indicator
24280 , p_source_80_meaning IN VARCHAR2
24281 --Third Party Type
24282 , p_source_83 IN VARCHAR2
24283 --Invoice Distribution Tax Line Identifier
24284 , p_source_86 IN NUMBER
24285 --Invoice Distribution Tax Distribution Identifier from Tax
24286 , p_source_87 IN NUMBER
24287 --Invoice Distribution Summary Tax Line Identifier
24288 , p_source_88 IN NUMBER
24289 --Business Flow Accounts Payable Application Identifier
24290 , p_source_91 IN NUMBER
24291 --Business Flow Invoice Distribution Type
24292 , p_source_92 IN VARCHAR2
24293 --Business Flow Invoice Entity Code
24294 , p_source_93 IN VARCHAR2
24295 --Business Flow Invoice Distribution Identifier
24296 , p_source_94 IN NUMBER
24297 --Business Flow Invoice Identifier
24298 , p_source_95 IN NUMBER
24299 --When to Account for Payment Option
24300 , p_source_97 IN VARCHAR2
24301 --Payment Distribution Type
24302 , p_source_98 IN VARCHAR2
24303 , p_source_98_meaning IN VARCHAR2
24304 --Payment Distribution Amount
24305 , p_source_99 IN NUMBER
24306 --Payment Distribution Identifier
24307 , p_source_104 IN NUMBER
24308 --Payment Supplier Identifier
24309 , p_source_110 IN NUMBER
24310 --Payment Supplier Site Identifier
24311 , p_source_111 IN NUMBER
24312 --Payment Distribution Reversed Identifier
24313 , p_source_112 IN NUMBER
24314 --Pooled Bank Account Option
24315 , p_source_113 IN VARCHAR2
24316 , p_source_113_meaning IN VARCHAR2
24317 --Payment Maturity Date
24318 , p_source_114 IN DATE
24319 --Payment Distribution (Payment Rate) Ledger Amount
24320 , p_source_115 IN NUMBER
24321 --Payment Exchange Date
24322 , p_source_117 IN DATE
24323 --Payment Exchange Rate
24324 , p_source_118 IN NUMBER
24325 --Payment Exchange Rate Type
24326 , p_source_119 IN VARCHAR2
24327 --Payment Type
24328 , p_source_122 IN VARCHAR2
24329 , p_source_122_meaning IN VARCHAR2
24330 --Payment Processing Type
24331 , p_source_123 IN VARCHAR2
24332 --Invoice Distribution Amount of the Payment Distribution
24333 , p_source_124 IN NUMBER
24334 )
24335 IS
24336
24337 l_component_type VARCHAR2(80);
24338 l_component_code VARCHAR2(30);
24339 l_component_type_code VARCHAR2(1);
24340 l_component_appl_id INTEGER;
24341 l_amb_context_code VARCHAR2(30);
24342 l_entity_code VARCHAR2(30);
24343 l_event_class_code VARCHAR2(30);
24344 l_ae_header_id NUMBER;
24345 l_event_type_code VARCHAR2(30);
24346 l_line_definition_code VARCHAR2(30);
24347 l_line_definition_owner_code VARCHAR2(1);
24348 --
24349 -- adr variables
24350 l_segment VARCHAR2(30);
24351 l_ccid NUMBER;
24352 l_adr_transaction_coa_id NUMBER;
24353 l_adr_accounting_coa_id NUMBER;
24354 l_adr_flexfield_segment_code VARCHAR2(30);
24355 l_adr_flex_value_set_id NUMBER;
24356 l_adr_value_type_code VARCHAR2(30);
24357 l_adr_value_combination_id NUMBER;
24358 l_adr_value_segment_code VARCHAR2(30);
24359
24360 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
24361 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
24362 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
24363 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
24364
24365 -- 4262811 Variables ------------------------------------------------------------------------------------------
24366 l_entered_amt_idx NUMBER;
24367 l_accted_amt_idx NUMBER;
24368 l_acc_rev_flag VARCHAR2(1);
24369 l_accrual_line_num NUMBER;
24370 l_tmp_amt NUMBER;
24371 l_acc_rev_natural_side_code VARCHAR2(1);
24372
24373 l_num_entries NUMBER;
24374 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
24375 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
24376 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
24377 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
24378 l_recog_line_1 NUMBER;
24379 l_recog_line_2 NUMBER;
24380
24381 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
24382 l_bflow_applied_to_amt NUMBER; -- 5132302
24383 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
24384
24385 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
24386
24387 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
24388 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
24389
24390 ---------------------------------------------------------------------------------------------------------------
24391
24392
24393 --
24394 -- bulk performance
24395 --
24396 l_balance_type_code VARCHAR2(1);
24397 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
24398 l_log_module VARCHAR2(240);
24399
24400 --
24401 -- Upgrade strategy
24402 --
24406 --
24403 l_actual_upg_option VARCHAR2(1);
24404 l_enc_upg_option VARCHAR2(1);
24405
24407 BEGIN
24408 --
24409 IF g_log_enabled THEN
24410 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_69';
24411 END IF;
24412 --
24413 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
24414
24415 trace
24416 (p_msg => 'BEGIN of AcctLineType_69'
24417 ,p_level => C_LEVEL_PROCEDURE
24418 ,p_module => l_log_module);
24419
24420 END IF;
24421 --
24422 l_component_type := 'AMB_JLT';
24423 l_component_code := 'AP_CASH_CLEAR_PMT';
24424 l_component_type_code := 'S';
24425 l_component_appl_id := 200;
24426 l_amb_context_code := 'DEFAULT';
24427 l_entity_code := 'AP_PAYMENTS';
24428 l_event_class_code := 'PAYMENTS';
24429 l_event_type_code := 'PAYMENTS_ALL';
24430 l_line_definition_owner_code := 'S';
24431 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
24432 --
24433 l_balance_type_code := 'A';
24434 l_segment := NULL;
24435 l_ccid := NULL;
24436 l_adr_transaction_coa_id := NULL;
24437 l_adr_accounting_coa_id := NULL;
24438 l_adr_flexfield_segment_code := NULL;
24439 l_adr_flex_value_set_id := NULL;
24440 l_adr_value_type_code := NULL;
24441 l_adr_value_combination_id := NULL;
24442 l_adr_value_segment_code := NULL;
24443
24444 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
24445 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
24446 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
24447 l_budgetary_control_flag := 'N';
24448
24449 l_bflow_applied_to_amt_idx := NULL; -- 5132302
24450 l_bflow_applied_to_amt := NULL; -- 5132302
24451 l_entered_amt_idx := NULL; -- 4262811
24452 l_accted_amt_idx := NULL; -- 4262811
24453 l_acc_rev_flag := NULL; -- 4262811
24454 l_accrual_line_num := NULL; -- 4262811
24455 l_tmp_amt := NULL; -- 4262811
24456 --
24457
24458 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
24459 l_balance_type_code <> 'B' THEN
24460 IF NVL(p_source_97,'
24461 ') = 'ALWAYS_ALWAYS' AND
24462 (NVL(p_source_47,'
24463 ') <> 'Y' OR
24464 NVL(p_source_47,'
24465 ') = 'Y' AND
24466 NVL(p_source_113,'
24467 ') <> 'Y') AND
24468 p_source_114 IS NULL AND
24469 NVL(p_source_98,'
24470 ') = 'CASH' AND
24471 NVL(p_source_122,'
24472 ') <> 'R' AND
24473 NVL(p_source_123,'
24474 ') <> 'PAYMENTCARD'
24475 THEN
24476
24477 --
24478 XLA_AE_LINES_PKG.SetNewLine;
24479
24480 p_balance_type_code := l_balance_type_code;
24481 -- set the flag so later we will know whether the gain loss line needs to be created
24482
24483 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
24484 p_actual_flag :='A';
24485 END IF;
24486
24487 --
24488 -- bulk performance
24489 --
24490 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
24491 p_header_num => 0); -- 4262811
24492 --
24493 -- set accounting line options
24494 --
24495 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
24496 p_natural_side_code => 'C'
24497 , p_gain_or_loss_flag => 'N'
24498 , p_gl_transfer_mode_code => 'S'
24499 , p_acct_entry_type_code => 'A'
24500 , p_switch_side_flag => 'Y'
24501 , p_merge_duplicate_code => 'A'
24502 );
24503 --
24504 l_acc_rev_natural_side_code := 'D'; -- 4262811
24505 --
24506 --
24507 -- set accounting line type info
24508 --
24509 xla_ae_lines_pkg.SetAcctLineType
24510 (p_component_type => l_component_type
24511 ,p_event_type_code => l_event_type_code
24512 ,p_line_definition_owner_code => l_line_definition_owner_code
24513 ,p_line_definition_code => l_line_definition_code
24514 ,p_accounting_line_code => l_component_code
24515 ,p_accounting_line_type_code => l_component_type_code
24516 ,p_accounting_line_appl_id => l_component_appl_id
24517 ,p_amb_context_code => l_amb_context_code
24518 ,p_entity_code => l_entity_code
24519 ,p_event_class_code => l_event_class_code);
24520 --
24521 -- set accounting class
24522 --
24523 xla_ae_lines_pkg.SetAcctClass(
24524 p_accounting_class_code => 'CASH_CLEARING'
24525 , p_ae_header_id => l_ae_header_id
24526 );
24527
24528 --
24529 -- set rounding class
24530 --
24531 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
24532 'CASH_CLEARING';
24533
24534 --
24535 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
24536 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
24537 --
24538 -- bulk performance
24539 --
24543 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
24540 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
24541
24542 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
24544
24545 -- 4955764
24546 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
24547 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
24548
24549 -- 4458381 Public Sector Enh
24550
24551 --
24552 -- set accounting attributes for the line type
24553 --
24554 l_entered_amt_idx := 10;
24555 l_accted_amt_idx := 15;
24556 l_bflow_applied_to_amt_idx := 2; -- 5132302
24557 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
24558 l_rec_acct_attrs.array_char_value(1) := p_source_53;
24559 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
24560 l_rec_acct_attrs.array_num_value(2) := p_source_124;
24561 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
24562 l_rec_acct_attrs.array_num_value(3) := p_source_91;
24563 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
24564 l_rec_acct_attrs.array_char_value(4) := p_source_92;
24565 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
24566 l_rec_acct_attrs.array_char_value(5) := p_source_93;
24567 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
24568 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
24569 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
24570 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
24571 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
24572 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
24573 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
24574 l_rec_acct_attrs.array_char_value(9) := p_source_55;
24575 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
24576 l_rec_acct_attrs.array_num_value(10) := p_source_99;
24577 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
24578 l_rec_acct_attrs.array_char_value(11) := p_source_13;
24579 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
24580 l_rec_acct_attrs.array_date_value(12) := p_source_117;
24581 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
24582 l_rec_acct_attrs.array_num_value(13) := p_source_118;
24583 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
24584 l_rec_acct_attrs.array_char_value(14) := p_source_119;
24585 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
24586 l_rec_acct_attrs.array_num_value(15) := p_source_115;
24587 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
24588 l_rec_acct_attrs.array_char_value(16) := p_source_80;
24589 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
24590 l_rec_acct_attrs.array_num_value(17) := p_source_110;
24591 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
24592 l_rec_acct_attrs.array_num_value(18) := p_source_111;
24593 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
24594 l_rec_acct_attrs.array_char_value(19) := p_source_83;
24595 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
24596 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
24597 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
24598 l_rec_acct_attrs.array_char_value(21) := p_source_55;
24599 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
24600 l_rec_acct_attrs.array_num_value(22) := p_source_86;
24601 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
24602 l_rec_acct_attrs.array_num_value(23) := p_source_87;
24603 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
24604 l_rec_acct_attrs.array_num_value(24) := p_source_88;
24605
24606 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
24607 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
24608
24609 ---------------------------------------------------------------------------------------------------------------
24610 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
24611 ---------------------------------------------------------------------------------------------------------------
24612 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
24613
24614 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24615 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24616
24617 IF xla_accounting_cache_pkg.GetValueChar
24618 (p_source_code => 'LEDGER_CATEGORY_CODE'
24619 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
24620 AND l_bflow_method_code = 'PRIOR_ENTRY'
24621 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
24622 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
24623 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
24624 )
24625 THEN
24626 xla_ae_lines_pkg.BflowUpgEntry
24627 (p_business_method_code => l_bflow_method_code
24628 ,p_business_class_code => l_bflow_class_code
24632 -- No business flow processing for business flow method of NONE.
24629 ,p_balance_type => l_balance_type_code);
24630 ELSE
24631 NULL;
24633 END IF;
24634
24635 --
24636 -- call analytical criteria
24637 --
24638
24639 --
24640 -- call description
24641 --
24642 -- No description or it is inherited.
24643 --
24644 -- call ADRs
24645 -- Bug 4922099
24646 --
24647 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
24648 (NVL(l_actual_upg_option, 'N') = 'O') OR
24649 (NVL(l_enc_upg_option, 'N') = 'O')
24650 )
24651 THEN
24652 NULL;
24653 --
24654 --
24655
24656 l_ccid := AcctDerRule_36(
24657 p_application_id => p_application_id
24658 , p_ae_header_id => l_ae_header_id
24659 , p_source_35 => p_source_35
24660 , x_transaction_coa_id => l_adr_transaction_coa_id
24661 , x_accounting_coa_id => l_adr_accounting_coa_id
24662 , x_value_type_code => l_adr_value_type_code
24663 , p_side => 'NA'
24664 );
24665
24666 xla_ae_lines_pkg.set_ccid(
24667 p_code_combination_id => l_ccid
24668 , p_value_type_code => l_adr_value_type_code
24669 , p_transaction_coa_id => l_adr_transaction_coa_id
24670 , p_accounting_coa_id => l_adr_accounting_coa_id
24671 , p_adr_code => 'AP_PMT_CASH_CLEAR'
24672 , p_adr_type_code => 'S'
24673 , p_component_type => l_component_type
24674 , p_component_code => l_component_code
24675 , p_component_type_code => l_component_type_code
24676 , p_component_appl_id => l_component_appl_id
24677 , p_amb_context_code => l_amb_context_code
24678 , p_side => 'NA'
24679 );
24680
24681
24682 --
24683 --
24684 END IF;
24685 --
24686 -- Bug 4922099
24687 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
24688 (NVL(l_enc_upg_option, 'N') = 'O')
24689 ) AND
24690 (l_bflow_method_code = 'PRIOR_ENTRY')
24691 )
24692 THEN
24693 IF
24694 --
24695 1 = 2
24696 --
24697 THEN
24698 xla_accounting_err_pkg.build_message
24699 (p_appli_s_name => 'XLA'
24700 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
24701 ,p_token_1 => 'LINE_NUMBER'
24702 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
24703 ,p_token_2 => 'LINE_TYPE_NAME'
24704 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
24705 l_component_type
24706 ,l_component_code
24707 ,l_component_type_code
24708 ,l_component_appl_id
24709 ,l_amb_context_code
24710 ,l_entity_code
24711 ,l_event_class_code
24712 )
24713 ,p_token_3 => 'OWNER'
24714 ,p_value_3 => xla_lookups_pkg.get_meaning(
24715 p_lookup_type => 'XLA_OWNER_TYPE'
24716 ,p_lookup_code => l_component_type_code
24717 )
24718 ,p_token_4 => 'PRODUCT_NAME'
24719 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
24720 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
24721 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
24722 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
24723 ,p_ae_header_id => NULL
24724 );
24725
24726 IF (C_LEVEL_ERROR>= g_log_level) THEN
24727 trace
24728 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
24729 ,p_level => C_LEVEL_ERROR
24730 ,p_module => l_log_module);
24731 END IF;
24732 END IF;
24733 END IF;
24734 --
24735 --
24736 ------------------------------------------------------------------------------------------------
24737 -- 4219869 Business Flow
24738 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
24739 -- Prior Entry. Currently, the following code is always generated.
24743 ------------------------------------------------------------------------------------
24740 ------------------------------------------------------------------------------------------------
24741 XLA_AE_LINES_PKG.ValidateCurrentLine;
24742
24744 -- 4219869 Business Flow
24745 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
24746 ------------------------------------------------------------------------------------
24747 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
24748
24749 ----------------------------------------------------------------------------------
24750 -- 4219869 Business Flow
24751 -- Update journal entry status -- Need to generate this within IF <condition>
24752 ----------------------------------------------------------------------------------
24753 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
24754 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
24755 ,p_balance_type_code => l_balance_type_code
24756 );
24757
24758 -------------------------------------------------------------------------------------------
24759 -- 4262811 - Generate the Accrual Reversal lines
24760 -------------------------------------------------------------------------------------------
24761 BEGIN
24762 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
24763 (g_array_event(p_event_id).array_value_num('header_index'));
24764 IF l_acc_rev_flag IS NULL THEN
24765 l_acc_rev_flag := 'N';
24766 END IF;
24767 EXCEPTION
24768 WHEN OTHERS THEN
24769 l_acc_rev_flag := 'N';
24770 END;
24771 --
24772 IF (l_acc_rev_flag = 'Y') THEN
24773
24774 -- 4645092 ------------------------------------------------------------------------------
24775 -- To allow MPA report to determine if it should generate report process
24776 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
24777 ------------------------------------------------------------------------------------------
24778
24779 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
24780 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
24781 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
24782 -- call ADRs
24783 -- Bug 4922099
24784 --
24785 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
24786 (NVL(l_actual_upg_option, 'N') = 'O') OR
24787 (NVL(l_enc_upg_option, 'N') = 'O')
24788 )
24789 THEN
24790 NULL;
24791 --
24792 --
24793
24794 l_ccid := AcctDerRule_36(
24795 p_application_id => p_application_id
24796 , p_ae_header_id => l_ae_header_id
24797 , p_source_35 => p_source_35
24798 , x_transaction_coa_id => l_adr_transaction_coa_id
24799 , x_accounting_coa_id => l_adr_accounting_coa_id
24800 , x_value_type_code => l_adr_value_type_code
24801 , p_side => 'NA'
24802 );
24803
24804 xla_ae_lines_pkg.set_ccid(
24805 p_code_combination_id => l_ccid
24806 , p_value_type_code => l_adr_value_type_code
24807 , p_transaction_coa_id => l_adr_transaction_coa_id
24808 , p_accounting_coa_id => l_adr_accounting_coa_id
24809 , p_adr_code => 'AP_PMT_CASH_CLEAR'
24810 , p_adr_type_code => 'S'
24811 , p_component_type => l_component_type
24812 , p_component_code => l_component_code
24813 , p_component_type_code => l_component_type_code
24814 , p_component_appl_id => l_component_appl_id
24815 , p_amb_context_code => l_amb_context_code
24816 , p_side => 'NA'
24817 );
24818
24819
24820 --
24821 --
24822 END IF;
24823
24824 --
24825 -- Update the line information that should be overwritten
24826 --
24827 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
24828 p_header_num => 1);
24829 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
24830
24831 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
24832
24833 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
24834 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
24835 END IF;
24836
24837 --
24838 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
24839 --
24840 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
24841 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
24842 ELSE
24843 ---------------------------------------------------------------------------------------------------
24844 -- 4262811a Switch Sign
24845 ---------------------------------------------------------------------------------------------------
24846 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
24847 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24848 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24849 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24853 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24850 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24851 -- 5132302
24852 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
24854
24855 END IF;
24856
24857 -- 4955764
24858 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
24859 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
24860
24861
24862 XLA_AE_LINES_PKG.ValidateCurrentLine;
24863 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
24864
24865 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
24866 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
24867 ,p_balance_type_code => l_balance_type_code);
24868
24869 END IF;
24870
24871 -----------------------------------------------------------------------------------------
24872 -- 4262811 Multiperiod Accounting
24873 -----------------------------------------------------------------------------------------
24874 -- No MPA option is assigned.
24875
24876
24877 END IF;
24878 END IF;
24879 --
24880
24881 --
24882 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
24883 trace
24884 (p_msg => 'END of AcctLineType_69'
24885 ,p_level => C_LEVEL_PROCEDURE
24886 ,p_module => l_log_module);
24887 END IF;
24888 --
24889 EXCEPTION
24890 WHEN xla_exceptions_pkg.application_exception THEN
24891 RAISE;
24892 WHEN OTHERS THEN
24893 xla_exceptions_pkg.raise_message
24894 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_69');
24895 END AcctLineType_69;
24896 --
24897
24898 ---------------------------------------
24899 --
24900 -- PRIVATE FUNCTION
24901 -- AcctLineType_70
24902 --
24903 ---------------------------------------
24904 PROCEDURE AcctLineType_70 (
24905 p_application_id IN NUMBER
24906 ,p_event_id IN NUMBER
24907 ,p_calculate_acctd_flag IN VARCHAR2
24908 ,p_calculate_g_l_flag IN VARCHAR2
24909 ,p_actual_flag IN OUT VARCHAR2
24910 ,p_balance_type_code OUT VARCHAR2
24911 ,p_gain_or_loss_ref OUT VARCHAR2
24912
24913 --Payment Currency Code
24914 , p_source_13 IN VARCHAR2
24915 --Automatic Offsets Value
24916 , p_source_15 IN VARCHAR2
24917 , p_source_15_meaning IN VARCHAR2
24918 --Bank Cash Clearing Account
24919 , p_source_35 IN NUMBER
24920 --Accounting Reversal Indicator
24921 , p_source_53 IN VARCHAR2
24922 --Distribution Link Type
24923 , p_source_55 IN VARCHAR2
24924 --Override Accounted Amount Indicator
24925 , p_source_80 IN VARCHAR2
24926 , p_source_80_meaning IN VARCHAR2
24927 --Third Party Type
24928 , p_source_83 IN VARCHAR2
24929 --Invoice Distribution Tax Line Identifier
24930 , p_source_86 IN NUMBER
24931 --Invoice Distribution Tax Distribution Identifier from Tax
24932 , p_source_87 IN NUMBER
24933 --Invoice Distribution Summary Tax Line Identifier
24934 , p_source_88 IN NUMBER
24935 --Business Flow Accounts Payable Application Identifier
24936 , p_source_91 IN NUMBER
24937 --Business Flow Invoice Distribution Type
24938 , p_source_92 IN VARCHAR2
24939 --Business Flow Invoice Entity Code
24940 , p_source_93 IN VARCHAR2
24941 --Business Flow Invoice Distribution Identifier
24942 , p_source_94 IN NUMBER
24943 --Business Flow Invoice Identifier
24944 , p_source_95 IN NUMBER
24945 --When to Account for Payment Option
24946 , p_source_97 IN VARCHAR2
24947 --Payment Distribution Type
24948 , p_source_98 IN VARCHAR2
24949 , p_source_98_meaning IN VARCHAR2
24950 --Payment Distribution Amount
24951 , p_source_99 IN NUMBER
24952 --Payment Distribution Identifier
24953 , p_source_104 IN NUMBER
24954 --Payment Supplier Identifier
24955 , p_source_110 IN NUMBER
24956 --Payment Supplier Site Identifier
24957 , p_source_111 IN NUMBER
24958 --Payment Distribution Reversed Identifier
24959 , p_source_112 IN NUMBER
24960 --Pooled Bank Account Option
24961 , p_source_113 IN VARCHAR2
24962 , p_source_113_meaning IN VARCHAR2
24963 --Payment Maturity Date
24964 , p_source_114 IN DATE
24965 --Payment Distribution (Payment Rate) Ledger Amount
24966 , p_source_115 IN NUMBER
24967 --Payment Exchange Date
24968 , p_source_117 IN DATE
24969 --Payment Exchange Rate
24970 , p_source_118 IN NUMBER
24971 --Payment Exchange Rate Type
24972 , p_source_119 IN VARCHAR2
24973 --Payment Type
24974 , p_source_122 IN VARCHAR2
24975 , p_source_122_meaning IN VARCHAR2
24976 --Payment Processing Type
24977 , p_source_123 IN VARCHAR2
24978 --Invoice Distribution Amount of the Payment Distribution
24979 , p_source_124 IN NUMBER
24980 )
24981 IS
24982
24983 l_component_type VARCHAR2(80);
24984 l_component_code VARCHAR2(30);
24985 l_component_type_code VARCHAR2(1);
24986 l_component_appl_id INTEGER;
24987 l_amb_context_code VARCHAR2(30);
24988 l_entity_code VARCHAR2(30);
24992 l_line_definition_code VARCHAR2(30);
24989 l_event_class_code VARCHAR2(30);
24990 l_ae_header_id NUMBER;
24991 l_event_type_code VARCHAR2(30);
24993 l_line_definition_owner_code VARCHAR2(1);
24994 --
24995 -- adr variables
24996 l_segment VARCHAR2(30);
24997 l_ccid NUMBER;
24998 l_adr_transaction_coa_id NUMBER;
24999 l_adr_accounting_coa_id NUMBER;
25000 l_adr_flexfield_segment_code VARCHAR2(30);
25001 l_adr_flex_value_set_id NUMBER;
25002 l_adr_value_type_code VARCHAR2(30);
25003 l_adr_value_combination_id NUMBER;
25004 l_adr_value_segment_code VARCHAR2(30);
25005
25006 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
25007 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
25008 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
25009 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
25010
25011 -- 4262811 Variables ------------------------------------------------------------------------------------------
25012 l_entered_amt_idx NUMBER;
25013 l_accted_amt_idx NUMBER;
25014 l_acc_rev_flag VARCHAR2(1);
25015 l_accrual_line_num NUMBER;
25016 l_tmp_amt NUMBER;
25017 l_acc_rev_natural_side_code VARCHAR2(1);
25018
25019 l_num_entries NUMBER;
25020 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
25021 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
25022 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
25023 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
25024 l_recog_line_1 NUMBER;
25025 l_recog_line_2 NUMBER;
25026
25027 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
25028 l_bflow_applied_to_amt NUMBER; -- 5132302
25029 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
25030
25031 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
25032
25033 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
25034 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
25035
25036 ---------------------------------------------------------------------------------------------------------------
25037
25038
25039 --
25040 -- bulk performance
25041 --
25042 l_balance_type_code VARCHAR2(1);
25043 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
25044 l_log_module VARCHAR2(240);
25045
25046 --
25047 -- Upgrade strategy
25048 --
25049 l_actual_upg_option VARCHAR2(1);
25050 l_enc_upg_option VARCHAR2(1);
25051
25052 --
25053 BEGIN
25054 --
25055 IF g_log_enabled THEN
25056 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_70';
25057 END IF;
25058 --
25059 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
25060
25061 trace
25062 (p_msg => 'BEGIN of AcctLineType_70'
25063 ,p_level => C_LEVEL_PROCEDURE
25064 ,p_module => l_log_module);
25065
25066 END IF;
25067 --
25068 l_component_type := 'AMB_JLT';
25069 l_component_code := 'AP_CASH_CLEAR_PMT_AOS_AS';
25070 l_component_type_code := 'S';
25071 l_component_appl_id := 200;
25072 l_amb_context_code := 'DEFAULT';
25073 l_entity_code := 'AP_PAYMENTS';
25074 l_event_class_code := 'PAYMENTS';
25075 l_event_type_code := 'PAYMENTS_ALL';
25076 l_line_definition_owner_code := 'S';
25077 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
25078 --
25079 l_balance_type_code := 'A';
25080 l_segment := NULL;
25081 l_ccid := NULL;
25082 l_adr_transaction_coa_id := NULL;
25083 l_adr_accounting_coa_id := NULL;
25084 l_adr_flexfield_segment_code := NULL;
25085 l_adr_flex_value_set_id := NULL;
25086 l_adr_value_type_code := NULL;
25087 l_adr_value_combination_id := NULL;
25088 l_adr_value_segment_code := NULL;
25089
25090 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
25091 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
25092 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
25093 l_budgetary_control_flag := 'N';
25094
25095 l_bflow_applied_to_amt_idx := NULL; -- 5132302
25096 l_bflow_applied_to_amt := NULL; -- 5132302
25097 l_entered_amt_idx := NULL; -- 4262811
25098 l_accted_amt_idx := NULL; -- 4262811
25099 l_acc_rev_flag := NULL; -- 4262811
25100 l_accrual_line_num := NULL; -- 4262811
25101 l_tmp_amt := NULL; -- 4262811
25102 --
25103
25104 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
25105 l_balance_type_code <> 'B' THEN
25106 IF NVL(p_source_97,'
25107 ') = 'ALWAYS_ALWAYS' AND
25108 (NVL(p_source_113,'
25109 ') = 'Y' AND
25110 NVL(p_source_15,'
25111 ') = 'ACCOUNT_SEGMENT_VALUE') AND
25112 p_source_114 IS NULL AND
25113 NVL(p_source_98,'
25114 ') = 'CASH' AND
25115 NVL(p_source_122,'
25116 ') <> 'R' AND
25117 NVL(p_source_123,'
25121 --
25118 ') <> 'PAYMENTCARD'
25119 THEN
25120
25122 XLA_AE_LINES_PKG.SetNewLine;
25123
25124 p_balance_type_code := l_balance_type_code;
25125 -- set the flag so later we will know whether the gain loss line needs to be created
25126
25127 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
25128 p_actual_flag :='A';
25129 END IF;
25130
25131 --
25132 -- bulk performance
25133 --
25134 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
25135 p_header_num => 0); -- 4262811
25136 --
25137 -- set accounting line options
25138 --
25139 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
25140 p_natural_side_code => 'C'
25141 , p_gain_or_loss_flag => 'N'
25142 , p_gl_transfer_mode_code => 'S'
25143 , p_acct_entry_type_code => 'A'
25144 , p_switch_side_flag => 'Y'
25145 , p_merge_duplicate_code => 'A'
25146 );
25147 --
25148 l_acc_rev_natural_side_code := 'D'; -- 4262811
25149 --
25150 --
25151 -- set accounting line type info
25152 --
25153 xla_ae_lines_pkg.SetAcctLineType
25154 (p_component_type => l_component_type
25155 ,p_event_type_code => l_event_type_code
25156 ,p_line_definition_owner_code => l_line_definition_owner_code
25157 ,p_line_definition_code => l_line_definition_code
25158 ,p_accounting_line_code => l_component_code
25159 ,p_accounting_line_type_code => l_component_type_code
25160 ,p_accounting_line_appl_id => l_component_appl_id
25161 ,p_amb_context_code => l_amb_context_code
25162 ,p_entity_code => l_entity_code
25163 ,p_event_class_code => l_event_class_code);
25164 --
25165 -- set accounting class
25166 --
25167 xla_ae_lines_pkg.SetAcctClass(
25168 p_accounting_class_code => 'CASH_CLEARING'
25169 , p_ae_header_id => l_ae_header_id
25170 );
25171
25172 --
25173 -- set rounding class
25174 --
25175 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
25176 'CASH_CLEARING';
25177
25178 --
25179 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
25180 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
25181 --
25182 -- bulk performance
25183 --
25184 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
25185
25186 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
25187 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
25188
25189 -- 4955764
25190 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25191 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
25192
25193 -- 4458381 Public Sector Enh
25194
25195 --
25196 -- set accounting attributes for the line type
25197 --
25198 l_entered_amt_idx := 10;
25199 l_accted_amt_idx := 15;
25200 l_bflow_applied_to_amt_idx := 2; -- 5132302
25201 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
25202 l_rec_acct_attrs.array_char_value(1) := p_source_53;
25203 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
25204 l_rec_acct_attrs.array_num_value(2) := p_source_124;
25205 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
25206 l_rec_acct_attrs.array_num_value(3) := p_source_91;
25207 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
25208 l_rec_acct_attrs.array_char_value(4) := p_source_92;
25209 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
25210 l_rec_acct_attrs.array_char_value(5) := p_source_93;
25211 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
25212 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
25213 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
25214 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
25215 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
25216 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
25217 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
25218 l_rec_acct_attrs.array_char_value(9) := p_source_55;
25219 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
25220 l_rec_acct_attrs.array_num_value(10) := p_source_99;
25221 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
25222 l_rec_acct_attrs.array_char_value(11) := p_source_13;
25223 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
25224 l_rec_acct_attrs.array_date_value(12) := p_source_117;
25225 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
25226 l_rec_acct_attrs.array_num_value(13) := p_source_118;
25227 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
25228 l_rec_acct_attrs.array_char_value(14) := p_source_119;
25229 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
25230 l_rec_acct_attrs.array_num_value(15) := p_source_115;
25231 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
25232 l_rec_acct_attrs.array_char_value(16) := p_source_80;
25236 l_rec_acct_attrs.array_num_value(18) := p_source_111;
25233 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
25234 l_rec_acct_attrs.array_num_value(17) := p_source_110;
25235 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
25237 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
25238 l_rec_acct_attrs.array_char_value(19) := p_source_83;
25239 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
25240 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
25241 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
25242 l_rec_acct_attrs.array_char_value(21) := p_source_55;
25243 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
25244 l_rec_acct_attrs.array_num_value(22) := p_source_86;
25245 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
25246 l_rec_acct_attrs.array_num_value(23) := p_source_87;
25247 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
25248 l_rec_acct_attrs.array_num_value(24) := p_source_88;
25249
25250 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
25251 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
25252
25253 ---------------------------------------------------------------------------------------------------------------
25254 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
25255 ---------------------------------------------------------------------------------------------------------------
25256 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
25257
25258 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25259 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25260
25261 IF xla_accounting_cache_pkg.GetValueChar
25262 (p_source_code => 'LEDGER_CATEGORY_CODE'
25263 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
25264 AND l_bflow_method_code = 'PRIOR_ENTRY'
25265 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
25266 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
25267 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
25268 )
25269 THEN
25270 xla_ae_lines_pkg.BflowUpgEntry
25271 (p_business_method_code => l_bflow_method_code
25272 ,p_business_class_code => l_bflow_class_code
25273 ,p_balance_type => l_balance_type_code);
25274 ELSE
25275 NULL;
25276 XLA_AE_LINES_PKG.business_flow_validation(
25277 p_business_method_code => l_bflow_method_code
25278 ,p_business_class_code => l_bflow_class_code
25279 ,p_inherit_description_flag => l_inherit_desc_flag);
25280 END IF;
25281
25282 --
25283 -- call analytical criteria
25284 --
25285
25286 --
25287 -- call description
25288 --
25289 -- No description or it is inherited.
25290 --
25291 -- call ADRs
25292 -- Bug 4922099
25293 --
25294 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
25295 (NVL(l_actual_upg_option, 'N') = 'O') OR
25296 (NVL(l_enc_upg_option, 'N') = 'O')
25297 )
25298 THEN
25299 NULL;
25300 --
25301 --
25302
25303 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
25304 p_code_combination_id => TO_NUMBER(C_NUM)
25305 , p_value_type_code => NULL
25306 , p_transaction_coa_id => null
25307 , p_accounting_coa_id => null
25308 , p_adr_code => NULL
25309 , p_adr_type_code => NULL
25310 , p_component_type => l_component_type
25311 , p_component_code => l_component_code
25312 , p_component_type_code => l_component_type_code
25313 , p_component_appl_id => l_component_appl_id
25314 , p_amb_context_code => l_amb_context_code
25315 , p_side => NULL
25316 );
25317
25318
25319 -- initialise segments
25320 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25321 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25322 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25323 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25324 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25325 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25326 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25327 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25328 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25329 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25330 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25331 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25332 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25333 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25337 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25334 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25335 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25336 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25338 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25339 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25340 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25341 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25342 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25343 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25344 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25345 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25346 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25347 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25348 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25349 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25350 --
25351
25352 --
25353
25354
25355 l_segment := AcctDerRule_16(
25356 p_application_id => p_application_id
25357 , p_ae_header_id => l_ae_header_id
25358 , p_source_35 => p_source_35
25359 , x_transaction_coa_id => l_adr_transaction_coa_id
25360 , x_accounting_coa_id => l_adr_accounting_coa_id
25361 , x_flexfield_segment_code => l_adr_flexfield_segment_code
25362 , x_flex_value_set_id => l_adr_flex_value_set_id
25363 , x_value_type_code => l_adr_value_type_code
25364 , x_value_combination_id => l_adr_value_combination_id
25365 , x_value_segment_code => l_adr_value_segment_code
25366 , p_side => 'NA'
25367 , p_override_seg_flag => 'Y'
25368 );
25369
25370 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
25371
25372 xla_ae_lines_pkg.set_segment(
25373 p_to_segment_code => 'GL_ACCOUNT'
25374 , p_segment_value => l_segment
25375 , p_from_segment_code => l_adr_value_segment_code
25376 , p_from_combination_id => l_adr_value_combination_id
25377 , p_value_type_code => l_adr_value_type_code
25378 , p_transaction_coa_id => l_adr_transaction_coa_id
25379 , p_accounting_coa_id => l_adr_accounting_coa_id
25380 , p_flexfield_segment_code => l_adr_flexfield_segment_code
25381 , p_flex_value_set_id => l_adr_flex_value_set_id
25382 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
25383 , p_adr_type_code => 'S'
25384 , p_component_type => l_component_type
25385 , p_component_code => l_component_code
25386 , p_component_type_code => l_component_type_code
25387 , p_component_appl_id => l_component_appl_id
25388 , p_amb_context_code => l_amb_context_code
25389 , p_entity_code => 'AP_PAYMENTS'
25390 , p_event_class_code => 'PAYMENTS'
25391 , p_side => 'NA'
25392 );
25393
25394 END IF;
25395
25396 --
25397 --
25398 END IF;
25399 --
25400 -- Bug 4922099
25401 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
25402 (NVL(l_enc_upg_option, 'N') = 'O')
25403 ) AND
25404 (l_bflow_method_code = 'PRIOR_ENTRY')
25405 )
25406 THEN
25407 IF
25408 --
25409 1 = 2
25410 --
25411 THEN
25412 xla_accounting_err_pkg.build_message
25413 (p_appli_s_name => 'XLA'
25414 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
25415 ,p_token_1 => 'LINE_NUMBER'
25416 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
25417 ,p_token_2 => 'LINE_TYPE_NAME'
25418 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
25419 l_component_type
25420 ,l_component_code
25421 ,l_component_type_code
25422 ,l_component_appl_id
25423 ,l_amb_context_code
25424 ,l_entity_code
25425 ,l_event_class_code
25426 )
25427 ,p_token_3 => 'OWNER'
25428 ,p_value_3 => xla_lookups_pkg.get_meaning(
25432 ,p_token_4 => 'PRODUCT_NAME'
25429 p_lookup_type => 'XLA_OWNER_TYPE'
25430 ,p_lookup_code => l_component_type_code
25431 )
25433 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
25434 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
25435 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
25436 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
25437 ,p_ae_header_id => NULL
25438 );
25439
25440 IF (C_LEVEL_ERROR>= g_log_level) THEN
25441 trace
25442 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
25443 ,p_level => C_LEVEL_ERROR
25444 ,p_module => l_log_module);
25445 END IF;
25446 END IF;
25447 END IF;
25448 --
25449 --
25450 ------------------------------------------------------------------------------------------------
25451 -- 4219869 Business Flow
25452 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
25453 -- Prior Entry. Currently, the following code is always generated.
25454 ------------------------------------------------------------------------------------------------
25455 XLA_AE_LINES_PKG.ValidateCurrentLine;
25456
25457 ------------------------------------------------------------------------------------
25458 -- 4219869 Business Flow
25459 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
25460 ------------------------------------------------------------------------------------
25461 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
25462
25463 ----------------------------------------------------------------------------------
25464 -- 4219869 Business Flow
25465 -- Update journal entry status -- Need to generate this within IF <condition>
25466 ----------------------------------------------------------------------------------
25467 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
25468 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
25469 ,p_balance_type_code => l_balance_type_code
25470 );
25471
25472 -------------------------------------------------------------------------------------------
25473 -- 4262811 - Generate the Accrual Reversal lines
25474 -------------------------------------------------------------------------------------------
25475 BEGIN
25476 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
25477 (g_array_event(p_event_id).array_value_num('header_index'));
25478 IF l_acc_rev_flag IS NULL THEN
25479 l_acc_rev_flag := 'N';
25480 END IF;
25481 EXCEPTION
25482 WHEN OTHERS THEN
25483 l_acc_rev_flag := 'N';
25484 END;
25485 --
25486 IF (l_acc_rev_flag = 'Y') THEN
25487
25488 -- 4645092 ------------------------------------------------------------------------------
25489 -- To allow MPA report to determine if it should generate report process
25490 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
25491 ------------------------------------------------------------------------------------------
25492
25493 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
25494 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
25495 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
25496 -- call ADRs
25497 -- Bug 4922099
25498 --
25499 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
25500 (NVL(l_actual_upg_option, 'N') = 'O') OR
25501 (NVL(l_enc_upg_option, 'N') = 'O')
25502 )
25503 THEN
25504 NULL;
25505 --
25506 --
25507
25508 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
25509 p_code_combination_id => TO_NUMBER(C_NUM)
25510 , p_value_type_code => NULL
25511 , p_transaction_coa_id => null
25512 , p_accounting_coa_id => null
25513 , p_adr_code => NULL
25514 , p_adr_type_code => NULL
25515 , p_component_type => l_component_type
25516 , p_component_code => l_component_code
25517 , p_component_type_code => l_component_type_code
25518 , p_component_appl_id => l_component_appl_id
25519 , p_amb_context_code => l_amb_context_code
25520 , p_side => NULL
25521 );
25522
25523
25524 -- initialise segments
25525 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25526 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25527 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25528 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25529 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25533 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25530 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25531 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25532 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25534 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25535 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25536 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25537 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25538 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25539 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25540 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25541 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25542 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25543 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25544 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25545 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25546 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25547 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25548 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25549 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25550 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25551 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25552 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25553 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25554 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25555 --
25556
25557 --
25558
25559
25560 l_segment := AcctDerRule_16(
25561 p_application_id => p_application_id
25562 , p_ae_header_id => l_ae_header_id
25563 , p_source_35 => p_source_35
25564 , x_transaction_coa_id => l_adr_transaction_coa_id
25565 , x_accounting_coa_id => l_adr_accounting_coa_id
25566 , x_flexfield_segment_code => l_adr_flexfield_segment_code
25567 , x_flex_value_set_id => l_adr_flex_value_set_id
25568 , x_value_type_code => l_adr_value_type_code
25569 , x_value_combination_id => l_adr_value_combination_id
25570 , x_value_segment_code => l_adr_value_segment_code
25571 , p_side => 'NA'
25572 , p_override_seg_flag => 'Y'
25573 );
25574
25575 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
25576
25577 xla_ae_lines_pkg.set_segment(
25578 p_to_segment_code => 'GL_ACCOUNT'
25579 , p_segment_value => l_segment
25580 , p_from_segment_code => l_adr_value_segment_code
25581 , p_from_combination_id => l_adr_value_combination_id
25582 , p_value_type_code => l_adr_value_type_code
25583 , p_transaction_coa_id => l_adr_transaction_coa_id
25584 , p_accounting_coa_id => l_adr_accounting_coa_id
25585 , p_flexfield_segment_code => l_adr_flexfield_segment_code
25586 , p_flex_value_set_id => l_adr_flex_value_set_id
25587 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
25588 , p_adr_type_code => 'S'
25589 , p_component_type => l_component_type
25590 , p_component_code => l_component_code
25591 , p_component_type_code => l_component_type_code
25592 , p_component_appl_id => l_component_appl_id
25593 , p_amb_context_code => l_amb_context_code
25594 , p_entity_code => 'AP_PAYMENTS'
25595 , p_event_class_code => 'PAYMENTS'
25596 , p_side => 'NA'
25597 );
25598
25599 END IF;
25600
25601 --
25602 --
25603 END IF;
25604
25605 --
25606 -- Update the line information that should be overwritten
25607 --
25608 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
25609 p_header_num => 1);
25610 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
25611
25612 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
25613
25614 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
25615 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
25616 END IF;
25617
25618 --
25619 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
25620 --
25621 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
25622 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
25623 ELSE
25627 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25624 ---------------------------------------------------------------------------------------------------
25625 -- 4262811a Switch Sign
25626 ---------------------------------------------------------------------------------------------------
25628 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25629 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25630 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25631 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25632 -- 5132302
25633 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25634 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25635
25636 END IF;
25637
25638 -- 4955764
25639 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25640 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
25641
25642
25643 XLA_AE_LINES_PKG.ValidateCurrentLine;
25644 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
25645
25646 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
25647 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
25648 ,p_balance_type_code => l_balance_type_code);
25649
25650 END IF;
25651
25652 -----------------------------------------------------------------------------------------
25653 -- 4262811 Multiperiod Accounting
25654 -----------------------------------------------------------------------------------------
25655 -- No MPA option is assigned.
25656
25657
25658 END IF;
25659 END IF;
25660 --
25661
25662 --
25663 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
25664 trace
25665 (p_msg => 'END of AcctLineType_70'
25666 ,p_level => C_LEVEL_PROCEDURE
25667 ,p_module => l_log_module);
25668 END IF;
25669 --
25670 EXCEPTION
25671 WHEN xla_exceptions_pkg.application_exception THEN
25672 RAISE;
25673 WHEN OTHERS THEN
25674 xla_exceptions_pkg.raise_message
25675 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_70');
25676 END AcctLineType_70;
25677 --
25678
25679 ---------------------------------------
25680 --
25681 -- PRIVATE FUNCTION
25682 -- AcctLineType_71
25683 --
25684 ---------------------------------------
25685 PROCEDURE AcctLineType_71 (
25686 p_application_id IN NUMBER
25687 ,p_event_id IN NUMBER
25688 ,p_calculate_acctd_flag IN VARCHAR2
25689 ,p_calculate_g_l_flag IN VARCHAR2
25690 ,p_actual_flag IN OUT VARCHAR2
25691 ,p_balance_type_code OUT VARCHAR2
25692 ,p_gain_or_loss_ref OUT VARCHAR2
25693
25694 --Payment Currency Code
25695 , p_source_13 IN VARCHAR2
25696 --Automatic Offsets Value
25697 , p_source_15 IN VARCHAR2
25698 , p_source_15_meaning IN VARCHAR2
25699 --Bank Cash Clearing Account
25700 , p_source_35 IN NUMBER
25701 --Accounting Reversal Indicator
25702 , p_source_53 IN VARCHAR2
25703 --Distribution Link Type
25704 , p_source_55 IN VARCHAR2
25705 --Override Accounted Amount Indicator
25706 , p_source_80 IN VARCHAR2
25707 , p_source_80_meaning IN VARCHAR2
25708 --Third Party Type
25709 , p_source_83 IN VARCHAR2
25710 --Invoice Distribution Tax Line Identifier
25711 , p_source_86 IN NUMBER
25712 --Invoice Distribution Tax Distribution Identifier from Tax
25713 , p_source_87 IN NUMBER
25714 --Invoice Distribution Summary Tax Line Identifier
25715 , p_source_88 IN NUMBER
25716 --Business Flow Accounts Payable Application Identifier
25717 , p_source_91 IN NUMBER
25718 --Business Flow Invoice Distribution Type
25719 , p_source_92 IN VARCHAR2
25720 --Business Flow Invoice Entity Code
25721 , p_source_93 IN VARCHAR2
25722 --Business Flow Invoice Distribution Identifier
25723 , p_source_94 IN NUMBER
25724 --Business Flow Invoice Identifier
25725 , p_source_95 IN NUMBER
25726 --When to Account for Payment Option
25727 , p_source_97 IN VARCHAR2
25728 --Payment Distribution Type
25729 , p_source_98 IN VARCHAR2
25730 , p_source_98_meaning IN VARCHAR2
25731 --Payment Distribution Amount
25732 , p_source_99 IN NUMBER
25733 --Payment Distribution Identifier
25734 , p_source_104 IN NUMBER
25735 --Payment Supplier Identifier
25736 , p_source_110 IN NUMBER
25737 --Payment Supplier Site Identifier
25738 , p_source_111 IN NUMBER
25739 --Payment Distribution Reversed Identifier
25740 , p_source_112 IN NUMBER
25741 --Pooled Bank Account Option
25742 , p_source_113 IN VARCHAR2
25743 , p_source_113_meaning IN VARCHAR2
25744 --Payment Maturity Date
25745 , p_source_114 IN DATE
25746 --Payment Distribution (Payment Rate) Ledger Amount
25747 , p_source_115 IN NUMBER
25748 --Payment Exchange Date
25749 , p_source_117 IN DATE
25750 --Payment Exchange Rate
25751 , p_source_118 IN NUMBER
25755 , p_source_122 IN VARCHAR2
25752 --Payment Exchange Rate Type
25753 , p_source_119 IN VARCHAR2
25754 --Payment Type
25756 , p_source_122_meaning IN VARCHAR2
25757 --Payment Processing Type
25758 , p_source_123 IN VARCHAR2
25759 --Invoice Distribution Amount of the Payment Distribution
25760 , p_source_124 IN NUMBER
25761 )
25762 IS
25763
25764 l_component_type VARCHAR2(80);
25765 l_component_code VARCHAR2(30);
25766 l_component_type_code VARCHAR2(1);
25767 l_component_appl_id INTEGER;
25768 l_amb_context_code VARCHAR2(30);
25769 l_entity_code VARCHAR2(30);
25770 l_event_class_code VARCHAR2(30);
25771 l_ae_header_id NUMBER;
25772 l_event_type_code VARCHAR2(30);
25773 l_line_definition_code VARCHAR2(30);
25774 l_line_definition_owner_code VARCHAR2(1);
25775 --
25776 -- adr variables
25777 l_segment VARCHAR2(30);
25778 l_ccid NUMBER;
25779 l_adr_transaction_coa_id NUMBER;
25780 l_adr_accounting_coa_id NUMBER;
25781 l_adr_flexfield_segment_code VARCHAR2(30);
25782 l_adr_flex_value_set_id NUMBER;
25783 l_adr_value_type_code VARCHAR2(30);
25784 l_adr_value_combination_id NUMBER;
25785 l_adr_value_segment_code VARCHAR2(30);
25786
25787 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
25788 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
25789 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
25790 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
25791
25792 -- 4262811 Variables ------------------------------------------------------------------------------------------
25793 l_entered_amt_idx NUMBER;
25794 l_accted_amt_idx NUMBER;
25795 l_acc_rev_flag VARCHAR2(1);
25796 l_accrual_line_num NUMBER;
25797 l_tmp_amt NUMBER;
25798 l_acc_rev_natural_side_code VARCHAR2(1);
25799
25800 l_num_entries NUMBER;
25801 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
25802 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
25803 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
25804 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
25805 l_recog_line_1 NUMBER;
25806 l_recog_line_2 NUMBER;
25807
25808 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
25809 l_bflow_applied_to_amt NUMBER; -- 5132302
25810 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
25811
25812 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
25813
25814 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
25815 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
25816
25817 ---------------------------------------------------------------------------------------------------------------
25818
25819
25820 --
25821 -- bulk performance
25822 --
25823 l_balance_type_code VARCHAR2(1);
25824 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
25825 l_log_module VARCHAR2(240);
25826
25827 --
25828 -- Upgrade strategy
25829 --
25830 l_actual_upg_option VARCHAR2(1);
25831 l_enc_upg_option VARCHAR2(1);
25832
25833 --
25834 BEGIN
25835 --
25836 IF g_log_enabled THEN
25837 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_71';
25838 END IF;
25839 --
25840 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
25841
25842 trace
25843 (p_msg => 'BEGIN of AcctLineType_71'
25844 ,p_level => C_LEVEL_PROCEDURE
25845 ,p_module => l_log_module);
25846
25847 END IF;
25848 --
25849 l_component_type := 'AMB_JLT';
25850 l_component_code := 'AP_CASH_CLEAR_PMT_AOS_BS';
25851 l_component_type_code := 'S';
25852 l_component_appl_id := 200;
25853 l_amb_context_code := 'DEFAULT';
25854 l_entity_code := 'AP_PAYMENTS';
25855 l_event_class_code := 'PAYMENTS';
25856 l_event_type_code := 'PAYMENTS_ALL';
25857 l_line_definition_owner_code := 'S';
25858 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
25859 --
25860 l_balance_type_code := 'A';
25861 l_segment := NULL;
25862 l_ccid := NULL;
25863 l_adr_transaction_coa_id := NULL;
25864 l_adr_accounting_coa_id := NULL;
25865 l_adr_flexfield_segment_code := NULL;
25866 l_adr_flex_value_set_id := NULL;
25867 l_adr_value_type_code := NULL;
25868 l_adr_value_combination_id := NULL;
25869 l_adr_value_segment_code := NULL;
25870
25871 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
25872 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
25873 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
25874 l_budgetary_control_flag := 'N';
25875
25876 l_bflow_applied_to_amt_idx := NULL; -- 5132302
25877 l_bflow_applied_to_amt := NULL; -- 5132302
25878 l_entered_amt_idx := NULL; -- 4262811
25879 l_accted_amt_idx := NULL; -- 4262811
25880 l_acc_rev_flag := NULL; -- 4262811
25884
25881 l_accrual_line_num := NULL; -- 4262811
25882 l_tmp_amt := NULL; -- 4262811
25883 --
25885 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
25886 l_balance_type_code <> 'B' THEN
25887 IF NVL(p_source_97,'
25888 ') = 'ALWAYS_ALWAYS' AND
25889 (NVL(p_source_113,'
25890 ') = 'Y' AND
25891 NVL(p_source_15,'
25892 ') = 'BALANCING_SEGMENT') AND
25893 p_source_114 IS NULL AND
25894 NVL(p_source_98,'
25895 ') = 'CASH' AND
25896 NVL(p_source_122,'
25897 ') <> 'R' AND
25898 NVL(p_source_123,'
25899 ') <> 'PAYMENTCARD'
25900 THEN
25901
25902 --
25903 XLA_AE_LINES_PKG.SetNewLine;
25904
25905 p_balance_type_code := l_balance_type_code;
25906 -- set the flag so later we will know whether the gain loss line needs to be created
25907
25908 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
25909 p_actual_flag :='A';
25910 END IF;
25911
25912 --
25913 -- bulk performance
25914 --
25915 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
25916 p_header_num => 0); -- 4262811
25917 --
25918 -- set accounting line options
25919 --
25920 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
25921 p_natural_side_code => 'C'
25922 , p_gain_or_loss_flag => 'N'
25923 , p_gl_transfer_mode_code => 'S'
25924 , p_acct_entry_type_code => 'A'
25925 , p_switch_side_flag => 'Y'
25926 , p_merge_duplicate_code => 'A'
25927 );
25928 --
25929 l_acc_rev_natural_side_code := 'D'; -- 4262811
25930 --
25931 --
25932 -- set accounting line type info
25933 --
25934 xla_ae_lines_pkg.SetAcctLineType
25935 (p_component_type => l_component_type
25936 ,p_event_type_code => l_event_type_code
25937 ,p_line_definition_owner_code => l_line_definition_owner_code
25938 ,p_line_definition_code => l_line_definition_code
25939 ,p_accounting_line_code => l_component_code
25940 ,p_accounting_line_type_code => l_component_type_code
25941 ,p_accounting_line_appl_id => l_component_appl_id
25942 ,p_amb_context_code => l_amb_context_code
25943 ,p_entity_code => l_entity_code
25944 ,p_event_class_code => l_event_class_code);
25945 --
25946 -- set accounting class
25947 --
25948 xla_ae_lines_pkg.SetAcctClass(
25949 p_accounting_class_code => 'CASH_CLEARING'
25950 , p_ae_header_id => l_ae_header_id
25951 );
25952
25953 --
25954 -- set rounding class
25955 --
25956 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
25957 'CASH_CLEARING';
25958
25959 --
25960 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
25961 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
25962 --
25963 -- bulk performance
25964 --
25965 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
25966
25967 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
25968 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
25969
25970 -- 4955764
25971 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25972 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
25973
25974 -- 4458381 Public Sector Enh
25975
25976 --
25977 -- set accounting attributes for the line type
25978 --
25979 l_entered_amt_idx := 10;
25980 l_accted_amt_idx := 15;
25981 l_bflow_applied_to_amt_idx := 2; -- 5132302
25982 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
25983 l_rec_acct_attrs.array_char_value(1) := p_source_53;
25984 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
25985 l_rec_acct_attrs.array_num_value(2) := p_source_124;
25986 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
25987 l_rec_acct_attrs.array_num_value(3) := p_source_91;
25988 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
25989 l_rec_acct_attrs.array_char_value(4) := p_source_92;
25990 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
25991 l_rec_acct_attrs.array_char_value(5) := p_source_93;
25992 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
25993 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
25994 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
25995 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
25996 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
25997 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
25998 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
25999 l_rec_acct_attrs.array_char_value(9) := p_source_55;
26000 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
26001 l_rec_acct_attrs.array_num_value(10) := p_source_99;
26005 l_rec_acct_attrs.array_date_value(12) := p_source_117;
26002 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
26003 l_rec_acct_attrs.array_char_value(11) := p_source_13;
26004 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
26006 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
26007 l_rec_acct_attrs.array_num_value(13) := p_source_118;
26008 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
26009 l_rec_acct_attrs.array_char_value(14) := p_source_119;
26010 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
26011 l_rec_acct_attrs.array_num_value(15) := p_source_115;
26012 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
26013 l_rec_acct_attrs.array_char_value(16) := p_source_80;
26014 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
26015 l_rec_acct_attrs.array_num_value(17) := p_source_110;
26016 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
26017 l_rec_acct_attrs.array_num_value(18) := p_source_111;
26018 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
26019 l_rec_acct_attrs.array_char_value(19) := p_source_83;
26020 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
26021 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
26022 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
26023 l_rec_acct_attrs.array_char_value(21) := p_source_55;
26024 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
26025 l_rec_acct_attrs.array_num_value(22) := p_source_86;
26026 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
26027 l_rec_acct_attrs.array_num_value(23) := p_source_87;
26028 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
26029 l_rec_acct_attrs.array_num_value(24) := p_source_88;
26030
26031 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
26032 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
26033
26034 ---------------------------------------------------------------------------------------------------------------
26035 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
26036 ---------------------------------------------------------------------------------------------------------------
26037 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
26038
26039 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26040 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26041
26042 IF xla_accounting_cache_pkg.GetValueChar
26043 (p_source_code => 'LEDGER_CATEGORY_CODE'
26044 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
26045 AND l_bflow_method_code = 'PRIOR_ENTRY'
26046 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
26047 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
26048 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
26049 )
26050 THEN
26051 xla_ae_lines_pkg.BflowUpgEntry
26052 (p_business_method_code => l_bflow_method_code
26053 ,p_business_class_code => l_bflow_class_code
26054 ,p_balance_type => l_balance_type_code);
26055 ELSE
26056 NULL;
26057 XLA_AE_LINES_PKG.business_flow_validation(
26058 p_business_method_code => l_bflow_method_code
26059 ,p_business_class_code => l_bflow_class_code
26060 ,p_inherit_description_flag => l_inherit_desc_flag);
26061 END IF;
26062
26063 --
26064 -- call analytical criteria
26065 --
26066
26067 --
26068 -- call description
26069 --
26070 -- No description or it is inherited.
26071 --
26072 -- call ADRs
26073 -- Bug 4922099
26074 --
26075 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
26076 (NVL(l_actual_upg_option, 'N') = 'O') OR
26077 (NVL(l_enc_upg_option, 'N') = 'O')
26078 )
26079 THEN
26080 NULL;
26081 --
26082 --
26083
26084 l_ccid := AcctDerRule_36(
26085 p_application_id => p_application_id
26086 , p_ae_header_id => l_ae_header_id
26087 , p_source_35 => p_source_35
26088 , x_transaction_coa_id => l_adr_transaction_coa_id
26089 , x_accounting_coa_id => l_adr_accounting_coa_id
26090 , x_value_type_code => l_adr_value_type_code
26091 , p_side => 'NA'
26092 );
26093
26094 xla_ae_lines_pkg.set_ccid(
26095 p_code_combination_id => l_ccid
26096 , p_value_type_code => l_adr_value_type_code
26097 , p_transaction_coa_id => l_adr_transaction_coa_id
26098 , p_accounting_coa_id => l_adr_accounting_coa_id
26099 , p_adr_code => 'AP_PMT_CASH_CLEAR'
26100 , p_adr_type_code => 'S'
26101 , p_component_type => l_component_type
26102 , p_component_code => l_component_code
26103 , p_component_type_code => l_component_type_code
26104 , p_component_appl_id => l_component_appl_id
26105 , p_amb_context_code => l_amb_context_code
26106 , p_side => 'NA'
26107 );
26108
26109
26113 , p_from_segment_code => NULL
26110 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
26111 p_to_segment_code => 'GL_BALANCING'
26112 , p_segment_value => C_CHAR
26114 , p_from_combination_id => NULL
26115 , p_value_type_code => NULL
26116 , p_transaction_coa_id => null
26117 , p_accounting_coa_id => null
26118 , p_flexfield_segment_code => NULL
26119 , p_flex_value_set_id => NULL
26120 , p_adr_code => NULL
26121 , p_adr_type_code => NULL
26122 , p_component_type => l_component_type
26123 , p_component_code => l_component_code
26124 , p_component_type_code => l_component_type_code
26125 , p_component_appl_id => l_component_appl_id
26126 , p_amb_context_code => l_amb_context_code
26127 , p_entity_code => 'AP_PAYMENTS'
26128 , p_event_class_code => 'PAYMENTS'
26129 , p_side => 'NA'
26130 );
26131 --
26132
26133
26134 --
26135 --
26136 END IF;
26137 --
26138 -- Bug 4922099
26139 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
26140 (NVL(l_enc_upg_option, 'N') = 'O')
26141 ) AND
26142 (l_bflow_method_code = 'PRIOR_ENTRY')
26143 )
26144 THEN
26145 IF
26146 --
26147 1 = 2
26148 --
26149 THEN
26150 xla_accounting_err_pkg.build_message
26151 (p_appli_s_name => 'XLA'
26152 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
26153 ,p_token_1 => 'LINE_NUMBER'
26154 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
26155 ,p_token_2 => 'LINE_TYPE_NAME'
26156 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
26157 l_component_type
26158 ,l_component_code
26159 ,l_component_type_code
26160 ,l_component_appl_id
26161 ,l_amb_context_code
26162 ,l_entity_code
26163 ,l_event_class_code
26164 )
26165 ,p_token_3 => 'OWNER'
26166 ,p_value_3 => xla_lookups_pkg.get_meaning(
26167 p_lookup_type => 'XLA_OWNER_TYPE'
26168 ,p_lookup_code => l_component_type_code
26169 )
26170 ,p_token_4 => 'PRODUCT_NAME'
26171 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
26172 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
26173 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
26174 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
26175 ,p_ae_header_id => NULL
26176 );
26177
26178 IF (C_LEVEL_ERROR>= g_log_level) THEN
26179 trace
26180 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
26181 ,p_level => C_LEVEL_ERROR
26182 ,p_module => l_log_module);
26183 END IF;
26184 END IF;
26185 END IF;
26186 --
26187 --
26188 ------------------------------------------------------------------------------------------------
26189 -- 4219869 Business Flow
26190 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
26191 -- Prior Entry. Currently, the following code is always generated.
26192 ------------------------------------------------------------------------------------------------
26193 XLA_AE_LINES_PKG.ValidateCurrentLine;
26194
26195 ------------------------------------------------------------------------------------
26196 -- 4219869 Business Flow
26197 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
26198 ------------------------------------------------------------------------------------
26199 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
26200
26201 ----------------------------------------------------------------------------------
26202 -- 4219869 Business Flow
26203 -- Update journal entry status -- Need to generate this within IF <condition>
26204 ----------------------------------------------------------------------------------
26205 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
26206 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
26210 -------------------------------------------------------------------------------------------
26207 ,p_balance_type_code => l_balance_type_code
26208 );
26209
26211 -- 4262811 - Generate the Accrual Reversal lines
26212 -------------------------------------------------------------------------------------------
26213 BEGIN
26214 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
26215 (g_array_event(p_event_id).array_value_num('header_index'));
26216 IF l_acc_rev_flag IS NULL THEN
26217 l_acc_rev_flag := 'N';
26218 END IF;
26219 EXCEPTION
26220 WHEN OTHERS THEN
26221 l_acc_rev_flag := 'N';
26222 END;
26223 --
26224 IF (l_acc_rev_flag = 'Y') THEN
26225
26226 -- 4645092 ------------------------------------------------------------------------------
26227 -- To allow MPA report to determine if it should generate report process
26228 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
26229 ------------------------------------------------------------------------------------------
26230
26231 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
26232 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
26233 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
26234 -- call ADRs
26235 -- Bug 4922099
26236 --
26237 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
26238 (NVL(l_actual_upg_option, 'N') = 'O') OR
26239 (NVL(l_enc_upg_option, 'N') = 'O')
26240 )
26241 THEN
26242 NULL;
26243 --
26244 --
26245
26246 l_ccid := AcctDerRule_36(
26247 p_application_id => p_application_id
26248 , p_ae_header_id => l_ae_header_id
26249 , p_source_35 => p_source_35
26250 , x_transaction_coa_id => l_adr_transaction_coa_id
26251 , x_accounting_coa_id => l_adr_accounting_coa_id
26252 , x_value_type_code => l_adr_value_type_code
26253 , p_side => 'NA'
26254 );
26255
26256 xla_ae_lines_pkg.set_ccid(
26257 p_code_combination_id => l_ccid
26258 , p_value_type_code => l_adr_value_type_code
26259 , p_transaction_coa_id => l_adr_transaction_coa_id
26260 , p_accounting_coa_id => l_adr_accounting_coa_id
26261 , p_adr_code => 'AP_PMT_CASH_CLEAR'
26262 , p_adr_type_code => 'S'
26263 , p_component_type => l_component_type
26264 , p_component_code => l_component_code
26265 , p_component_type_code => l_component_type_code
26266 , p_component_appl_id => l_component_appl_id
26267 , p_amb_context_code => l_amb_context_code
26268 , p_side => 'NA'
26269 );
26270
26271
26272 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
26273 p_to_segment_code => 'GL_BALANCING'
26274 , p_segment_value => C_CHAR
26275 , p_from_segment_code => NULL
26276 , p_from_combination_id => NULL
26277 , p_value_type_code => NULL
26278 , p_transaction_coa_id => null
26279 , p_accounting_coa_id => null
26280 , p_flexfield_segment_code => NULL
26281 , p_flex_value_set_id => NULL
26282 , p_adr_code => NULL
26283 , p_adr_type_code => NULL
26284 , p_component_type => l_component_type
26285 , p_component_code => l_component_code
26286 , p_component_type_code => l_component_type_code
26287 , p_component_appl_id => l_component_appl_id
26288 , p_amb_context_code => l_amb_context_code
26289 , p_entity_code => 'AP_PAYMENTS'
26290 , p_event_class_code => 'PAYMENTS'
26291 , p_side => 'NA'
26292 );
26293 --
26294
26295
26296 --
26297 --
26298 END IF;
26299
26300 --
26301 -- Update the line information that should be overwritten
26302 --
26303 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
26304 p_header_num => 1);
26305 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
26306
26307 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
26308
26309 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
26310 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
26311 END IF;
26312
26313 --
26314 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
26315 --
26316 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
26317 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
26318 ELSE
26319 ---------------------------------------------------------------------------------------------------
26320 -- 4262811a Switch Sign
26321 ---------------------------------------------------------------------------------------------------
26322 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
26326 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26323 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26324 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26325 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26327 -- 5132302
26328 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
26329 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26330
26331 END IF;
26332
26333 -- 4955764
26334 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
26335 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
26336
26337
26338 XLA_AE_LINES_PKG.ValidateCurrentLine;
26339 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
26340
26341 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
26342 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
26343 ,p_balance_type_code => l_balance_type_code);
26344
26345 END IF;
26346
26347 -----------------------------------------------------------------------------------------
26348 -- 4262811 Multiperiod Accounting
26349 -----------------------------------------------------------------------------------------
26350 -- No MPA option is assigned.
26351
26352
26353 END IF;
26354 END IF;
26355 --
26356
26357 --
26358 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
26359 trace
26360 (p_msg => 'END of AcctLineType_71'
26361 ,p_level => C_LEVEL_PROCEDURE
26362 ,p_module => l_log_module);
26363 END IF;
26364 --
26365 EXCEPTION
26366 WHEN xla_exceptions_pkg.application_exception THEN
26367 RAISE;
26368 WHEN OTHERS THEN
26369 xla_exceptions_pkg.raise_message
26370 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_71');
26371 END AcctLineType_71;
26372 --
26373
26374 ---------------------------------------
26375 --
26376 -- PRIVATE FUNCTION
26377 -- AcctLineType_72
26378 --
26379 ---------------------------------------
26380 PROCEDURE AcctLineType_72 (
26381 p_application_id IN NUMBER
26382 ,p_event_id IN NUMBER
26383 ,p_calculate_acctd_flag IN VARCHAR2
26384 ,p_calculate_g_l_flag IN VARCHAR2
26385 ,p_actual_flag IN OUT VARCHAR2
26386 ,p_balance_type_code OUT VARCHAR2
26387 ,p_gain_or_loss_ref OUT VARCHAR2
26388
26389 --Payment Currency Code
26390 , p_source_13 IN VARCHAR2
26391 --Automatic Offsets Value
26392 , p_source_15 IN VARCHAR2
26393 , p_source_15_meaning IN VARCHAR2
26394 --Bank Cash Clearing Account
26395 , p_source_35 IN NUMBER
26396 --Accounting Reversal Indicator
26397 , p_source_53 IN VARCHAR2
26398 --Distribution Link Type
26399 , p_source_55 IN VARCHAR2
26400 --Override Accounted Amount Indicator
26401 , p_source_80 IN VARCHAR2
26402 , p_source_80_meaning IN VARCHAR2
26403 --Third Party Type
26404 , p_source_83 IN VARCHAR2
26405 --Invoice Distribution Tax Line Identifier
26406 , p_source_86 IN NUMBER
26407 --Invoice Distribution Tax Distribution Identifier from Tax
26408 , p_source_87 IN NUMBER
26409 --Invoice Distribution Summary Tax Line Identifier
26410 , p_source_88 IN NUMBER
26411 --Business Flow Accounts Payable Application Identifier
26412 , p_source_91 IN NUMBER
26413 --Business Flow Invoice Distribution Type
26414 , p_source_92 IN VARCHAR2
26415 --Business Flow Invoice Entity Code
26416 , p_source_93 IN VARCHAR2
26417 --Business Flow Invoice Distribution Identifier
26418 , p_source_94 IN NUMBER
26419 --Business Flow Invoice Identifier
26420 , p_source_95 IN NUMBER
26421 --When to Account for Payment Option
26422 , p_source_97 IN VARCHAR2
26423 --Payment Distribution Type
26424 , p_source_98 IN VARCHAR2
26425 , p_source_98_meaning IN VARCHAR2
26426 --Payment Distribution Amount
26427 , p_source_99 IN NUMBER
26428 --Payment Distribution Identifier
26429 , p_source_104 IN NUMBER
26430 --Payment Supplier Identifier
26431 , p_source_110 IN NUMBER
26432 --Payment Supplier Site Identifier
26433 , p_source_111 IN NUMBER
26434 --Payment Distribution Reversed Identifier
26435 , p_source_112 IN NUMBER
26436 --Pooled Bank Account Option
26437 , p_source_113 IN VARCHAR2
26438 , p_source_113_meaning IN VARCHAR2
26439 --Payment Maturity Date
26440 , p_source_114 IN DATE
26441 --Payment Distribution (Invoice Rate) Ledger Amount
26442 , p_source_116 IN NUMBER
26443 --Payment Exchange Date
26444 , p_source_117 IN DATE
26445 --Payment Exchange Rate
26446 , p_source_118 IN NUMBER
26447 --Payment Exchange Rate Type
26448 , p_source_119 IN VARCHAR2
26449 --Payment Type
26450 , p_source_122 IN VARCHAR2
26451 , p_source_122_meaning IN VARCHAR2
26452 --Payment Processing Type
26456 )
26453 , p_source_123 IN VARCHAR2
26454 --Invoice Distribution Amount of the Payment Distribution
26455 , p_source_124 IN NUMBER
26457 IS
26458
26459 l_component_type VARCHAR2(80);
26460 l_component_code VARCHAR2(30);
26461 l_component_type_code VARCHAR2(1);
26462 l_component_appl_id INTEGER;
26463 l_amb_context_code VARCHAR2(30);
26464 l_entity_code VARCHAR2(30);
26465 l_event_class_code VARCHAR2(30);
26466 l_ae_header_id NUMBER;
26467 l_event_type_code VARCHAR2(30);
26468 l_line_definition_code VARCHAR2(30);
26469 l_line_definition_owner_code VARCHAR2(1);
26470 --
26471 -- adr variables
26472 l_segment VARCHAR2(30);
26473 l_ccid NUMBER;
26474 l_adr_transaction_coa_id NUMBER;
26475 l_adr_accounting_coa_id NUMBER;
26476 l_adr_flexfield_segment_code VARCHAR2(30);
26477 l_adr_flex_value_set_id NUMBER;
26478 l_adr_value_type_code VARCHAR2(30);
26479 l_adr_value_combination_id NUMBER;
26480 l_adr_value_segment_code VARCHAR2(30);
26481
26482 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
26483 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
26484 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
26485 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
26486
26487 -- 4262811 Variables ------------------------------------------------------------------------------------------
26488 l_entered_amt_idx NUMBER;
26489 l_accted_amt_idx NUMBER;
26490 l_acc_rev_flag VARCHAR2(1);
26491 l_accrual_line_num NUMBER;
26492 l_tmp_amt NUMBER;
26493 l_acc_rev_natural_side_code VARCHAR2(1);
26494
26495 l_num_entries NUMBER;
26496 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
26497 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
26498 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
26499 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
26500 l_recog_line_1 NUMBER;
26501 l_recog_line_2 NUMBER;
26502
26503 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
26504 l_bflow_applied_to_amt NUMBER; -- 5132302
26505 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
26506
26507 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
26508
26509 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
26510 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
26511
26512 ---------------------------------------------------------------------------------------------------------------
26513
26514
26515 --
26516 -- bulk performance
26517 --
26518 l_balance_type_code VARCHAR2(1);
26519 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
26520 l_log_module VARCHAR2(240);
26521
26522 --
26523 -- Upgrade strategy
26524 --
26525 l_actual_upg_option VARCHAR2(1);
26526 l_enc_upg_option VARCHAR2(1);
26527
26528 --
26529 BEGIN
26530 --
26531 IF g_log_enabled THEN
26532 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_72';
26533 END IF;
26534 --
26535 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
26536
26537 trace
26538 (p_msg => 'BEGIN of AcctLineType_72'
26539 ,p_level => C_LEVEL_PROCEDURE
26540 ,p_module => l_log_module);
26541
26542 END IF;
26543 --
26544 l_component_type := 'AMB_JLT';
26545 l_component_code := 'AP_CASH_CLEAR_PMT_AS_INVXRATE';
26546 l_component_type_code := 'S';
26547 l_component_appl_id := 200;
26548 l_amb_context_code := 'DEFAULT';
26549 l_entity_code := 'AP_PAYMENTS';
26550 l_event_class_code := 'PAYMENTS';
26551 l_event_type_code := 'PAYMENTS_ALL';
26552 l_line_definition_owner_code := 'S';
26553 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
26554 --
26555 l_balance_type_code := 'A';
26556 l_segment := NULL;
26557 l_ccid := NULL;
26558 l_adr_transaction_coa_id := NULL;
26559 l_adr_accounting_coa_id := NULL;
26560 l_adr_flexfield_segment_code := NULL;
26561 l_adr_flex_value_set_id := NULL;
26562 l_adr_value_type_code := NULL;
26563 l_adr_value_combination_id := NULL;
26564 l_adr_value_segment_code := NULL;
26565
26566 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
26567 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
26568 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
26569 l_budgetary_control_flag := 'N';
26570
26571 l_bflow_applied_to_amt_idx := NULL; -- 5132302
26572 l_bflow_applied_to_amt := NULL; -- 5132302
26573 l_entered_amt_idx := NULL; -- 4262811
26574 l_accted_amt_idx := NULL; -- 4262811
26575 l_acc_rev_flag := NULL; -- 4262811
26576 l_accrual_line_num := NULL; -- 4262811
26577 l_tmp_amt := NULL; -- 4262811
26578 --
26579
26580 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
26584 (NVL(p_source_113,'
26581 l_balance_type_code <> 'B' THEN
26582 IF NVL(p_source_97,'
26583 ') = 'ALWAYS_CLEAR' AND
26585 ') = 'Y' AND
26586 NVL(p_source_15,'
26587 ') = 'ACCOUNT_SEGMENT_VALUE') AND
26588 p_source_114 IS NULL AND
26589 NVL(p_source_98,'
26590 ') = 'CASH' AND
26591 NVL(p_source_122,'
26592 ') <> 'R' AND
26593 NVL(p_source_123,'
26594 ') <> 'PAYMENTCARD'
26595 THEN
26596
26597 --
26598 XLA_AE_LINES_PKG.SetNewLine;
26599
26600 p_balance_type_code := l_balance_type_code;
26601 -- set the flag so later we will know whether the gain loss line needs to be created
26602
26603 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
26604 p_actual_flag :='A';
26605 END IF;
26606
26607 --
26608 -- bulk performance
26609 --
26610 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
26611 p_header_num => 0); -- 4262811
26612 --
26613 -- set accounting line options
26614 --
26615 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
26616 p_natural_side_code => 'C'
26617 , p_gain_or_loss_flag => 'N'
26618 , p_gl_transfer_mode_code => 'S'
26619 , p_acct_entry_type_code => 'A'
26620 , p_switch_side_flag => 'Y'
26621 , p_merge_duplicate_code => 'A'
26622 );
26623 --
26624 l_acc_rev_natural_side_code := 'D'; -- 4262811
26625 --
26626 --
26627 -- set accounting line type info
26628 --
26629 xla_ae_lines_pkg.SetAcctLineType
26630 (p_component_type => l_component_type
26631 ,p_event_type_code => l_event_type_code
26632 ,p_line_definition_owner_code => l_line_definition_owner_code
26633 ,p_line_definition_code => l_line_definition_code
26634 ,p_accounting_line_code => l_component_code
26635 ,p_accounting_line_type_code => l_component_type_code
26636 ,p_accounting_line_appl_id => l_component_appl_id
26637 ,p_amb_context_code => l_amb_context_code
26638 ,p_entity_code => l_entity_code
26639 ,p_event_class_code => l_event_class_code);
26640 --
26641 -- set accounting class
26642 --
26643 xla_ae_lines_pkg.SetAcctClass(
26644 p_accounting_class_code => 'CASH_CLEARING'
26645 , p_ae_header_id => l_ae_header_id
26646 );
26647
26648 --
26649 -- set rounding class
26650 --
26651 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
26652 'CASH_CLEARING';
26653
26654 --
26655 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
26656 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
26657 --
26658 -- bulk performance
26659 --
26660 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
26661
26662 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
26663 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
26664
26665 -- 4955764
26666 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
26667 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
26668
26669 -- 4458381 Public Sector Enh
26670
26671 --
26672 -- set accounting attributes for the line type
26673 --
26674 l_entered_amt_idx := 10;
26675 l_accted_amt_idx := 15;
26676 l_bflow_applied_to_amt_idx := 2; -- 5132302
26677 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
26678 l_rec_acct_attrs.array_char_value(1) := p_source_53;
26679 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
26680 l_rec_acct_attrs.array_num_value(2) := p_source_124;
26681 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
26682 l_rec_acct_attrs.array_num_value(3) := p_source_91;
26683 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
26684 l_rec_acct_attrs.array_char_value(4) := p_source_92;
26685 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
26686 l_rec_acct_attrs.array_char_value(5) := p_source_93;
26687 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
26688 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
26689 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
26690 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
26691 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
26692 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
26693 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
26694 l_rec_acct_attrs.array_char_value(9) := p_source_55;
26695 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
26696 l_rec_acct_attrs.array_num_value(10) := p_source_99;
26697 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
26698 l_rec_acct_attrs.array_char_value(11) := p_source_13;
26699 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
26700 l_rec_acct_attrs.array_date_value(12) := p_source_117;
26701 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
26705 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
26702 l_rec_acct_attrs.array_num_value(13) := p_source_118;
26703 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
26704 l_rec_acct_attrs.array_char_value(14) := p_source_119;
26706 l_rec_acct_attrs.array_num_value(15) := p_source_116;
26707 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
26708 l_rec_acct_attrs.array_char_value(16) := p_source_80;
26709 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
26710 l_rec_acct_attrs.array_num_value(17) := p_source_110;
26711 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
26712 l_rec_acct_attrs.array_num_value(18) := p_source_111;
26713 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
26714 l_rec_acct_attrs.array_char_value(19) := p_source_83;
26715 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
26716 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
26717 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
26718 l_rec_acct_attrs.array_char_value(21) := p_source_55;
26719 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
26720 l_rec_acct_attrs.array_num_value(22) := p_source_86;
26721 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
26722 l_rec_acct_attrs.array_num_value(23) := p_source_87;
26723 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
26724 l_rec_acct_attrs.array_num_value(24) := p_source_88;
26725
26726 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
26727 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
26728
26729 ---------------------------------------------------------------------------------------------------------------
26730 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
26731 ---------------------------------------------------------------------------------------------------------------
26732 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
26733
26734 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26735 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26736
26737 IF xla_accounting_cache_pkg.GetValueChar
26738 (p_source_code => 'LEDGER_CATEGORY_CODE'
26739 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
26740 AND l_bflow_method_code = 'PRIOR_ENTRY'
26741 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
26742 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
26743 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
26744 )
26745 THEN
26746 xla_ae_lines_pkg.BflowUpgEntry
26747 (p_business_method_code => l_bflow_method_code
26748 ,p_business_class_code => l_bflow_class_code
26749 ,p_balance_type => l_balance_type_code);
26750 ELSE
26751 NULL;
26752 XLA_AE_LINES_PKG.business_flow_validation(
26753 p_business_method_code => l_bflow_method_code
26754 ,p_business_class_code => l_bflow_class_code
26755 ,p_inherit_description_flag => l_inherit_desc_flag);
26756 END IF;
26757
26758 --
26759 -- call analytical criteria
26760 --
26761
26762 --
26763 -- call description
26764 --
26765 -- No description or it is inherited.
26766 --
26767 -- call ADRs
26768 -- Bug 4922099
26769 --
26770 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
26771 (NVL(l_actual_upg_option, 'N') = 'O') OR
26772 (NVL(l_enc_upg_option, 'N') = 'O')
26773 )
26774 THEN
26775 NULL;
26776 --
26777 --
26778
26779 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
26780 p_code_combination_id => TO_NUMBER(C_NUM)
26781 , p_value_type_code => NULL
26782 , p_transaction_coa_id => null
26783 , p_accounting_coa_id => null
26784 , p_adr_code => NULL
26785 , p_adr_type_code => NULL
26786 , p_component_type => l_component_type
26787 , p_component_code => l_component_code
26788 , p_component_type_code => l_component_type_code
26789 , p_component_appl_id => l_component_appl_id
26790 , p_amb_context_code => l_amb_context_code
26791 , p_side => NULL
26792 );
26793
26794
26795 -- initialise segments
26796 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26797 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26798 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26799 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26800 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26801 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26802 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26803 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26804 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26808 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26805 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26806 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26807 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26809 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26810 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26811 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26812 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26813 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26814 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26815 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26816 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26817 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26818 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26819 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26820 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26821 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26822 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26823 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26824 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26825 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26826 --
26827
26828 --
26829
26830
26831 l_segment := AcctDerRule_16(
26832 p_application_id => p_application_id
26833 , p_ae_header_id => l_ae_header_id
26834 , p_source_35 => p_source_35
26835 , x_transaction_coa_id => l_adr_transaction_coa_id
26836 , x_accounting_coa_id => l_adr_accounting_coa_id
26837 , x_flexfield_segment_code => l_adr_flexfield_segment_code
26838 , x_flex_value_set_id => l_adr_flex_value_set_id
26839 , x_value_type_code => l_adr_value_type_code
26840 , x_value_combination_id => l_adr_value_combination_id
26841 , x_value_segment_code => l_adr_value_segment_code
26842 , p_side => 'NA'
26843 , p_override_seg_flag => 'Y'
26844 );
26845
26846 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
26847
26848 xla_ae_lines_pkg.set_segment(
26849 p_to_segment_code => 'GL_ACCOUNT'
26850 , p_segment_value => l_segment
26851 , p_from_segment_code => l_adr_value_segment_code
26852 , p_from_combination_id => l_adr_value_combination_id
26853 , p_value_type_code => l_adr_value_type_code
26854 , p_transaction_coa_id => l_adr_transaction_coa_id
26855 , p_accounting_coa_id => l_adr_accounting_coa_id
26856 , p_flexfield_segment_code => l_adr_flexfield_segment_code
26857 , p_flex_value_set_id => l_adr_flex_value_set_id
26858 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
26859 , p_adr_type_code => 'S'
26860 , p_component_type => l_component_type
26861 , p_component_code => l_component_code
26862 , p_component_type_code => l_component_type_code
26863 , p_component_appl_id => l_component_appl_id
26864 , p_amb_context_code => l_amb_context_code
26865 , p_entity_code => 'AP_PAYMENTS'
26866 , p_event_class_code => 'PAYMENTS'
26867 , p_side => 'NA'
26868 );
26869
26870 END IF;
26871
26872 --
26873 --
26874 END IF;
26875 --
26876 -- Bug 4922099
26877 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
26878 (NVL(l_enc_upg_option, 'N') = 'O')
26879 ) AND
26880 (l_bflow_method_code = 'PRIOR_ENTRY')
26881 )
26882 THEN
26883 IF
26884 --
26885 1 = 2
26886 --
26887 THEN
26888 xla_accounting_err_pkg.build_message
26889 (p_appli_s_name => 'XLA'
26890 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
26891 ,p_token_1 => 'LINE_NUMBER'
26892 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
26893 ,p_token_2 => 'LINE_TYPE_NAME'
26894 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
26895 l_component_type
26896 ,l_component_code
26897 ,l_component_type_code
26898 ,l_component_appl_id
26899 ,l_amb_context_code
26900 ,l_entity_code
26904 ,p_value_3 => xla_lookups_pkg.get_meaning(
26901 ,l_event_class_code
26902 )
26903 ,p_token_3 => 'OWNER'
26905 p_lookup_type => 'XLA_OWNER_TYPE'
26906 ,p_lookup_code => l_component_type_code
26907 )
26908 ,p_token_4 => 'PRODUCT_NAME'
26909 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
26910 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
26911 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
26912 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
26913 ,p_ae_header_id => NULL
26914 );
26915
26916 IF (C_LEVEL_ERROR>= g_log_level) THEN
26917 trace
26918 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
26919 ,p_level => C_LEVEL_ERROR
26920 ,p_module => l_log_module);
26921 END IF;
26922 END IF;
26923 END IF;
26924 --
26925 --
26926 ------------------------------------------------------------------------------------------------
26927 -- 4219869 Business Flow
26928 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
26929 -- Prior Entry. Currently, the following code is always generated.
26930 ------------------------------------------------------------------------------------------------
26931 XLA_AE_LINES_PKG.ValidateCurrentLine;
26932
26933 ------------------------------------------------------------------------------------
26934 -- 4219869 Business Flow
26935 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
26936 ------------------------------------------------------------------------------------
26937 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
26938
26939 ----------------------------------------------------------------------------------
26940 -- 4219869 Business Flow
26941 -- Update journal entry status -- Need to generate this within IF <condition>
26942 ----------------------------------------------------------------------------------
26943 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
26944 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
26945 ,p_balance_type_code => l_balance_type_code
26946 );
26947
26948 -------------------------------------------------------------------------------------------
26949 -- 4262811 - Generate the Accrual Reversal lines
26950 -------------------------------------------------------------------------------------------
26951 BEGIN
26952 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
26953 (g_array_event(p_event_id).array_value_num('header_index'));
26954 IF l_acc_rev_flag IS NULL THEN
26955 l_acc_rev_flag := 'N';
26956 END IF;
26957 EXCEPTION
26958 WHEN OTHERS THEN
26959 l_acc_rev_flag := 'N';
26960 END;
26961 --
26962 IF (l_acc_rev_flag = 'Y') THEN
26963
26964 -- 4645092 ------------------------------------------------------------------------------
26965 -- To allow MPA report to determine if it should generate report process
26966 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
26967 ------------------------------------------------------------------------------------------
26968
26969 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
26970 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
26971 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
26972 -- call ADRs
26973 -- Bug 4922099
26974 --
26975 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
26976 (NVL(l_actual_upg_option, 'N') = 'O') OR
26977 (NVL(l_enc_upg_option, 'N') = 'O')
26978 )
26979 THEN
26980 NULL;
26981 --
26982 --
26983
26984 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
26985 p_code_combination_id => TO_NUMBER(C_NUM)
26986 , p_value_type_code => NULL
26987 , p_transaction_coa_id => null
26988 , p_accounting_coa_id => null
26989 , p_adr_code => NULL
26990 , p_adr_type_code => NULL
26991 , p_component_type => l_component_type
26992 , p_component_code => l_component_code
26993 , p_component_type_code => l_component_type_code
26994 , p_component_appl_id => l_component_appl_id
26995 , p_amb_context_code => l_amb_context_code
26996 , p_side => NULL
26997 );
26998
26999
27000 -- initialise segments
27001 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27005 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27002 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27003 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27004 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27006 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27007 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27008 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27009 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27010 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27011 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27012 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27013 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27014 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27015 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27016 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27017 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27018 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27019 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27020 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27021 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27022 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27023 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27024 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27025 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27026 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27027 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27028 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27029 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27030 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27031 --
27032
27033 --
27034
27035
27036 l_segment := AcctDerRule_16(
27037 p_application_id => p_application_id
27038 , p_ae_header_id => l_ae_header_id
27039 , p_source_35 => p_source_35
27040 , x_transaction_coa_id => l_adr_transaction_coa_id
27041 , x_accounting_coa_id => l_adr_accounting_coa_id
27042 , x_flexfield_segment_code => l_adr_flexfield_segment_code
27043 , x_flex_value_set_id => l_adr_flex_value_set_id
27044 , x_value_type_code => l_adr_value_type_code
27045 , x_value_combination_id => l_adr_value_combination_id
27046 , x_value_segment_code => l_adr_value_segment_code
27047 , p_side => 'NA'
27048 , p_override_seg_flag => 'Y'
27049 );
27050
27051 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
27052
27053 xla_ae_lines_pkg.set_segment(
27054 p_to_segment_code => 'GL_ACCOUNT'
27055 , p_segment_value => l_segment
27056 , p_from_segment_code => l_adr_value_segment_code
27057 , p_from_combination_id => l_adr_value_combination_id
27058 , p_value_type_code => l_adr_value_type_code
27059 , p_transaction_coa_id => l_adr_transaction_coa_id
27060 , p_accounting_coa_id => l_adr_accounting_coa_id
27061 , p_flexfield_segment_code => l_adr_flexfield_segment_code
27062 , p_flex_value_set_id => l_adr_flex_value_set_id
27063 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
27064 , p_adr_type_code => 'S'
27065 , p_component_type => l_component_type
27066 , p_component_code => l_component_code
27067 , p_component_type_code => l_component_type_code
27068 , p_component_appl_id => l_component_appl_id
27069 , p_amb_context_code => l_amb_context_code
27070 , p_entity_code => 'AP_PAYMENTS'
27071 , p_event_class_code => 'PAYMENTS'
27072 , p_side => 'NA'
27073 );
27074
27075 END IF;
27076
27077 --
27078 --
27079 END IF;
27080
27081 --
27082 -- Update the line information that should be overwritten
27083 --
27084 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
27085 p_header_num => 1);
27086 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
27087
27088 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
27089
27090 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
27091 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
27092 END IF;
27093
27094 --
27098 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
27095 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
27096 --
27097 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
27099 ELSE
27100 ---------------------------------------------------------------------------------------------------
27101 -- 4262811a Switch Sign
27102 ---------------------------------------------------------------------------------------------------
27103 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
27104 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27105 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27106 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27107 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27108 -- 5132302
27109 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
27110 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27111
27112 END IF;
27113
27114 -- 4955764
27115 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27116 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
27117
27118
27119 XLA_AE_LINES_PKG.ValidateCurrentLine;
27120 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
27121
27122 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
27123 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
27124 ,p_balance_type_code => l_balance_type_code);
27125
27126 END IF;
27127
27128 -----------------------------------------------------------------------------------------
27129 -- 4262811 Multiperiod Accounting
27130 -----------------------------------------------------------------------------------------
27131 -- No MPA option is assigned.
27132
27133
27134 END IF;
27135 END IF;
27136 --
27137
27138 --
27139 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
27140 trace
27141 (p_msg => 'END of AcctLineType_72'
27142 ,p_level => C_LEVEL_PROCEDURE
27143 ,p_module => l_log_module);
27144 END IF;
27145 --
27146 EXCEPTION
27147 WHEN xla_exceptions_pkg.application_exception THEN
27148 RAISE;
27149 WHEN OTHERS THEN
27150 xla_exceptions_pkg.raise_message
27151 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_72');
27152 END AcctLineType_72;
27153 --
27154
27155 ---------------------------------------
27156 --
27157 -- PRIVATE FUNCTION
27158 -- AcctLineType_73
27159 --
27160 ---------------------------------------
27161 PROCEDURE AcctLineType_73 (
27162 p_application_id IN NUMBER
27163 ,p_event_id IN NUMBER
27164 ,p_calculate_acctd_flag IN VARCHAR2
27165 ,p_calculate_g_l_flag IN VARCHAR2
27166 ,p_actual_flag IN OUT VARCHAR2
27167 ,p_balance_type_code OUT VARCHAR2
27168 ,p_gain_or_loss_ref OUT VARCHAR2
27169
27170 --Payment Currency Code
27171 , p_source_13 IN VARCHAR2
27172 --Automatic Offsets Value
27173 , p_source_15 IN VARCHAR2
27174 , p_source_15_meaning IN VARCHAR2
27175 --Bank Cash Clearing Account
27176 , p_source_35 IN NUMBER
27177 --Accounting Reversal Indicator
27178 , p_source_53 IN VARCHAR2
27179 --Distribution Link Type
27180 , p_source_55 IN VARCHAR2
27181 --Override Accounted Amount Indicator
27182 , p_source_80 IN VARCHAR2
27183 , p_source_80_meaning IN VARCHAR2
27184 --Third Party Type
27185 , p_source_83 IN VARCHAR2
27186 --Invoice Distribution Tax Line Identifier
27187 , p_source_86 IN NUMBER
27188 --Invoice Distribution Tax Distribution Identifier from Tax
27189 , p_source_87 IN NUMBER
27190 --Invoice Distribution Summary Tax Line Identifier
27191 , p_source_88 IN NUMBER
27192 --Business Flow Accounts Payable Application Identifier
27193 , p_source_91 IN NUMBER
27194 --Business Flow Invoice Distribution Type
27195 , p_source_92 IN VARCHAR2
27196 --Business Flow Invoice Entity Code
27197 , p_source_93 IN VARCHAR2
27198 --Business Flow Invoice Distribution Identifier
27199 , p_source_94 IN NUMBER
27200 --Business Flow Invoice Identifier
27201 , p_source_95 IN NUMBER
27202 --When to Account for Payment Option
27203 , p_source_97 IN VARCHAR2
27204 --Payment Distribution Type
27205 , p_source_98 IN VARCHAR2
27206 , p_source_98_meaning IN VARCHAR2
27207 --Payment Distribution Amount
27208 , p_source_99 IN NUMBER
27209 --Payment Distribution Identifier
27210 , p_source_104 IN NUMBER
27211 --Payment Supplier Identifier
27212 , p_source_110 IN NUMBER
27213 --Payment Supplier Site Identifier
27214 , p_source_111 IN NUMBER
27215 --Payment Distribution Reversed Identifier
27216 , p_source_112 IN NUMBER
27217 --Pooled Bank Account Option
27221 , p_source_114 IN DATE
27218 , p_source_113 IN VARCHAR2
27219 , p_source_113_meaning IN VARCHAR2
27220 --Payment Maturity Date
27222 --Payment Distribution (Invoice Rate) Ledger Amount
27223 , p_source_116 IN NUMBER
27224 --Payment Exchange Date
27225 , p_source_117 IN DATE
27226 --Payment Exchange Rate
27227 , p_source_118 IN NUMBER
27228 --Payment Exchange Rate Type
27229 , p_source_119 IN VARCHAR2
27230 --Payment Type
27231 , p_source_122 IN VARCHAR2
27232 , p_source_122_meaning IN VARCHAR2
27233 --Payment Processing Type
27234 , p_source_123 IN VARCHAR2
27235 --Invoice Distribution Amount of the Payment Distribution
27236 , p_source_124 IN NUMBER
27237 )
27238 IS
27239
27240 l_component_type VARCHAR2(80);
27241 l_component_code VARCHAR2(30);
27242 l_component_type_code VARCHAR2(1);
27243 l_component_appl_id INTEGER;
27244 l_amb_context_code VARCHAR2(30);
27245 l_entity_code VARCHAR2(30);
27246 l_event_class_code VARCHAR2(30);
27247 l_ae_header_id NUMBER;
27248 l_event_type_code VARCHAR2(30);
27249 l_line_definition_code VARCHAR2(30);
27250 l_line_definition_owner_code VARCHAR2(1);
27251 --
27252 -- adr variables
27253 l_segment VARCHAR2(30);
27254 l_ccid NUMBER;
27255 l_adr_transaction_coa_id NUMBER;
27256 l_adr_accounting_coa_id NUMBER;
27257 l_adr_flexfield_segment_code VARCHAR2(30);
27258 l_adr_flex_value_set_id NUMBER;
27259 l_adr_value_type_code VARCHAR2(30);
27260 l_adr_value_combination_id NUMBER;
27261 l_adr_value_segment_code VARCHAR2(30);
27262
27263 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
27264 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
27265 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
27266 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
27267
27268 -- 4262811 Variables ------------------------------------------------------------------------------------------
27269 l_entered_amt_idx NUMBER;
27270 l_accted_amt_idx NUMBER;
27271 l_acc_rev_flag VARCHAR2(1);
27272 l_accrual_line_num NUMBER;
27273 l_tmp_amt NUMBER;
27274 l_acc_rev_natural_side_code VARCHAR2(1);
27275
27276 l_num_entries NUMBER;
27277 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
27278 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
27279 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
27280 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
27281 l_recog_line_1 NUMBER;
27282 l_recog_line_2 NUMBER;
27283
27284 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
27285 l_bflow_applied_to_amt NUMBER; -- 5132302
27286 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
27287
27288 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
27289
27290 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
27291 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
27292
27293 ---------------------------------------------------------------------------------------------------------------
27294
27295
27296 --
27297 -- bulk performance
27298 --
27299 l_balance_type_code VARCHAR2(1);
27300 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
27301 l_log_module VARCHAR2(240);
27302
27303 --
27304 -- Upgrade strategy
27305 --
27306 l_actual_upg_option VARCHAR2(1);
27307 l_enc_upg_option VARCHAR2(1);
27308
27309 --
27310 BEGIN
27311 --
27312 IF g_log_enabled THEN
27313 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_73';
27314 END IF;
27315 --
27316 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
27317
27318 trace
27319 (p_msg => 'BEGIN of AcctLineType_73'
27320 ,p_level => C_LEVEL_PROCEDURE
27321 ,p_module => l_log_module);
27322
27323 END IF;
27324 --
27325 l_component_type := 'AMB_JLT';
27326 l_component_code := 'AP_CASH_CLEAR_PMT_BS_INVXRATE';
27327 l_component_type_code := 'S';
27328 l_component_appl_id := 200;
27329 l_amb_context_code := 'DEFAULT';
27330 l_entity_code := 'AP_PAYMENTS';
27331 l_event_class_code := 'PAYMENTS';
27332 l_event_type_code := 'PAYMENTS_ALL';
27333 l_line_definition_owner_code := 'S';
27334 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
27335 --
27336 l_balance_type_code := 'A';
27337 l_segment := NULL;
27338 l_ccid := NULL;
27339 l_adr_transaction_coa_id := NULL;
27340 l_adr_accounting_coa_id := NULL;
27341 l_adr_flexfield_segment_code := NULL;
27342 l_adr_flex_value_set_id := NULL;
27343 l_adr_value_type_code := NULL;
27344 l_adr_value_combination_id := NULL;
27345 l_adr_value_segment_code := NULL;
27346
27347 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
27348 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
27352 l_bflow_applied_to_amt_idx := NULL; -- 5132302
27349 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
27350 l_budgetary_control_flag := 'N';
27351
27353 l_bflow_applied_to_amt := NULL; -- 5132302
27354 l_entered_amt_idx := NULL; -- 4262811
27355 l_accted_amt_idx := NULL; -- 4262811
27356 l_acc_rev_flag := NULL; -- 4262811
27357 l_accrual_line_num := NULL; -- 4262811
27358 l_tmp_amt := NULL; -- 4262811
27359 --
27360
27361 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
27362 l_balance_type_code <> 'B' THEN
27363 IF NVL(p_source_97,'
27364 ') = 'ALWAYS_CLEAR' AND
27365 (NVL(p_source_113,'
27366 ') = 'Y' AND
27367 NVL(p_source_15,'
27368 ') = 'BALANCING_SEGMENT') AND
27369 p_source_114 IS NULL AND
27370 NVL(p_source_98,'
27371 ') = 'CASH' AND
27372 NVL(p_source_122,'
27373 ') <> 'R' AND
27374 NVL(p_source_123,'
27375 ') <> 'PAYMENTCARD'
27376 THEN
27377
27378 --
27379 XLA_AE_LINES_PKG.SetNewLine;
27380
27381 p_balance_type_code := l_balance_type_code;
27382 -- set the flag so later we will know whether the gain loss line needs to be created
27383
27384 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
27385 p_actual_flag :='A';
27386 END IF;
27387
27388 --
27389 -- bulk performance
27390 --
27391 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
27392 p_header_num => 0); -- 4262811
27393 --
27394 -- set accounting line options
27395 --
27396 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
27397 p_natural_side_code => 'C'
27398 , p_gain_or_loss_flag => 'N'
27399 , p_gl_transfer_mode_code => 'S'
27400 , p_acct_entry_type_code => 'A'
27401 , p_switch_side_flag => 'Y'
27402 , p_merge_duplicate_code => 'A'
27403 );
27404 --
27405 l_acc_rev_natural_side_code := 'D'; -- 4262811
27406 --
27407 --
27408 -- set accounting line type info
27409 --
27410 xla_ae_lines_pkg.SetAcctLineType
27411 (p_component_type => l_component_type
27412 ,p_event_type_code => l_event_type_code
27413 ,p_line_definition_owner_code => l_line_definition_owner_code
27414 ,p_line_definition_code => l_line_definition_code
27415 ,p_accounting_line_code => l_component_code
27416 ,p_accounting_line_type_code => l_component_type_code
27417 ,p_accounting_line_appl_id => l_component_appl_id
27418 ,p_amb_context_code => l_amb_context_code
27419 ,p_entity_code => l_entity_code
27420 ,p_event_class_code => l_event_class_code);
27421 --
27422 -- set accounting class
27423 --
27424 xla_ae_lines_pkg.SetAcctClass(
27425 p_accounting_class_code => 'CASH_CLEARING'
27426 , p_ae_header_id => l_ae_header_id
27427 );
27428
27429 --
27430 -- set rounding class
27431 --
27432 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
27433 'CASH_CLEARING';
27434
27435 --
27436 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
27437 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
27438 --
27439 -- bulk performance
27440 --
27441 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
27442
27443 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
27444 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
27445
27446 -- 4955764
27447 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27448 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
27449
27450 -- 4458381 Public Sector Enh
27451
27452 --
27453 -- set accounting attributes for the line type
27454 --
27455 l_entered_amt_idx := 10;
27456 l_accted_amt_idx := 15;
27457 l_bflow_applied_to_amt_idx := 2; -- 5132302
27458 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
27459 l_rec_acct_attrs.array_char_value(1) := p_source_53;
27460 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
27461 l_rec_acct_attrs.array_num_value(2) := p_source_124;
27462 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
27463 l_rec_acct_attrs.array_num_value(3) := p_source_91;
27464 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
27465 l_rec_acct_attrs.array_char_value(4) := p_source_92;
27466 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
27467 l_rec_acct_attrs.array_char_value(5) := p_source_93;
27468 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
27469 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
27470 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
27471 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
27472 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
27476 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
27473 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
27474 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
27475 l_rec_acct_attrs.array_char_value(9) := p_source_55;
27477 l_rec_acct_attrs.array_num_value(10) := p_source_99;
27478 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
27479 l_rec_acct_attrs.array_char_value(11) := p_source_13;
27480 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
27481 l_rec_acct_attrs.array_date_value(12) := p_source_117;
27482 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
27483 l_rec_acct_attrs.array_num_value(13) := p_source_118;
27484 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
27485 l_rec_acct_attrs.array_char_value(14) := p_source_119;
27486 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
27487 l_rec_acct_attrs.array_num_value(15) := p_source_116;
27488 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
27489 l_rec_acct_attrs.array_char_value(16) := p_source_80;
27490 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
27491 l_rec_acct_attrs.array_num_value(17) := p_source_110;
27492 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
27493 l_rec_acct_attrs.array_num_value(18) := p_source_111;
27494 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
27495 l_rec_acct_attrs.array_char_value(19) := p_source_83;
27496 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
27497 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
27498 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
27499 l_rec_acct_attrs.array_char_value(21) := p_source_55;
27500 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
27501 l_rec_acct_attrs.array_num_value(22) := p_source_86;
27502 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
27503 l_rec_acct_attrs.array_num_value(23) := p_source_87;
27504 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
27505 l_rec_acct_attrs.array_num_value(24) := p_source_88;
27506
27507 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
27508 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
27509
27510 ---------------------------------------------------------------------------------------------------------------
27511 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
27512 ---------------------------------------------------------------------------------------------------------------
27513 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
27514
27515 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
27516 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
27517
27518 IF xla_accounting_cache_pkg.GetValueChar
27519 (p_source_code => 'LEDGER_CATEGORY_CODE'
27520 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
27521 AND l_bflow_method_code = 'PRIOR_ENTRY'
27522 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
27523 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
27524 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
27525 )
27526 THEN
27527 xla_ae_lines_pkg.BflowUpgEntry
27528 (p_business_method_code => l_bflow_method_code
27529 ,p_business_class_code => l_bflow_class_code
27530 ,p_balance_type => l_balance_type_code);
27531 ELSE
27532 NULL;
27533 XLA_AE_LINES_PKG.business_flow_validation(
27534 p_business_method_code => l_bflow_method_code
27535 ,p_business_class_code => l_bflow_class_code
27536 ,p_inherit_description_flag => l_inherit_desc_flag);
27537 END IF;
27538
27539 --
27540 -- call analytical criteria
27541 --
27542
27543 --
27544 -- call description
27545 --
27546 -- No description or it is inherited.
27547 --
27548 -- call ADRs
27549 -- Bug 4922099
27550 --
27551 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
27552 (NVL(l_actual_upg_option, 'N') = 'O') OR
27553 (NVL(l_enc_upg_option, 'N') = 'O')
27554 )
27555 THEN
27556 NULL;
27557 --
27558 --
27559
27560 l_ccid := AcctDerRule_36(
27561 p_application_id => p_application_id
27562 , p_ae_header_id => l_ae_header_id
27563 , p_source_35 => p_source_35
27564 , x_transaction_coa_id => l_adr_transaction_coa_id
27565 , x_accounting_coa_id => l_adr_accounting_coa_id
27566 , x_value_type_code => l_adr_value_type_code
27567 , p_side => 'NA'
27568 );
27569
27570 xla_ae_lines_pkg.set_ccid(
27571 p_code_combination_id => l_ccid
27572 , p_value_type_code => l_adr_value_type_code
27573 , p_transaction_coa_id => l_adr_transaction_coa_id
27574 , p_accounting_coa_id => l_adr_accounting_coa_id
27575 , p_adr_code => 'AP_PMT_CASH_CLEAR'
27576 , p_adr_type_code => 'S'
27580 , p_component_appl_id => l_component_appl_id
27577 , p_component_type => l_component_type
27578 , p_component_code => l_component_code
27579 , p_component_type_code => l_component_type_code
27581 , p_amb_context_code => l_amb_context_code
27582 , p_side => 'NA'
27583 );
27584
27585
27586 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
27587 p_to_segment_code => 'GL_BALANCING'
27588 , p_segment_value => C_CHAR
27589 , p_from_segment_code => NULL
27590 , p_from_combination_id => NULL
27591 , p_value_type_code => NULL
27592 , p_transaction_coa_id => null
27593 , p_accounting_coa_id => null
27594 , p_flexfield_segment_code => NULL
27595 , p_flex_value_set_id => NULL
27596 , p_adr_code => NULL
27597 , p_adr_type_code => NULL
27598 , p_component_type => l_component_type
27599 , p_component_code => l_component_code
27600 , p_component_type_code => l_component_type_code
27601 , p_component_appl_id => l_component_appl_id
27602 , p_amb_context_code => l_amb_context_code
27603 , p_entity_code => 'AP_PAYMENTS'
27604 , p_event_class_code => 'PAYMENTS'
27605 , p_side => 'NA'
27606 );
27607 --
27608
27609
27610 --
27611 --
27612 END IF;
27613 --
27614 -- Bug 4922099
27615 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
27616 (NVL(l_enc_upg_option, 'N') = 'O')
27617 ) AND
27618 (l_bflow_method_code = 'PRIOR_ENTRY')
27619 )
27620 THEN
27621 IF
27622 --
27623 1 = 2
27624 --
27625 THEN
27626 xla_accounting_err_pkg.build_message
27627 (p_appli_s_name => 'XLA'
27628 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
27629 ,p_token_1 => 'LINE_NUMBER'
27630 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
27631 ,p_token_2 => 'LINE_TYPE_NAME'
27632 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
27633 l_component_type
27634 ,l_component_code
27635 ,l_component_type_code
27636 ,l_component_appl_id
27637 ,l_amb_context_code
27638 ,l_entity_code
27639 ,l_event_class_code
27640 )
27641 ,p_token_3 => 'OWNER'
27642 ,p_value_3 => xla_lookups_pkg.get_meaning(
27643 p_lookup_type => 'XLA_OWNER_TYPE'
27644 ,p_lookup_code => l_component_type_code
27645 )
27646 ,p_token_4 => 'PRODUCT_NAME'
27647 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
27648 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
27649 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
27650 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
27651 ,p_ae_header_id => NULL
27652 );
27653
27654 IF (C_LEVEL_ERROR>= g_log_level) THEN
27655 trace
27656 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
27657 ,p_level => C_LEVEL_ERROR
27658 ,p_module => l_log_module);
27659 END IF;
27660 END IF;
27661 END IF;
27662 --
27663 --
27664 ------------------------------------------------------------------------------------------------
27665 -- 4219869 Business Flow
27666 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
27667 -- Prior Entry. Currently, the following code is always generated.
27668 ------------------------------------------------------------------------------------------------
27669 XLA_AE_LINES_PKG.ValidateCurrentLine;
27670
27671 ------------------------------------------------------------------------------------
27672 -- 4219869 Business Flow
27673 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
27674 ------------------------------------------------------------------------------------
27675 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
27676
27677 ----------------------------------------------------------------------------------
27681 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
27678 -- 4219869 Business Flow
27679 -- Update journal entry status -- Need to generate this within IF <condition>
27680 ----------------------------------------------------------------------------------
27682 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
27683 ,p_balance_type_code => l_balance_type_code
27684 );
27685
27686 -------------------------------------------------------------------------------------------
27687 -- 4262811 - Generate the Accrual Reversal lines
27688 -------------------------------------------------------------------------------------------
27689 BEGIN
27690 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
27691 (g_array_event(p_event_id).array_value_num('header_index'));
27692 IF l_acc_rev_flag IS NULL THEN
27693 l_acc_rev_flag := 'N';
27694 END IF;
27695 EXCEPTION
27696 WHEN OTHERS THEN
27697 l_acc_rev_flag := 'N';
27698 END;
27699 --
27700 IF (l_acc_rev_flag = 'Y') THEN
27701
27702 -- 4645092 ------------------------------------------------------------------------------
27703 -- To allow MPA report to determine if it should generate report process
27704 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
27705 ------------------------------------------------------------------------------------------
27706
27707 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
27708 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
27709 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
27710 -- call ADRs
27711 -- Bug 4922099
27712 --
27713 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
27714 (NVL(l_actual_upg_option, 'N') = 'O') OR
27715 (NVL(l_enc_upg_option, 'N') = 'O')
27716 )
27717 THEN
27718 NULL;
27719 --
27720 --
27721
27722 l_ccid := AcctDerRule_36(
27723 p_application_id => p_application_id
27724 , p_ae_header_id => l_ae_header_id
27725 , p_source_35 => p_source_35
27726 , x_transaction_coa_id => l_adr_transaction_coa_id
27727 , x_accounting_coa_id => l_adr_accounting_coa_id
27728 , x_value_type_code => l_adr_value_type_code
27729 , p_side => 'NA'
27730 );
27731
27732 xla_ae_lines_pkg.set_ccid(
27733 p_code_combination_id => l_ccid
27734 , p_value_type_code => l_adr_value_type_code
27735 , p_transaction_coa_id => l_adr_transaction_coa_id
27736 , p_accounting_coa_id => l_adr_accounting_coa_id
27737 , p_adr_code => 'AP_PMT_CASH_CLEAR'
27738 , p_adr_type_code => 'S'
27739 , p_component_type => l_component_type
27740 , p_component_code => l_component_code
27741 , p_component_type_code => l_component_type_code
27742 , p_component_appl_id => l_component_appl_id
27743 , p_amb_context_code => l_amb_context_code
27744 , p_side => 'NA'
27745 );
27746
27747
27748 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
27749 p_to_segment_code => 'GL_BALANCING'
27750 , p_segment_value => C_CHAR
27751 , p_from_segment_code => NULL
27752 , p_from_combination_id => NULL
27753 , p_value_type_code => NULL
27754 , p_transaction_coa_id => null
27755 , p_accounting_coa_id => null
27756 , p_flexfield_segment_code => NULL
27757 , p_flex_value_set_id => NULL
27758 , p_adr_code => NULL
27759 , p_adr_type_code => NULL
27760 , p_component_type => l_component_type
27761 , p_component_code => l_component_code
27762 , p_component_type_code => l_component_type_code
27763 , p_component_appl_id => l_component_appl_id
27764 , p_amb_context_code => l_amb_context_code
27765 , p_entity_code => 'AP_PAYMENTS'
27766 , p_event_class_code => 'PAYMENTS'
27767 , p_side => 'NA'
27768 );
27769 --
27770
27771
27772 --
27773 --
27774 END IF;
27775
27776 --
27777 -- Update the line information that should be overwritten
27778 --
27779 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
27780 p_header_num => 1);
27781 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
27782
27783 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
27784
27785 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
27786 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
27787 END IF;
27788
27789 --
27790 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
27791 --
27792 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
27793 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
27794 ELSE
27798 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
27795 ---------------------------------------------------------------------------------------------------
27796 -- 4262811a Switch Sign
27797 ---------------------------------------------------------------------------------------------------
27799 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27800 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27801 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27802 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27803 -- 5132302
27804 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
27805 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27806
27807 END IF;
27808
27809 -- 4955764
27810 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27811 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
27812
27813
27814 XLA_AE_LINES_PKG.ValidateCurrentLine;
27815 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
27816
27817 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
27818 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
27819 ,p_balance_type_code => l_balance_type_code);
27820
27821 END IF;
27822
27823 -----------------------------------------------------------------------------------------
27824 -- 4262811 Multiperiod Accounting
27825 -----------------------------------------------------------------------------------------
27826 -- No MPA option is assigned.
27827
27828
27829 END IF;
27830 END IF;
27831 --
27832
27833 --
27834 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
27835 trace
27836 (p_msg => 'END of AcctLineType_73'
27837 ,p_level => C_LEVEL_PROCEDURE
27838 ,p_module => l_log_module);
27839 END IF;
27840 --
27841 EXCEPTION
27842 WHEN xla_exceptions_pkg.application_exception THEN
27843 RAISE;
27844 WHEN OTHERS THEN
27845 xla_exceptions_pkg.raise_message
27846 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_73');
27847 END AcctLineType_73;
27848 --
27849
27850 ---------------------------------------
27851 --
27852 -- PRIVATE FUNCTION
27853 -- AcctLineType_74
27854 --
27855 ---------------------------------------
27856 PROCEDURE AcctLineType_74 (
27857 p_application_id IN NUMBER
27858 ,p_event_id IN NUMBER
27859 ,p_calculate_acctd_flag IN VARCHAR2
27860 ,p_calculate_g_l_flag IN VARCHAR2
27861 ,p_actual_flag IN OUT VARCHAR2
27862 ,p_balance_type_code OUT VARCHAR2
27863 ,p_gain_or_loss_ref OUT VARCHAR2
27864
27865 --Payment Currency Code
27866 , p_source_13 IN VARCHAR2
27867 --Bank Cash Clearing Account
27868 , p_source_35 IN NUMBER
27869 --Automatic Offsets Flag
27870 , p_source_47 IN VARCHAR2
27871 , p_source_47_meaning IN VARCHAR2
27872 --Accounting Reversal Indicator
27873 , p_source_53 IN VARCHAR2
27874 --Distribution Link Type
27875 , p_source_55 IN VARCHAR2
27876 --Override Accounted Amount Indicator
27877 , p_source_80 IN VARCHAR2
27878 , p_source_80_meaning IN VARCHAR2
27879 --Third Party Type
27880 , p_source_83 IN VARCHAR2
27881 --Invoice Distribution Tax Line Identifier
27882 , p_source_86 IN NUMBER
27883 --Invoice Distribution Tax Distribution Identifier from Tax
27884 , p_source_87 IN NUMBER
27885 --Invoice Distribution Summary Tax Line Identifier
27886 , p_source_88 IN NUMBER
27887 --Business Flow Accounts Payable Application Identifier
27888 , p_source_91 IN NUMBER
27889 --Business Flow Invoice Distribution Type
27890 , p_source_92 IN VARCHAR2
27891 --Business Flow Invoice Entity Code
27892 , p_source_93 IN VARCHAR2
27893 --Business Flow Invoice Distribution Identifier
27894 , p_source_94 IN NUMBER
27895 --Business Flow Invoice Identifier
27896 , p_source_95 IN NUMBER
27897 --When to Account for Payment Option
27898 , p_source_97 IN VARCHAR2
27899 --Payment Distribution Type
27900 , p_source_98 IN VARCHAR2
27901 , p_source_98_meaning IN VARCHAR2
27902 --Payment Distribution Amount
27903 , p_source_99 IN NUMBER
27904 --Payment Distribution Identifier
27905 , p_source_104 IN NUMBER
27906 --Payment Supplier Identifier
27907 , p_source_110 IN NUMBER
27908 --Payment Supplier Site Identifier
27909 , p_source_111 IN NUMBER
27910 --Payment Distribution Reversed Identifier
27911 , p_source_112 IN NUMBER
27912 --Pooled Bank Account Option
27913 , p_source_113 IN VARCHAR2
27914 , p_source_113_meaning IN VARCHAR2
27915 --Payment Maturity Date
27916 , p_source_114 IN DATE
27917 --Payment Distribution (Invoice Rate) Ledger Amount
27918 , p_source_116 IN NUMBER
27919 --Payment Exchange Date
27923 --Payment Exchange Rate Type
27920 , p_source_117 IN DATE
27921 --Payment Exchange Rate
27922 , p_source_118 IN NUMBER
27924 , p_source_119 IN VARCHAR2
27925 --Payment Type
27926 , p_source_122 IN VARCHAR2
27927 , p_source_122_meaning IN VARCHAR2
27928 --Payment Processing Type
27929 , p_source_123 IN VARCHAR2
27930 --Invoice Distribution Amount of the Payment Distribution
27931 , p_source_124 IN NUMBER
27932 )
27933 IS
27934
27935 l_component_type VARCHAR2(80);
27936 l_component_code VARCHAR2(30);
27937 l_component_type_code VARCHAR2(1);
27938 l_component_appl_id INTEGER;
27939 l_amb_context_code VARCHAR2(30);
27940 l_entity_code VARCHAR2(30);
27941 l_event_class_code VARCHAR2(30);
27942 l_ae_header_id NUMBER;
27943 l_event_type_code VARCHAR2(30);
27944 l_line_definition_code VARCHAR2(30);
27945 l_line_definition_owner_code VARCHAR2(1);
27946 --
27947 -- adr variables
27948 l_segment VARCHAR2(30);
27949 l_ccid NUMBER;
27950 l_adr_transaction_coa_id NUMBER;
27951 l_adr_accounting_coa_id NUMBER;
27952 l_adr_flexfield_segment_code VARCHAR2(30);
27953 l_adr_flex_value_set_id NUMBER;
27954 l_adr_value_type_code VARCHAR2(30);
27955 l_adr_value_combination_id NUMBER;
27956 l_adr_value_segment_code VARCHAR2(30);
27957
27958 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
27959 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
27960 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
27961 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
27962
27963 -- 4262811 Variables ------------------------------------------------------------------------------------------
27964 l_entered_amt_idx NUMBER;
27965 l_accted_amt_idx NUMBER;
27966 l_acc_rev_flag VARCHAR2(1);
27967 l_accrual_line_num NUMBER;
27968 l_tmp_amt NUMBER;
27969 l_acc_rev_natural_side_code VARCHAR2(1);
27970
27971 l_num_entries NUMBER;
27972 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
27973 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
27974 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
27975 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
27976 l_recog_line_1 NUMBER;
27977 l_recog_line_2 NUMBER;
27978
27979 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
27980 l_bflow_applied_to_amt NUMBER; -- 5132302
27981 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
27982
27983 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
27984
27985 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
27986 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
27987
27988 ---------------------------------------------------------------------------------------------------------------
27989
27990
27991 --
27992 -- bulk performance
27993 --
27994 l_balance_type_code VARCHAR2(1);
27995 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
27996 l_log_module VARCHAR2(240);
27997
27998 --
27999 -- Upgrade strategy
28000 --
28001 l_actual_upg_option VARCHAR2(1);
28002 l_enc_upg_option VARCHAR2(1);
28003
28004 --
28005 BEGIN
28006 --
28007 IF g_log_enabled THEN
28008 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_74';
28009 END IF;
28010 --
28011 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
28012
28013 trace
28014 (p_msg => 'BEGIN of AcctLineType_74'
28015 ,p_level => C_LEVEL_PROCEDURE
28016 ,p_module => l_log_module);
28017
28018 END IF;
28019 --
28020 l_component_type := 'AMB_JLT';
28021 l_component_code := 'AP_CASH_CLEAR_PMT_INVXRATE';
28022 l_component_type_code := 'S';
28023 l_component_appl_id := 200;
28024 l_amb_context_code := 'DEFAULT';
28025 l_entity_code := 'AP_PAYMENTS';
28026 l_event_class_code := 'PAYMENTS';
28027 l_event_type_code := 'PAYMENTS_ALL';
28028 l_line_definition_owner_code := 'S';
28029 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
28030 --
28031 l_balance_type_code := 'A';
28032 l_segment := NULL;
28033 l_ccid := NULL;
28034 l_adr_transaction_coa_id := NULL;
28035 l_adr_accounting_coa_id := NULL;
28036 l_adr_flexfield_segment_code := NULL;
28037 l_adr_flex_value_set_id := NULL;
28038 l_adr_value_type_code := NULL;
28039 l_adr_value_combination_id := NULL;
28040 l_adr_value_segment_code := NULL;
28041
28042 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
28043 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
28044 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
28045 l_budgetary_control_flag := 'N';
28046
28047 l_bflow_applied_to_amt_idx := NULL; -- 5132302
28048 l_bflow_applied_to_amt := NULL; -- 5132302
28049 l_entered_amt_idx := NULL; -- 4262811
28053 l_tmp_amt := NULL; -- 4262811
28050 l_accted_amt_idx := NULL; -- 4262811
28051 l_acc_rev_flag := NULL; -- 4262811
28052 l_accrual_line_num := NULL; -- 4262811
28054 --
28055
28056 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
28057 l_balance_type_code <> 'B' THEN
28058 IF NVL(p_source_97,'
28059 ') = 'ALWAYS_CLEAR' AND
28060 (NVL(p_source_47,'
28061 ') <> 'Y' OR
28062 NVL(p_source_47,'
28063 ') = 'Y' AND
28064 NVL(p_source_113,'
28065 ') <> 'Y') AND
28066 p_source_114 IS NULL AND
28067 NVL(p_source_98,'
28068 ') = 'CASH' AND
28069 NVL(p_source_122,'
28070 ') <> 'R' AND
28071 NVL(p_source_123,'
28072 ') <> 'PAYMENTCARD'
28073 THEN
28074
28075 --
28076 XLA_AE_LINES_PKG.SetNewLine;
28077
28078 p_balance_type_code := l_balance_type_code;
28079 -- set the flag so later we will know whether the gain loss line needs to be created
28080
28081 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
28082 p_actual_flag :='A';
28083 END IF;
28084
28085 --
28086 -- bulk performance
28087 --
28088 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
28089 p_header_num => 0); -- 4262811
28090 --
28091 -- set accounting line options
28092 --
28093 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
28094 p_natural_side_code => 'C'
28095 , p_gain_or_loss_flag => 'N'
28096 , p_gl_transfer_mode_code => 'S'
28097 , p_acct_entry_type_code => 'A'
28098 , p_switch_side_flag => 'Y'
28099 , p_merge_duplicate_code => 'A'
28100 );
28101 --
28102 l_acc_rev_natural_side_code := 'D'; -- 4262811
28103 --
28104 --
28105 -- set accounting line type info
28106 --
28107 xla_ae_lines_pkg.SetAcctLineType
28108 (p_component_type => l_component_type
28109 ,p_event_type_code => l_event_type_code
28110 ,p_line_definition_owner_code => l_line_definition_owner_code
28111 ,p_line_definition_code => l_line_definition_code
28112 ,p_accounting_line_code => l_component_code
28113 ,p_accounting_line_type_code => l_component_type_code
28114 ,p_accounting_line_appl_id => l_component_appl_id
28115 ,p_amb_context_code => l_amb_context_code
28116 ,p_entity_code => l_entity_code
28117 ,p_event_class_code => l_event_class_code);
28118 --
28119 -- set accounting class
28120 --
28121 xla_ae_lines_pkg.SetAcctClass(
28122 p_accounting_class_code => 'CASH_CLEARING'
28123 , p_ae_header_id => l_ae_header_id
28124 );
28125
28126 --
28127 -- set rounding class
28128 --
28129 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
28130 'CASH_CLEARING';
28131
28132 --
28133 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
28134 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
28135 --
28136 -- bulk performance
28137 --
28138 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
28139
28140 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
28141 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
28142
28143 -- 4955764
28144 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
28145 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
28146
28147 -- 4458381 Public Sector Enh
28148
28149 --
28150 -- set accounting attributes for the line type
28151 --
28152 l_entered_amt_idx := 10;
28153 l_accted_amt_idx := 15;
28154 l_bflow_applied_to_amt_idx := 2; -- 5132302
28155 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
28156 l_rec_acct_attrs.array_char_value(1) := p_source_53;
28157 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
28158 l_rec_acct_attrs.array_num_value(2) := p_source_124;
28159 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
28160 l_rec_acct_attrs.array_num_value(3) := p_source_91;
28161 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
28162 l_rec_acct_attrs.array_char_value(4) := p_source_92;
28163 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
28164 l_rec_acct_attrs.array_char_value(5) := p_source_93;
28165 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
28166 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
28167 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
28168 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
28169 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
28170 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
28171 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
28172 l_rec_acct_attrs.array_char_value(9) := p_source_55;
28173 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
28177 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
28174 l_rec_acct_attrs.array_num_value(10) := p_source_99;
28175 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
28176 l_rec_acct_attrs.array_char_value(11) := p_source_13;
28178 l_rec_acct_attrs.array_date_value(12) := p_source_117;
28179 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
28180 l_rec_acct_attrs.array_num_value(13) := p_source_118;
28181 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
28182 l_rec_acct_attrs.array_char_value(14) := p_source_119;
28183 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
28184 l_rec_acct_attrs.array_num_value(15) := p_source_116;
28185 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
28186 l_rec_acct_attrs.array_char_value(16) := p_source_80;
28187 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
28188 l_rec_acct_attrs.array_num_value(17) := p_source_110;
28189 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
28190 l_rec_acct_attrs.array_num_value(18) := p_source_111;
28191 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
28192 l_rec_acct_attrs.array_char_value(19) := p_source_83;
28193 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
28194 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
28195 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
28196 l_rec_acct_attrs.array_char_value(21) := p_source_55;
28197 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
28198 l_rec_acct_attrs.array_num_value(22) := p_source_86;
28199 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
28200 l_rec_acct_attrs.array_num_value(23) := p_source_87;
28201 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
28202 l_rec_acct_attrs.array_num_value(24) := p_source_88;
28203
28204 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
28205 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
28206
28207 ---------------------------------------------------------------------------------------------------------------
28208 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28209 ---------------------------------------------------------------------------------------------------------------
28210 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
28211
28212 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28213 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28214
28215 IF xla_accounting_cache_pkg.GetValueChar
28216 (p_source_code => 'LEDGER_CATEGORY_CODE'
28217 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
28218 AND l_bflow_method_code = 'PRIOR_ENTRY'
28219 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
28220 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
28221 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
28222 )
28223 THEN
28224 xla_ae_lines_pkg.BflowUpgEntry
28225 (p_business_method_code => l_bflow_method_code
28226 ,p_business_class_code => l_bflow_class_code
28227 ,p_balance_type => l_balance_type_code);
28228 ELSE
28229 NULL;
28230 -- No business flow processing for business flow method of NONE.
28231 END IF;
28232
28233 --
28234 -- call analytical criteria
28235 --
28236
28237 --
28238 -- call description
28239 --
28240 -- No description or it is inherited.
28241 --
28242 -- call ADRs
28243 -- Bug 4922099
28244 --
28245 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
28246 (NVL(l_actual_upg_option, 'N') = 'O') OR
28247 (NVL(l_enc_upg_option, 'N') = 'O')
28248 )
28249 THEN
28250 NULL;
28251 --
28252 --
28253
28254 l_ccid := AcctDerRule_36(
28255 p_application_id => p_application_id
28256 , p_ae_header_id => l_ae_header_id
28257 , p_source_35 => p_source_35
28258 , x_transaction_coa_id => l_adr_transaction_coa_id
28259 , x_accounting_coa_id => l_adr_accounting_coa_id
28260 , x_value_type_code => l_adr_value_type_code
28261 , p_side => 'NA'
28262 );
28263
28264 xla_ae_lines_pkg.set_ccid(
28265 p_code_combination_id => l_ccid
28266 , p_value_type_code => l_adr_value_type_code
28267 , p_transaction_coa_id => l_adr_transaction_coa_id
28268 , p_accounting_coa_id => l_adr_accounting_coa_id
28269 , p_adr_code => 'AP_PMT_CASH_CLEAR'
28270 , p_adr_type_code => 'S'
28271 , p_component_type => l_component_type
28272 , p_component_code => l_component_code
28273 , p_component_type_code => l_component_type_code
28274 , p_component_appl_id => l_component_appl_id
28275 , p_amb_context_code => l_amb_context_code
28276 , p_side => 'NA'
28277 );
28278
28279
28280 --
28281 --
28282 END IF;
28283 --
28287 ) AND
28284 -- Bug 4922099
28285 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
28286 (NVL(l_enc_upg_option, 'N') = 'O')
28288 (l_bflow_method_code = 'PRIOR_ENTRY')
28289 )
28290 THEN
28291 IF
28292 --
28293 1 = 2
28294 --
28295 THEN
28296 xla_accounting_err_pkg.build_message
28297 (p_appli_s_name => 'XLA'
28298 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
28299 ,p_token_1 => 'LINE_NUMBER'
28300 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
28301 ,p_token_2 => 'LINE_TYPE_NAME'
28302 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
28303 l_component_type
28304 ,l_component_code
28305 ,l_component_type_code
28306 ,l_component_appl_id
28307 ,l_amb_context_code
28308 ,l_entity_code
28309 ,l_event_class_code
28310 )
28311 ,p_token_3 => 'OWNER'
28312 ,p_value_3 => xla_lookups_pkg.get_meaning(
28313 p_lookup_type => 'XLA_OWNER_TYPE'
28314 ,p_lookup_code => l_component_type_code
28315 )
28316 ,p_token_4 => 'PRODUCT_NAME'
28317 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
28318 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
28319 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
28320 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
28321 ,p_ae_header_id => NULL
28322 );
28323
28324 IF (C_LEVEL_ERROR>= g_log_level) THEN
28325 trace
28326 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
28327 ,p_level => C_LEVEL_ERROR
28328 ,p_module => l_log_module);
28329 END IF;
28330 END IF;
28331 END IF;
28332 --
28333 --
28334 ------------------------------------------------------------------------------------------------
28335 -- 4219869 Business Flow
28336 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
28337 -- Prior Entry. Currently, the following code is always generated.
28338 ------------------------------------------------------------------------------------------------
28339 XLA_AE_LINES_PKG.ValidateCurrentLine;
28340
28341 ------------------------------------------------------------------------------------
28342 -- 4219869 Business Flow
28343 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
28344 ------------------------------------------------------------------------------------
28345 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
28346
28347 ----------------------------------------------------------------------------------
28348 -- 4219869 Business Flow
28349 -- Update journal entry status -- Need to generate this within IF <condition>
28350 ----------------------------------------------------------------------------------
28351 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
28352 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
28353 ,p_balance_type_code => l_balance_type_code
28354 );
28355
28356 -------------------------------------------------------------------------------------------
28357 -- 4262811 - Generate the Accrual Reversal lines
28358 -------------------------------------------------------------------------------------------
28359 BEGIN
28360 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
28361 (g_array_event(p_event_id).array_value_num('header_index'));
28362 IF l_acc_rev_flag IS NULL THEN
28363 l_acc_rev_flag := 'N';
28364 END IF;
28365 EXCEPTION
28366 WHEN OTHERS THEN
28367 l_acc_rev_flag := 'N';
28368 END;
28369 --
28370 IF (l_acc_rev_flag = 'Y') THEN
28371
28372 -- 4645092 ------------------------------------------------------------------------------
28373 -- To allow MPA report to determine if it should generate report process
28374 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
28375 ------------------------------------------------------------------------------------------
28376
28377 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
28378 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
28382 --
28379 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
28380 -- call ADRs
28381 -- Bug 4922099
28383 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
28384 (NVL(l_actual_upg_option, 'N') = 'O') OR
28385 (NVL(l_enc_upg_option, 'N') = 'O')
28386 )
28387 THEN
28388 NULL;
28389 --
28390 --
28391
28392 l_ccid := AcctDerRule_36(
28393 p_application_id => p_application_id
28394 , p_ae_header_id => l_ae_header_id
28395 , p_source_35 => p_source_35
28396 , x_transaction_coa_id => l_adr_transaction_coa_id
28397 , x_accounting_coa_id => l_adr_accounting_coa_id
28398 , x_value_type_code => l_adr_value_type_code
28399 , p_side => 'NA'
28400 );
28401
28402 xla_ae_lines_pkg.set_ccid(
28403 p_code_combination_id => l_ccid
28404 , p_value_type_code => l_adr_value_type_code
28405 , p_transaction_coa_id => l_adr_transaction_coa_id
28406 , p_accounting_coa_id => l_adr_accounting_coa_id
28407 , p_adr_code => 'AP_PMT_CASH_CLEAR'
28408 , p_adr_type_code => 'S'
28409 , p_component_type => l_component_type
28410 , p_component_code => l_component_code
28411 , p_component_type_code => l_component_type_code
28412 , p_component_appl_id => l_component_appl_id
28413 , p_amb_context_code => l_amb_context_code
28414 , p_side => 'NA'
28415 );
28416
28417
28418 --
28419 --
28420 END IF;
28421
28422 --
28423 -- Update the line information that should be overwritten
28424 --
28425 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
28426 p_header_num => 1);
28427 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
28428
28429 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
28430
28431 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
28432 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
28433 END IF;
28434
28435 --
28436 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
28437 --
28438 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
28439 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
28440 ELSE
28441 ---------------------------------------------------------------------------------------------------
28442 -- 4262811a Switch Sign
28443 ---------------------------------------------------------------------------------------------------
28444 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
28445 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28446 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28447 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28448 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28449 -- 5132302
28450 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
28451 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28452
28453 END IF;
28454
28455 -- 4955764
28456 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
28457 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
28458
28459
28460 XLA_AE_LINES_PKG.ValidateCurrentLine;
28461 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
28462
28463 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
28464 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
28465 ,p_balance_type_code => l_balance_type_code);
28466
28467 END IF;
28468
28469 -----------------------------------------------------------------------------------------
28470 -- 4262811 Multiperiod Accounting
28471 -----------------------------------------------------------------------------------------
28472 -- No MPA option is assigned.
28473
28474
28475 END IF;
28476 END IF;
28477 --
28478
28479 --
28480 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
28481 trace
28482 (p_msg => 'END of AcctLineType_74'
28483 ,p_level => C_LEVEL_PROCEDURE
28484 ,p_module => l_log_module);
28485 END IF;
28486 --
28487 EXCEPTION
28488 WHEN xla_exceptions_pkg.application_exception THEN
28489 RAISE;
28490 WHEN OTHERS THEN
28491 xla_exceptions_pkg.raise_message
28492 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_74');
28493 END AcctLineType_74;
28494 --
28495
28496 ---------------------------------------
28497 --
28498 -- PRIVATE FUNCTION
28499 -- AcctLineType_75
28500 --
28504 ,p_event_id IN NUMBER
28501 ---------------------------------------
28502 PROCEDURE AcctLineType_75 (
28503 p_application_id IN NUMBER
28505 ,p_calculate_acctd_flag IN VARCHAR2
28506 ,p_calculate_g_l_flag IN VARCHAR2
28507 ,p_actual_flag IN OUT VARCHAR2
28508 ,p_balance_type_code OUT VARCHAR2
28509 ,p_gain_or_loss_ref OUT VARCHAR2
28510
28511 --Payment Currency Code
28512 , p_source_13 IN VARCHAR2
28513 --Bank Cash Clearing Account
28514 , p_source_35 IN NUMBER
28515 --Automatic Offsets Flag
28516 , p_source_47 IN VARCHAR2
28517 , p_source_47_meaning IN VARCHAR2
28518 --Accounting Reversal Indicator
28519 , p_source_53 IN VARCHAR2
28520 --Distribution Link Type
28521 , p_source_55 IN VARCHAR2
28522 --Override Accounted Amount Indicator
28523 , p_source_80 IN VARCHAR2
28524 , p_source_80_meaning IN VARCHAR2
28525 --Third Party Type
28526 , p_source_83 IN VARCHAR2
28527 --Business Flow Accounts Payable Application Identifier
28528 , p_source_91 IN NUMBER
28529 --When to Account for Payment Option
28530 , p_source_97 IN VARCHAR2
28531 --Payment Distribution Type
28532 , p_source_98 IN VARCHAR2
28533 , p_source_98_meaning IN VARCHAR2
28534 --Payment Distribution Amount
28535 , p_source_99 IN NUMBER
28536 --Business Flow Payment Distribution Type
28537 , p_source_100 IN VARCHAR2
28538 --Business Flow Payment Entity Code
28539 , p_source_101 IN VARCHAR2
28540 --Business Flow Payment Distribution Identifier
28541 , p_source_102 IN NUMBER
28542 --Business Flow Payment Identifier
28543 , p_source_103 IN NUMBER
28544 --Payment Distribution Identifier
28545 , p_source_104 IN NUMBER
28546 --Payment Supplier Identifier
28547 , p_source_110 IN NUMBER
28548 --Payment Supplier Site Identifier
28549 , p_source_111 IN NUMBER
28550 --Payment Distribution Reversed Identifier
28551 , p_source_112 IN NUMBER
28552 --Pooled Bank Account Option
28553 , p_source_113 IN VARCHAR2
28554 , p_source_113_meaning IN VARCHAR2
28555 --Payment Maturity Date
28556 , p_source_114 IN DATE
28557 --Payment Exchange Date
28558 , p_source_117 IN DATE
28559 --Payment Exchange Rate
28560 , p_source_118 IN NUMBER
28561 --Payment Exchange Rate Type
28562 , p_source_119 IN VARCHAR2
28563 --Payment Distribution (Matured Rate) Ledger Amount
28564 , p_source_121 IN NUMBER
28565 )
28566 IS
28567
28568 l_component_type VARCHAR2(80);
28569 l_component_code VARCHAR2(30);
28570 l_component_type_code VARCHAR2(1);
28571 l_component_appl_id INTEGER;
28572 l_amb_context_code VARCHAR2(30);
28573 l_entity_code VARCHAR2(30);
28574 l_event_class_code VARCHAR2(30);
28575 l_ae_header_id NUMBER;
28576 l_event_type_code VARCHAR2(30);
28577 l_line_definition_code VARCHAR2(30);
28578 l_line_definition_owner_code VARCHAR2(1);
28579 --
28580 -- adr variables
28581 l_segment VARCHAR2(30);
28582 l_ccid NUMBER;
28583 l_adr_transaction_coa_id NUMBER;
28584 l_adr_accounting_coa_id NUMBER;
28585 l_adr_flexfield_segment_code VARCHAR2(30);
28586 l_adr_flex_value_set_id NUMBER;
28587 l_adr_value_type_code VARCHAR2(30);
28588 l_adr_value_combination_id NUMBER;
28589 l_adr_value_segment_code VARCHAR2(30);
28590
28591 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
28592 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
28593 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
28594 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
28595
28596 -- 4262811 Variables ------------------------------------------------------------------------------------------
28597 l_entered_amt_idx NUMBER;
28598 l_accted_amt_idx NUMBER;
28599 l_acc_rev_flag VARCHAR2(1);
28600 l_accrual_line_num NUMBER;
28601 l_tmp_amt NUMBER;
28602 l_acc_rev_natural_side_code VARCHAR2(1);
28603
28604 l_num_entries NUMBER;
28605 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
28606 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
28607 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
28608 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
28609 l_recog_line_1 NUMBER;
28610 l_recog_line_2 NUMBER;
28611
28612 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
28613 l_bflow_applied_to_amt NUMBER; -- 5132302
28614 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
28615
28616 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
28617
28618 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
28619 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
28620
28621 ---------------------------------------------------------------------------------------------------------------
28622
28623
28624 --
28628 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
28625 -- bulk performance
28626 --
28627 l_balance_type_code VARCHAR2(1);
28629 l_log_module VARCHAR2(240);
28630
28631 --
28632 -- Upgrade strategy
28633 --
28634 l_actual_upg_option VARCHAR2(1);
28635 l_enc_upg_option VARCHAR2(1);
28636
28637 --
28638 BEGIN
28639 --
28640 IF g_log_enabled THEN
28641 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_75';
28642 END IF;
28643 --
28644 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
28645
28646 trace
28647 (p_msg => 'BEGIN of AcctLineType_75'
28648 ,p_level => C_LEVEL_PROCEDURE
28649 ,p_module => l_log_module);
28650
28651 END IF;
28652 --
28653 l_component_type := 'AMB_JLT';
28654 l_component_code := 'AP_CASH_CLEAR_PMT_MAT';
28655 l_component_type_code := 'S';
28656 l_component_appl_id := 200;
28657 l_amb_context_code := 'DEFAULT';
28658 l_entity_code := 'AP_PAYMENTS';
28659 l_event_class_code := 'FUTURE DATED PAYMENTS';
28660 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
28661 l_line_definition_owner_code := 'S';
28662 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
28663 --
28664 l_balance_type_code := 'A';
28665 l_segment := NULL;
28666 l_ccid := NULL;
28667 l_adr_transaction_coa_id := NULL;
28668 l_adr_accounting_coa_id := NULL;
28669 l_adr_flexfield_segment_code := NULL;
28670 l_adr_flex_value_set_id := NULL;
28671 l_adr_value_type_code := NULL;
28672 l_adr_value_combination_id := NULL;
28673 l_adr_value_segment_code := NULL;
28674
28675 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
28676 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
28677 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
28678 l_budgetary_control_flag := 'N';
28679
28680 l_bflow_applied_to_amt_idx := NULL; -- 5132302
28681 l_bflow_applied_to_amt := NULL; -- 5132302
28682 l_entered_amt_idx := NULL; -- 4262811
28683 l_accted_amt_idx := NULL; -- 4262811
28684 l_acc_rev_flag := NULL; -- 4262811
28685 l_accrual_line_num := NULL; -- 4262811
28686 l_tmp_amt := NULL; -- 4262811
28687 --
28688
28689 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
28690 l_balance_type_code <> 'B' THEN
28691 IF (NVL(p_source_97,'
28692 ') = 'ALWAYS_ALWAYS' OR
28693 NVL(p_source_97,'
28694 ') = 'ALWAYS_ISSUE') AND
28695 (NVL(p_source_47,'
28696 ') <> 'Y' OR
28697 NVL(p_source_47,'
28698 ') = 'Y' AND
28699 NVL(p_source_113,'
28700 ') <> 'Y') AND
28701 p_source_114 IS NOT NULL AND
28702 NVL(p_source_98,'
28703 ') = 'CASH'
28704 THEN
28705
28706 --
28707 XLA_AE_LINES_PKG.SetNewLine;
28708
28709 p_balance_type_code := l_balance_type_code;
28710 -- set the flag so later we will know whether the gain loss line needs to be created
28711
28712 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
28713 p_actual_flag :='A';
28714 END IF;
28715
28716 --
28717 -- bulk performance
28718 --
28719 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
28720 p_header_num => 0); -- 4262811
28721 --
28722 -- set accounting line options
28723 --
28724 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
28725 p_natural_side_code => 'C'
28726 , p_gain_or_loss_flag => 'N'
28727 , p_gl_transfer_mode_code => 'S'
28728 , p_acct_entry_type_code => 'A'
28729 , p_switch_side_flag => 'Y'
28730 , p_merge_duplicate_code => 'A'
28731 );
28732 --
28733 l_acc_rev_natural_side_code := 'D'; -- 4262811
28734 --
28735 --
28736 -- set accounting line type info
28737 --
28738 xla_ae_lines_pkg.SetAcctLineType
28739 (p_component_type => l_component_type
28740 ,p_event_type_code => l_event_type_code
28741 ,p_line_definition_owner_code => l_line_definition_owner_code
28742 ,p_line_definition_code => l_line_definition_code
28743 ,p_accounting_line_code => l_component_code
28744 ,p_accounting_line_type_code => l_component_type_code
28745 ,p_accounting_line_appl_id => l_component_appl_id
28746 ,p_amb_context_code => l_amb_context_code
28747 ,p_entity_code => l_entity_code
28748 ,p_event_class_code => l_event_class_code);
28749 --
28750 -- set accounting class
28751 --
28752 xla_ae_lines_pkg.SetAcctClass(
28753 p_accounting_class_code => 'CASH_CLEARING'
28754 , p_ae_header_id => l_ae_header_id
28755 );
28756
28757 --
28758 -- set rounding class
28759 --
28760 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
28761 'CASH_CLEARING';
28762
28763 --
28767 -- bulk performance
28764 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
28765 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
28766 --
28768 --
28769 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
28770
28771 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
28772 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
28773
28774 -- 4955764
28775 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
28776 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
28777
28778 -- 4458381 Public Sector Enh
28779
28780 --
28781 -- set accounting attributes for the line type
28782 --
28783 l_entered_amt_idx := 9;
28784 l_accted_amt_idx := 14;
28785 l_bflow_applied_to_amt_idx := NULL; -- 5132302
28786 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
28787 l_rec_acct_attrs.array_char_value(1) := p_source_53;
28788 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
28789 l_rec_acct_attrs.array_num_value(2) := p_source_91;
28790 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
28791 l_rec_acct_attrs.array_char_value(3) := p_source_100;
28792 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
28793 l_rec_acct_attrs.array_char_value(4) := p_source_101;
28794 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
28795 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_102);
28796 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
28797 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_103);
28798 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
28799 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
28800 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
28801 l_rec_acct_attrs.array_char_value(8) := p_source_55;
28802 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
28803 l_rec_acct_attrs.array_num_value(9) := p_source_99;
28804 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
28805 l_rec_acct_attrs.array_char_value(10) := p_source_13;
28806 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
28807 l_rec_acct_attrs.array_date_value(11) := p_source_117;
28808 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
28809 l_rec_acct_attrs.array_num_value(12) := p_source_118;
28810 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
28811 l_rec_acct_attrs.array_char_value(13) := p_source_119;
28812 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
28813 l_rec_acct_attrs.array_num_value(14) := p_source_121;
28814 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
28815 l_rec_acct_attrs.array_char_value(15) := p_source_80;
28816 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
28817 l_rec_acct_attrs.array_num_value(16) := p_source_110;
28818 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
28819 l_rec_acct_attrs.array_num_value(17) := p_source_111;
28820 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
28821 l_rec_acct_attrs.array_char_value(18) := p_source_83;
28822 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
28823 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_112);
28824 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
28825 l_rec_acct_attrs.array_char_value(20) := p_source_55;
28826
28827 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
28828 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
28829
28830 ---------------------------------------------------------------------------------------------------------------
28831 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28832 ---------------------------------------------------------------------------------------------------------------
28833 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
28834
28835 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28836 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28837
28838 IF xla_accounting_cache_pkg.GetValueChar
28839 (p_source_code => 'LEDGER_CATEGORY_CODE'
28840 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
28841 AND l_bflow_method_code = 'PRIOR_ENTRY'
28842 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
28843 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
28844 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
28845 )
28846 THEN
28847 xla_ae_lines_pkg.BflowUpgEntry
28848 (p_business_method_code => l_bflow_method_code
28849 ,p_business_class_code => l_bflow_class_code
28850 ,p_balance_type => l_balance_type_code);
28851 ELSE
28852 NULL;
28853 -- No business flow processing for business flow method of NONE.
28854 END IF;
28855
28856 --
28857 -- call analytical criteria
28858 --
28859
28860 --
28861 -- call description
28865 -- call ADRs
28862 --
28863 -- No description or it is inherited.
28864 --
28866 -- Bug 4922099
28867 --
28868 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
28869 (NVL(l_actual_upg_option, 'N') = 'O') OR
28870 (NVL(l_enc_upg_option, 'N') = 'O')
28871 )
28872 THEN
28873 NULL;
28874 --
28875 --
28876
28877 l_ccid := AcctDerRule_36(
28878 p_application_id => p_application_id
28879 , p_ae_header_id => l_ae_header_id
28880 , p_source_35 => p_source_35
28881 , x_transaction_coa_id => l_adr_transaction_coa_id
28882 , x_accounting_coa_id => l_adr_accounting_coa_id
28883 , x_value_type_code => l_adr_value_type_code
28884 , p_side => 'NA'
28885 );
28886
28887 xla_ae_lines_pkg.set_ccid(
28888 p_code_combination_id => l_ccid
28889 , p_value_type_code => l_adr_value_type_code
28890 , p_transaction_coa_id => l_adr_transaction_coa_id
28891 , p_accounting_coa_id => l_adr_accounting_coa_id
28892 , p_adr_code => 'AP_PMT_CASH_CLEAR'
28893 , p_adr_type_code => 'S'
28894 , p_component_type => l_component_type
28895 , p_component_code => l_component_code
28896 , p_component_type_code => l_component_type_code
28897 , p_component_appl_id => l_component_appl_id
28898 , p_amb_context_code => l_amb_context_code
28899 , p_side => 'NA'
28900 );
28901
28902
28903 --
28904 --
28905 END IF;
28906 --
28907 -- Bug 4922099
28908 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
28909 (NVL(l_enc_upg_option, 'N') = 'O')
28910 ) AND
28911 (l_bflow_method_code = 'PRIOR_ENTRY')
28912 )
28913 THEN
28914 IF
28915 --
28916 1 = 2
28917 --
28918 THEN
28919 xla_accounting_err_pkg.build_message
28920 (p_appli_s_name => 'XLA'
28921 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
28922 ,p_token_1 => 'LINE_NUMBER'
28923 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
28924 ,p_token_2 => 'LINE_TYPE_NAME'
28925 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
28926 l_component_type
28927 ,l_component_code
28928 ,l_component_type_code
28929 ,l_component_appl_id
28930 ,l_amb_context_code
28931 ,l_entity_code
28932 ,l_event_class_code
28933 )
28934 ,p_token_3 => 'OWNER'
28935 ,p_value_3 => xla_lookups_pkg.get_meaning(
28936 p_lookup_type => 'XLA_OWNER_TYPE'
28937 ,p_lookup_code => l_component_type_code
28938 )
28939 ,p_token_4 => 'PRODUCT_NAME'
28940 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
28941 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
28942 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
28943 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
28944 ,p_ae_header_id => NULL
28945 );
28946
28947 IF (C_LEVEL_ERROR>= g_log_level) THEN
28948 trace
28949 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
28950 ,p_level => C_LEVEL_ERROR
28951 ,p_module => l_log_module);
28952 END IF;
28953 END IF;
28954 END IF;
28955 --
28956 --
28957 ------------------------------------------------------------------------------------------------
28958 -- 4219869 Business Flow
28959 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
28960 -- Prior Entry. Currently, the following code is always generated.
28961 ------------------------------------------------------------------------------------------------
28962 XLA_AE_LINES_PKG.ValidateCurrentLine;
28963
28964 ------------------------------------------------------------------------------------
28965 -- 4219869 Business Flow
28966 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
28970 ----------------------------------------------------------------------------------
28967 ------------------------------------------------------------------------------------
28968 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
28969
28971 -- 4219869 Business Flow
28972 -- Update journal entry status -- Need to generate this within IF <condition>
28973 ----------------------------------------------------------------------------------
28974 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
28975 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
28976 ,p_balance_type_code => l_balance_type_code
28977 );
28978
28979 -------------------------------------------------------------------------------------------
28980 -- 4262811 - Generate the Accrual Reversal lines
28981 -------------------------------------------------------------------------------------------
28982 BEGIN
28983 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
28984 (g_array_event(p_event_id).array_value_num('header_index'));
28985 IF l_acc_rev_flag IS NULL THEN
28986 l_acc_rev_flag := 'N';
28987 END IF;
28988 EXCEPTION
28989 WHEN OTHERS THEN
28990 l_acc_rev_flag := 'N';
28991 END;
28992 --
28993 IF (l_acc_rev_flag = 'Y') THEN
28994
28995 -- 4645092 ------------------------------------------------------------------------------
28996 -- To allow MPA report to determine if it should generate report process
28997 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
28998 ------------------------------------------------------------------------------------------
28999
29000 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
29001 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
29002 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
29003 -- call ADRs
29004 -- Bug 4922099
29005 --
29006 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
29007 (NVL(l_actual_upg_option, 'N') = 'O') OR
29008 (NVL(l_enc_upg_option, 'N') = 'O')
29009 )
29010 THEN
29011 NULL;
29012 --
29013 --
29014
29015 l_ccid := AcctDerRule_36(
29016 p_application_id => p_application_id
29017 , p_ae_header_id => l_ae_header_id
29018 , p_source_35 => p_source_35
29019 , x_transaction_coa_id => l_adr_transaction_coa_id
29020 , x_accounting_coa_id => l_adr_accounting_coa_id
29021 , x_value_type_code => l_adr_value_type_code
29022 , p_side => 'NA'
29023 );
29024
29025 xla_ae_lines_pkg.set_ccid(
29026 p_code_combination_id => l_ccid
29027 , p_value_type_code => l_adr_value_type_code
29028 , p_transaction_coa_id => l_adr_transaction_coa_id
29029 , p_accounting_coa_id => l_adr_accounting_coa_id
29030 , p_adr_code => 'AP_PMT_CASH_CLEAR'
29031 , p_adr_type_code => 'S'
29032 , p_component_type => l_component_type
29033 , p_component_code => l_component_code
29034 , p_component_type_code => l_component_type_code
29035 , p_component_appl_id => l_component_appl_id
29036 , p_amb_context_code => l_amb_context_code
29037 , p_side => 'NA'
29038 );
29039
29040
29041 --
29042 --
29043 END IF;
29044
29045 --
29046 -- Update the line information that should be overwritten
29047 --
29048 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
29049 p_header_num => 1);
29050 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
29051
29052 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
29053
29054 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
29055 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
29056 END IF;
29057
29058 --
29059 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
29060 --
29061 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
29062 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
29063 ELSE
29064 ---------------------------------------------------------------------------------------------------
29065 -- 4262811a Switch Sign
29066 ---------------------------------------------------------------------------------------------------
29067 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29068 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29069 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29070 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29071 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29072 -- 5132302
29073 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29077
29074 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29075
29076 END IF;
29078 -- 4955764
29079 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
29080 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
29081
29082
29083 XLA_AE_LINES_PKG.ValidateCurrentLine;
29084 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
29085
29086 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
29087 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
29088 ,p_balance_type_code => l_balance_type_code);
29089
29090 END IF;
29091
29092 -----------------------------------------------------------------------------------------
29093 -- 4262811 Multiperiod Accounting
29094 -----------------------------------------------------------------------------------------
29095 -- No MPA option is assigned.
29096
29097
29098 END IF;
29099 END IF;
29100 --
29101
29102 --
29103 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
29104 trace
29105 (p_msg => 'END of AcctLineType_75'
29106 ,p_level => C_LEVEL_PROCEDURE
29107 ,p_module => l_log_module);
29108 END IF;
29109 --
29110 EXCEPTION
29111 WHEN xla_exceptions_pkg.application_exception THEN
29112 RAISE;
29113 WHEN OTHERS THEN
29114 xla_exceptions_pkg.raise_message
29115 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_75');
29116 END AcctLineType_75;
29117 --
29118
29119 ---------------------------------------
29120 --
29121 -- PRIVATE FUNCTION
29122 -- AcctLineType_76
29123 --
29124 ---------------------------------------
29125 PROCEDURE AcctLineType_76 (
29126 p_application_id IN NUMBER
29127 ,p_event_id IN NUMBER
29128 ,p_calculate_acctd_flag IN VARCHAR2
29129 ,p_calculate_g_l_flag IN VARCHAR2
29130 ,p_actual_flag IN OUT VARCHAR2
29131 ,p_balance_type_code OUT VARCHAR2
29132 ,p_gain_or_loss_ref OUT VARCHAR2
29133
29134 --Payment Currency Code
29135 , p_source_13 IN VARCHAR2
29136 --Automatic Offsets Value
29137 , p_source_15 IN VARCHAR2
29138 , p_source_15_meaning IN VARCHAR2
29139 --Bank Cash Clearing Account
29140 , p_source_35 IN NUMBER
29141 --Accounting Reversal Indicator
29142 , p_source_53 IN VARCHAR2
29143 --Distribution Link Type
29144 , p_source_55 IN VARCHAR2
29145 --Override Accounted Amount Indicator
29146 , p_source_80 IN VARCHAR2
29147 , p_source_80_meaning IN VARCHAR2
29148 --Third Party Type
29149 , p_source_83 IN VARCHAR2
29150 --Business Flow Accounts Payable Application Identifier
29151 , p_source_91 IN NUMBER
29152 --When to Account for Payment Option
29153 , p_source_97 IN VARCHAR2
29154 --Payment Distribution Type
29155 , p_source_98 IN VARCHAR2
29156 , p_source_98_meaning IN VARCHAR2
29157 --Payment Distribution Amount
29158 , p_source_99 IN NUMBER
29159 --Business Flow Payment Distribution Type
29160 , p_source_100 IN VARCHAR2
29161 --Business Flow Payment Entity Code
29162 , p_source_101 IN VARCHAR2
29163 --Business Flow Payment Distribution Identifier
29164 , p_source_102 IN NUMBER
29165 --Business Flow Payment Identifier
29166 , p_source_103 IN NUMBER
29167 --Payment Distribution Identifier
29168 , p_source_104 IN NUMBER
29169 --Payment Supplier Identifier
29170 , p_source_110 IN NUMBER
29171 --Payment Supplier Site Identifier
29172 , p_source_111 IN NUMBER
29173 --Payment Distribution Reversed Identifier
29174 , p_source_112 IN NUMBER
29175 --Pooled Bank Account Option
29176 , p_source_113 IN VARCHAR2
29177 , p_source_113_meaning IN VARCHAR2
29178 --Payment Maturity Date
29179 , p_source_114 IN DATE
29180 --Payment Exchange Date
29181 , p_source_117 IN DATE
29182 --Payment Exchange Rate
29183 , p_source_118 IN NUMBER
29184 --Payment Exchange Rate Type
29185 , p_source_119 IN VARCHAR2
29186 --Payment Distribution (Matured Rate) Ledger Amount
29187 , p_source_121 IN NUMBER
29188 )
29189 IS
29190
29191 l_component_type VARCHAR2(80);
29192 l_component_code VARCHAR2(30);
29193 l_component_type_code VARCHAR2(1);
29194 l_component_appl_id INTEGER;
29195 l_amb_context_code VARCHAR2(30);
29196 l_entity_code VARCHAR2(30);
29197 l_event_class_code VARCHAR2(30);
29198 l_ae_header_id NUMBER;
29199 l_event_type_code VARCHAR2(30);
29200 l_line_definition_code VARCHAR2(30);
29201 l_line_definition_owner_code VARCHAR2(1);
29202 --
29203 -- adr variables
29204 l_segment VARCHAR2(30);
29205 l_ccid NUMBER;
29206 l_adr_transaction_coa_id NUMBER;
29207 l_adr_accounting_coa_id NUMBER;
29208 l_adr_flexfield_segment_code VARCHAR2(30);
29209 l_adr_flex_value_set_id NUMBER;
29210 l_adr_value_type_code VARCHAR2(30);
29211 l_adr_value_combination_id NUMBER;
29215 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
29212 l_adr_value_segment_code VARCHAR2(30);
29213
29214 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
29216 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
29217 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
29218
29219 -- 4262811 Variables ------------------------------------------------------------------------------------------
29220 l_entered_amt_idx NUMBER;
29221 l_accted_amt_idx NUMBER;
29222 l_acc_rev_flag VARCHAR2(1);
29223 l_accrual_line_num NUMBER;
29224 l_tmp_amt NUMBER;
29225 l_acc_rev_natural_side_code VARCHAR2(1);
29226
29227 l_num_entries NUMBER;
29228 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
29229 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
29230 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
29231 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
29232 l_recog_line_1 NUMBER;
29233 l_recog_line_2 NUMBER;
29234
29235 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
29236 l_bflow_applied_to_amt NUMBER; -- 5132302
29237 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
29238
29239 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
29240
29241 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
29242 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
29243
29244 ---------------------------------------------------------------------------------------------------------------
29245
29246
29247 --
29248 -- bulk performance
29249 --
29250 l_balance_type_code VARCHAR2(1);
29251 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
29252 l_log_module VARCHAR2(240);
29253
29254 --
29255 -- Upgrade strategy
29256 --
29257 l_actual_upg_option VARCHAR2(1);
29258 l_enc_upg_option VARCHAR2(1);
29259
29260 --
29261 BEGIN
29262 --
29263 IF g_log_enabled THEN
29264 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_76';
29265 END IF;
29266 --
29267 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
29268
29269 trace
29270 (p_msg => 'BEGIN of AcctLineType_76'
29271 ,p_level => C_LEVEL_PROCEDURE
29272 ,p_module => l_log_module);
29273
29274 END IF;
29275 --
29276 l_component_type := 'AMB_JLT';
29277 l_component_code := 'AP_CASH_CLEAR_PMT_MAT_AOS_AS';
29278 l_component_type_code := 'S';
29279 l_component_appl_id := 200;
29280 l_amb_context_code := 'DEFAULT';
29281 l_entity_code := 'AP_PAYMENTS';
29282 l_event_class_code := 'FUTURE DATED PAYMENTS';
29283 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
29284 l_line_definition_owner_code := 'S';
29285 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
29286 --
29287 l_balance_type_code := 'A';
29288 l_segment := NULL;
29289 l_ccid := NULL;
29290 l_adr_transaction_coa_id := NULL;
29291 l_adr_accounting_coa_id := NULL;
29292 l_adr_flexfield_segment_code := NULL;
29293 l_adr_flex_value_set_id := NULL;
29294 l_adr_value_type_code := NULL;
29295 l_adr_value_combination_id := NULL;
29296 l_adr_value_segment_code := NULL;
29297
29298 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
29299 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
29300 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
29301 l_budgetary_control_flag := 'N';
29302
29303 l_bflow_applied_to_amt_idx := NULL; -- 5132302
29304 l_bflow_applied_to_amt := NULL; -- 5132302
29305 l_entered_amt_idx := NULL; -- 4262811
29306 l_accted_amt_idx := NULL; -- 4262811
29307 l_acc_rev_flag := NULL; -- 4262811
29308 l_accrual_line_num := NULL; -- 4262811
29309 l_tmp_amt := NULL; -- 4262811
29310 --
29311
29312 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
29313 l_balance_type_code <> 'B' THEN
29314 IF (NVL(p_source_97,'
29315 ') = 'ALWAYS_ALWAYS' OR
29316 NVL(p_source_97,'
29317 ') = 'ALWAYS_ISSUE') AND
29318 (NVL(p_source_113,'
29319 ') = 'Y' AND
29320 NVL(p_source_15,'
29321 ') = 'ACCOUNT_SEGMENT_VALUE') AND
29322 p_source_114 IS NOT NULL AND
29323 NVL(p_source_98,'
29324 ') = 'CASH'
29325 THEN
29326
29327 --
29328 XLA_AE_LINES_PKG.SetNewLine;
29329
29330 p_balance_type_code := l_balance_type_code;
29331 -- set the flag so later we will know whether the gain loss line needs to be created
29332
29333 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
29334 p_actual_flag :='A';
29335 END IF;
29336
29337 --
29338 -- bulk performance
29339 --
29340 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
29341 p_header_num => 0); -- 4262811
29345 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
29342 --
29343 -- set accounting line options
29344 --
29346 p_natural_side_code => 'C'
29347 , p_gain_or_loss_flag => 'N'
29348 , p_gl_transfer_mode_code => 'S'
29349 , p_acct_entry_type_code => 'A'
29350 , p_switch_side_flag => 'Y'
29351 , p_merge_duplicate_code => 'A'
29352 );
29353 --
29354 l_acc_rev_natural_side_code := 'D'; -- 4262811
29355 --
29356 --
29357 -- set accounting line type info
29358 --
29359 xla_ae_lines_pkg.SetAcctLineType
29360 (p_component_type => l_component_type
29361 ,p_event_type_code => l_event_type_code
29362 ,p_line_definition_owner_code => l_line_definition_owner_code
29363 ,p_line_definition_code => l_line_definition_code
29364 ,p_accounting_line_code => l_component_code
29365 ,p_accounting_line_type_code => l_component_type_code
29366 ,p_accounting_line_appl_id => l_component_appl_id
29367 ,p_amb_context_code => l_amb_context_code
29368 ,p_entity_code => l_entity_code
29369 ,p_event_class_code => l_event_class_code);
29370 --
29371 -- set accounting class
29372 --
29373 xla_ae_lines_pkg.SetAcctClass(
29374 p_accounting_class_code => 'CASH_CLEARING'
29375 , p_ae_header_id => l_ae_header_id
29376 );
29377
29378 --
29379 -- set rounding class
29380 --
29381 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
29382 'CASH_CLEARING';
29383
29384 --
29385 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
29386 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
29387 --
29388 -- bulk performance
29389 --
29390 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
29391
29392 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
29393 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
29394
29395 -- 4955764
29396 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
29397 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
29398
29399 -- 4458381 Public Sector Enh
29400
29401 --
29402 -- set accounting attributes for the line type
29403 --
29404 l_entered_amt_idx := 9;
29405 l_accted_amt_idx := 14;
29406 l_bflow_applied_to_amt_idx := NULL; -- 5132302
29407 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
29408 l_rec_acct_attrs.array_char_value(1) := p_source_53;
29409 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
29410 l_rec_acct_attrs.array_num_value(2) := p_source_91;
29411 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
29412 l_rec_acct_attrs.array_char_value(3) := p_source_100;
29413 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
29414 l_rec_acct_attrs.array_char_value(4) := p_source_101;
29415 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
29416 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_102);
29417 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
29418 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_103);
29419 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
29420 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
29421 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
29422 l_rec_acct_attrs.array_char_value(8) := p_source_55;
29423 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
29424 l_rec_acct_attrs.array_num_value(9) := p_source_99;
29425 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
29426 l_rec_acct_attrs.array_char_value(10) := p_source_13;
29427 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
29428 l_rec_acct_attrs.array_date_value(11) := p_source_117;
29429 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
29430 l_rec_acct_attrs.array_num_value(12) := p_source_118;
29431 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
29432 l_rec_acct_attrs.array_char_value(13) := p_source_119;
29433 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
29434 l_rec_acct_attrs.array_num_value(14) := p_source_121;
29435 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
29436 l_rec_acct_attrs.array_char_value(15) := p_source_80;
29437 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
29438 l_rec_acct_attrs.array_num_value(16) := p_source_110;
29439 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
29440 l_rec_acct_attrs.array_num_value(17) := p_source_111;
29441 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
29442 l_rec_acct_attrs.array_char_value(18) := p_source_83;
29443 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
29444 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_112);
29445 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
29446 l_rec_acct_attrs.array_char_value(20) := p_source_55;
29450
29447
29448 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
29449 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
29451 ---------------------------------------------------------------------------------------------------------------
29452 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
29453 ---------------------------------------------------------------------------------------------------------------
29454 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
29455
29456 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
29457 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
29458
29459 IF xla_accounting_cache_pkg.GetValueChar
29460 (p_source_code => 'LEDGER_CATEGORY_CODE'
29461 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
29462 AND l_bflow_method_code = 'PRIOR_ENTRY'
29463 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
29464 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
29465 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
29466 )
29467 THEN
29468 xla_ae_lines_pkg.BflowUpgEntry
29469 (p_business_method_code => l_bflow_method_code
29470 ,p_business_class_code => l_bflow_class_code
29471 ,p_balance_type => l_balance_type_code);
29472 ELSE
29473 NULL;
29474 XLA_AE_LINES_PKG.business_flow_validation(
29475 p_business_method_code => l_bflow_method_code
29476 ,p_business_class_code => l_bflow_class_code
29477 ,p_inherit_description_flag => l_inherit_desc_flag);
29478 END IF;
29479
29480 --
29481 -- call analytical criteria
29482 --
29483
29484 --
29485 -- call description
29486 --
29487 -- No description or it is inherited.
29488 --
29489 -- call ADRs
29490 -- Bug 4922099
29491 --
29492 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
29493 (NVL(l_actual_upg_option, 'N') = 'O') OR
29494 (NVL(l_enc_upg_option, 'N') = 'O')
29495 )
29496 THEN
29497 NULL;
29498 --
29499 --
29500
29501 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
29502 p_code_combination_id => TO_NUMBER(C_NUM)
29503 , p_value_type_code => NULL
29504 , p_transaction_coa_id => null
29505 , p_accounting_coa_id => null
29506 , p_adr_code => NULL
29507 , p_adr_type_code => NULL
29508 , p_component_type => l_component_type
29509 , p_component_code => l_component_code
29510 , p_component_type_code => l_component_type_code
29511 , p_component_appl_id => l_component_appl_id
29512 , p_amb_context_code => l_amb_context_code
29513 , p_side => NULL
29514 );
29515
29516
29517 -- initialise segments
29518 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29519 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29520 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29521 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29522 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29523 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29524 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29525 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29526 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29527 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29528 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29529 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29530 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29531 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29532 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29533 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29534 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29535 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29536 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29537 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29538 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29539 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29540 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29541 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29542 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29543 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29544 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29548 --
29545 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29546 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29547 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29549
29550 --
29551
29552
29553 l_segment := AcctDerRule_16(
29554 p_application_id => p_application_id
29555 , p_ae_header_id => l_ae_header_id
29556 , p_source_35 => p_source_35
29557 , x_transaction_coa_id => l_adr_transaction_coa_id
29558 , x_accounting_coa_id => l_adr_accounting_coa_id
29559 , x_flexfield_segment_code => l_adr_flexfield_segment_code
29560 , x_flex_value_set_id => l_adr_flex_value_set_id
29561 , x_value_type_code => l_adr_value_type_code
29562 , x_value_combination_id => l_adr_value_combination_id
29563 , x_value_segment_code => l_adr_value_segment_code
29564 , p_side => 'NA'
29565 , p_override_seg_flag => 'Y'
29566 );
29567
29568 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
29569
29570 xla_ae_lines_pkg.set_segment(
29571 p_to_segment_code => 'GL_ACCOUNT'
29572 , p_segment_value => l_segment
29573 , p_from_segment_code => l_adr_value_segment_code
29574 , p_from_combination_id => l_adr_value_combination_id
29575 , p_value_type_code => l_adr_value_type_code
29576 , p_transaction_coa_id => l_adr_transaction_coa_id
29577 , p_accounting_coa_id => l_adr_accounting_coa_id
29578 , p_flexfield_segment_code => l_adr_flexfield_segment_code
29579 , p_flex_value_set_id => l_adr_flex_value_set_id
29580 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
29581 , p_adr_type_code => 'S'
29582 , p_component_type => l_component_type
29583 , p_component_code => l_component_code
29584 , p_component_type_code => l_component_type_code
29585 , p_component_appl_id => l_component_appl_id
29586 , p_amb_context_code => l_amb_context_code
29587 , p_entity_code => 'AP_PAYMENTS'
29588 , p_event_class_code => 'FUTURE DATED PAYMENTS'
29589 , p_side => 'NA'
29590 );
29591
29592 END IF;
29593
29594 --
29595 --
29596 END IF;
29597 --
29598 -- Bug 4922099
29599 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
29600 (NVL(l_enc_upg_option, 'N') = 'O')
29601 ) AND
29602 (l_bflow_method_code = 'PRIOR_ENTRY')
29603 )
29604 THEN
29605 IF
29606 --
29607 1 = 2
29608 --
29609 THEN
29610 xla_accounting_err_pkg.build_message
29611 (p_appli_s_name => 'XLA'
29612 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
29613 ,p_token_1 => 'LINE_NUMBER'
29614 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
29615 ,p_token_2 => 'LINE_TYPE_NAME'
29616 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
29617 l_component_type
29618 ,l_component_code
29619 ,l_component_type_code
29620 ,l_component_appl_id
29621 ,l_amb_context_code
29622 ,l_entity_code
29623 ,l_event_class_code
29624 )
29625 ,p_token_3 => 'OWNER'
29626 ,p_value_3 => xla_lookups_pkg.get_meaning(
29627 p_lookup_type => 'XLA_OWNER_TYPE'
29628 ,p_lookup_code => l_component_type_code
29629 )
29630 ,p_token_4 => 'PRODUCT_NAME'
29631 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
29632 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
29633 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
29634 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
29635 ,p_ae_header_id => NULL
29636 );
29637
29638 IF (C_LEVEL_ERROR>= g_log_level) THEN
29639 trace
29640 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
29641 ,p_level => C_LEVEL_ERROR
29645 END IF;
29642 ,p_module => l_log_module);
29643 END IF;
29644 END IF;
29646 --
29647 --
29648 ------------------------------------------------------------------------------------------------
29649 -- 4219869 Business Flow
29650 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
29651 -- Prior Entry. Currently, the following code is always generated.
29652 ------------------------------------------------------------------------------------------------
29653 XLA_AE_LINES_PKG.ValidateCurrentLine;
29654
29655 ------------------------------------------------------------------------------------
29656 -- 4219869 Business Flow
29657 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
29658 ------------------------------------------------------------------------------------
29659 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
29660
29661 ----------------------------------------------------------------------------------
29662 -- 4219869 Business Flow
29663 -- Update journal entry status -- Need to generate this within IF <condition>
29664 ----------------------------------------------------------------------------------
29665 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
29666 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
29667 ,p_balance_type_code => l_balance_type_code
29668 );
29669
29670 -------------------------------------------------------------------------------------------
29671 -- 4262811 - Generate the Accrual Reversal lines
29672 -------------------------------------------------------------------------------------------
29673 BEGIN
29674 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
29675 (g_array_event(p_event_id).array_value_num('header_index'));
29676 IF l_acc_rev_flag IS NULL THEN
29677 l_acc_rev_flag := 'N';
29678 END IF;
29679 EXCEPTION
29680 WHEN OTHERS THEN
29681 l_acc_rev_flag := 'N';
29682 END;
29683 --
29684 IF (l_acc_rev_flag = 'Y') THEN
29685
29686 -- 4645092 ------------------------------------------------------------------------------
29687 -- To allow MPA report to determine if it should generate report process
29688 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
29689 ------------------------------------------------------------------------------------------
29690
29691 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
29692 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
29693 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
29694 -- call ADRs
29695 -- Bug 4922099
29696 --
29697 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
29698 (NVL(l_actual_upg_option, 'N') = 'O') OR
29699 (NVL(l_enc_upg_option, 'N') = 'O')
29700 )
29701 THEN
29702 NULL;
29703 --
29704 --
29705
29706 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
29707 p_code_combination_id => TO_NUMBER(C_NUM)
29708 , p_value_type_code => NULL
29709 , p_transaction_coa_id => null
29710 , p_accounting_coa_id => null
29711 , p_adr_code => NULL
29712 , p_adr_type_code => NULL
29713 , p_component_type => l_component_type
29714 , p_component_code => l_component_code
29715 , p_component_type_code => l_component_type_code
29716 , p_component_appl_id => l_component_appl_id
29717 , p_amb_context_code => l_amb_context_code
29718 , p_side => NULL
29719 );
29720
29721
29722 -- initialise segments
29723 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29724 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29725 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29726 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29727 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29728 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29729 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29730 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29731 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29732 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29733 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29734 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29735 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29736 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29737 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29738 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29739 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29740 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29741 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29742 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29746 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29743 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29744 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29745 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29747 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29748 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29749 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29750 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29751 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29752 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29753 --
29754
29755 --
29756
29757
29758 l_segment := AcctDerRule_16(
29759 p_application_id => p_application_id
29760 , p_ae_header_id => l_ae_header_id
29761 , p_source_35 => p_source_35
29762 , x_transaction_coa_id => l_adr_transaction_coa_id
29763 , x_accounting_coa_id => l_adr_accounting_coa_id
29764 , x_flexfield_segment_code => l_adr_flexfield_segment_code
29765 , x_flex_value_set_id => l_adr_flex_value_set_id
29766 , x_value_type_code => l_adr_value_type_code
29767 , x_value_combination_id => l_adr_value_combination_id
29768 , x_value_segment_code => l_adr_value_segment_code
29769 , p_side => 'NA'
29770 , p_override_seg_flag => 'Y'
29771 );
29772
29773 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
29774
29775 xla_ae_lines_pkg.set_segment(
29776 p_to_segment_code => 'GL_ACCOUNT'
29777 , p_segment_value => l_segment
29778 , p_from_segment_code => l_adr_value_segment_code
29779 , p_from_combination_id => l_adr_value_combination_id
29780 , p_value_type_code => l_adr_value_type_code
29781 , p_transaction_coa_id => l_adr_transaction_coa_id
29782 , p_accounting_coa_id => l_adr_accounting_coa_id
29783 , p_flexfield_segment_code => l_adr_flexfield_segment_code
29784 , p_flex_value_set_id => l_adr_flex_value_set_id
29785 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
29786 , p_adr_type_code => 'S'
29787 , p_component_type => l_component_type
29788 , p_component_code => l_component_code
29789 , p_component_type_code => l_component_type_code
29790 , p_component_appl_id => l_component_appl_id
29791 , p_amb_context_code => l_amb_context_code
29792 , p_entity_code => 'AP_PAYMENTS'
29793 , p_event_class_code => 'FUTURE DATED PAYMENTS'
29794 , p_side => 'NA'
29795 );
29796
29797 END IF;
29798
29799 --
29800 --
29801 END IF;
29802
29803 --
29804 -- Update the line information that should be overwritten
29805 --
29806 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
29807 p_header_num => 1);
29808 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
29809
29810 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
29811
29812 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
29813 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
29814 END IF;
29815
29816 --
29817 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
29818 --
29819 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
29820 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
29821 ELSE
29822 ---------------------------------------------------------------------------------------------------
29823 -- 4262811a Switch Sign
29824 ---------------------------------------------------------------------------------------------------
29825 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29826 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29827 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29828 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29829 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29830 -- 5132302
29831 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29832 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29833
29834 END IF;
29835
29836 -- 4955764
29837 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
29838 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
29839
29840
29841 XLA_AE_LINES_PKG.ValidateCurrentLine;
29845 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
29842 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
29843
29844 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
29846 ,p_balance_type_code => l_balance_type_code);
29847
29848 END IF;
29849
29850 -----------------------------------------------------------------------------------------
29851 -- 4262811 Multiperiod Accounting
29852 -----------------------------------------------------------------------------------------
29853 -- No MPA option is assigned.
29854
29855
29856 END IF;
29857 END IF;
29858 --
29859
29860 --
29861 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
29862 trace
29863 (p_msg => 'END of AcctLineType_76'
29864 ,p_level => C_LEVEL_PROCEDURE
29865 ,p_module => l_log_module);
29866 END IF;
29867 --
29868 EXCEPTION
29869 WHEN xla_exceptions_pkg.application_exception THEN
29870 RAISE;
29871 WHEN OTHERS THEN
29872 xla_exceptions_pkg.raise_message
29873 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_76');
29874 END AcctLineType_76;
29875 --
29876
29877 ---------------------------------------
29878 --
29879 -- PRIVATE FUNCTION
29880 -- AcctLineType_77
29881 --
29882 ---------------------------------------
29883 PROCEDURE AcctLineType_77 (
29884 p_application_id IN NUMBER
29885 ,p_event_id IN NUMBER
29886 ,p_calculate_acctd_flag IN VARCHAR2
29887 ,p_calculate_g_l_flag IN VARCHAR2
29888 ,p_actual_flag IN OUT VARCHAR2
29889 ,p_balance_type_code OUT VARCHAR2
29890 ,p_gain_or_loss_ref OUT VARCHAR2
29891
29892 --Payment Currency Code
29893 , p_source_13 IN VARCHAR2
29894 --Automatic Offsets Value
29895 , p_source_15 IN VARCHAR2
29896 , p_source_15_meaning IN VARCHAR2
29897 --Bank Cash Clearing Account
29898 , p_source_35 IN NUMBER
29899 --Accounting Reversal Indicator
29900 , p_source_53 IN VARCHAR2
29901 --Distribution Link Type
29902 , p_source_55 IN VARCHAR2
29903 --Override Accounted Amount Indicator
29904 , p_source_80 IN VARCHAR2
29905 , p_source_80_meaning IN VARCHAR2
29906 --Third Party Type
29907 , p_source_83 IN VARCHAR2
29908 --Business Flow Accounts Payable Application Identifier
29909 , p_source_91 IN NUMBER
29910 --When to Account for Payment Option
29911 , p_source_97 IN VARCHAR2
29912 --Payment Distribution Type
29913 , p_source_98 IN VARCHAR2
29914 , p_source_98_meaning IN VARCHAR2
29915 --Payment Distribution Amount
29916 , p_source_99 IN NUMBER
29917 --Business Flow Payment Distribution Type
29918 , p_source_100 IN VARCHAR2
29919 --Business Flow Payment Entity Code
29920 , p_source_101 IN VARCHAR2
29921 --Business Flow Payment Distribution Identifier
29922 , p_source_102 IN NUMBER
29923 --Business Flow Payment Identifier
29924 , p_source_103 IN NUMBER
29925 --Payment Distribution Identifier
29926 , p_source_104 IN NUMBER
29927 --Payment Supplier Identifier
29928 , p_source_110 IN NUMBER
29929 --Payment Supplier Site Identifier
29930 , p_source_111 IN NUMBER
29931 --Payment Distribution Reversed Identifier
29932 , p_source_112 IN NUMBER
29933 --Pooled Bank Account Option
29934 , p_source_113 IN VARCHAR2
29935 , p_source_113_meaning IN VARCHAR2
29936 --Payment Maturity Date
29937 , p_source_114 IN DATE
29938 --Payment Exchange Date
29939 , p_source_117 IN DATE
29940 --Payment Exchange Rate
29941 , p_source_118 IN NUMBER
29942 --Payment Exchange Rate Type
29943 , p_source_119 IN VARCHAR2
29944 --Payment Distribution (Matured Rate) Ledger Amount
29945 , p_source_121 IN NUMBER
29946 )
29947 IS
29948
29949 l_component_type VARCHAR2(80);
29950 l_component_code VARCHAR2(30);
29951 l_component_type_code VARCHAR2(1);
29952 l_component_appl_id INTEGER;
29953 l_amb_context_code VARCHAR2(30);
29954 l_entity_code VARCHAR2(30);
29955 l_event_class_code VARCHAR2(30);
29956 l_ae_header_id NUMBER;
29957 l_event_type_code VARCHAR2(30);
29958 l_line_definition_code VARCHAR2(30);
29959 l_line_definition_owner_code VARCHAR2(1);
29960 --
29961 -- adr variables
29962 l_segment VARCHAR2(30);
29963 l_ccid NUMBER;
29964 l_adr_transaction_coa_id NUMBER;
29965 l_adr_accounting_coa_id NUMBER;
29966 l_adr_flexfield_segment_code VARCHAR2(30);
29967 l_adr_flex_value_set_id NUMBER;
29968 l_adr_value_type_code VARCHAR2(30);
29969 l_adr_value_combination_id NUMBER;
29970 l_adr_value_segment_code VARCHAR2(30);
29971
29972 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
29973 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
29974 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
29975 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
29976
29977 -- 4262811 Variables ------------------------------------------------------------------------------------------
29981 l_accrual_line_num NUMBER;
29978 l_entered_amt_idx NUMBER;
29979 l_accted_amt_idx NUMBER;
29980 l_acc_rev_flag VARCHAR2(1);
29982 l_tmp_amt NUMBER;
29983 l_acc_rev_natural_side_code VARCHAR2(1);
29984
29985 l_num_entries NUMBER;
29986 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
29987 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
29988 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
29989 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
29990 l_recog_line_1 NUMBER;
29991 l_recog_line_2 NUMBER;
29992
29993 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
29994 l_bflow_applied_to_amt NUMBER; -- 5132302
29995 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
29996
29997 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
29998
29999 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
30000 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
30001
30002 ---------------------------------------------------------------------------------------------------------------
30003
30004
30005 --
30006 -- bulk performance
30007 --
30008 l_balance_type_code VARCHAR2(1);
30009 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
30010 l_log_module VARCHAR2(240);
30011
30012 --
30013 -- Upgrade strategy
30014 --
30015 l_actual_upg_option VARCHAR2(1);
30016 l_enc_upg_option VARCHAR2(1);
30017
30018 --
30019 BEGIN
30020 --
30021 IF g_log_enabled THEN
30022 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_77';
30023 END IF;
30024 --
30025 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
30026
30027 trace
30028 (p_msg => 'BEGIN of AcctLineType_77'
30029 ,p_level => C_LEVEL_PROCEDURE
30030 ,p_module => l_log_module);
30031
30032 END IF;
30033 --
30034 l_component_type := 'AMB_JLT';
30035 l_component_code := 'AP_CASH_CLEAR_PMT_MAT_AOS_BS';
30036 l_component_type_code := 'S';
30037 l_component_appl_id := 200;
30038 l_amb_context_code := 'DEFAULT';
30039 l_entity_code := 'AP_PAYMENTS';
30040 l_event_class_code := 'FUTURE DATED PAYMENTS';
30041 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
30042 l_line_definition_owner_code := 'S';
30043 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
30044 --
30045 l_balance_type_code := 'A';
30046 l_segment := NULL;
30047 l_ccid := NULL;
30048 l_adr_transaction_coa_id := NULL;
30049 l_adr_accounting_coa_id := NULL;
30050 l_adr_flexfield_segment_code := NULL;
30051 l_adr_flex_value_set_id := NULL;
30052 l_adr_value_type_code := NULL;
30053 l_adr_value_combination_id := NULL;
30054 l_adr_value_segment_code := NULL;
30055
30056 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
30057 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
30058 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
30059 l_budgetary_control_flag := 'N';
30060
30061 l_bflow_applied_to_amt_idx := NULL; -- 5132302
30062 l_bflow_applied_to_amt := NULL; -- 5132302
30063 l_entered_amt_idx := NULL; -- 4262811
30064 l_accted_amt_idx := NULL; -- 4262811
30065 l_acc_rev_flag := NULL; -- 4262811
30066 l_accrual_line_num := NULL; -- 4262811
30067 l_tmp_amt := NULL; -- 4262811
30068 --
30069
30070 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
30071 l_balance_type_code <> 'B' THEN
30072 IF (NVL(p_source_97,'
30073 ') = 'ALWAYS_ALWAYS' OR
30074 NVL(p_source_97,'
30075 ') = 'ALWAYS_CLEAR' OR
30076 NVL(p_source_97,'
30077 ') = 'ALWAYS_ISSUE') AND
30078 (NVL(p_source_113,'
30079 ') = 'Y' AND
30080 NVL(p_source_15,'
30081 ') = 'BALANCING_SEGMENT') AND
30082 p_source_114 IS NOT NULL AND
30083 NVL(p_source_98,'
30084 ') = 'CASH'
30085 THEN
30086
30087 --
30088 XLA_AE_LINES_PKG.SetNewLine;
30089
30090 p_balance_type_code := l_balance_type_code;
30091 -- set the flag so later we will know whether the gain loss line needs to be created
30092
30093 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
30094 p_actual_flag :='A';
30095 END IF;
30096
30097 --
30098 -- bulk performance
30099 --
30100 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
30101 p_header_num => 0); -- 4262811
30102 --
30103 -- set accounting line options
30104 --
30105 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
30106 p_natural_side_code => 'C'
30107 , p_gain_or_loss_flag => 'N'
30108 , p_gl_transfer_mode_code => 'S'
30109 , p_acct_entry_type_code => 'A'
30110 , p_switch_side_flag => 'Y'
30114 l_acc_rev_natural_side_code := 'D'; -- 4262811
30111 , p_merge_duplicate_code => 'A'
30112 );
30113 --
30115 --
30116 --
30117 -- set accounting line type info
30118 --
30119 xla_ae_lines_pkg.SetAcctLineType
30120 (p_component_type => l_component_type
30121 ,p_event_type_code => l_event_type_code
30122 ,p_line_definition_owner_code => l_line_definition_owner_code
30123 ,p_line_definition_code => l_line_definition_code
30124 ,p_accounting_line_code => l_component_code
30125 ,p_accounting_line_type_code => l_component_type_code
30126 ,p_accounting_line_appl_id => l_component_appl_id
30127 ,p_amb_context_code => l_amb_context_code
30128 ,p_entity_code => l_entity_code
30129 ,p_event_class_code => l_event_class_code);
30130 --
30131 -- set accounting class
30132 --
30133 xla_ae_lines_pkg.SetAcctClass(
30134 p_accounting_class_code => 'CASH_CLEARING'
30135 , p_ae_header_id => l_ae_header_id
30136 );
30137
30138 --
30139 -- set rounding class
30140 --
30141 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
30142 'CASH_CLEARING';
30143
30144 --
30145 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
30146 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
30147 --
30148 -- bulk performance
30149 --
30150 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
30151
30152 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
30153 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
30154
30155 -- 4955764
30156 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30157 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
30158
30159 -- 4458381 Public Sector Enh
30160
30161 --
30162 -- set accounting attributes for the line type
30163 --
30164 l_entered_amt_idx := 9;
30165 l_accted_amt_idx := 14;
30166 l_bflow_applied_to_amt_idx := NULL; -- 5132302
30167 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
30168 l_rec_acct_attrs.array_char_value(1) := p_source_53;
30169 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
30170 l_rec_acct_attrs.array_num_value(2) := p_source_91;
30171 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
30172 l_rec_acct_attrs.array_char_value(3) := p_source_100;
30173 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
30174 l_rec_acct_attrs.array_char_value(4) := p_source_101;
30175 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
30176 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_102);
30177 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
30178 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_103);
30179 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
30180 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
30181 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
30182 l_rec_acct_attrs.array_char_value(8) := p_source_55;
30183 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
30184 l_rec_acct_attrs.array_num_value(9) := p_source_99;
30185 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
30186 l_rec_acct_attrs.array_char_value(10) := p_source_13;
30187 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
30188 l_rec_acct_attrs.array_date_value(11) := p_source_117;
30189 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
30190 l_rec_acct_attrs.array_num_value(12) := p_source_118;
30191 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
30192 l_rec_acct_attrs.array_char_value(13) := p_source_119;
30193 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
30194 l_rec_acct_attrs.array_num_value(14) := p_source_121;
30195 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
30196 l_rec_acct_attrs.array_char_value(15) := p_source_80;
30197 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
30198 l_rec_acct_attrs.array_num_value(16) := p_source_110;
30199 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
30200 l_rec_acct_attrs.array_num_value(17) := p_source_111;
30201 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
30202 l_rec_acct_attrs.array_char_value(18) := p_source_83;
30203 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
30204 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_112);
30205 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
30206 l_rec_acct_attrs.array_char_value(20) := p_source_55;
30207
30208 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
30209 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
30210
30211 ---------------------------------------------------------------------------------------------------------------
30212 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
30216 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30213 ---------------------------------------------------------------------------------------------------------------
30214 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
30215
30217 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30218
30219 IF xla_accounting_cache_pkg.GetValueChar
30220 (p_source_code => 'LEDGER_CATEGORY_CODE'
30221 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
30222 AND l_bflow_method_code = 'PRIOR_ENTRY'
30223 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
30224 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
30225 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
30226 )
30227 THEN
30228 xla_ae_lines_pkg.BflowUpgEntry
30229 (p_business_method_code => l_bflow_method_code
30230 ,p_business_class_code => l_bflow_class_code
30231 ,p_balance_type => l_balance_type_code);
30232 ELSE
30233 NULL;
30234 XLA_AE_LINES_PKG.business_flow_validation(
30235 p_business_method_code => l_bflow_method_code
30236 ,p_business_class_code => l_bflow_class_code
30237 ,p_inherit_description_flag => l_inherit_desc_flag);
30238 END IF;
30239
30240 --
30241 -- call analytical criteria
30242 --
30243
30244 --
30245 -- call description
30246 --
30247 -- No description or it is inherited.
30248 --
30249 -- call ADRs
30250 -- Bug 4922099
30251 --
30252 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
30253 (NVL(l_actual_upg_option, 'N') = 'O') OR
30254 (NVL(l_enc_upg_option, 'N') = 'O')
30255 )
30256 THEN
30257 NULL;
30258 --
30259 --
30260
30261 l_ccid := AcctDerRule_36(
30262 p_application_id => p_application_id
30263 , p_ae_header_id => l_ae_header_id
30264 , p_source_35 => p_source_35
30265 , x_transaction_coa_id => l_adr_transaction_coa_id
30266 , x_accounting_coa_id => l_adr_accounting_coa_id
30267 , x_value_type_code => l_adr_value_type_code
30268 , p_side => 'NA'
30269 );
30270
30271 xla_ae_lines_pkg.set_ccid(
30272 p_code_combination_id => l_ccid
30273 , p_value_type_code => l_adr_value_type_code
30274 , p_transaction_coa_id => l_adr_transaction_coa_id
30275 , p_accounting_coa_id => l_adr_accounting_coa_id
30276 , p_adr_code => 'AP_PMT_CASH_CLEAR'
30277 , p_adr_type_code => 'S'
30278 , p_component_type => l_component_type
30279 , p_component_code => l_component_code
30280 , p_component_type_code => l_component_type_code
30281 , p_component_appl_id => l_component_appl_id
30282 , p_amb_context_code => l_amb_context_code
30283 , p_side => 'NA'
30284 );
30285
30286
30287 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
30288 p_to_segment_code => 'GL_BALANCING'
30289 , p_segment_value => C_CHAR
30290 , p_from_segment_code => NULL
30291 , p_from_combination_id => NULL
30292 , p_value_type_code => NULL
30293 , p_transaction_coa_id => null
30294 , p_accounting_coa_id => null
30295 , p_flexfield_segment_code => NULL
30296 , p_flex_value_set_id => NULL
30297 , p_adr_code => NULL
30298 , p_adr_type_code => NULL
30299 , p_component_type => l_component_type
30300 , p_component_code => l_component_code
30301 , p_component_type_code => l_component_type_code
30302 , p_component_appl_id => l_component_appl_id
30303 , p_amb_context_code => l_amb_context_code
30304 , p_entity_code => 'AP_PAYMENTS'
30305 , p_event_class_code => 'FUTURE DATED PAYMENTS'
30306 , p_side => 'NA'
30307 );
30308 --
30309
30310
30311 --
30312 --
30313 END IF;
30314 --
30315 -- Bug 4922099
30316 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
30317 (NVL(l_enc_upg_option, 'N') = 'O')
30318 ) AND
30319 (l_bflow_method_code = 'PRIOR_ENTRY')
30320 )
30321 THEN
30322 IF
30323 --
30324 1 = 2
30325 --
30326 THEN
30327 xla_accounting_err_pkg.build_message
30328 (p_appli_s_name => 'XLA'
30329 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
30330 ,p_token_1 => 'LINE_NUMBER'
30331 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
30332 ,p_token_2 => 'LINE_TYPE_NAME'
30333 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
30334 l_component_type
30338 ,l_amb_context_code
30335 ,l_component_code
30336 ,l_component_type_code
30337 ,l_component_appl_id
30339 ,l_entity_code
30340 ,l_event_class_code
30341 )
30342 ,p_token_3 => 'OWNER'
30343 ,p_value_3 => xla_lookups_pkg.get_meaning(
30344 p_lookup_type => 'XLA_OWNER_TYPE'
30345 ,p_lookup_code => l_component_type_code
30346 )
30347 ,p_token_4 => 'PRODUCT_NAME'
30348 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
30349 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
30350 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
30351 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
30352 ,p_ae_header_id => NULL
30353 );
30354
30355 IF (C_LEVEL_ERROR>= g_log_level) THEN
30356 trace
30357 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
30358 ,p_level => C_LEVEL_ERROR
30359 ,p_module => l_log_module);
30360 END IF;
30361 END IF;
30362 END IF;
30363 --
30364 --
30365 ------------------------------------------------------------------------------------------------
30366 -- 4219869 Business Flow
30367 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
30368 -- Prior Entry. Currently, the following code is always generated.
30369 ------------------------------------------------------------------------------------------------
30370 XLA_AE_LINES_PKG.ValidateCurrentLine;
30371
30372 ------------------------------------------------------------------------------------
30373 -- 4219869 Business Flow
30374 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
30375 ------------------------------------------------------------------------------------
30376 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
30377
30378 ----------------------------------------------------------------------------------
30379 -- 4219869 Business Flow
30380 -- Update journal entry status -- Need to generate this within IF <condition>
30381 ----------------------------------------------------------------------------------
30382 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
30383 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
30384 ,p_balance_type_code => l_balance_type_code
30385 );
30386
30387 -------------------------------------------------------------------------------------------
30388 -- 4262811 - Generate the Accrual Reversal lines
30389 -------------------------------------------------------------------------------------------
30390 BEGIN
30391 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
30392 (g_array_event(p_event_id).array_value_num('header_index'));
30393 IF l_acc_rev_flag IS NULL THEN
30394 l_acc_rev_flag := 'N';
30395 END IF;
30396 EXCEPTION
30397 WHEN OTHERS THEN
30398 l_acc_rev_flag := 'N';
30399 END;
30400 --
30401 IF (l_acc_rev_flag = 'Y') THEN
30402
30403 -- 4645092 ------------------------------------------------------------------------------
30404 -- To allow MPA report to determine if it should generate report process
30405 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
30406 ------------------------------------------------------------------------------------------
30407
30408 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
30409 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
30410 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
30411 -- call ADRs
30412 -- Bug 4922099
30413 --
30414 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
30415 (NVL(l_actual_upg_option, 'N') = 'O') OR
30416 (NVL(l_enc_upg_option, 'N') = 'O')
30417 )
30418 THEN
30419 NULL;
30420 --
30421 --
30422
30423 l_ccid := AcctDerRule_36(
30424 p_application_id => p_application_id
30425 , p_ae_header_id => l_ae_header_id
30426 , p_source_35 => p_source_35
30427 , x_transaction_coa_id => l_adr_transaction_coa_id
30428 , x_accounting_coa_id => l_adr_accounting_coa_id
30429 , x_value_type_code => l_adr_value_type_code
30430 , p_side => 'NA'
30431 );
30432
30433 xla_ae_lines_pkg.set_ccid(
30434 p_code_combination_id => l_ccid
30438 , p_adr_code => 'AP_PMT_CASH_CLEAR'
30435 , p_value_type_code => l_adr_value_type_code
30436 , p_transaction_coa_id => l_adr_transaction_coa_id
30437 , p_accounting_coa_id => l_adr_accounting_coa_id
30439 , p_adr_type_code => 'S'
30440 , p_component_type => l_component_type
30441 , p_component_code => l_component_code
30442 , p_component_type_code => l_component_type_code
30443 , p_component_appl_id => l_component_appl_id
30444 , p_amb_context_code => l_amb_context_code
30445 , p_side => 'NA'
30446 );
30447
30448
30449 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
30450 p_to_segment_code => 'GL_BALANCING'
30451 , p_segment_value => C_CHAR
30452 , p_from_segment_code => NULL
30453 , p_from_combination_id => NULL
30454 , p_value_type_code => NULL
30455 , p_transaction_coa_id => null
30456 , p_accounting_coa_id => null
30457 , p_flexfield_segment_code => NULL
30458 , p_flex_value_set_id => NULL
30459 , p_adr_code => NULL
30460 , p_adr_type_code => NULL
30461 , p_component_type => l_component_type
30462 , p_component_code => l_component_code
30463 , p_component_type_code => l_component_type_code
30464 , p_component_appl_id => l_component_appl_id
30465 , p_amb_context_code => l_amb_context_code
30466 , p_entity_code => 'AP_PAYMENTS'
30467 , p_event_class_code => 'FUTURE DATED PAYMENTS'
30468 , p_side => 'NA'
30469 );
30470 --
30471
30472
30473 --
30474 --
30475 END IF;
30476
30477 --
30478 -- Update the line information that should be overwritten
30479 --
30480 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
30481 p_header_num => 1);
30482 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
30483
30484 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
30485
30486 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
30487 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
30488 END IF;
30489
30490 --
30491 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
30492 --
30493 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
30494 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
30495 ELSE
30496 ---------------------------------------------------------------------------------------------------
30497 -- 4262811a Switch Sign
30498 ---------------------------------------------------------------------------------------------------
30499 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
30500 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30501 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30502 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30503 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30504 -- 5132302
30505 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
30506 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30507
30508 END IF;
30509
30510 -- 4955764
30511 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30512 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
30513
30514
30515 XLA_AE_LINES_PKG.ValidateCurrentLine;
30516 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
30517
30518 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
30519 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
30520 ,p_balance_type_code => l_balance_type_code);
30521
30522 END IF;
30523
30524 -----------------------------------------------------------------------------------------
30525 -- 4262811 Multiperiod Accounting
30526 -----------------------------------------------------------------------------------------
30527 -- No MPA option is assigned.
30528
30529
30530 END IF;
30531 END IF;
30532 --
30533
30534 --
30535 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
30536 trace
30537 (p_msg => 'END of AcctLineType_77'
30538 ,p_level => C_LEVEL_PROCEDURE
30539 ,p_module => l_log_module);
30540 END IF;
30541 --
30542 EXCEPTION
30543 WHEN xla_exceptions_pkg.application_exception THEN
30544 RAISE;
30545 WHEN OTHERS THEN
30546 xla_exceptions_pkg.raise_message
30547 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_77');
30548 END AcctLineType_77;
30549 --
30550
30554 -- AcctLineType_78
30551 ---------------------------------------
30552 --
30553 -- PRIVATE FUNCTION
30555 --
30556 ---------------------------------------
30557 PROCEDURE AcctLineType_78 (
30558 p_application_id IN NUMBER
30559 ,p_event_id IN NUMBER
30560 ,p_calculate_acctd_flag IN VARCHAR2
30561 ,p_calculate_g_l_flag IN VARCHAR2
30562 ,p_actual_flag IN OUT VARCHAR2
30563 ,p_balance_type_code OUT VARCHAR2
30564 ,p_gain_or_loss_ref OUT VARCHAR2
30565
30566 --Payment Currency Code
30567 , p_source_13 IN VARCHAR2
30568 --Bank Cash Clearing Account
30569 , p_source_35 IN NUMBER
30570 --Automatic Offsets Flag
30571 , p_source_47 IN VARCHAR2
30572 , p_source_47_meaning IN VARCHAR2
30573 --Accounting Reversal Indicator
30574 , p_source_53 IN VARCHAR2
30575 --Distribution Link Type
30576 , p_source_55 IN VARCHAR2
30577 --Override Accounted Amount Indicator
30578 , p_source_80 IN VARCHAR2
30579 , p_source_80_meaning IN VARCHAR2
30580 --Third Party Type
30581 , p_source_83 IN VARCHAR2
30582 --Business Flow Accounts Payable Application Identifier
30583 , p_source_91 IN NUMBER
30584 --When to Account for Payment Option
30585 , p_source_97 IN VARCHAR2
30586 --Payment Distribution Type
30587 , p_source_98 IN VARCHAR2
30588 , p_source_98_meaning IN VARCHAR2
30589 --Payment Distribution Amount
30590 , p_source_99 IN NUMBER
30591 --Business Flow Payment Distribution Type
30592 , p_source_100 IN VARCHAR2
30593 --Business Flow Payment Entity Code
30594 , p_source_101 IN VARCHAR2
30595 --Business Flow Payment Distribution Identifier
30596 , p_source_102 IN NUMBER
30597 --Business Flow Payment Identifier
30598 , p_source_103 IN NUMBER
30599 --Payment Distribution Identifier
30600 , p_source_104 IN NUMBER
30601 --Payment Supplier Identifier
30602 , p_source_110 IN NUMBER
30603 --Payment Supplier Site Identifier
30604 , p_source_111 IN NUMBER
30605 --Payment Distribution Reversed Identifier
30606 , p_source_112 IN NUMBER
30607 --Pooled Bank Account Option
30608 , p_source_113 IN VARCHAR2
30609 , p_source_113_meaning IN VARCHAR2
30610 --Payment Maturity Date
30611 , p_source_114 IN DATE
30612 --Payment Distribution (Invoice Rate) Ledger Amount
30613 , p_source_116 IN NUMBER
30614 --Payment Exchange Date
30615 , p_source_117 IN DATE
30616 --Payment Exchange Rate
30617 , p_source_118 IN NUMBER
30618 --Payment Exchange Rate Type
30619 , p_source_119 IN VARCHAR2
30620 )
30621 IS
30622
30623 l_component_type VARCHAR2(80);
30624 l_component_code VARCHAR2(30);
30625 l_component_type_code VARCHAR2(1);
30626 l_component_appl_id INTEGER;
30627 l_amb_context_code VARCHAR2(30);
30628 l_entity_code VARCHAR2(30);
30629 l_event_class_code VARCHAR2(30);
30630 l_ae_header_id NUMBER;
30631 l_event_type_code VARCHAR2(30);
30632 l_line_definition_code VARCHAR2(30);
30633 l_line_definition_owner_code VARCHAR2(1);
30634 --
30635 -- adr variables
30636 l_segment VARCHAR2(30);
30637 l_ccid NUMBER;
30638 l_adr_transaction_coa_id NUMBER;
30639 l_adr_accounting_coa_id NUMBER;
30640 l_adr_flexfield_segment_code VARCHAR2(30);
30641 l_adr_flex_value_set_id NUMBER;
30642 l_adr_value_type_code VARCHAR2(30);
30643 l_adr_value_combination_id NUMBER;
30644 l_adr_value_segment_code VARCHAR2(30);
30645
30646 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
30647 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
30648 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
30649 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
30650
30651 -- 4262811 Variables ------------------------------------------------------------------------------------------
30652 l_entered_amt_idx NUMBER;
30653 l_accted_amt_idx NUMBER;
30654 l_acc_rev_flag VARCHAR2(1);
30655 l_accrual_line_num NUMBER;
30656 l_tmp_amt NUMBER;
30657 l_acc_rev_natural_side_code VARCHAR2(1);
30658
30659 l_num_entries NUMBER;
30660 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
30661 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
30662 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
30663 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
30664 l_recog_line_1 NUMBER;
30665 l_recog_line_2 NUMBER;
30666
30667 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
30668 l_bflow_applied_to_amt NUMBER; -- 5132302
30669 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
30670
30671 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
30672
30673 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
30674 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
30675
30679 --
30676 ---------------------------------------------------------------------------------------------------------------
30677
30678
30680 -- bulk performance
30681 --
30682 l_balance_type_code VARCHAR2(1);
30683 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
30684 l_log_module VARCHAR2(240);
30685
30686 --
30687 -- Upgrade strategy
30688 --
30689 l_actual_upg_option VARCHAR2(1);
30690 l_enc_upg_option VARCHAR2(1);
30691
30692 --
30693 BEGIN
30694 --
30695 IF g_log_enabled THEN
30696 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_78';
30697 END IF;
30698 --
30699 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
30700
30701 trace
30702 (p_msg => 'BEGIN of AcctLineType_78'
30703 ,p_level => C_LEVEL_PROCEDURE
30704 ,p_module => l_log_module);
30705
30706 END IF;
30707 --
30708 l_component_type := 'AMB_JLT';
30709 l_component_code := 'AP_CASH_CLEAR_PMT_MAT_INVXRATE';
30710 l_component_type_code := 'S';
30711 l_component_appl_id := 200;
30712 l_amb_context_code := 'DEFAULT';
30713 l_entity_code := 'AP_PAYMENTS';
30714 l_event_class_code := 'FUTURE DATED PAYMENTS';
30715 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
30716 l_line_definition_owner_code := 'S';
30717 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
30718 --
30719 l_balance_type_code := 'A';
30720 l_segment := NULL;
30721 l_ccid := NULL;
30722 l_adr_transaction_coa_id := NULL;
30723 l_adr_accounting_coa_id := NULL;
30724 l_adr_flexfield_segment_code := NULL;
30725 l_adr_flex_value_set_id := NULL;
30726 l_adr_value_type_code := NULL;
30727 l_adr_value_combination_id := NULL;
30728 l_adr_value_segment_code := NULL;
30729
30730 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
30731 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
30732 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
30733 l_budgetary_control_flag := 'N';
30734
30735 l_bflow_applied_to_amt_idx := NULL; -- 5132302
30736 l_bflow_applied_to_amt := NULL; -- 5132302
30737 l_entered_amt_idx := NULL; -- 4262811
30738 l_accted_amt_idx := NULL; -- 4262811
30739 l_acc_rev_flag := NULL; -- 4262811
30740 l_accrual_line_num := NULL; -- 4262811
30741 l_tmp_amt := NULL; -- 4262811
30742 --
30743
30744 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
30745 l_balance_type_code <> 'B' THEN
30746 IF NVL(p_source_97,'
30747 ') = 'ALWAYS_CLEAR' AND
30748 (NVL(p_source_47,'
30749 ') <> 'Y' OR
30750 NVL(p_source_47,'
30751 ') = 'Y' AND
30752 NVL(p_source_113,'
30753 ') <> 'Y') AND
30754 p_source_114 IS NOT NULL AND
30755 NVL(p_source_98,'
30756 ') = 'CASH'
30757 THEN
30758
30759 --
30760 XLA_AE_LINES_PKG.SetNewLine;
30761
30762 p_balance_type_code := l_balance_type_code;
30763 -- set the flag so later we will know whether the gain loss line needs to be created
30764
30765 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
30766 p_actual_flag :='A';
30767 END IF;
30768
30769 --
30770 -- bulk performance
30771 --
30772 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
30773 p_header_num => 0); -- 4262811
30774 --
30775 -- set accounting line options
30776 --
30777 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
30778 p_natural_side_code => 'C'
30779 , p_gain_or_loss_flag => 'N'
30780 , p_gl_transfer_mode_code => 'S'
30781 , p_acct_entry_type_code => 'A'
30782 , p_switch_side_flag => 'Y'
30783 , p_merge_duplicate_code => 'A'
30784 );
30785 --
30786 l_acc_rev_natural_side_code := 'D'; -- 4262811
30787 --
30788 --
30789 -- set accounting line type info
30790 --
30791 xla_ae_lines_pkg.SetAcctLineType
30792 (p_component_type => l_component_type
30793 ,p_event_type_code => l_event_type_code
30794 ,p_line_definition_owner_code => l_line_definition_owner_code
30795 ,p_line_definition_code => l_line_definition_code
30796 ,p_accounting_line_code => l_component_code
30797 ,p_accounting_line_type_code => l_component_type_code
30798 ,p_accounting_line_appl_id => l_component_appl_id
30799 ,p_amb_context_code => l_amb_context_code
30800 ,p_entity_code => l_entity_code
30801 ,p_event_class_code => l_event_class_code);
30802 --
30803 -- set accounting class
30804 --
30805 xla_ae_lines_pkg.SetAcctClass(
30806 p_accounting_class_code => 'CASH_CLEARING'
30807 , p_ae_header_id => l_ae_header_id
30808 );
30809
30810 --
30811 -- set rounding class
30812 --
30813 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
30814 'CASH_CLEARING';
30815
30819 --
30816 --
30817 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
30818 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
30820 -- bulk performance
30821 --
30822 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
30823
30824 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
30825 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
30826
30827 -- 4955764
30828 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30829 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
30830
30831 -- 4458381 Public Sector Enh
30832
30833 --
30834 -- set accounting attributes for the line type
30835 --
30836 l_entered_amt_idx := 9;
30837 l_accted_amt_idx := 14;
30838 l_bflow_applied_to_amt_idx := NULL; -- 5132302
30839 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
30840 l_rec_acct_attrs.array_char_value(1) := p_source_53;
30841 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
30842 l_rec_acct_attrs.array_num_value(2) := p_source_91;
30843 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
30844 l_rec_acct_attrs.array_char_value(3) := p_source_100;
30845 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
30846 l_rec_acct_attrs.array_char_value(4) := p_source_101;
30847 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
30848 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_102);
30849 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
30850 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_103);
30851 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
30852 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
30853 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
30854 l_rec_acct_attrs.array_char_value(8) := p_source_55;
30855 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
30856 l_rec_acct_attrs.array_num_value(9) := p_source_99;
30857 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
30858 l_rec_acct_attrs.array_char_value(10) := p_source_13;
30859 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
30860 l_rec_acct_attrs.array_date_value(11) := p_source_117;
30861 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
30862 l_rec_acct_attrs.array_num_value(12) := p_source_118;
30863 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
30864 l_rec_acct_attrs.array_char_value(13) := p_source_119;
30865 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
30866 l_rec_acct_attrs.array_num_value(14) := p_source_116;
30867 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
30868 l_rec_acct_attrs.array_char_value(15) := p_source_80;
30869 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
30870 l_rec_acct_attrs.array_num_value(16) := p_source_110;
30871 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
30872 l_rec_acct_attrs.array_num_value(17) := p_source_111;
30873 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
30874 l_rec_acct_attrs.array_char_value(18) := p_source_83;
30875 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
30876 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_112);
30877 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
30878 l_rec_acct_attrs.array_char_value(20) := p_source_55;
30879
30880 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
30881 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
30882
30883 ---------------------------------------------------------------------------------------------------------------
30884 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
30885 ---------------------------------------------------------------------------------------------------------------
30886 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
30887
30888 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30889 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30890
30891 IF xla_accounting_cache_pkg.GetValueChar
30892 (p_source_code => 'LEDGER_CATEGORY_CODE'
30893 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
30894 AND l_bflow_method_code = 'PRIOR_ENTRY'
30895 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
30896 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
30897 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
30898 )
30899 THEN
30900 xla_ae_lines_pkg.BflowUpgEntry
30901 (p_business_method_code => l_bflow_method_code
30902 ,p_business_class_code => l_bflow_class_code
30903 ,p_balance_type => l_balance_type_code);
30904 ELSE
30905 NULL;
30906 -- No business flow processing for business flow method of NONE.
30907 END IF;
30908
30909 --
30910 -- call analytical criteria
30911 --
30912
30913 --
30914 -- call description
30915 --
30919 -- Bug 4922099
30916 -- No description or it is inherited.
30917 --
30918 -- call ADRs
30920 --
30921 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
30922 (NVL(l_actual_upg_option, 'N') = 'O') OR
30923 (NVL(l_enc_upg_option, 'N') = 'O')
30924 )
30925 THEN
30926 NULL;
30927 --
30928 --
30929
30930 l_ccid := AcctDerRule_36(
30931 p_application_id => p_application_id
30932 , p_ae_header_id => l_ae_header_id
30933 , p_source_35 => p_source_35
30934 , x_transaction_coa_id => l_adr_transaction_coa_id
30935 , x_accounting_coa_id => l_adr_accounting_coa_id
30936 , x_value_type_code => l_adr_value_type_code
30937 , p_side => 'NA'
30938 );
30939
30940 xla_ae_lines_pkg.set_ccid(
30941 p_code_combination_id => l_ccid
30942 , p_value_type_code => l_adr_value_type_code
30943 , p_transaction_coa_id => l_adr_transaction_coa_id
30944 , p_accounting_coa_id => l_adr_accounting_coa_id
30945 , p_adr_code => 'AP_PMT_CASH_CLEAR'
30946 , p_adr_type_code => 'S'
30947 , p_component_type => l_component_type
30948 , p_component_code => l_component_code
30949 , p_component_type_code => l_component_type_code
30950 , p_component_appl_id => l_component_appl_id
30951 , p_amb_context_code => l_amb_context_code
30952 , p_side => 'NA'
30953 );
30954
30955
30956 --
30957 --
30958 END IF;
30959 --
30960 -- Bug 4922099
30961 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
30962 (NVL(l_enc_upg_option, 'N') = 'O')
30963 ) AND
30964 (l_bflow_method_code = 'PRIOR_ENTRY')
30965 )
30966 THEN
30967 IF
30968 --
30969 1 = 2
30970 --
30971 THEN
30972 xla_accounting_err_pkg.build_message
30973 (p_appli_s_name => 'XLA'
30974 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
30975 ,p_token_1 => 'LINE_NUMBER'
30976 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
30977 ,p_token_2 => 'LINE_TYPE_NAME'
30978 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
30979 l_component_type
30980 ,l_component_code
30981 ,l_component_type_code
30982 ,l_component_appl_id
30983 ,l_amb_context_code
30984 ,l_entity_code
30985 ,l_event_class_code
30986 )
30987 ,p_token_3 => 'OWNER'
30988 ,p_value_3 => xla_lookups_pkg.get_meaning(
30989 p_lookup_type => 'XLA_OWNER_TYPE'
30990 ,p_lookup_code => l_component_type_code
30991 )
30992 ,p_token_4 => 'PRODUCT_NAME'
30993 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
30994 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
30995 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
30996 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
30997 ,p_ae_header_id => NULL
30998 );
30999
31000 IF (C_LEVEL_ERROR>= g_log_level) THEN
31001 trace
31002 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
31003 ,p_level => C_LEVEL_ERROR
31004 ,p_module => l_log_module);
31005 END IF;
31006 END IF;
31007 END IF;
31008 --
31009 --
31010 ------------------------------------------------------------------------------------------------
31011 -- 4219869 Business Flow
31012 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
31013 -- Prior Entry. Currently, the following code is always generated.
31014 ------------------------------------------------------------------------------------------------
31015 XLA_AE_LINES_PKG.ValidateCurrentLine;
31016
31017 ------------------------------------------------------------------------------------
31018 -- 4219869 Business Flow
31019 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
31023 ----------------------------------------------------------------------------------
31020 ------------------------------------------------------------------------------------
31021 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
31022
31024 -- 4219869 Business Flow
31025 -- Update journal entry status -- Need to generate this within IF <condition>
31026 ----------------------------------------------------------------------------------
31027 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
31028 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
31029 ,p_balance_type_code => l_balance_type_code
31030 );
31031
31032 -------------------------------------------------------------------------------------------
31033 -- 4262811 - Generate the Accrual Reversal lines
31034 -------------------------------------------------------------------------------------------
31035 BEGIN
31036 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
31037 (g_array_event(p_event_id).array_value_num('header_index'));
31038 IF l_acc_rev_flag IS NULL THEN
31039 l_acc_rev_flag := 'N';
31040 END IF;
31041 EXCEPTION
31042 WHEN OTHERS THEN
31043 l_acc_rev_flag := 'N';
31044 END;
31045 --
31046 IF (l_acc_rev_flag = 'Y') THEN
31047
31048 -- 4645092 ------------------------------------------------------------------------------
31049 -- To allow MPA report to determine if it should generate report process
31050 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
31051 ------------------------------------------------------------------------------------------
31052
31053 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
31054 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
31055 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
31056 -- call ADRs
31057 -- Bug 4922099
31058 --
31059 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
31060 (NVL(l_actual_upg_option, 'N') = 'O') OR
31061 (NVL(l_enc_upg_option, 'N') = 'O')
31062 )
31063 THEN
31064 NULL;
31065 --
31066 --
31067
31068 l_ccid := AcctDerRule_36(
31069 p_application_id => p_application_id
31070 , p_ae_header_id => l_ae_header_id
31071 , p_source_35 => p_source_35
31072 , x_transaction_coa_id => l_adr_transaction_coa_id
31073 , x_accounting_coa_id => l_adr_accounting_coa_id
31074 , x_value_type_code => l_adr_value_type_code
31075 , p_side => 'NA'
31076 );
31077
31078 xla_ae_lines_pkg.set_ccid(
31079 p_code_combination_id => l_ccid
31080 , p_value_type_code => l_adr_value_type_code
31081 , p_transaction_coa_id => l_adr_transaction_coa_id
31082 , p_accounting_coa_id => l_adr_accounting_coa_id
31083 , p_adr_code => 'AP_PMT_CASH_CLEAR'
31084 , p_adr_type_code => 'S'
31085 , p_component_type => l_component_type
31086 , p_component_code => l_component_code
31087 , p_component_type_code => l_component_type_code
31088 , p_component_appl_id => l_component_appl_id
31089 , p_amb_context_code => l_amb_context_code
31090 , p_side => 'NA'
31091 );
31092
31093
31094 --
31095 --
31096 END IF;
31097
31098 --
31099 -- Update the line information that should be overwritten
31100 --
31101 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
31102 p_header_num => 1);
31103 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
31104
31105 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
31106
31107 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
31108 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
31109 END IF;
31110
31111 --
31112 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
31113 --
31114 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
31115 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
31116 ELSE
31117 ---------------------------------------------------------------------------------------------------
31118 -- 4262811a Switch Sign
31119 ---------------------------------------------------------------------------------------------------
31120 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
31121 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31122 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31123 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31124 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31125 -- 5132302
31126 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
31130
31127 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31128
31129 END IF;
31131 -- 4955764
31132 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
31133 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
31134
31135
31136 XLA_AE_LINES_PKG.ValidateCurrentLine;
31137 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
31138
31139 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
31140 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
31141 ,p_balance_type_code => l_balance_type_code);
31142
31143 END IF;
31144
31145 -----------------------------------------------------------------------------------------
31146 -- 4262811 Multiperiod Accounting
31147 -----------------------------------------------------------------------------------------
31148 -- No MPA option is assigned.
31149
31150
31151 END IF;
31152 END IF;
31153 --
31154
31155 --
31156 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
31157 trace
31158 (p_msg => 'END of AcctLineType_78'
31159 ,p_level => C_LEVEL_PROCEDURE
31160 ,p_module => l_log_module);
31161 END IF;
31162 --
31163 EXCEPTION
31164 WHEN xla_exceptions_pkg.application_exception THEN
31165 RAISE;
31166 WHEN OTHERS THEN
31167 xla_exceptions_pkg.raise_message
31168 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_78');
31169 END AcctLineType_78;
31170 --
31171
31172 ---------------------------------------
31173 --
31174 -- PRIVATE FUNCTION
31175 -- AcctLineType_79
31176 --
31177 ---------------------------------------
31178 PROCEDURE AcctLineType_79 (
31179 p_application_id IN NUMBER
31180 ,p_event_id IN NUMBER
31181 ,p_calculate_acctd_flag IN VARCHAR2
31182 ,p_calculate_g_l_flag IN VARCHAR2
31183 ,p_actual_flag IN OUT VARCHAR2
31184 ,p_balance_type_code OUT VARCHAR2
31185 ,p_gain_or_loss_ref OUT VARCHAR2
31186
31187 --Payment Currency Code
31188 , p_source_13 IN VARCHAR2
31189 --Bank Cash Clearing Account
31190 , p_source_35 IN NUMBER
31191 --Automatic Offsets Flag
31192 , p_source_47 IN VARCHAR2
31193 , p_source_47_meaning IN VARCHAR2
31194 --Accounting Reversal Indicator
31195 , p_source_53 IN VARCHAR2
31196 --Distribution Link Type
31197 , p_source_55 IN VARCHAR2
31198 --Override Accounted Amount Indicator
31199 , p_source_80 IN VARCHAR2
31200 , p_source_80_meaning IN VARCHAR2
31201 --Third Party Type
31202 , p_source_83 IN VARCHAR2
31203 --Invoice Distribution Tax Line Identifier
31204 , p_source_86 IN NUMBER
31205 --Invoice Distribution Tax Distribution Identifier from Tax
31206 , p_source_87 IN NUMBER
31207 --Invoice Distribution Summary Tax Line Identifier
31208 , p_source_88 IN NUMBER
31209 --Business Flow Accounts Payable Application Identifier
31210 , p_source_91 IN NUMBER
31211 --Business Flow Invoice Distribution Type
31212 , p_source_92 IN VARCHAR2
31213 --Business Flow Invoice Entity Code
31214 , p_source_93 IN VARCHAR2
31215 --Business Flow Invoice Distribution Identifier
31216 , p_source_94 IN NUMBER
31217 --Business Flow Invoice Identifier
31218 , p_source_95 IN NUMBER
31219 --When to Account for Payment Option
31220 , p_source_97 IN VARCHAR2
31221 --Payment Distribution Type
31222 , p_source_98 IN VARCHAR2
31223 , p_source_98_meaning IN VARCHAR2
31224 --Payment Distribution Amount
31225 , p_source_99 IN NUMBER
31226 --Payment Distribution Identifier
31227 , p_source_104 IN NUMBER
31228 --Payment Supplier Identifier
31229 , p_source_110 IN NUMBER
31230 --Payment Supplier Site Identifier
31231 , p_source_111 IN NUMBER
31232 --Payment Distribution Reversed Identifier
31233 , p_source_112 IN NUMBER
31234 --Pooled Bank Account Option
31235 , p_source_113 IN VARCHAR2
31236 , p_source_113_meaning IN VARCHAR2
31237 --Payment Maturity Date
31238 , p_source_114 IN DATE
31239 --Payment Distribution (Payment Rate) Ledger Amount
31240 , p_source_115 IN NUMBER
31241 --Payment Exchange Date
31242 , p_source_117 IN DATE
31243 --Payment Exchange Rate
31244 , p_source_118 IN NUMBER
31245 --Payment Exchange Rate Type
31246 , p_source_119 IN VARCHAR2
31247 --Payment Type
31248 , p_source_122 IN VARCHAR2
31249 , p_source_122_meaning IN VARCHAR2
31250 )
31251 IS
31252
31253 l_component_type VARCHAR2(80);
31254 l_component_code VARCHAR2(30);
31255 l_component_type_code VARCHAR2(1);
31256 l_component_appl_id INTEGER;
31257 l_amb_context_code VARCHAR2(30);
31258 l_entity_code VARCHAR2(30);
31259 l_event_class_code VARCHAR2(30);
31260 l_ae_header_id NUMBER;
31261 l_event_type_code VARCHAR2(30);
31262 l_line_definition_code VARCHAR2(30);
31263 l_line_definition_owner_code VARCHAR2(1);
31267 l_ccid NUMBER;
31264 --
31265 -- adr variables
31266 l_segment VARCHAR2(30);
31268 l_adr_transaction_coa_id NUMBER;
31269 l_adr_accounting_coa_id NUMBER;
31270 l_adr_flexfield_segment_code VARCHAR2(30);
31271 l_adr_flex_value_set_id NUMBER;
31272 l_adr_value_type_code VARCHAR2(30);
31273 l_adr_value_combination_id NUMBER;
31274 l_adr_value_segment_code VARCHAR2(30);
31275
31276 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
31277 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
31278 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
31279 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
31280
31281 -- 4262811 Variables ------------------------------------------------------------------------------------------
31282 l_entered_amt_idx NUMBER;
31283 l_accted_amt_idx NUMBER;
31284 l_acc_rev_flag VARCHAR2(1);
31285 l_accrual_line_num NUMBER;
31286 l_tmp_amt NUMBER;
31287 l_acc_rev_natural_side_code VARCHAR2(1);
31288
31289 l_num_entries NUMBER;
31290 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
31291 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
31292 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
31293 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
31294 l_recog_line_1 NUMBER;
31295 l_recog_line_2 NUMBER;
31296
31297 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
31298 l_bflow_applied_to_amt NUMBER; -- 5132302
31299 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
31300
31301 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
31302
31303 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
31304 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
31305
31306 ---------------------------------------------------------------------------------------------------------------
31307
31308
31309 --
31310 -- bulk performance
31311 --
31312 l_balance_type_code VARCHAR2(1);
31313 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
31314 l_log_module VARCHAR2(240);
31315
31316 --
31317 -- Upgrade strategy
31318 --
31319 l_actual_upg_option VARCHAR2(1);
31320 l_enc_upg_option VARCHAR2(1);
31321
31322 --
31323 BEGIN
31324 --
31325 IF g_log_enabled THEN
31326 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_79';
31327 END IF;
31328 --
31329 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
31330
31331 trace
31332 (p_msg => 'BEGIN of AcctLineType_79'
31333 ,p_level => C_LEVEL_PROCEDURE
31334 ,p_module => l_log_module);
31335
31336 END IF;
31337 --
31338 l_component_type := 'AMB_JLT';
31339 l_component_code := 'AP_CASH_CLEAR_REF';
31340 l_component_type_code := 'S';
31341 l_component_appl_id := 200;
31342 l_amb_context_code := 'DEFAULT';
31343 l_entity_code := 'AP_PAYMENTS';
31344 l_event_class_code := 'REFUNDS';
31345 l_event_type_code := 'REFUNDS_ALL';
31346 l_line_definition_owner_code := 'S';
31347 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
31348 --
31349 l_balance_type_code := 'A';
31350 l_segment := NULL;
31351 l_ccid := NULL;
31352 l_adr_transaction_coa_id := NULL;
31353 l_adr_accounting_coa_id := NULL;
31354 l_adr_flexfield_segment_code := NULL;
31355 l_adr_flex_value_set_id := NULL;
31356 l_adr_value_type_code := NULL;
31357 l_adr_value_combination_id := NULL;
31358 l_adr_value_segment_code := NULL;
31359
31360 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
31361 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
31362 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
31363 l_budgetary_control_flag := 'N';
31364
31365 l_bflow_applied_to_amt_idx := NULL; -- 5132302
31366 l_bflow_applied_to_amt := NULL; -- 5132302
31367 l_entered_amt_idx := NULL; -- 4262811
31368 l_accted_amt_idx := NULL; -- 4262811
31369 l_acc_rev_flag := NULL; -- 4262811
31370 l_accrual_line_num := NULL; -- 4262811
31371 l_tmp_amt := NULL; -- 4262811
31372 --
31373
31374 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
31375 l_balance_type_code <> 'B' THEN
31376 IF NVL(p_source_97,'
31377 ') = 'ALWAYS_ALWAYS' AND
31378 (NVL(p_source_47,'
31379 ') <> 'Y' OR
31380 NVL(p_source_47,'
31381 ') = 'Y' AND
31382 NVL(p_source_113,'
31383 ') <> 'Y') AND
31384 p_source_114 IS NULL AND
31385 NVL(p_source_98,'
31386 ') = 'CASH' AND
31387 NVL(p_source_122,'
31388 ') = 'R'
31389 THEN
31390
31391 --
31392 XLA_AE_LINES_PKG.SetNewLine;
31393
31394 p_balance_type_code := l_balance_type_code;
31398 p_actual_flag :='A';
31395 -- set the flag so later we will know whether the gain loss line needs to be created
31396
31397 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
31399 END IF;
31400
31401 --
31402 -- bulk performance
31403 --
31404 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
31405 p_header_num => 0); -- 4262811
31406 --
31407 -- set accounting line options
31408 --
31409 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
31410 p_natural_side_code => 'C'
31411 , p_gain_or_loss_flag => 'N'
31412 , p_gl_transfer_mode_code => 'S'
31413 , p_acct_entry_type_code => 'A'
31414 , p_switch_side_flag => 'Y'
31415 , p_merge_duplicate_code => 'A'
31416 );
31417 --
31418 l_acc_rev_natural_side_code := 'D'; -- 4262811
31419 --
31420 --
31421 -- set accounting line type info
31422 --
31423 xla_ae_lines_pkg.SetAcctLineType
31424 (p_component_type => l_component_type
31425 ,p_event_type_code => l_event_type_code
31426 ,p_line_definition_owner_code => l_line_definition_owner_code
31427 ,p_line_definition_code => l_line_definition_code
31428 ,p_accounting_line_code => l_component_code
31429 ,p_accounting_line_type_code => l_component_type_code
31430 ,p_accounting_line_appl_id => l_component_appl_id
31431 ,p_amb_context_code => l_amb_context_code
31432 ,p_entity_code => l_entity_code
31433 ,p_event_class_code => l_event_class_code);
31434 --
31435 -- set accounting class
31436 --
31437 xla_ae_lines_pkg.SetAcctClass(
31438 p_accounting_class_code => 'CASH_CLEARING'
31439 , p_ae_header_id => l_ae_header_id
31440 );
31441
31442 --
31443 -- set rounding class
31444 --
31445 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
31446 'CASH_CLEARING';
31447
31448 --
31449 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
31450 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
31451 --
31452 -- bulk performance
31453 --
31454 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
31455
31456 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
31457 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
31458
31459 -- 4955764
31460 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
31461 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
31462
31463 -- 4458381 Public Sector Enh
31464
31465 --
31466 -- set accounting attributes for the line type
31467 --
31468 l_entered_amt_idx := 9;
31469 l_accted_amt_idx := 14;
31470 l_bflow_applied_to_amt_idx := NULL; -- 5132302
31471 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
31472 l_rec_acct_attrs.array_char_value(1) := p_source_53;
31473 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
31474 l_rec_acct_attrs.array_num_value(2) := p_source_91;
31475 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
31476 l_rec_acct_attrs.array_char_value(3) := p_source_92;
31477 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
31478 l_rec_acct_attrs.array_char_value(4) := p_source_93;
31479 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
31480 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
31481 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
31482 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
31483 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
31484 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
31485 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
31486 l_rec_acct_attrs.array_char_value(8) := p_source_55;
31487 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
31488 l_rec_acct_attrs.array_num_value(9) := p_source_99;
31489 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
31490 l_rec_acct_attrs.array_char_value(10) := p_source_13;
31491 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
31492 l_rec_acct_attrs.array_date_value(11) := p_source_117;
31493 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
31494 l_rec_acct_attrs.array_num_value(12) := p_source_118;
31495 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
31496 l_rec_acct_attrs.array_char_value(13) := p_source_119;
31497 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
31498 l_rec_acct_attrs.array_num_value(14) := p_source_115;
31499 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
31500 l_rec_acct_attrs.array_char_value(15) := p_source_80;
31501 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
31502 l_rec_acct_attrs.array_num_value(16) := p_source_110;
31503 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
31504 l_rec_acct_attrs.array_num_value(17) := p_source_111;
31508 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_112);
31505 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
31506 l_rec_acct_attrs.array_char_value(18) := p_source_83;
31507 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
31509 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
31510 l_rec_acct_attrs.array_char_value(20) := p_source_55;
31511 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
31512 l_rec_acct_attrs.array_num_value(21) := p_source_86;
31513 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
31514 l_rec_acct_attrs.array_num_value(22) := p_source_87;
31515 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
31516 l_rec_acct_attrs.array_num_value(23) := p_source_88;
31517
31518 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
31519 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
31520
31521 ---------------------------------------------------------------------------------------------------------------
31522 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
31523 ---------------------------------------------------------------------------------------------------------------
31524 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
31525
31526 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31527 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31528
31529 IF xla_accounting_cache_pkg.GetValueChar
31530 (p_source_code => 'LEDGER_CATEGORY_CODE'
31531 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
31532 AND l_bflow_method_code = 'PRIOR_ENTRY'
31533 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
31534 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
31535 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
31536 )
31537 THEN
31538 xla_ae_lines_pkg.BflowUpgEntry
31539 (p_business_method_code => l_bflow_method_code
31540 ,p_business_class_code => l_bflow_class_code
31541 ,p_balance_type => l_balance_type_code);
31542 ELSE
31543 NULL;
31544 -- No business flow processing for business flow method of NONE.
31545 END IF;
31546
31547 --
31548 -- call analytical criteria
31549 --
31550
31551 --
31552 -- call description
31553 --
31554 -- No description or it is inherited.
31555 --
31556 -- call ADRs
31557 -- Bug 4922099
31558 --
31559 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
31560 (NVL(l_actual_upg_option, 'N') = 'O') OR
31561 (NVL(l_enc_upg_option, 'N') = 'O')
31562 )
31563 THEN
31564 NULL;
31565 --
31566 --
31567
31568 l_ccid := AcctDerRule_36(
31569 p_application_id => p_application_id
31570 , p_ae_header_id => l_ae_header_id
31571 , p_source_35 => p_source_35
31572 , x_transaction_coa_id => l_adr_transaction_coa_id
31573 , x_accounting_coa_id => l_adr_accounting_coa_id
31574 , x_value_type_code => l_adr_value_type_code
31575 , p_side => 'NA'
31576 );
31577
31578 xla_ae_lines_pkg.set_ccid(
31579 p_code_combination_id => l_ccid
31580 , p_value_type_code => l_adr_value_type_code
31581 , p_transaction_coa_id => l_adr_transaction_coa_id
31582 , p_accounting_coa_id => l_adr_accounting_coa_id
31583 , p_adr_code => 'AP_PMT_CASH_CLEAR'
31584 , p_adr_type_code => 'S'
31585 , p_component_type => l_component_type
31586 , p_component_code => l_component_code
31587 , p_component_type_code => l_component_type_code
31588 , p_component_appl_id => l_component_appl_id
31589 , p_amb_context_code => l_amb_context_code
31590 , p_side => 'NA'
31591 );
31592
31593
31594 --
31595 --
31596 END IF;
31597 --
31598 -- Bug 4922099
31599 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
31600 (NVL(l_enc_upg_option, 'N') = 'O')
31601 ) AND
31602 (l_bflow_method_code = 'PRIOR_ENTRY')
31603 )
31604 THEN
31605 IF
31606 --
31607 1 = 2
31608 --
31609 THEN
31610 xla_accounting_err_pkg.build_message
31611 (p_appli_s_name => 'XLA'
31612 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
31613 ,p_token_1 => 'LINE_NUMBER'
31614 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
31615 ,p_token_2 => 'LINE_TYPE_NAME'
31616 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
31617 l_component_type
31618 ,l_component_code
31619 ,l_component_type_code
31623 ,l_event_class_code
31620 ,l_component_appl_id
31621 ,l_amb_context_code
31622 ,l_entity_code
31624 )
31625 ,p_token_3 => 'OWNER'
31626 ,p_value_3 => xla_lookups_pkg.get_meaning(
31627 p_lookup_type => 'XLA_OWNER_TYPE'
31628 ,p_lookup_code => l_component_type_code
31629 )
31630 ,p_token_4 => 'PRODUCT_NAME'
31631 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
31632 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
31633 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
31634 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
31635 ,p_ae_header_id => NULL
31636 );
31637
31638 IF (C_LEVEL_ERROR>= g_log_level) THEN
31639 trace
31640 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
31641 ,p_level => C_LEVEL_ERROR
31642 ,p_module => l_log_module);
31643 END IF;
31644 END IF;
31645 END IF;
31646 --
31647 --
31648 ------------------------------------------------------------------------------------------------
31649 -- 4219869 Business Flow
31650 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
31651 -- Prior Entry. Currently, the following code is always generated.
31652 ------------------------------------------------------------------------------------------------
31653 XLA_AE_LINES_PKG.ValidateCurrentLine;
31654
31655 ------------------------------------------------------------------------------------
31656 -- 4219869 Business Flow
31657 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
31658 ------------------------------------------------------------------------------------
31659 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
31660
31661 ----------------------------------------------------------------------------------
31662 -- 4219869 Business Flow
31663 -- Update journal entry status -- Need to generate this within IF <condition>
31664 ----------------------------------------------------------------------------------
31665 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
31666 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
31667 ,p_balance_type_code => l_balance_type_code
31668 );
31669
31670 -------------------------------------------------------------------------------------------
31671 -- 4262811 - Generate the Accrual Reversal lines
31672 -------------------------------------------------------------------------------------------
31673 BEGIN
31674 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
31675 (g_array_event(p_event_id).array_value_num('header_index'));
31676 IF l_acc_rev_flag IS NULL THEN
31677 l_acc_rev_flag := 'N';
31678 END IF;
31679 EXCEPTION
31680 WHEN OTHERS THEN
31681 l_acc_rev_flag := 'N';
31682 END;
31683 --
31684 IF (l_acc_rev_flag = 'Y') THEN
31685
31686 -- 4645092 ------------------------------------------------------------------------------
31687 -- To allow MPA report to determine if it should generate report process
31688 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
31689 ------------------------------------------------------------------------------------------
31690
31691 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
31692 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
31693 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
31694 -- call ADRs
31695 -- Bug 4922099
31696 --
31697 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
31698 (NVL(l_actual_upg_option, 'N') = 'O') OR
31699 (NVL(l_enc_upg_option, 'N') = 'O')
31700 )
31701 THEN
31702 NULL;
31703 --
31704 --
31705
31706 l_ccid := AcctDerRule_36(
31707 p_application_id => p_application_id
31708 , p_ae_header_id => l_ae_header_id
31709 , p_source_35 => p_source_35
31710 , x_transaction_coa_id => l_adr_transaction_coa_id
31711 , x_accounting_coa_id => l_adr_accounting_coa_id
31712 , x_value_type_code => l_adr_value_type_code
31713 , p_side => 'NA'
31714 );
31715
31716 xla_ae_lines_pkg.set_ccid(
31717 p_code_combination_id => l_ccid
31718 , p_value_type_code => l_adr_value_type_code
31719 , p_transaction_coa_id => l_adr_transaction_coa_id
31723 , p_component_type => l_component_type
31720 , p_accounting_coa_id => l_adr_accounting_coa_id
31721 , p_adr_code => 'AP_PMT_CASH_CLEAR'
31722 , p_adr_type_code => 'S'
31724 , p_component_code => l_component_code
31725 , p_component_type_code => l_component_type_code
31726 , p_component_appl_id => l_component_appl_id
31727 , p_amb_context_code => l_amb_context_code
31728 , p_side => 'NA'
31729 );
31730
31731
31732 --
31733 --
31734 END IF;
31735
31736 --
31737 -- Update the line information that should be overwritten
31738 --
31739 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
31740 p_header_num => 1);
31741 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
31742
31743 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
31744
31745 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
31746 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
31747 END IF;
31748
31749 --
31750 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
31751 --
31752 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
31753 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
31754 ELSE
31755 ---------------------------------------------------------------------------------------------------
31756 -- 4262811a Switch Sign
31757 ---------------------------------------------------------------------------------------------------
31758 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
31759 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31760 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31761 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31762 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31763 -- 5132302
31764 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
31765 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31766
31767 END IF;
31768
31769 -- 4955764
31770 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
31771 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
31772
31773
31774 XLA_AE_LINES_PKG.ValidateCurrentLine;
31775 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
31776
31777 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
31778 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
31779 ,p_balance_type_code => l_balance_type_code);
31780
31781 END IF;
31782
31783 -----------------------------------------------------------------------------------------
31784 -- 4262811 Multiperiod Accounting
31785 -----------------------------------------------------------------------------------------
31786 -- No MPA option is assigned.
31787
31788
31789 END IF;
31790 END IF;
31791 --
31792
31793 --
31794 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
31795 trace
31796 (p_msg => 'END of AcctLineType_79'
31797 ,p_level => C_LEVEL_PROCEDURE
31798 ,p_module => l_log_module);
31799 END IF;
31800 --
31801 EXCEPTION
31802 WHEN xla_exceptions_pkg.application_exception THEN
31803 RAISE;
31804 WHEN OTHERS THEN
31805 xla_exceptions_pkg.raise_message
31806 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_79');
31807 END AcctLineType_79;
31808 --
31809
31810 ---------------------------------------
31811 --
31812 -- PRIVATE FUNCTION
31813 -- AcctLineType_80
31814 --
31815 ---------------------------------------
31816 PROCEDURE AcctLineType_80 (
31817 p_application_id IN NUMBER
31818 ,p_event_id IN NUMBER
31819 ,p_calculate_acctd_flag IN VARCHAR2
31820 ,p_calculate_g_l_flag IN VARCHAR2
31821 ,p_actual_flag IN OUT VARCHAR2
31822 ,p_balance_type_code OUT VARCHAR2
31823 ,p_gain_or_loss_ref OUT VARCHAR2
31824
31825 --Payment Currency Code
31826 , p_source_13 IN VARCHAR2
31827 --Automatic Offsets Value
31828 , p_source_15 IN VARCHAR2
31829 , p_source_15_meaning IN VARCHAR2
31830 --Bank Cash Clearing Account
31831 , p_source_35 IN NUMBER
31832 --Accounting Reversal Indicator
31833 , p_source_53 IN VARCHAR2
31834 --Distribution Link Type
31835 , p_source_55 IN VARCHAR2
31836 --Override Accounted Amount Indicator
31837 , p_source_80 IN VARCHAR2
31838 , p_source_80_meaning IN VARCHAR2
31839 --Third Party Type
31840 , p_source_83 IN VARCHAR2
31841 --Invoice Distribution Tax Line Identifier
31842 , p_source_86 IN NUMBER
31846 , p_source_88 IN NUMBER
31843 --Invoice Distribution Tax Distribution Identifier from Tax
31844 , p_source_87 IN NUMBER
31845 --Invoice Distribution Summary Tax Line Identifier
31847 --Business Flow Accounts Payable Application Identifier
31848 , p_source_91 IN NUMBER
31849 --Business Flow Invoice Distribution Type
31850 , p_source_92 IN VARCHAR2
31851 --Business Flow Invoice Entity Code
31852 , p_source_93 IN VARCHAR2
31853 --Business Flow Invoice Distribution Identifier
31854 , p_source_94 IN NUMBER
31855 --Business Flow Invoice Identifier
31856 , p_source_95 IN NUMBER
31857 --When to Account for Payment Option
31858 , p_source_97 IN VARCHAR2
31859 --Payment Distribution Type
31860 , p_source_98 IN VARCHAR2
31861 , p_source_98_meaning IN VARCHAR2
31862 --Payment Distribution Amount
31863 , p_source_99 IN NUMBER
31864 --Payment Distribution Identifier
31865 , p_source_104 IN NUMBER
31866 --Payment Supplier Identifier
31867 , p_source_110 IN NUMBER
31868 --Payment Supplier Site Identifier
31869 , p_source_111 IN NUMBER
31870 --Payment Distribution Reversed Identifier
31871 , p_source_112 IN NUMBER
31872 --Pooled Bank Account Option
31873 , p_source_113 IN VARCHAR2
31874 , p_source_113_meaning IN VARCHAR2
31875 --Payment Maturity Date
31876 , p_source_114 IN DATE
31877 --Payment Distribution (Payment Rate) Ledger Amount
31878 , p_source_115 IN NUMBER
31879 --Payment Exchange Date
31880 , p_source_117 IN DATE
31881 --Payment Exchange Rate
31882 , p_source_118 IN NUMBER
31883 --Payment Exchange Rate Type
31884 , p_source_119 IN VARCHAR2
31885 --Payment Type
31886 , p_source_122 IN VARCHAR2
31887 , p_source_122_meaning IN VARCHAR2
31888 )
31889 IS
31890
31891 l_component_type VARCHAR2(80);
31892 l_component_code VARCHAR2(30);
31893 l_component_type_code VARCHAR2(1);
31894 l_component_appl_id INTEGER;
31895 l_amb_context_code VARCHAR2(30);
31896 l_entity_code VARCHAR2(30);
31897 l_event_class_code VARCHAR2(30);
31898 l_ae_header_id NUMBER;
31899 l_event_type_code VARCHAR2(30);
31900 l_line_definition_code VARCHAR2(30);
31901 l_line_definition_owner_code VARCHAR2(1);
31902 --
31903 -- adr variables
31904 l_segment VARCHAR2(30);
31905 l_ccid NUMBER;
31906 l_adr_transaction_coa_id NUMBER;
31907 l_adr_accounting_coa_id NUMBER;
31908 l_adr_flexfield_segment_code VARCHAR2(30);
31909 l_adr_flex_value_set_id NUMBER;
31910 l_adr_value_type_code VARCHAR2(30);
31911 l_adr_value_combination_id NUMBER;
31912 l_adr_value_segment_code VARCHAR2(30);
31913
31914 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
31915 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
31916 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
31917 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
31918
31919 -- 4262811 Variables ------------------------------------------------------------------------------------------
31920 l_entered_amt_idx NUMBER;
31921 l_accted_amt_idx NUMBER;
31922 l_acc_rev_flag VARCHAR2(1);
31923 l_accrual_line_num NUMBER;
31924 l_tmp_amt NUMBER;
31925 l_acc_rev_natural_side_code VARCHAR2(1);
31926
31927 l_num_entries NUMBER;
31928 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
31929 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
31930 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
31931 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
31932 l_recog_line_1 NUMBER;
31933 l_recog_line_2 NUMBER;
31934
31935 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
31936 l_bflow_applied_to_amt NUMBER; -- 5132302
31937 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
31938
31939 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
31940
31941 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
31942 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
31943
31944 ---------------------------------------------------------------------------------------------------------------
31945
31946
31947 --
31948 -- bulk performance
31949 --
31950 l_balance_type_code VARCHAR2(1);
31951 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
31952 l_log_module VARCHAR2(240);
31953
31954 --
31955 -- Upgrade strategy
31956 --
31957 l_actual_upg_option VARCHAR2(1);
31958 l_enc_upg_option VARCHAR2(1);
31959
31960 --
31961 BEGIN
31962 --
31963 IF g_log_enabled THEN
31964 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_80';
31965 END IF;
31966 --
31967 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
31968
31969 trace
31970 (p_msg => 'BEGIN of AcctLineType_80'
31974 END IF;
31971 ,p_level => C_LEVEL_PROCEDURE
31972 ,p_module => l_log_module);
31973
31975 --
31976 l_component_type := 'AMB_JLT';
31977 l_component_code := 'AP_CASH_CLEAR_REF_AOS_AS';
31978 l_component_type_code := 'S';
31979 l_component_appl_id := 200;
31980 l_amb_context_code := 'DEFAULT';
31981 l_entity_code := 'AP_PAYMENTS';
31982 l_event_class_code := 'REFUNDS';
31983 l_event_type_code := 'REFUNDS_ALL';
31984 l_line_definition_owner_code := 'S';
31985 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
31986 --
31987 l_balance_type_code := 'A';
31988 l_segment := NULL;
31989 l_ccid := NULL;
31990 l_adr_transaction_coa_id := NULL;
31991 l_adr_accounting_coa_id := NULL;
31992 l_adr_flexfield_segment_code := NULL;
31993 l_adr_flex_value_set_id := NULL;
31994 l_adr_value_type_code := NULL;
31995 l_adr_value_combination_id := NULL;
31996 l_adr_value_segment_code := NULL;
31997
31998 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
31999 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
32000 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
32001 l_budgetary_control_flag := 'N';
32002
32003 l_bflow_applied_to_amt_idx := NULL; -- 5132302
32004 l_bflow_applied_to_amt := NULL; -- 5132302
32005 l_entered_amt_idx := NULL; -- 4262811
32006 l_accted_amt_idx := NULL; -- 4262811
32007 l_acc_rev_flag := NULL; -- 4262811
32008 l_accrual_line_num := NULL; -- 4262811
32009 l_tmp_amt := NULL; -- 4262811
32010 --
32011
32012 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
32013 l_balance_type_code <> 'B' THEN
32014 IF NVL(p_source_97,'
32015 ') = 'ALWAYS_ALWAYS' AND
32016 (NVL(p_source_113,'
32017 ') = 'Y' AND
32018 NVL(p_source_15,'
32019 ') = 'ACCOUNT_SEGMENT_VALUE') AND
32020 p_source_114 IS NULL AND
32021 NVL(p_source_98,'
32022 ') = 'CASH' AND
32023 NVL(p_source_122,'
32024 ') = 'R'
32025 THEN
32026
32027 --
32028 XLA_AE_LINES_PKG.SetNewLine;
32029
32030 p_balance_type_code := l_balance_type_code;
32031 -- set the flag so later we will know whether the gain loss line needs to be created
32032
32033 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
32034 p_actual_flag :='A';
32035 END IF;
32036
32037 --
32038 -- bulk performance
32039 --
32040 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
32041 p_header_num => 0); -- 4262811
32042 --
32043 -- set accounting line options
32044 --
32045 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
32046 p_natural_side_code => 'C'
32047 , p_gain_or_loss_flag => 'N'
32048 , p_gl_transfer_mode_code => 'S'
32049 , p_acct_entry_type_code => 'A'
32050 , p_switch_side_flag => 'Y'
32051 , p_merge_duplicate_code => 'A'
32052 );
32053 --
32054 l_acc_rev_natural_side_code := 'D'; -- 4262811
32055 --
32056 --
32057 -- set accounting line type info
32058 --
32059 xla_ae_lines_pkg.SetAcctLineType
32060 (p_component_type => l_component_type
32061 ,p_event_type_code => l_event_type_code
32062 ,p_line_definition_owner_code => l_line_definition_owner_code
32063 ,p_line_definition_code => l_line_definition_code
32064 ,p_accounting_line_code => l_component_code
32065 ,p_accounting_line_type_code => l_component_type_code
32066 ,p_accounting_line_appl_id => l_component_appl_id
32067 ,p_amb_context_code => l_amb_context_code
32068 ,p_entity_code => l_entity_code
32069 ,p_event_class_code => l_event_class_code);
32070 --
32071 -- set accounting class
32072 --
32073 xla_ae_lines_pkg.SetAcctClass(
32074 p_accounting_class_code => 'CASH_CLEARING'
32075 , p_ae_header_id => l_ae_header_id
32076 );
32077
32078 --
32079 -- set rounding class
32080 --
32081 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
32082 'CASH_CLEARING';
32083
32084 --
32085 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
32086 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
32087 --
32088 -- bulk performance
32089 --
32090 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
32091
32092 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
32093 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
32094
32095 -- 4955764
32096 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
32097 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
32098
32102 -- set accounting attributes for the line type
32099 -- 4458381 Public Sector Enh
32100
32101 --
32103 --
32104 l_entered_amt_idx := 9;
32105 l_accted_amt_idx := 14;
32106 l_bflow_applied_to_amt_idx := NULL; -- 5132302
32107 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
32108 l_rec_acct_attrs.array_char_value(1) := p_source_53;
32109 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
32110 l_rec_acct_attrs.array_num_value(2) := p_source_91;
32111 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
32112 l_rec_acct_attrs.array_char_value(3) := p_source_92;
32113 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
32114 l_rec_acct_attrs.array_char_value(4) := p_source_93;
32115 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
32116 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
32117 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
32118 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
32119 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
32120 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
32121 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
32122 l_rec_acct_attrs.array_char_value(8) := p_source_55;
32123 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
32124 l_rec_acct_attrs.array_num_value(9) := p_source_99;
32125 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
32126 l_rec_acct_attrs.array_char_value(10) := p_source_13;
32127 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
32128 l_rec_acct_attrs.array_date_value(11) := p_source_117;
32129 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
32130 l_rec_acct_attrs.array_num_value(12) := p_source_118;
32131 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
32132 l_rec_acct_attrs.array_char_value(13) := p_source_119;
32133 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
32134 l_rec_acct_attrs.array_num_value(14) := p_source_115;
32135 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
32136 l_rec_acct_attrs.array_char_value(15) := p_source_80;
32137 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
32138 l_rec_acct_attrs.array_num_value(16) := p_source_110;
32139 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
32140 l_rec_acct_attrs.array_num_value(17) := p_source_111;
32141 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
32142 l_rec_acct_attrs.array_char_value(18) := p_source_83;
32143 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
32144 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_112);
32145 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
32146 l_rec_acct_attrs.array_char_value(20) := p_source_55;
32147 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
32148 l_rec_acct_attrs.array_num_value(21) := p_source_86;
32149 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
32150 l_rec_acct_attrs.array_num_value(22) := p_source_87;
32151 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
32152 l_rec_acct_attrs.array_num_value(23) := p_source_88;
32153
32154 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
32155 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
32156
32157 ---------------------------------------------------------------------------------------------------------------
32158 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32159 ---------------------------------------------------------------------------------------------------------------
32160 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
32161
32162 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32163 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32164
32165 IF xla_accounting_cache_pkg.GetValueChar
32166 (p_source_code => 'LEDGER_CATEGORY_CODE'
32167 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
32168 AND l_bflow_method_code = 'PRIOR_ENTRY'
32169 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
32170 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
32171 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
32172 )
32173 THEN
32174 xla_ae_lines_pkg.BflowUpgEntry
32175 (p_business_method_code => l_bflow_method_code
32176 ,p_business_class_code => l_bflow_class_code
32177 ,p_balance_type => l_balance_type_code);
32178 ELSE
32179 NULL;
32180 XLA_AE_LINES_PKG.business_flow_validation(
32181 p_business_method_code => l_bflow_method_code
32182 ,p_business_class_code => l_bflow_class_code
32183 ,p_inherit_description_flag => l_inherit_desc_flag);
32184 END IF;
32185
32186 --
32187 -- call analytical criteria
32188 --
32189
32190 --
32191 -- call description
32192 --
32193 -- No description or it is inherited.
32194 --
32195 -- call ADRs
32196 -- Bug 4922099
32197 --
32201 )
32198 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
32199 (NVL(l_actual_upg_option, 'N') = 'O') OR
32200 (NVL(l_enc_upg_option, 'N') = 'O')
32202 THEN
32203 NULL;
32204 --
32205 --
32206
32207 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
32208 p_code_combination_id => TO_NUMBER(C_NUM)
32209 , p_value_type_code => NULL
32210 , p_transaction_coa_id => null
32211 , p_accounting_coa_id => null
32212 , p_adr_code => NULL
32213 , p_adr_type_code => NULL
32214 , p_component_type => l_component_type
32215 , p_component_code => l_component_code
32216 , p_component_type_code => l_component_type_code
32217 , p_component_appl_id => l_component_appl_id
32218 , p_amb_context_code => l_amb_context_code
32219 , p_side => NULL
32220 );
32221
32222
32223 -- initialise segments
32224 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32225 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32226 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32227 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32228 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32229 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32230 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32231 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32232 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32233 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32234 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32235 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32236 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32237 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32238 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32239 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32240 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32241 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32242 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32243 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32244 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32245 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32246 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32247 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32248 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32249 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32250 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32251 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32252 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32253 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32254 --
32255
32256 --
32257
32258
32259 l_segment := AcctDerRule_16(
32260 p_application_id => p_application_id
32261 , p_ae_header_id => l_ae_header_id
32262 , p_source_35 => p_source_35
32263 , x_transaction_coa_id => l_adr_transaction_coa_id
32264 , x_accounting_coa_id => l_adr_accounting_coa_id
32265 , x_flexfield_segment_code => l_adr_flexfield_segment_code
32266 , x_flex_value_set_id => l_adr_flex_value_set_id
32267 , x_value_type_code => l_adr_value_type_code
32268 , x_value_combination_id => l_adr_value_combination_id
32269 , x_value_segment_code => l_adr_value_segment_code
32270 , p_side => 'NA'
32271 , p_override_seg_flag => 'Y'
32272 );
32273
32274 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
32275
32276 xla_ae_lines_pkg.set_segment(
32277 p_to_segment_code => 'GL_ACCOUNT'
32278 , p_segment_value => l_segment
32279 , p_from_segment_code => l_adr_value_segment_code
32280 , p_from_combination_id => l_adr_value_combination_id
32281 , p_value_type_code => l_adr_value_type_code
32282 , p_transaction_coa_id => l_adr_transaction_coa_id
32283 , p_accounting_coa_id => l_adr_accounting_coa_id
32284 , p_flexfield_segment_code => l_adr_flexfield_segment_code
32285 , p_flex_value_set_id => l_adr_flex_value_set_id
32286 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
32287 , p_adr_type_code => 'S'
32288 , p_component_type => l_component_type
32289 , p_component_code => l_component_code
32290 , p_component_type_code => l_component_type_code
32294 , p_event_class_code => 'REFUNDS'
32291 , p_component_appl_id => l_component_appl_id
32292 , p_amb_context_code => l_amb_context_code
32293 , p_entity_code => 'AP_PAYMENTS'
32295 , p_side => 'NA'
32296 );
32297
32298 END IF;
32299
32300 --
32301 --
32302 END IF;
32303 --
32304 -- Bug 4922099
32305 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
32306 (NVL(l_enc_upg_option, 'N') = 'O')
32307 ) AND
32308 (l_bflow_method_code = 'PRIOR_ENTRY')
32309 )
32310 THEN
32311 IF
32312 --
32313 1 = 2
32314 --
32315 THEN
32316 xla_accounting_err_pkg.build_message
32317 (p_appli_s_name => 'XLA'
32318 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
32319 ,p_token_1 => 'LINE_NUMBER'
32320 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
32321 ,p_token_2 => 'LINE_TYPE_NAME'
32322 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
32323 l_component_type
32324 ,l_component_code
32325 ,l_component_type_code
32326 ,l_component_appl_id
32327 ,l_amb_context_code
32328 ,l_entity_code
32329 ,l_event_class_code
32330 )
32331 ,p_token_3 => 'OWNER'
32332 ,p_value_3 => xla_lookups_pkg.get_meaning(
32333 p_lookup_type => 'XLA_OWNER_TYPE'
32334 ,p_lookup_code => l_component_type_code
32335 )
32336 ,p_token_4 => 'PRODUCT_NAME'
32337 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
32338 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
32339 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
32340 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
32341 ,p_ae_header_id => NULL
32342 );
32343
32344 IF (C_LEVEL_ERROR>= g_log_level) THEN
32345 trace
32346 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
32347 ,p_level => C_LEVEL_ERROR
32348 ,p_module => l_log_module);
32349 END IF;
32350 END IF;
32351 END IF;
32352 --
32353 --
32354 ------------------------------------------------------------------------------------------------
32355 -- 4219869 Business Flow
32356 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
32357 -- Prior Entry. Currently, the following code is always generated.
32358 ------------------------------------------------------------------------------------------------
32359 XLA_AE_LINES_PKG.ValidateCurrentLine;
32360
32361 ------------------------------------------------------------------------------------
32362 -- 4219869 Business Flow
32363 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
32364 ------------------------------------------------------------------------------------
32365 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
32366
32367 ----------------------------------------------------------------------------------
32368 -- 4219869 Business Flow
32369 -- Update journal entry status -- Need to generate this within IF <condition>
32370 ----------------------------------------------------------------------------------
32371 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
32372 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
32373 ,p_balance_type_code => l_balance_type_code
32374 );
32375
32376 -------------------------------------------------------------------------------------------
32377 -- 4262811 - Generate the Accrual Reversal lines
32378 -------------------------------------------------------------------------------------------
32379 BEGIN
32380 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
32381 (g_array_event(p_event_id).array_value_num('header_index'));
32382 IF l_acc_rev_flag IS NULL THEN
32383 l_acc_rev_flag := 'N';
32384 END IF;
32385 EXCEPTION
32386 WHEN OTHERS THEN
32387 l_acc_rev_flag := 'N';
32388 END;
32389 --
32390 IF (l_acc_rev_flag = 'Y') THEN
32391
32395 ------------------------------------------------------------------------------------------
32392 -- 4645092 ------------------------------------------------------------------------------
32393 -- To allow MPA report to determine if it should generate report process
32394 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
32396
32397 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
32398 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
32399 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
32400 -- call ADRs
32401 -- Bug 4922099
32402 --
32403 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
32404 (NVL(l_actual_upg_option, 'N') = 'O') OR
32405 (NVL(l_enc_upg_option, 'N') = 'O')
32406 )
32407 THEN
32408 NULL;
32409 --
32410 --
32411
32412 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
32413 p_code_combination_id => TO_NUMBER(C_NUM)
32414 , p_value_type_code => NULL
32415 , p_transaction_coa_id => null
32416 , p_accounting_coa_id => null
32417 , p_adr_code => NULL
32418 , p_adr_type_code => NULL
32419 , p_component_type => l_component_type
32420 , p_component_code => l_component_code
32421 , p_component_type_code => l_component_type_code
32422 , p_component_appl_id => l_component_appl_id
32423 , p_amb_context_code => l_amb_context_code
32424 , p_side => NULL
32425 );
32426
32427
32428 -- initialise segments
32429 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32430 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32431 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32432 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32433 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32434 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32435 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32436 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32437 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32438 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32439 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32440 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32441 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32442 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32443 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32444 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32445 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32446 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32447 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32448 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32449 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32450 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32451 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32452 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32453 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32454 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32455 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32456 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32457 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32458 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
32459 --
32460
32461 --
32462
32463
32464 l_segment := AcctDerRule_16(
32465 p_application_id => p_application_id
32466 , p_ae_header_id => l_ae_header_id
32467 , p_source_35 => p_source_35
32468 , x_transaction_coa_id => l_adr_transaction_coa_id
32469 , x_accounting_coa_id => l_adr_accounting_coa_id
32470 , x_flexfield_segment_code => l_adr_flexfield_segment_code
32471 , x_flex_value_set_id => l_adr_flex_value_set_id
32472 , x_value_type_code => l_adr_value_type_code
32473 , x_value_combination_id => l_adr_value_combination_id
32474 , x_value_segment_code => l_adr_value_segment_code
32475 , p_side => 'NA'
32476 , p_override_seg_flag => 'Y'
32477 );
32478
32479 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
32480
32481 xla_ae_lines_pkg.set_segment(
32482 p_to_segment_code => 'GL_ACCOUNT'
32483 , p_segment_value => l_segment
32484 , p_from_segment_code => l_adr_value_segment_code
32485 , p_from_combination_id => l_adr_value_combination_id
32486 , p_value_type_code => l_adr_value_type_code
32490 , p_flex_value_set_id => l_adr_flex_value_set_id
32487 , p_transaction_coa_id => l_adr_transaction_coa_id
32488 , p_accounting_coa_id => l_adr_accounting_coa_id
32489 , p_flexfield_segment_code => l_adr_flexfield_segment_code
32491 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
32492 , p_adr_type_code => 'S'
32493 , p_component_type => l_component_type
32494 , p_component_code => l_component_code
32495 , p_component_type_code => l_component_type_code
32496 , p_component_appl_id => l_component_appl_id
32497 , p_amb_context_code => l_amb_context_code
32498 , p_entity_code => 'AP_PAYMENTS'
32499 , p_event_class_code => 'REFUNDS'
32500 , p_side => 'NA'
32501 );
32502
32503 END IF;
32504
32505 --
32506 --
32507 END IF;
32508
32509 --
32510 -- Update the line information that should be overwritten
32511 --
32512 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
32513 p_header_num => 1);
32514 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
32515
32516 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
32517
32518 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
32519 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
32520 END IF;
32521
32522 --
32523 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
32524 --
32525 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
32526 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
32527 ELSE
32528 ---------------------------------------------------------------------------------------------------
32529 -- 4262811a Switch Sign
32530 ---------------------------------------------------------------------------------------------------
32531 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
32532 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32533 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32534 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32535 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32536 -- 5132302
32537 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
32538 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32539
32540 END IF;
32541
32542 -- 4955764
32543 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
32544 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
32545
32546
32547 XLA_AE_LINES_PKG.ValidateCurrentLine;
32548 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
32549
32550 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
32551 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
32552 ,p_balance_type_code => l_balance_type_code);
32553
32554 END IF;
32555
32556 -----------------------------------------------------------------------------------------
32557 -- 4262811 Multiperiod Accounting
32558 -----------------------------------------------------------------------------------------
32559 -- No MPA option is assigned.
32560
32561
32562 END IF;
32563 END IF;
32564 --
32565
32566 --
32567 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
32568 trace
32569 (p_msg => 'END of AcctLineType_80'
32570 ,p_level => C_LEVEL_PROCEDURE
32571 ,p_module => l_log_module);
32572 END IF;
32573 --
32574 EXCEPTION
32575 WHEN xla_exceptions_pkg.application_exception THEN
32576 RAISE;
32577 WHEN OTHERS THEN
32578 xla_exceptions_pkg.raise_message
32579 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_80');
32580 END AcctLineType_80;
32581 --
32582
32583 ---------------------------------------
32584 --
32585 -- PRIVATE FUNCTION
32586 -- AcctLineType_81
32587 --
32588 ---------------------------------------
32589 PROCEDURE AcctLineType_81 (
32590 p_application_id IN NUMBER
32591 ,p_event_id IN NUMBER
32592 ,p_calculate_acctd_flag IN VARCHAR2
32593 ,p_calculate_g_l_flag IN VARCHAR2
32594 ,p_actual_flag IN OUT VARCHAR2
32595 ,p_balance_type_code OUT VARCHAR2
32596 ,p_gain_or_loss_ref OUT VARCHAR2
32597
32598 --Payment Currency Code
32599 , p_source_13 IN VARCHAR2
32600 --Automatic Offsets Value
32601 , p_source_15 IN VARCHAR2
32602 , p_source_15_meaning IN VARCHAR2
32603 --Bank Cash Clearing Account
32604 , p_source_35 IN NUMBER
32605 --Accounting Reversal Indicator
32606 , p_source_53 IN VARCHAR2
32610 , p_source_80 IN VARCHAR2
32607 --Distribution Link Type
32608 , p_source_55 IN VARCHAR2
32609 --Override Accounted Amount Indicator
32611 , p_source_80_meaning IN VARCHAR2
32612 --Third Party Type
32613 , p_source_83 IN VARCHAR2
32614 --Invoice Distribution Tax Line Identifier
32615 , p_source_86 IN NUMBER
32616 --Invoice Distribution Tax Distribution Identifier from Tax
32617 , p_source_87 IN NUMBER
32618 --Invoice Distribution Summary Tax Line Identifier
32619 , p_source_88 IN NUMBER
32620 --Business Flow Accounts Payable Application Identifier
32621 , p_source_91 IN NUMBER
32622 --Business Flow Invoice Distribution Type
32623 , p_source_92 IN VARCHAR2
32624 --Business Flow Invoice Entity Code
32625 , p_source_93 IN VARCHAR2
32626 --Business Flow Invoice Distribution Identifier
32627 , p_source_94 IN NUMBER
32628 --Business Flow Invoice Identifier
32629 , p_source_95 IN NUMBER
32630 --When to Account for Payment Option
32631 , p_source_97 IN VARCHAR2
32632 --Payment Distribution Type
32633 , p_source_98 IN VARCHAR2
32634 , p_source_98_meaning IN VARCHAR2
32635 --Payment Distribution Amount
32636 , p_source_99 IN NUMBER
32637 --Payment Distribution Identifier
32638 , p_source_104 IN NUMBER
32639 --Payment Supplier Identifier
32640 , p_source_110 IN NUMBER
32641 --Payment Supplier Site Identifier
32642 , p_source_111 IN NUMBER
32643 --Payment Distribution Reversed Identifier
32644 , p_source_112 IN NUMBER
32645 --Pooled Bank Account Option
32646 , p_source_113 IN VARCHAR2
32647 , p_source_113_meaning IN VARCHAR2
32648 --Payment Maturity Date
32649 , p_source_114 IN DATE
32650 --Payment Distribution (Payment Rate) Ledger Amount
32651 , p_source_115 IN NUMBER
32652 --Payment Exchange Date
32653 , p_source_117 IN DATE
32654 --Payment Exchange Rate
32655 , p_source_118 IN NUMBER
32656 --Payment Exchange Rate Type
32657 , p_source_119 IN VARCHAR2
32658 --Payment Type
32659 , p_source_122 IN VARCHAR2
32660 , p_source_122_meaning IN VARCHAR2
32661 )
32662 IS
32663
32664 l_component_type VARCHAR2(80);
32665 l_component_code VARCHAR2(30);
32666 l_component_type_code VARCHAR2(1);
32667 l_component_appl_id INTEGER;
32668 l_amb_context_code VARCHAR2(30);
32669 l_entity_code VARCHAR2(30);
32670 l_event_class_code VARCHAR2(30);
32671 l_ae_header_id NUMBER;
32672 l_event_type_code VARCHAR2(30);
32673 l_line_definition_code VARCHAR2(30);
32674 l_line_definition_owner_code VARCHAR2(1);
32675 --
32676 -- adr variables
32677 l_segment VARCHAR2(30);
32678 l_ccid NUMBER;
32679 l_adr_transaction_coa_id NUMBER;
32680 l_adr_accounting_coa_id NUMBER;
32681 l_adr_flexfield_segment_code VARCHAR2(30);
32682 l_adr_flex_value_set_id NUMBER;
32683 l_adr_value_type_code VARCHAR2(30);
32684 l_adr_value_combination_id NUMBER;
32685 l_adr_value_segment_code VARCHAR2(30);
32686
32687 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
32688 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
32689 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
32690 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
32691
32692 -- 4262811 Variables ------------------------------------------------------------------------------------------
32693 l_entered_amt_idx NUMBER;
32694 l_accted_amt_idx NUMBER;
32695 l_acc_rev_flag VARCHAR2(1);
32696 l_accrual_line_num NUMBER;
32697 l_tmp_amt NUMBER;
32698 l_acc_rev_natural_side_code VARCHAR2(1);
32699
32700 l_num_entries NUMBER;
32701 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
32702 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
32703 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
32704 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
32705 l_recog_line_1 NUMBER;
32706 l_recog_line_2 NUMBER;
32707
32708 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
32709 l_bflow_applied_to_amt NUMBER; -- 5132302
32710 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
32711
32712 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
32713
32714 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
32715 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
32716
32717 ---------------------------------------------------------------------------------------------------------------
32718
32719
32720 --
32721 -- bulk performance
32722 --
32723 l_balance_type_code VARCHAR2(1);
32724 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
32725 l_log_module VARCHAR2(240);
32726
32727 --
32728 -- Upgrade strategy
32729 --
32733 --
32730 l_actual_upg_option VARCHAR2(1);
32731 l_enc_upg_option VARCHAR2(1);
32732
32734 BEGIN
32735 --
32736 IF g_log_enabled THEN
32737 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_81';
32738 END IF;
32739 --
32740 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
32741
32742 trace
32743 (p_msg => 'BEGIN of AcctLineType_81'
32744 ,p_level => C_LEVEL_PROCEDURE
32745 ,p_module => l_log_module);
32746
32747 END IF;
32748 --
32749 l_component_type := 'AMB_JLT';
32750 l_component_code := 'AP_CASH_CLEAR_REF_AOS_BS';
32751 l_component_type_code := 'S';
32752 l_component_appl_id := 200;
32753 l_amb_context_code := 'DEFAULT';
32754 l_entity_code := 'AP_PAYMENTS';
32755 l_event_class_code := 'REFUNDS';
32756 l_event_type_code := 'REFUNDS_ALL';
32757 l_line_definition_owner_code := 'S';
32758 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
32759 --
32760 l_balance_type_code := 'A';
32761 l_segment := NULL;
32762 l_ccid := NULL;
32763 l_adr_transaction_coa_id := NULL;
32764 l_adr_accounting_coa_id := NULL;
32765 l_adr_flexfield_segment_code := NULL;
32766 l_adr_flex_value_set_id := NULL;
32767 l_adr_value_type_code := NULL;
32768 l_adr_value_combination_id := NULL;
32769 l_adr_value_segment_code := NULL;
32770
32771 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
32772 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
32773 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
32774 l_budgetary_control_flag := 'N';
32775
32776 l_bflow_applied_to_amt_idx := NULL; -- 5132302
32777 l_bflow_applied_to_amt := NULL; -- 5132302
32778 l_entered_amt_idx := NULL; -- 4262811
32779 l_accted_amt_idx := NULL; -- 4262811
32780 l_acc_rev_flag := NULL; -- 4262811
32781 l_accrual_line_num := NULL; -- 4262811
32782 l_tmp_amt := NULL; -- 4262811
32783 --
32784
32785 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
32786 l_balance_type_code <> 'B' THEN
32787 IF NVL(p_source_97,'
32788 ') = 'ALWAYS_ALWAYS' AND
32789 (NVL(p_source_113,'
32790 ') = 'Y' AND
32791 NVL(p_source_15,'
32792 ') = 'BALANCING_SEGMENT') AND
32793 p_source_114 IS NULL AND
32794 NVL(p_source_98,'
32795 ') = 'CASH' AND
32796 NVL(p_source_122,'
32797 ') = 'R'
32798 THEN
32799
32800 --
32801 XLA_AE_LINES_PKG.SetNewLine;
32802
32803 p_balance_type_code := l_balance_type_code;
32804 -- set the flag so later we will know whether the gain loss line needs to be created
32805
32806 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
32807 p_actual_flag :='A';
32808 END IF;
32809
32810 --
32811 -- bulk performance
32812 --
32813 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
32814 p_header_num => 0); -- 4262811
32815 --
32816 -- set accounting line options
32817 --
32818 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
32819 p_natural_side_code => 'C'
32820 , p_gain_or_loss_flag => 'N'
32821 , p_gl_transfer_mode_code => 'S'
32822 , p_acct_entry_type_code => 'A'
32823 , p_switch_side_flag => 'Y'
32824 , p_merge_duplicate_code => 'A'
32825 );
32826 --
32827 l_acc_rev_natural_side_code := 'D'; -- 4262811
32828 --
32829 --
32830 -- set accounting line type info
32831 --
32832 xla_ae_lines_pkg.SetAcctLineType
32833 (p_component_type => l_component_type
32834 ,p_event_type_code => l_event_type_code
32835 ,p_line_definition_owner_code => l_line_definition_owner_code
32836 ,p_line_definition_code => l_line_definition_code
32837 ,p_accounting_line_code => l_component_code
32838 ,p_accounting_line_type_code => l_component_type_code
32839 ,p_accounting_line_appl_id => l_component_appl_id
32840 ,p_amb_context_code => l_amb_context_code
32841 ,p_entity_code => l_entity_code
32842 ,p_event_class_code => l_event_class_code);
32843 --
32844 -- set accounting class
32845 --
32846 xla_ae_lines_pkg.SetAcctClass(
32847 p_accounting_class_code => 'CASH_CLEARING'
32848 , p_ae_header_id => l_ae_header_id
32849 );
32850
32851 --
32852 -- set rounding class
32853 --
32854 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
32855 'CASH_CLEARING';
32856
32857 --
32858 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
32859 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
32860 --
32861 -- bulk performance
32862 --
32863 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
32864
32865 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
32869 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
32866 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
32867
32868 -- 4955764
32870 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
32871
32872 -- 4458381 Public Sector Enh
32873
32874 --
32875 -- set accounting attributes for the line type
32876 --
32877 l_entered_amt_idx := 9;
32878 l_accted_amt_idx := 14;
32879 l_bflow_applied_to_amt_idx := NULL; -- 5132302
32880 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
32881 l_rec_acct_attrs.array_char_value(1) := p_source_53;
32882 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
32883 l_rec_acct_attrs.array_num_value(2) := p_source_91;
32884 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
32885 l_rec_acct_attrs.array_char_value(3) := p_source_92;
32886 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
32887 l_rec_acct_attrs.array_char_value(4) := p_source_93;
32888 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
32889 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
32890 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
32891 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
32892 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
32893 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
32894 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
32895 l_rec_acct_attrs.array_char_value(8) := p_source_55;
32896 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
32897 l_rec_acct_attrs.array_num_value(9) := p_source_99;
32898 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
32899 l_rec_acct_attrs.array_char_value(10) := p_source_13;
32900 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
32901 l_rec_acct_attrs.array_date_value(11) := p_source_117;
32902 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
32903 l_rec_acct_attrs.array_num_value(12) := p_source_118;
32904 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
32905 l_rec_acct_attrs.array_char_value(13) := p_source_119;
32906 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
32907 l_rec_acct_attrs.array_num_value(14) := p_source_115;
32908 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
32909 l_rec_acct_attrs.array_char_value(15) := p_source_80;
32910 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
32911 l_rec_acct_attrs.array_num_value(16) := p_source_110;
32912 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
32913 l_rec_acct_attrs.array_num_value(17) := p_source_111;
32914 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
32915 l_rec_acct_attrs.array_char_value(18) := p_source_83;
32916 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
32917 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_112);
32918 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
32919 l_rec_acct_attrs.array_char_value(20) := p_source_55;
32920 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
32921 l_rec_acct_attrs.array_num_value(21) := p_source_86;
32922 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
32923 l_rec_acct_attrs.array_num_value(22) := p_source_87;
32924 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
32925 l_rec_acct_attrs.array_num_value(23) := p_source_88;
32926
32927 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
32928 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
32929
32930 ---------------------------------------------------------------------------------------------------------------
32931 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32932 ---------------------------------------------------------------------------------------------------------------
32933 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
32934
32935 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32936 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32937
32938 IF xla_accounting_cache_pkg.GetValueChar
32939 (p_source_code => 'LEDGER_CATEGORY_CODE'
32940 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
32941 AND l_bflow_method_code = 'PRIOR_ENTRY'
32942 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
32943 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
32944 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
32945 )
32946 THEN
32947 xla_ae_lines_pkg.BflowUpgEntry
32948 (p_business_method_code => l_bflow_method_code
32949 ,p_business_class_code => l_bflow_class_code
32950 ,p_balance_type => l_balance_type_code);
32951 ELSE
32952 NULL;
32953 XLA_AE_LINES_PKG.business_flow_validation(
32954 p_business_method_code => l_bflow_method_code
32955 ,p_business_class_code => l_bflow_class_code
32956 ,p_inherit_description_flag => l_inherit_desc_flag);
32960 -- call analytical criteria
32957 END IF;
32958
32959 --
32961 --
32962
32963 --
32964 -- call description
32965 --
32966 -- No description or it is inherited.
32967 --
32968 -- call ADRs
32969 -- Bug 4922099
32970 --
32971 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
32972 (NVL(l_actual_upg_option, 'N') = 'O') OR
32973 (NVL(l_enc_upg_option, 'N') = 'O')
32974 )
32975 THEN
32976 NULL;
32977 --
32978 --
32979
32980 l_ccid := AcctDerRule_36(
32981 p_application_id => p_application_id
32982 , p_ae_header_id => l_ae_header_id
32983 , p_source_35 => p_source_35
32984 , x_transaction_coa_id => l_adr_transaction_coa_id
32985 , x_accounting_coa_id => l_adr_accounting_coa_id
32986 , x_value_type_code => l_adr_value_type_code
32987 , p_side => 'NA'
32988 );
32989
32990 xla_ae_lines_pkg.set_ccid(
32991 p_code_combination_id => l_ccid
32992 , p_value_type_code => l_adr_value_type_code
32993 , p_transaction_coa_id => l_adr_transaction_coa_id
32994 , p_accounting_coa_id => l_adr_accounting_coa_id
32995 , p_adr_code => 'AP_PMT_CASH_CLEAR'
32996 , p_adr_type_code => 'S'
32997 , p_component_type => l_component_type
32998 , p_component_code => l_component_code
32999 , p_component_type_code => l_component_type_code
33000 , p_component_appl_id => l_component_appl_id
33001 , p_amb_context_code => l_amb_context_code
33002 , p_side => 'NA'
33003 );
33004
33005
33006 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
33007 p_to_segment_code => 'GL_BALANCING'
33008 , p_segment_value => C_CHAR
33009 , p_from_segment_code => NULL
33010 , p_from_combination_id => NULL
33011 , p_value_type_code => NULL
33012 , p_transaction_coa_id => null
33013 , p_accounting_coa_id => null
33014 , p_flexfield_segment_code => NULL
33015 , p_flex_value_set_id => NULL
33016 , p_adr_code => NULL
33017 , p_adr_type_code => NULL
33018 , p_component_type => l_component_type
33019 , p_component_code => l_component_code
33020 , p_component_type_code => l_component_type_code
33021 , p_component_appl_id => l_component_appl_id
33022 , p_amb_context_code => l_amb_context_code
33023 , p_entity_code => 'AP_PAYMENTS'
33024 , p_event_class_code => 'REFUNDS'
33025 , p_side => 'NA'
33026 );
33027 --
33028
33029
33030 --
33031 --
33032 END IF;
33033 --
33034 -- Bug 4922099
33035 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
33036 (NVL(l_enc_upg_option, 'N') = 'O')
33037 ) AND
33038 (l_bflow_method_code = 'PRIOR_ENTRY')
33039 )
33040 THEN
33041 IF
33042 --
33043 1 = 2
33044 --
33045 THEN
33046 xla_accounting_err_pkg.build_message
33047 (p_appli_s_name => 'XLA'
33048 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
33049 ,p_token_1 => 'LINE_NUMBER'
33050 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
33051 ,p_token_2 => 'LINE_TYPE_NAME'
33052 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
33053 l_component_type
33054 ,l_component_code
33055 ,l_component_type_code
33056 ,l_component_appl_id
33057 ,l_amb_context_code
33058 ,l_entity_code
33059 ,l_event_class_code
33060 )
33061 ,p_token_3 => 'OWNER'
33062 ,p_value_3 => xla_lookups_pkg.get_meaning(
33063 p_lookup_type => 'XLA_OWNER_TYPE'
33064 ,p_lookup_code => l_component_type_code
33065 )
33066 ,p_token_4 => 'PRODUCT_NAME'
33067 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
33068 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
33069 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
33070 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
33071 ,p_ae_header_id => NULL
33075 trace
33072 );
33073
33074 IF (C_LEVEL_ERROR>= g_log_level) THEN
33076 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
33077 ,p_level => C_LEVEL_ERROR
33078 ,p_module => l_log_module);
33079 END IF;
33080 END IF;
33081 END IF;
33082 --
33083 --
33084 ------------------------------------------------------------------------------------------------
33085 -- 4219869 Business Flow
33086 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
33087 -- Prior Entry. Currently, the following code is always generated.
33088 ------------------------------------------------------------------------------------------------
33089 XLA_AE_LINES_PKG.ValidateCurrentLine;
33090
33091 ------------------------------------------------------------------------------------
33092 -- 4219869 Business Flow
33093 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
33094 ------------------------------------------------------------------------------------
33095 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
33096
33097 ----------------------------------------------------------------------------------
33098 -- 4219869 Business Flow
33099 -- Update journal entry status -- Need to generate this within IF <condition>
33100 ----------------------------------------------------------------------------------
33101 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
33102 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
33103 ,p_balance_type_code => l_balance_type_code
33104 );
33105
33106 -------------------------------------------------------------------------------------------
33107 -- 4262811 - Generate the Accrual Reversal lines
33108 -------------------------------------------------------------------------------------------
33109 BEGIN
33110 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
33111 (g_array_event(p_event_id).array_value_num('header_index'));
33112 IF l_acc_rev_flag IS NULL THEN
33113 l_acc_rev_flag := 'N';
33114 END IF;
33115 EXCEPTION
33116 WHEN OTHERS THEN
33117 l_acc_rev_flag := 'N';
33118 END;
33119 --
33120 IF (l_acc_rev_flag = 'Y') THEN
33121
33122 -- 4645092 ------------------------------------------------------------------------------
33123 -- To allow MPA report to determine if it should generate report process
33124 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
33125 ------------------------------------------------------------------------------------------
33126
33127 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
33128 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
33129 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
33130 -- call ADRs
33131 -- Bug 4922099
33132 --
33133 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
33134 (NVL(l_actual_upg_option, 'N') = 'O') OR
33135 (NVL(l_enc_upg_option, 'N') = 'O')
33136 )
33137 THEN
33138 NULL;
33139 --
33140 --
33141
33142 l_ccid := AcctDerRule_36(
33143 p_application_id => p_application_id
33144 , p_ae_header_id => l_ae_header_id
33145 , p_source_35 => p_source_35
33146 , x_transaction_coa_id => l_adr_transaction_coa_id
33147 , x_accounting_coa_id => l_adr_accounting_coa_id
33148 , x_value_type_code => l_adr_value_type_code
33149 , p_side => 'NA'
33150 );
33151
33152 xla_ae_lines_pkg.set_ccid(
33153 p_code_combination_id => l_ccid
33154 , p_value_type_code => l_adr_value_type_code
33155 , p_transaction_coa_id => l_adr_transaction_coa_id
33156 , p_accounting_coa_id => l_adr_accounting_coa_id
33157 , p_adr_code => 'AP_PMT_CASH_CLEAR'
33158 , p_adr_type_code => 'S'
33159 , p_component_type => l_component_type
33160 , p_component_code => l_component_code
33161 , p_component_type_code => l_component_type_code
33162 , p_component_appl_id => l_component_appl_id
33163 , p_amb_context_code => l_amb_context_code
33164 , p_side => 'NA'
33165 );
33166
33167
33168 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
33169 p_to_segment_code => 'GL_BALANCING'
33170 , p_segment_value => C_CHAR
33171 , p_from_segment_code => NULL
33172 , p_from_combination_id => NULL
33173 , p_value_type_code => NULL
33174 , p_transaction_coa_id => null
33175 , p_accounting_coa_id => null
33176 , p_flexfield_segment_code => NULL
33177 , p_flex_value_set_id => NULL
33178 , p_adr_code => NULL
33179 , p_adr_type_code => NULL
33180 , p_component_type => l_component_type
33181 , p_component_code => l_component_code
33182 , p_component_type_code => l_component_type_code
33183 , p_component_appl_id => l_component_appl_id
33184 , p_amb_context_code => l_amb_context_code
33185 , p_entity_code => 'AP_PAYMENTS'
33189 --
33186 , p_event_class_code => 'REFUNDS'
33187 , p_side => 'NA'
33188 );
33190
33191
33192 --
33193 --
33194 END IF;
33195
33196 --
33197 -- Update the line information that should be overwritten
33198 --
33199 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
33200 p_header_num => 1);
33201 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
33202
33203 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
33204
33205 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
33206 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
33207 END IF;
33208
33209 --
33210 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
33211 --
33212 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
33213 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
33214 ELSE
33215 ---------------------------------------------------------------------------------------------------
33216 -- 4262811a Switch Sign
33217 ---------------------------------------------------------------------------------------------------
33218 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33219 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33220 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33221 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33222 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33223 -- 5132302
33224 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33225 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33226
33227 END IF;
33228
33229 -- 4955764
33230 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33231 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
33232
33233
33234 XLA_AE_LINES_PKG.ValidateCurrentLine;
33235 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
33236
33237 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
33238 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
33239 ,p_balance_type_code => l_balance_type_code);
33240
33241 END IF;
33242
33243 -----------------------------------------------------------------------------------------
33244 -- 4262811 Multiperiod Accounting
33245 -----------------------------------------------------------------------------------------
33246 -- No MPA option is assigned.
33247
33248
33249 END IF;
33250 END IF;
33251 --
33252
33253 --
33254 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
33255 trace
33256 (p_msg => 'END of AcctLineType_81'
33257 ,p_level => C_LEVEL_PROCEDURE
33258 ,p_module => l_log_module);
33259 END IF;
33260 --
33261 EXCEPTION
33262 WHEN xla_exceptions_pkg.application_exception THEN
33263 RAISE;
33264 WHEN OTHERS THEN
33265 xla_exceptions_pkg.raise_message
33266 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_81');
33267 END AcctLineType_81;
33268 --
33269
33270 ---------------------------------------
33271 --
33272 -- PRIVATE FUNCTION
33273 -- AcctLineType_82
33274 --
33275 ---------------------------------------
33276 PROCEDURE AcctLineType_82 (
33277 p_application_id IN NUMBER
33278 ,p_event_id IN NUMBER
33279 ,p_calculate_acctd_flag IN VARCHAR2
33280 ,p_calculate_g_l_flag IN VARCHAR2
33281 ,p_actual_flag IN OUT VARCHAR2
33282 ,p_balance_type_code OUT VARCHAR2
33283 ,p_gain_or_loss_ref OUT VARCHAR2
33284
33285 --Payment Currency Code
33286 , p_source_13 IN VARCHAR2
33287 --Automatic Offsets Value
33288 , p_source_15 IN VARCHAR2
33289 , p_source_15_meaning IN VARCHAR2
33290 --Bank Cash Clearing Account
33291 , p_source_35 IN NUMBER
33292 --Accounting Reversal Indicator
33293 , p_source_53 IN VARCHAR2
33294 --Distribution Link Type
33295 , p_source_55 IN VARCHAR2
33296 --Override Accounted Amount Indicator
33297 , p_source_80 IN VARCHAR2
33298 , p_source_80_meaning IN VARCHAR2
33299 --Third Party Type
33300 , p_source_83 IN VARCHAR2
33301 --Invoice Distribution Tax Line Identifier
33302 , p_source_86 IN NUMBER
33303 --Invoice Distribution Tax Distribution Identifier from Tax
33304 , p_source_87 IN NUMBER
33305 --Invoice Distribution Summary Tax Line Identifier
33306 , p_source_88 IN NUMBER
33307 --Business Flow Accounts Payable Application Identifier
33308 , p_source_91 IN NUMBER
33309 --Business Flow Invoice Distribution Type
33313 --Business Flow Invoice Distribution Identifier
33310 , p_source_92 IN VARCHAR2
33311 --Business Flow Invoice Entity Code
33312 , p_source_93 IN VARCHAR2
33314 , p_source_94 IN NUMBER
33315 --Business Flow Invoice Identifier
33316 , p_source_95 IN NUMBER
33317 --When to Account for Payment Option
33318 , p_source_97 IN VARCHAR2
33319 --Payment Distribution Type
33320 , p_source_98 IN VARCHAR2
33321 , p_source_98_meaning IN VARCHAR2
33322 --Payment Distribution Amount
33323 , p_source_99 IN NUMBER
33324 --Payment Distribution Identifier
33325 , p_source_104 IN NUMBER
33326 --Payment Supplier Identifier
33327 , p_source_110 IN NUMBER
33328 --Payment Supplier Site Identifier
33329 , p_source_111 IN NUMBER
33330 --Payment Distribution Reversed Identifier
33331 , p_source_112 IN NUMBER
33332 --Pooled Bank Account Option
33333 , p_source_113 IN VARCHAR2
33334 , p_source_113_meaning IN VARCHAR2
33335 --Payment Maturity Date
33336 , p_source_114 IN DATE
33337 --Payment Distribution (Invoice Rate) Ledger Amount
33338 , p_source_116 IN NUMBER
33339 --Payment Exchange Date
33340 , p_source_117 IN DATE
33341 --Payment Exchange Rate
33342 , p_source_118 IN NUMBER
33343 --Payment Exchange Rate Type
33344 , p_source_119 IN VARCHAR2
33345 --Payment Type
33346 , p_source_122 IN VARCHAR2
33347 , p_source_122_meaning IN VARCHAR2
33348 )
33349 IS
33350
33351 l_component_type VARCHAR2(80);
33352 l_component_code VARCHAR2(30);
33353 l_component_type_code VARCHAR2(1);
33354 l_component_appl_id INTEGER;
33355 l_amb_context_code VARCHAR2(30);
33356 l_entity_code VARCHAR2(30);
33357 l_event_class_code VARCHAR2(30);
33358 l_ae_header_id NUMBER;
33359 l_event_type_code VARCHAR2(30);
33360 l_line_definition_code VARCHAR2(30);
33361 l_line_definition_owner_code VARCHAR2(1);
33362 --
33363 -- adr variables
33364 l_segment VARCHAR2(30);
33365 l_ccid NUMBER;
33366 l_adr_transaction_coa_id NUMBER;
33367 l_adr_accounting_coa_id NUMBER;
33368 l_adr_flexfield_segment_code VARCHAR2(30);
33369 l_adr_flex_value_set_id NUMBER;
33370 l_adr_value_type_code VARCHAR2(30);
33371 l_adr_value_combination_id NUMBER;
33372 l_adr_value_segment_code VARCHAR2(30);
33373
33374 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
33375 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
33376 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
33377 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
33378
33379 -- 4262811 Variables ------------------------------------------------------------------------------------------
33380 l_entered_amt_idx NUMBER;
33381 l_accted_amt_idx NUMBER;
33382 l_acc_rev_flag VARCHAR2(1);
33383 l_accrual_line_num NUMBER;
33384 l_tmp_amt NUMBER;
33385 l_acc_rev_natural_side_code VARCHAR2(1);
33386
33387 l_num_entries NUMBER;
33388 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
33389 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
33390 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
33391 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
33392 l_recog_line_1 NUMBER;
33393 l_recog_line_2 NUMBER;
33394
33395 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
33396 l_bflow_applied_to_amt NUMBER; -- 5132302
33397 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
33398
33399 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
33400
33401 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
33402 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
33403
33404 ---------------------------------------------------------------------------------------------------------------
33405
33406
33407 --
33408 -- bulk performance
33409 --
33410 l_balance_type_code VARCHAR2(1);
33411 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
33412 l_log_module VARCHAR2(240);
33413
33414 --
33415 -- Upgrade strategy
33416 --
33417 l_actual_upg_option VARCHAR2(1);
33418 l_enc_upg_option VARCHAR2(1);
33419
33420 --
33421 BEGIN
33422 --
33423 IF g_log_enabled THEN
33424 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_82';
33425 END IF;
33426 --
33427 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
33428
33429 trace
33430 (p_msg => 'BEGIN of AcctLineType_82'
33431 ,p_level => C_LEVEL_PROCEDURE
33432 ,p_module => l_log_module);
33433
33434 END IF;
33435 --
33436 l_component_type := 'AMB_JLT';
33437 l_component_code := 'AP_CASH_CLEAR_REF_AS_INVXRATE';
33438 l_component_type_code := 'S';
33439 l_component_appl_id := 200;
33443 l_event_type_code := 'REFUNDS_ALL';
33440 l_amb_context_code := 'DEFAULT';
33441 l_entity_code := 'AP_PAYMENTS';
33442 l_event_class_code := 'REFUNDS';
33444 l_line_definition_owner_code := 'S';
33445 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
33446 --
33447 l_balance_type_code := 'A';
33448 l_segment := NULL;
33449 l_ccid := NULL;
33450 l_adr_transaction_coa_id := NULL;
33451 l_adr_accounting_coa_id := NULL;
33452 l_adr_flexfield_segment_code := NULL;
33453 l_adr_flex_value_set_id := NULL;
33454 l_adr_value_type_code := NULL;
33455 l_adr_value_combination_id := NULL;
33456 l_adr_value_segment_code := NULL;
33457
33458 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
33459 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
33460 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
33461 l_budgetary_control_flag := 'N';
33462
33463 l_bflow_applied_to_amt_idx := NULL; -- 5132302
33464 l_bflow_applied_to_amt := NULL; -- 5132302
33465 l_entered_amt_idx := NULL; -- 4262811
33466 l_accted_amt_idx := NULL; -- 4262811
33467 l_acc_rev_flag := NULL; -- 4262811
33468 l_accrual_line_num := NULL; -- 4262811
33469 l_tmp_amt := NULL; -- 4262811
33470 --
33471
33472 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
33473 l_balance_type_code <> 'B' THEN
33474 IF NVL(p_source_97,'
33475 ') = 'ALWAYS_CLEAR' AND
33476 (NVL(p_source_113,'
33477 ') = 'Y' AND
33478 NVL(p_source_15,'
33479 ') = 'ACCOUNT_SEGMENT_VALUE') AND
33480 p_source_114 IS NULL AND
33481 NVL(p_source_98,'
33482 ') = 'CASH' AND
33483 NVL(p_source_122,'
33484 ') = 'R'
33485 THEN
33486
33487 --
33488 XLA_AE_LINES_PKG.SetNewLine;
33489
33490 p_balance_type_code := l_balance_type_code;
33491 -- set the flag so later we will know whether the gain loss line needs to be created
33492
33493 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
33494 p_actual_flag :='A';
33495 END IF;
33496
33497 --
33498 -- bulk performance
33499 --
33500 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
33501 p_header_num => 0); -- 4262811
33502 --
33503 -- set accounting line options
33504 --
33505 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
33506 p_natural_side_code => 'C'
33507 , p_gain_or_loss_flag => 'N'
33508 , p_gl_transfer_mode_code => 'S'
33509 , p_acct_entry_type_code => 'A'
33510 , p_switch_side_flag => 'Y'
33511 , p_merge_duplicate_code => 'A'
33512 );
33513 --
33514 l_acc_rev_natural_side_code := 'D'; -- 4262811
33515 --
33516 --
33517 -- set accounting line type info
33518 --
33519 xla_ae_lines_pkg.SetAcctLineType
33520 (p_component_type => l_component_type
33521 ,p_event_type_code => l_event_type_code
33522 ,p_line_definition_owner_code => l_line_definition_owner_code
33523 ,p_line_definition_code => l_line_definition_code
33524 ,p_accounting_line_code => l_component_code
33525 ,p_accounting_line_type_code => l_component_type_code
33526 ,p_accounting_line_appl_id => l_component_appl_id
33527 ,p_amb_context_code => l_amb_context_code
33528 ,p_entity_code => l_entity_code
33529 ,p_event_class_code => l_event_class_code);
33530 --
33531 -- set accounting class
33532 --
33533 xla_ae_lines_pkg.SetAcctClass(
33534 p_accounting_class_code => 'CASH_CLEARING'
33535 , p_ae_header_id => l_ae_header_id
33536 );
33537
33538 --
33539 -- set rounding class
33540 --
33541 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
33542 'CASH_CLEARING';
33543
33544 --
33545 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
33546 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
33547 --
33548 -- bulk performance
33549 --
33550 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
33551
33552 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
33553 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
33554
33555 -- 4955764
33556 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33557 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
33558
33559 -- 4458381 Public Sector Enh
33560
33561 --
33562 -- set accounting attributes for the line type
33563 --
33564 l_entered_amt_idx := 9;
33565 l_accted_amt_idx := 14;
33566 l_bflow_applied_to_amt_idx := NULL; -- 5132302
33567 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
33568 l_rec_acct_attrs.array_char_value(1) := p_source_53;
33569 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
33573 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
33570 l_rec_acct_attrs.array_num_value(2) := p_source_91;
33571 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
33572 l_rec_acct_attrs.array_char_value(3) := p_source_92;
33574 l_rec_acct_attrs.array_char_value(4) := p_source_93;
33575 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
33576 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
33577 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
33578 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
33579 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
33580 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
33581 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
33582 l_rec_acct_attrs.array_char_value(8) := p_source_55;
33583 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
33584 l_rec_acct_attrs.array_num_value(9) := p_source_99;
33585 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
33586 l_rec_acct_attrs.array_char_value(10) := p_source_13;
33587 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
33588 l_rec_acct_attrs.array_date_value(11) := p_source_117;
33589 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
33590 l_rec_acct_attrs.array_num_value(12) := p_source_118;
33591 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
33592 l_rec_acct_attrs.array_char_value(13) := p_source_119;
33593 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
33594 l_rec_acct_attrs.array_num_value(14) := p_source_116;
33595 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
33596 l_rec_acct_attrs.array_char_value(15) := p_source_80;
33597 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
33598 l_rec_acct_attrs.array_num_value(16) := p_source_110;
33599 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
33600 l_rec_acct_attrs.array_num_value(17) := p_source_111;
33601 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
33602 l_rec_acct_attrs.array_char_value(18) := p_source_83;
33603 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
33604 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_112);
33605 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
33606 l_rec_acct_attrs.array_char_value(20) := p_source_55;
33607 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
33608 l_rec_acct_attrs.array_num_value(21) := p_source_86;
33609 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
33610 l_rec_acct_attrs.array_num_value(22) := p_source_87;
33611 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
33612 l_rec_acct_attrs.array_num_value(23) := p_source_88;
33613
33614 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
33615 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
33616
33617 ---------------------------------------------------------------------------------------------------------------
33618 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
33619 ---------------------------------------------------------------------------------------------------------------
33620 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
33621
33622 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33623 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33624
33625 IF xla_accounting_cache_pkg.GetValueChar
33626 (p_source_code => 'LEDGER_CATEGORY_CODE'
33627 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
33628 AND l_bflow_method_code = 'PRIOR_ENTRY'
33629 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
33630 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
33631 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
33632 )
33633 THEN
33634 xla_ae_lines_pkg.BflowUpgEntry
33635 (p_business_method_code => l_bflow_method_code
33636 ,p_business_class_code => l_bflow_class_code
33637 ,p_balance_type => l_balance_type_code);
33638 ELSE
33639 NULL;
33640 XLA_AE_LINES_PKG.business_flow_validation(
33641 p_business_method_code => l_bflow_method_code
33642 ,p_business_class_code => l_bflow_class_code
33643 ,p_inherit_description_flag => l_inherit_desc_flag);
33644 END IF;
33645
33646 --
33647 -- call analytical criteria
33648 --
33649
33650 --
33651 -- call description
33652 --
33653 -- No description or it is inherited.
33654 --
33655 -- call ADRs
33656 -- Bug 4922099
33657 --
33658 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
33659 (NVL(l_actual_upg_option, 'N') = 'O') OR
33660 (NVL(l_enc_upg_option, 'N') = 'O')
33661 )
33662 THEN
33663 NULL;
33664 --
33665 --
33666
33667 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
33668 p_code_combination_id => TO_NUMBER(C_NUM)
33669 , p_value_type_code => NULL
33673 , p_adr_type_code => NULL
33670 , p_transaction_coa_id => null
33671 , p_accounting_coa_id => null
33672 , p_adr_code => NULL
33674 , p_component_type => l_component_type
33675 , p_component_code => l_component_code
33676 , p_component_type_code => l_component_type_code
33677 , p_component_appl_id => l_component_appl_id
33678 , p_amb_context_code => l_amb_context_code
33679 , p_side => NULL
33680 );
33681
33682
33683 -- initialise segments
33684 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33685 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33686 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33687 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33688 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33689 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33690 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33691 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33692 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33693 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33694 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33695 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33696 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33697 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33698 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33699 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33700 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33701 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33702 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33703 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33704 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33705 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33706 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33707 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33708 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33709 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33710 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33711 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33712 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33713 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33714 --
33715
33716 --
33717
33718
33719 l_segment := AcctDerRule_16(
33720 p_application_id => p_application_id
33721 , p_ae_header_id => l_ae_header_id
33722 , p_source_35 => p_source_35
33723 , x_transaction_coa_id => l_adr_transaction_coa_id
33724 , x_accounting_coa_id => l_adr_accounting_coa_id
33725 , x_flexfield_segment_code => l_adr_flexfield_segment_code
33726 , x_flex_value_set_id => l_adr_flex_value_set_id
33727 , x_value_type_code => l_adr_value_type_code
33728 , x_value_combination_id => l_adr_value_combination_id
33729 , x_value_segment_code => l_adr_value_segment_code
33730 , p_side => 'NA'
33731 , p_override_seg_flag => 'Y'
33732 );
33733
33734 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
33735
33736 xla_ae_lines_pkg.set_segment(
33737 p_to_segment_code => 'GL_ACCOUNT'
33738 , p_segment_value => l_segment
33739 , p_from_segment_code => l_adr_value_segment_code
33740 , p_from_combination_id => l_adr_value_combination_id
33741 , p_value_type_code => l_adr_value_type_code
33742 , p_transaction_coa_id => l_adr_transaction_coa_id
33743 , p_accounting_coa_id => l_adr_accounting_coa_id
33744 , p_flexfield_segment_code => l_adr_flexfield_segment_code
33745 , p_flex_value_set_id => l_adr_flex_value_set_id
33746 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
33747 , p_adr_type_code => 'S'
33748 , p_component_type => l_component_type
33749 , p_component_code => l_component_code
33750 , p_component_type_code => l_component_type_code
33751 , p_component_appl_id => l_component_appl_id
33752 , p_amb_context_code => l_amb_context_code
33753 , p_entity_code => 'AP_PAYMENTS'
33754 , p_event_class_code => 'REFUNDS'
33755 , p_side => 'NA'
33756 );
33757
33758 END IF;
33759
33760 --
33761 --
33762 END IF;
33763 --
33764 -- Bug 4922099
33765 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
33766 (NVL(l_enc_upg_option, 'N') = 'O')
33767 ) AND
33771 IF
33768 (l_bflow_method_code = 'PRIOR_ENTRY')
33769 )
33770 THEN
33772 --
33773 1 = 2
33774 --
33775 THEN
33776 xla_accounting_err_pkg.build_message
33777 (p_appli_s_name => 'XLA'
33778 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
33779 ,p_token_1 => 'LINE_NUMBER'
33780 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
33781 ,p_token_2 => 'LINE_TYPE_NAME'
33782 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
33783 l_component_type
33784 ,l_component_code
33785 ,l_component_type_code
33786 ,l_component_appl_id
33787 ,l_amb_context_code
33788 ,l_entity_code
33789 ,l_event_class_code
33790 )
33791 ,p_token_3 => 'OWNER'
33792 ,p_value_3 => xla_lookups_pkg.get_meaning(
33793 p_lookup_type => 'XLA_OWNER_TYPE'
33794 ,p_lookup_code => l_component_type_code
33795 )
33796 ,p_token_4 => 'PRODUCT_NAME'
33797 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
33798 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
33799 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
33800 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
33801 ,p_ae_header_id => NULL
33802 );
33803
33804 IF (C_LEVEL_ERROR>= g_log_level) THEN
33805 trace
33806 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
33807 ,p_level => C_LEVEL_ERROR
33808 ,p_module => l_log_module);
33809 END IF;
33810 END IF;
33811 END IF;
33812 --
33813 --
33814 ------------------------------------------------------------------------------------------------
33815 -- 4219869 Business Flow
33816 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
33817 -- Prior Entry. Currently, the following code is always generated.
33818 ------------------------------------------------------------------------------------------------
33819 XLA_AE_LINES_PKG.ValidateCurrentLine;
33820
33821 ------------------------------------------------------------------------------------
33822 -- 4219869 Business Flow
33823 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
33824 ------------------------------------------------------------------------------------
33825 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
33826
33827 ----------------------------------------------------------------------------------
33828 -- 4219869 Business Flow
33829 -- Update journal entry status -- Need to generate this within IF <condition>
33830 ----------------------------------------------------------------------------------
33831 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
33832 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
33833 ,p_balance_type_code => l_balance_type_code
33834 );
33835
33836 -------------------------------------------------------------------------------------------
33837 -- 4262811 - Generate the Accrual Reversal lines
33838 -------------------------------------------------------------------------------------------
33839 BEGIN
33840 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
33841 (g_array_event(p_event_id).array_value_num('header_index'));
33842 IF l_acc_rev_flag IS NULL THEN
33843 l_acc_rev_flag := 'N';
33844 END IF;
33845 EXCEPTION
33846 WHEN OTHERS THEN
33847 l_acc_rev_flag := 'N';
33848 END;
33849 --
33850 IF (l_acc_rev_flag = 'Y') THEN
33851
33852 -- 4645092 ------------------------------------------------------------------------------
33853 -- To allow MPA report to determine if it should generate report process
33854 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
33855 ------------------------------------------------------------------------------------------
33856
33857 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
33858 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
33862 --
33859 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
33860 -- call ADRs
33861 -- Bug 4922099
33863 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
33864 (NVL(l_actual_upg_option, 'N') = 'O') OR
33865 (NVL(l_enc_upg_option, 'N') = 'O')
33866 )
33867 THEN
33868 NULL;
33869 --
33870 --
33871
33872 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
33873 p_code_combination_id => TO_NUMBER(C_NUM)
33874 , p_value_type_code => NULL
33875 , p_transaction_coa_id => null
33876 , p_accounting_coa_id => null
33877 , p_adr_code => NULL
33878 , p_adr_type_code => NULL
33879 , p_component_type => l_component_type
33880 , p_component_code => l_component_code
33881 , p_component_type_code => l_component_type_code
33882 , p_component_appl_id => l_component_appl_id
33883 , p_amb_context_code => l_amb_context_code
33884 , p_side => NULL
33885 );
33886
33887
33888 -- initialise segments
33889 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33890 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33891 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33892 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33893 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33894 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33895 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33896 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33897 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33898 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33899 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33900 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33901 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33902 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33903 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33904 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33905 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33906 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33907 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33908 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33909 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33910 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33911 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33912 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33913 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33914 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33915 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33916 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33917 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33918 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33919 --
33920
33921 --
33922
33923
33924 l_segment := AcctDerRule_16(
33925 p_application_id => p_application_id
33926 , p_ae_header_id => l_ae_header_id
33927 , p_source_35 => p_source_35
33928 , x_transaction_coa_id => l_adr_transaction_coa_id
33929 , x_accounting_coa_id => l_adr_accounting_coa_id
33930 , x_flexfield_segment_code => l_adr_flexfield_segment_code
33931 , x_flex_value_set_id => l_adr_flex_value_set_id
33932 , x_value_type_code => l_adr_value_type_code
33933 , x_value_combination_id => l_adr_value_combination_id
33934 , x_value_segment_code => l_adr_value_segment_code
33935 , p_side => 'NA'
33936 , p_override_seg_flag => 'Y'
33937 );
33938
33939 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
33940
33941 xla_ae_lines_pkg.set_segment(
33942 p_to_segment_code => 'GL_ACCOUNT'
33943 , p_segment_value => l_segment
33944 , p_from_segment_code => l_adr_value_segment_code
33945 , p_from_combination_id => l_adr_value_combination_id
33946 , p_value_type_code => l_adr_value_type_code
33947 , p_transaction_coa_id => l_adr_transaction_coa_id
33948 , p_accounting_coa_id => l_adr_accounting_coa_id
33949 , p_flexfield_segment_code => l_adr_flexfield_segment_code
33950 , p_flex_value_set_id => l_adr_flex_value_set_id
33951 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
33952 , p_adr_type_code => 'S'
33956 , p_component_appl_id => l_component_appl_id
33953 , p_component_type => l_component_type
33954 , p_component_code => l_component_code
33955 , p_component_type_code => l_component_type_code
33957 , p_amb_context_code => l_amb_context_code
33958 , p_entity_code => 'AP_PAYMENTS'
33959 , p_event_class_code => 'REFUNDS'
33960 , p_side => 'NA'
33961 );
33962
33963 END IF;
33964
33965 --
33966 --
33967 END IF;
33968
33969 --
33970 -- Update the line information that should be overwritten
33971 --
33972 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
33973 p_header_num => 1);
33974 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
33975
33976 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
33977
33978 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
33979 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
33980 END IF;
33981
33982 --
33983 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
33984 --
33985 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
33986 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
33987 ELSE
33988 ---------------------------------------------------------------------------------------------------
33989 -- 4262811a Switch Sign
33990 ---------------------------------------------------------------------------------------------------
33991 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33992 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33993 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33994 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33995 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33996 -- 5132302
33997 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33998 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33999
34000 END IF;
34001
34002 -- 4955764
34003 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
34004 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
34005
34006
34007 XLA_AE_LINES_PKG.ValidateCurrentLine;
34008 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
34009
34010 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
34011 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
34012 ,p_balance_type_code => l_balance_type_code);
34013
34014 END IF;
34015
34016 -----------------------------------------------------------------------------------------
34017 -- 4262811 Multiperiod Accounting
34018 -----------------------------------------------------------------------------------------
34019 -- No MPA option is assigned.
34020
34021
34022 END IF;
34023 END IF;
34024 --
34025
34026 --
34027 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
34028 trace
34029 (p_msg => 'END of AcctLineType_82'
34030 ,p_level => C_LEVEL_PROCEDURE
34031 ,p_module => l_log_module);
34032 END IF;
34033 --
34034 EXCEPTION
34035 WHEN xla_exceptions_pkg.application_exception THEN
34036 RAISE;
34037 WHEN OTHERS THEN
34038 xla_exceptions_pkg.raise_message
34039 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_82');
34040 END AcctLineType_82;
34041 --
34042
34043 ---------------------------------------
34044 --
34045 -- PRIVATE FUNCTION
34046 -- AcctLineType_83
34047 --
34048 ---------------------------------------
34049 PROCEDURE AcctLineType_83 (
34050 p_application_id IN NUMBER
34051 ,p_event_id IN NUMBER
34052 ,p_calculate_acctd_flag IN VARCHAR2
34053 ,p_calculate_g_l_flag IN VARCHAR2
34054 ,p_actual_flag IN OUT VARCHAR2
34055 ,p_balance_type_code OUT VARCHAR2
34056 ,p_gain_or_loss_ref OUT VARCHAR2
34057
34058 --Payment Currency Code
34059 , p_source_13 IN VARCHAR2
34060 --Automatic Offsets Value
34061 , p_source_15 IN VARCHAR2
34062 , p_source_15_meaning IN VARCHAR2
34063 --Bank Cash Clearing Account
34064 , p_source_35 IN NUMBER
34065 --Accounting Reversal Indicator
34066 , p_source_53 IN VARCHAR2
34067 --Distribution Link Type
34068 , p_source_55 IN VARCHAR2
34069 --Override Accounted Amount Indicator
34070 , p_source_80 IN VARCHAR2
34071 , p_source_80_meaning IN VARCHAR2
34072 --Third Party Type
34073 , p_source_83 IN VARCHAR2
34074 --Invoice Distribution Tax Line Identifier
34075 , p_source_86 IN NUMBER
34079 , p_source_88 IN NUMBER
34076 --Invoice Distribution Tax Distribution Identifier from Tax
34077 , p_source_87 IN NUMBER
34078 --Invoice Distribution Summary Tax Line Identifier
34080 --Business Flow Accounts Payable Application Identifier
34081 , p_source_91 IN NUMBER
34082 --Business Flow Invoice Distribution Type
34083 , p_source_92 IN VARCHAR2
34084 --Business Flow Invoice Entity Code
34085 , p_source_93 IN VARCHAR2
34086 --Business Flow Invoice Distribution Identifier
34087 , p_source_94 IN NUMBER
34088 --Business Flow Invoice Identifier
34089 , p_source_95 IN NUMBER
34090 --When to Account for Payment Option
34091 , p_source_97 IN VARCHAR2
34092 --Payment Distribution Type
34093 , p_source_98 IN VARCHAR2
34094 , p_source_98_meaning IN VARCHAR2
34095 --Payment Distribution Amount
34096 , p_source_99 IN NUMBER
34097 --Payment Distribution Identifier
34098 , p_source_104 IN NUMBER
34099 --Payment Supplier Identifier
34100 , p_source_110 IN NUMBER
34101 --Payment Supplier Site Identifier
34102 , p_source_111 IN NUMBER
34103 --Payment Distribution Reversed Identifier
34104 , p_source_112 IN NUMBER
34105 --Pooled Bank Account Option
34106 , p_source_113 IN VARCHAR2
34107 , p_source_113_meaning IN VARCHAR2
34108 --Payment Maturity Date
34109 , p_source_114 IN DATE
34110 --Payment Distribution (Invoice Rate) Ledger Amount
34111 , p_source_116 IN NUMBER
34112 --Payment Exchange Date
34113 , p_source_117 IN DATE
34114 --Payment Exchange Rate
34115 , p_source_118 IN NUMBER
34116 --Payment Exchange Rate Type
34117 , p_source_119 IN VARCHAR2
34118 --Payment Type
34119 , p_source_122 IN VARCHAR2
34120 , p_source_122_meaning IN VARCHAR2
34121 )
34122 IS
34123
34124 l_component_type VARCHAR2(80);
34125 l_component_code VARCHAR2(30);
34126 l_component_type_code VARCHAR2(1);
34127 l_component_appl_id INTEGER;
34128 l_amb_context_code VARCHAR2(30);
34129 l_entity_code VARCHAR2(30);
34130 l_event_class_code VARCHAR2(30);
34131 l_ae_header_id NUMBER;
34132 l_event_type_code VARCHAR2(30);
34133 l_line_definition_code VARCHAR2(30);
34134 l_line_definition_owner_code VARCHAR2(1);
34135 --
34136 -- adr variables
34137 l_segment VARCHAR2(30);
34138 l_ccid NUMBER;
34139 l_adr_transaction_coa_id NUMBER;
34140 l_adr_accounting_coa_id NUMBER;
34141 l_adr_flexfield_segment_code VARCHAR2(30);
34142 l_adr_flex_value_set_id NUMBER;
34143 l_adr_value_type_code VARCHAR2(30);
34144 l_adr_value_combination_id NUMBER;
34145 l_adr_value_segment_code VARCHAR2(30);
34146
34147 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
34148 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
34149 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
34150 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
34151
34152 -- 4262811 Variables ------------------------------------------------------------------------------------------
34153 l_entered_amt_idx NUMBER;
34154 l_accted_amt_idx NUMBER;
34155 l_acc_rev_flag VARCHAR2(1);
34156 l_accrual_line_num NUMBER;
34157 l_tmp_amt NUMBER;
34158 l_acc_rev_natural_side_code VARCHAR2(1);
34159
34160 l_num_entries NUMBER;
34161 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
34162 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
34163 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
34164 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
34165 l_recog_line_1 NUMBER;
34166 l_recog_line_2 NUMBER;
34167
34168 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
34169 l_bflow_applied_to_amt NUMBER; -- 5132302
34170 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
34171
34172 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
34173
34174 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
34175 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
34176
34177 ---------------------------------------------------------------------------------------------------------------
34178
34179
34180 --
34181 -- bulk performance
34182 --
34183 l_balance_type_code VARCHAR2(1);
34184 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
34185 l_log_module VARCHAR2(240);
34186
34187 --
34188 -- Upgrade strategy
34189 --
34190 l_actual_upg_option VARCHAR2(1);
34191 l_enc_upg_option VARCHAR2(1);
34192
34193 --
34194 BEGIN
34195 --
34196 IF g_log_enabled THEN
34197 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_83';
34198 END IF;
34199 --
34200 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
34201
34202 trace
34203 (p_msg => 'BEGIN of AcctLineType_83'
34204 ,p_level => C_LEVEL_PROCEDURE
34205 ,p_module => l_log_module);
34206
34207 END IF;
34208 --
34212 l_component_appl_id := 200;
34209 l_component_type := 'AMB_JLT';
34210 l_component_code := 'AP_CASH_CLEAR_REF_BS_INVXRATE';
34211 l_component_type_code := 'S';
34213 l_amb_context_code := 'DEFAULT';
34214 l_entity_code := 'AP_PAYMENTS';
34215 l_event_class_code := 'REFUNDS';
34216 l_event_type_code := 'REFUNDS_ALL';
34217 l_line_definition_owner_code := 'S';
34218 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
34219 --
34220 l_balance_type_code := 'A';
34221 l_segment := NULL;
34222 l_ccid := NULL;
34223 l_adr_transaction_coa_id := NULL;
34224 l_adr_accounting_coa_id := NULL;
34225 l_adr_flexfield_segment_code := NULL;
34226 l_adr_flex_value_set_id := NULL;
34227 l_adr_value_type_code := NULL;
34228 l_adr_value_combination_id := NULL;
34229 l_adr_value_segment_code := NULL;
34230
34231 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
34232 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
34233 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
34234 l_budgetary_control_flag := 'N';
34235
34236 l_bflow_applied_to_amt_idx := NULL; -- 5132302
34237 l_bflow_applied_to_amt := NULL; -- 5132302
34238 l_entered_amt_idx := NULL; -- 4262811
34239 l_accted_amt_idx := NULL; -- 4262811
34240 l_acc_rev_flag := NULL; -- 4262811
34241 l_accrual_line_num := NULL; -- 4262811
34242 l_tmp_amt := NULL; -- 4262811
34243 --
34244
34245 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
34246 l_balance_type_code <> 'B' THEN
34247 IF NVL(p_source_97,'
34248 ') = 'ALWAYS_CLEAR' AND
34249 (NVL(p_source_113,'
34250 ') = 'Y' AND
34251 NVL(p_source_15,'
34252 ') = 'BALANCING_SEGMENT') AND
34253 p_source_114 IS NULL AND
34254 NVL(p_source_98,'
34255 ') = 'CASH' AND
34256 NVL(p_source_122,'
34257 ') = 'R'
34258 THEN
34259
34260 --
34261 XLA_AE_LINES_PKG.SetNewLine;
34262
34263 p_balance_type_code := l_balance_type_code;
34264 -- set the flag so later we will know whether the gain loss line needs to be created
34265
34266 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
34267 p_actual_flag :='A';
34268 END IF;
34269
34270 --
34271 -- bulk performance
34272 --
34273 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
34274 p_header_num => 0); -- 4262811
34275 --
34276 -- set accounting line options
34277 --
34278 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
34279 p_natural_side_code => 'C'
34280 , p_gain_or_loss_flag => 'N'
34281 , p_gl_transfer_mode_code => 'S'
34282 , p_acct_entry_type_code => 'A'
34283 , p_switch_side_flag => 'Y'
34284 , p_merge_duplicate_code => 'A'
34285 );
34286 --
34287 l_acc_rev_natural_side_code := 'D'; -- 4262811
34288 --
34289 --
34290 -- set accounting line type info
34291 --
34292 xla_ae_lines_pkg.SetAcctLineType
34293 (p_component_type => l_component_type
34294 ,p_event_type_code => l_event_type_code
34295 ,p_line_definition_owner_code => l_line_definition_owner_code
34296 ,p_line_definition_code => l_line_definition_code
34297 ,p_accounting_line_code => l_component_code
34298 ,p_accounting_line_type_code => l_component_type_code
34299 ,p_accounting_line_appl_id => l_component_appl_id
34300 ,p_amb_context_code => l_amb_context_code
34301 ,p_entity_code => l_entity_code
34302 ,p_event_class_code => l_event_class_code);
34303 --
34304 -- set accounting class
34305 --
34306 xla_ae_lines_pkg.SetAcctClass(
34307 p_accounting_class_code => 'CASH_CLEARING'
34308 , p_ae_header_id => l_ae_header_id
34309 );
34310
34311 --
34312 -- set rounding class
34313 --
34314 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
34315 'CASH_CLEARING';
34316
34317 --
34318 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
34319 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
34320 --
34321 -- bulk performance
34322 --
34323 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
34324
34325 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
34326 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
34327
34328 -- 4955764
34329 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
34330 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
34331
34332 -- 4458381 Public Sector Enh
34333
34334 --
34335 -- set accounting attributes for the line type
34336 --
34337 l_entered_amt_idx := 9;
34341 l_rec_acct_attrs.array_char_value(1) := p_source_53;
34338 l_accted_amt_idx := 14;
34339 l_bflow_applied_to_amt_idx := NULL; -- 5132302
34340 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
34342 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
34343 l_rec_acct_attrs.array_num_value(2) := p_source_91;
34344 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
34345 l_rec_acct_attrs.array_char_value(3) := p_source_92;
34346 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
34347 l_rec_acct_attrs.array_char_value(4) := p_source_93;
34348 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
34349 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
34350 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
34351 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
34352 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
34353 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
34354 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
34355 l_rec_acct_attrs.array_char_value(8) := p_source_55;
34356 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
34357 l_rec_acct_attrs.array_num_value(9) := p_source_99;
34358 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
34359 l_rec_acct_attrs.array_char_value(10) := p_source_13;
34360 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
34361 l_rec_acct_attrs.array_date_value(11) := p_source_117;
34362 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
34363 l_rec_acct_attrs.array_num_value(12) := p_source_118;
34364 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
34365 l_rec_acct_attrs.array_char_value(13) := p_source_119;
34366 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
34367 l_rec_acct_attrs.array_num_value(14) := p_source_116;
34368 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
34369 l_rec_acct_attrs.array_char_value(15) := p_source_80;
34370 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
34371 l_rec_acct_attrs.array_num_value(16) := p_source_110;
34372 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
34373 l_rec_acct_attrs.array_num_value(17) := p_source_111;
34374 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
34375 l_rec_acct_attrs.array_char_value(18) := p_source_83;
34376 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
34377 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_112);
34378 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
34379 l_rec_acct_attrs.array_char_value(20) := p_source_55;
34380 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
34381 l_rec_acct_attrs.array_num_value(21) := p_source_86;
34382 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
34383 l_rec_acct_attrs.array_num_value(22) := p_source_87;
34384 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
34385 l_rec_acct_attrs.array_num_value(23) := p_source_88;
34386
34387 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
34388 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
34389
34390 ---------------------------------------------------------------------------------------------------------------
34391 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
34392 ---------------------------------------------------------------------------------------------------------------
34393 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
34394
34395 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34396 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34397
34398 IF xla_accounting_cache_pkg.GetValueChar
34399 (p_source_code => 'LEDGER_CATEGORY_CODE'
34400 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
34401 AND l_bflow_method_code = 'PRIOR_ENTRY'
34402 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
34403 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
34404 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
34405 )
34406 THEN
34407 xla_ae_lines_pkg.BflowUpgEntry
34408 (p_business_method_code => l_bflow_method_code
34409 ,p_business_class_code => l_bflow_class_code
34410 ,p_balance_type => l_balance_type_code);
34411 ELSE
34412 NULL;
34413 XLA_AE_LINES_PKG.business_flow_validation(
34414 p_business_method_code => l_bflow_method_code
34415 ,p_business_class_code => l_bflow_class_code
34416 ,p_inherit_description_flag => l_inherit_desc_flag);
34417 END IF;
34418
34419 --
34420 -- call analytical criteria
34421 --
34422
34423 --
34424 -- call description
34425 --
34426 -- No description or it is inherited.
34427 --
34428 -- call ADRs
34429 -- Bug 4922099
34430 --
34431 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
34432 (NVL(l_actual_upg_option, 'N') = 'O') OR
34433 (NVL(l_enc_upg_option, 'N') = 'O')
34434 )
34435 THEN
34436 NULL;
34440 l_ccid := AcctDerRule_36(
34437 --
34438 --
34439
34441 p_application_id => p_application_id
34442 , p_ae_header_id => l_ae_header_id
34443 , p_source_35 => p_source_35
34444 , x_transaction_coa_id => l_adr_transaction_coa_id
34445 , x_accounting_coa_id => l_adr_accounting_coa_id
34446 , x_value_type_code => l_adr_value_type_code
34447 , p_side => 'NA'
34448 );
34449
34450 xla_ae_lines_pkg.set_ccid(
34451 p_code_combination_id => l_ccid
34452 , p_value_type_code => l_adr_value_type_code
34453 , p_transaction_coa_id => l_adr_transaction_coa_id
34454 , p_accounting_coa_id => l_adr_accounting_coa_id
34455 , p_adr_code => 'AP_PMT_CASH_CLEAR'
34456 , p_adr_type_code => 'S'
34457 , p_component_type => l_component_type
34458 , p_component_code => l_component_code
34459 , p_component_type_code => l_component_type_code
34460 , p_component_appl_id => l_component_appl_id
34461 , p_amb_context_code => l_amb_context_code
34462 , p_side => 'NA'
34463 );
34464
34465
34466 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
34467 p_to_segment_code => 'GL_BALANCING'
34468 , p_segment_value => C_CHAR
34469 , p_from_segment_code => NULL
34470 , p_from_combination_id => NULL
34471 , p_value_type_code => NULL
34472 , p_transaction_coa_id => null
34473 , p_accounting_coa_id => null
34474 , p_flexfield_segment_code => NULL
34475 , p_flex_value_set_id => NULL
34476 , p_adr_code => NULL
34477 , p_adr_type_code => NULL
34478 , p_component_type => l_component_type
34479 , p_component_code => l_component_code
34480 , p_component_type_code => l_component_type_code
34481 , p_component_appl_id => l_component_appl_id
34482 , p_amb_context_code => l_amb_context_code
34483 , p_entity_code => 'AP_PAYMENTS'
34484 , p_event_class_code => 'REFUNDS'
34485 , p_side => 'NA'
34486 );
34487 --
34488
34489
34490 --
34491 --
34492 END IF;
34493 --
34494 -- Bug 4922099
34495 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
34496 (NVL(l_enc_upg_option, 'N') = 'O')
34497 ) AND
34498 (l_bflow_method_code = 'PRIOR_ENTRY')
34499 )
34500 THEN
34501 IF
34502 --
34503 1 = 2
34504 --
34505 THEN
34506 xla_accounting_err_pkg.build_message
34507 (p_appli_s_name => 'XLA'
34508 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
34509 ,p_token_1 => 'LINE_NUMBER'
34510 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
34511 ,p_token_2 => 'LINE_TYPE_NAME'
34512 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
34513 l_component_type
34514 ,l_component_code
34515 ,l_component_type_code
34516 ,l_component_appl_id
34517 ,l_amb_context_code
34518 ,l_entity_code
34519 ,l_event_class_code
34520 )
34521 ,p_token_3 => 'OWNER'
34522 ,p_value_3 => xla_lookups_pkg.get_meaning(
34523 p_lookup_type => 'XLA_OWNER_TYPE'
34524 ,p_lookup_code => l_component_type_code
34525 )
34526 ,p_token_4 => 'PRODUCT_NAME'
34527 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
34528 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
34529 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
34530 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
34531 ,p_ae_header_id => NULL
34532 );
34533
34534 IF (C_LEVEL_ERROR>= g_log_level) THEN
34535 trace
34536 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
34537 ,p_level => C_LEVEL_ERROR
34538 ,p_module => l_log_module);
34542 --
34539 END IF;
34540 END IF;
34541 END IF;
34543 --
34544 ------------------------------------------------------------------------------------------------
34545 -- 4219869 Business Flow
34546 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
34547 -- Prior Entry. Currently, the following code is always generated.
34548 ------------------------------------------------------------------------------------------------
34549 XLA_AE_LINES_PKG.ValidateCurrentLine;
34550
34551 ------------------------------------------------------------------------------------
34552 -- 4219869 Business Flow
34553 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
34554 ------------------------------------------------------------------------------------
34555 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
34556
34557 ----------------------------------------------------------------------------------
34558 -- 4219869 Business Flow
34559 -- Update journal entry status -- Need to generate this within IF <condition>
34560 ----------------------------------------------------------------------------------
34561 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
34562 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
34563 ,p_balance_type_code => l_balance_type_code
34564 );
34565
34566 -------------------------------------------------------------------------------------------
34567 -- 4262811 - Generate the Accrual Reversal lines
34568 -------------------------------------------------------------------------------------------
34569 BEGIN
34570 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
34571 (g_array_event(p_event_id).array_value_num('header_index'));
34572 IF l_acc_rev_flag IS NULL THEN
34573 l_acc_rev_flag := 'N';
34574 END IF;
34575 EXCEPTION
34576 WHEN OTHERS THEN
34577 l_acc_rev_flag := 'N';
34578 END;
34579 --
34580 IF (l_acc_rev_flag = 'Y') THEN
34581
34582 -- 4645092 ------------------------------------------------------------------------------
34583 -- To allow MPA report to determine if it should generate report process
34584 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
34585 ------------------------------------------------------------------------------------------
34586
34587 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
34588 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
34589 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
34590 -- call ADRs
34591 -- Bug 4922099
34592 --
34593 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
34594 (NVL(l_actual_upg_option, 'N') = 'O') OR
34595 (NVL(l_enc_upg_option, 'N') = 'O')
34596 )
34597 THEN
34598 NULL;
34599 --
34600 --
34601
34602 l_ccid := AcctDerRule_36(
34603 p_application_id => p_application_id
34604 , p_ae_header_id => l_ae_header_id
34605 , p_source_35 => p_source_35
34606 , x_transaction_coa_id => l_adr_transaction_coa_id
34607 , x_accounting_coa_id => l_adr_accounting_coa_id
34608 , x_value_type_code => l_adr_value_type_code
34609 , p_side => 'NA'
34610 );
34611
34612 xla_ae_lines_pkg.set_ccid(
34613 p_code_combination_id => l_ccid
34614 , p_value_type_code => l_adr_value_type_code
34615 , p_transaction_coa_id => l_adr_transaction_coa_id
34616 , p_accounting_coa_id => l_adr_accounting_coa_id
34617 , p_adr_code => 'AP_PMT_CASH_CLEAR'
34618 , p_adr_type_code => 'S'
34619 , p_component_type => l_component_type
34620 , p_component_code => l_component_code
34621 , p_component_type_code => l_component_type_code
34622 , p_component_appl_id => l_component_appl_id
34623 , p_amb_context_code => l_amb_context_code
34624 , p_side => 'NA'
34625 );
34626
34627
34628 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
34629 p_to_segment_code => 'GL_BALANCING'
34630 , p_segment_value => C_CHAR
34631 , p_from_segment_code => NULL
34632 , p_from_combination_id => NULL
34633 , p_value_type_code => NULL
34634 , p_transaction_coa_id => null
34635 , p_accounting_coa_id => null
34636 , p_flexfield_segment_code => NULL
34637 , p_flex_value_set_id => NULL
34638 , p_adr_code => NULL
34639 , p_adr_type_code => NULL
34640 , p_component_type => l_component_type
34641 , p_component_code => l_component_code
34642 , p_component_type_code => l_component_type_code
34643 , p_component_appl_id => l_component_appl_id
34644 , p_amb_context_code => l_amb_context_code
34645 , p_entity_code => 'AP_PAYMENTS'
34646 , p_event_class_code => 'REFUNDS'
34647 , p_side => 'NA'
34648 );
34649 --
34650
34651
34652 --
34653 --
34654 END IF;
34655
34656 --
34657 -- Update the line information that should be overwritten
34658 --
34662
34659 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
34660 p_header_num => 1);
34661 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
34663 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
34664
34665 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
34666 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
34667 END IF;
34668
34669 --
34670 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
34671 --
34672 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
34673 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
34674 ELSE
34675 ---------------------------------------------------------------------------------------------------
34676 -- 4262811a Switch Sign
34677 ---------------------------------------------------------------------------------------------------
34678 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
34679 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34680 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34681 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34682 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34683 -- 5132302
34684 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
34685 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34686
34687 END IF;
34688
34689 -- 4955764
34690 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
34691 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
34692
34693
34694 XLA_AE_LINES_PKG.ValidateCurrentLine;
34695 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
34696
34697 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
34698 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
34699 ,p_balance_type_code => l_balance_type_code);
34700
34701 END IF;
34702
34703 -----------------------------------------------------------------------------------------
34704 -- 4262811 Multiperiod Accounting
34705 -----------------------------------------------------------------------------------------
34706 -- No MPA option is assigned.
34707
34708
34709 END IF;
34710 END IF;
34711 --
34712
34713 --
34714 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
34715 trace
34716 (p_msg => 'END of AcctLineType_83'
34717 ,p_level => C_LEVEL_PROCEDURE
34718 ,p_module => l_log_module);
34719 END IF;
34720 --
34721 EXCEPTION
34722 WHEN xla_exceptions_pkg.application_exception THEN
34723 RAISE;
34724 WHEN OTHERS THEN
34725 xla_exceptions_pkg.raise_message
34726 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_83');
34727 END AcctLineType_83;
34728 --
34729
34730 ---------------------------------------
34731 --
34732 -- PRIVATE FUNCTION
34733 -- AcctLineType_84
34734 --
34735 ---------------------------------------
34736 PROCEDURE AcctLineType_84 (
34737 p_application_id IN NUMBER
34738 ,p_event_id IN NUMBER
34739 ,p_calculate_acctd_flag IN VARCHAR2
34740 ,p_calculate_g_l_flag IN VARCHAR2
34741 ,p_actual_flag IN OUT VARCHAR2
34742 ,p_balance_type_code OUT VARCHAR2
34743 ,p_gain_or_loss_ref OUT VARCHAR2
34744
34745 --Payment Currency Code
34746 , p_source_13 IN VARCHAR2
34747 --Bank Cash Clearing Account
34748 , p_source_35 IN NUMBER
34749 --Automatic Offsets Flag
34750 , p_source_47 IN VARCHAR2
34751 , p_source_47_meaning IN VARCHAR2
34752 --Accounting Reversal Indicator
34753 , p_source_53 IN VARCHAR2
34754 --Distribution Link Type
34755 , p_source_55 IN VARCHAR2
34756 --Override Accounted Amount Indicator
34757 , p_source_80 IN VARCHAR2
34758 , p_source_80_meaning IN VARCHAR2
34759 --Third Party Type
34760 , p_source_83 IN VARCHAR2
34761 --Invoice Distribution Tax Line Identifier
34762 , p_source_86 IN NUMBER
34763 --Invoice Distribution Tax Distribution Identifier from Tax
34764 , p_source_87 IN NUMBER
34765 --Invoice Distribution Summary Tax Line Identifier
34766 , p_source_88 IN NUMBER
34767 --Business Flow Accounts Payable Application Identifier
34768 , p_source_91 IN NUMBER
34769 --Business Flow Invoice Distribution Type
34770 , p_source_92 IN VARCHAR2
34771 --Business Flow Invoice Entity Code
34772 , p_source_93 IN VARCHAR2
34773 --Business Flow Invoice Distribution Identifier
34774 , p_source_94 IN NUMBER
34775 --Business Flow Invoice Identifier
34776 , p_source_95 IN NUMBER
34777 --When to Account for Payment Option
34778 , p_source_97 IN VARCHAR2
34782 --Payment Distribution Amount
34779 --Payment Distribution Type
34780 , p_source_98 IN VARCHAR2
34781 , p_source_98_meaning IN VARCHAR2
34783 , p_source_99 IN NUMBER
34784 --Payment Distribution Identifier
34785 , p_source_104 IN NUMBER
34786 --Payment Supplier Identifier
34787 , p_source_110 IN NUMBER
34788 --Payment Supplier Site Identifier
34789 , p_source_111 IN NUMBER
34790 --Payment Distribution Reversed Identifier
34791 , p_source_112 IN NUMBER
34792 --Pooled Bank Account Option
34793 , p_source_113 IN VARCHAR2
34794 , p_source_113_meaning IN VARCHAR2
34795 --Payment Maturity Date
34796 , p_source_114 IN DATE
34797 --Payment Distribution (Invoice Rate) Ledger Amount
34798 , p_source_116 IN NUMBER
34799 --Payment Exchange Date
34800 , p_source_117 IN DATE
34801 --Payment Exchange Rate
34802 , p_source_118 IN NUMBER
34803 --Payment Exchange Rate Type
34804 , p_source_119 IN VARCHAR2
34805 --Payment Type
34806 , p_source_122 IN VARCHAR2
34807 , p_source_122_meaning IN VARCHAR2
34808 )
34809 IS
34810
34811 l_component_type VARCHAR2(80);
34812 l_component_code VARCHAR2(30);
34813 l_component_type_code VARCHAR2(1);
34814 l_component_appl_id INTEGER;
34815 l_amb_context_code VARCHAR2(30);
34816 l_entity_code VARCHAR2(30);
34817 l_event_class_code VARCHAR2(30);
34818 l_ae_header_id NUMBER;
34819 l_event_type_code VARCHAR2(30);
34820 l_line_definition_code VARCHAR2(30);
34821 l_line_definition_owner_code VARCHAR2(1);
34822 --
34823 -- adr variables
34824 l_segment VARCHAR2(30);
34825 l_ccid NUMBER;
34826 l_adr_transaction_coa_id NUMBER;
34827 l_adr_accounting_coa_id NUMBER;
34828 l_adr_flexfield_segment_code VARCHAR2(30);
34829 l_adr_flex_value_set_id NUMBER;
34830 l_adr_value_type_code VARCHAR2(30);
34831 l_adr_value_combination_id NUMBER;
34832 l_adr_value_segment_code VARCHAR2(30);
34833
34834 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
34835 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
34836 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
34837 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
34838
34839 -- 4262811 Variables ------------------------------------------------------------------------------------------
34840 l_entered_amt_idx NUMBER;
34841 l_accted_amt_idx NUMBER;
34842 l_acc_rev_flag VARCHAR2(1);
34843 l_accrual_line_num NUMBER;
34844 l_tmp_amt NUMBER;
34845 l_acc_rev_natural_side_code VARCHAR2(1);
34846
34847 l_num_entries NUMBER;
34848 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
34849 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
34850 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
34851 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
34852 l_recog_line_1 NUMBER;
34853 l_recog_line_2 NUMBER;
34854
34855 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
34856 l_bflow_applied_to_amt NUMBER; -- 5132302
34857 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
34858
34859 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
34860
34861 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
34862 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
34863
34864 ---------------------------------------------------------------------------------------------------------------
34865
34866
34867 --
34868 -- bulk performance
34869 --
34870 l_balance_type_code VARCHAR2(1);
34871 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
34872 l_log_module VARCHAR2(240);
34873
34874 --
34875 -- Upgrade strategy
34876 --
34877 l_actual_upg_option VARCHAR2(1);
34878 l_enc_upg_option VARCHAR2(1);
34879
34880 --
34881 BEGIN
34882 --
34883 IF g_log_enabled THEN
34884 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_84';
34885 END IF;
34886 --
34887 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
34888
34889 trace
34890 (p_msg => 'BEGIN of AcctLineType_84'
34891 ,p_level => C_LEVEL_PROCEDURE
34892 ,p_module => l_log_module);
34893
34894 END IF;
34895 --
34896 l_component_type := 'AMB_JLT';
34897 l_component_code := 'AP_CASH_CLEAR_REF_INVXRATE';
34898 l_component_type_code := 'S';
34899 l_component_appl_id := 200;
34900 l_amb_context_code := 'DEFAULT';
34901 l_entity_code := 'AP_PAYMENTS';
34902 l_event_class_code := 'REFUNDS';
34903 l_event_type_code := 'REFUNDS_ALL';
34904 l_line_definition_owner_code := 'S';
34905 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
34906 --
34907 l_balance_type_code := 'A';
34908 l_segment := NULL;
34909 l_ccid := NULL;
34910 l_adr_transaction_coa_id := NULL;
34911 l_adr_accounting_coa_id := NULL;
34915 l_adr_value_combination_id := NULL;
34912 l_adr_flexfield_segment_code := NULL;
34913 l_adr_flex_value_set_id := NULL;
34914 l_adr_value_type_code := NULL;
34916 l_adr_value_segment_code := NULL;
34917
34918 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
34919 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
34920 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
34921 l_budgetary_control_flag := 'N';
34922
34923 l_bflow_applied_to_amt_idx := NULL; -- 5132302
34924 l_bflow_applied_to_amt := NULL; -- 5132302
34925 l_entered_amt_idx := NULL; -- 4262811
34926 l_accted_amt_idx := NULL; -- 4262811
34927 l_acc_rev_flag := NULL; -- 4262811
34928 l_accrual_line_num := NULL; -- 4262811
34929 l_tmp_amt := NULL; -- 4262811
34930 --
34931
34932 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
34933 l_balance_type_code <> 'B' THEN
34934 IF NVL(p_source_97,'
34935 ') = 'ALWAYS_CLEAR' AND
34936 (NVL(p_source_47,'
34937 ') <> 'Y' OR
34938 NVL(p_source_47,'
34939 ') = 'Y' AND
34940 NVL(p_source_113,'
34941 ') <> 'Y') AND
34942 p_source_114 IS NULL AND
34943 NVL(p_source_98,'
34944 ') = 'CASH' AND
34945 NVL(p_source_122,'
34946 ') = 'R'
34947 THEN
34948
34949 --
34950 XLA_AE_LINES_PKG.SetNewLine;
34951
34952 p_balance_type_code := l_balance_type_code;
34953 -- set the flag so later we will know whether the gain loss line needs to be created
34954
34955 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
34956 p_actual_flag :='A';
34957 END IF;
34958
34959 --
34960 -- bulk performance
34961 --
34962 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
34963 p_header_num => 0); -- 4262811
34964 --
34965 -- set accounting line options
34966 --
34967 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
34968 p_natural_side_code => 'C'
34969 , p_gain_or_loss_flag => 'N'
34970 , p_gl_transfer_mode_code => 'S'
34971 , p_acct_entry_type_code => 'A'
34972 , p_switch_side_flag => 'Y'
34973 , p_merge_duplicate_code => 'A'
34974 );
34975 --
34976 l_acc_rev_natural_side_code := 'D'; -- 4262811
34977 --
34978 --
34979 -- set accounting line type info
34980 --
34981 xla_ae_lines_pkg.SetAcctLineType
34982 (p_component_type => l_component_type
34983 ,p_event_type_code => l_event_type_code
34984 ,p_line_definition_owner_code => l_line_definition_owner_code
34985 ,p_line_definition_code => l_line_definition_code
34986 ,p_accounting_line_code => l_component_code
34987 ,p_accounting_line_type_code => l_component_type_code
34988 ,p_accounting_line_appl_id => l_component_appl_id
34989 ,p_amb_context_code => l_amb_context_code
34990 ,p_entity_code => l_entity_code
34991 ,p_event_class_code => l_event_class_code);
34992 --
34993 -- set accounting class
34994 --
34995 xla_ae_lines_pkg.SetAcctClass(
34996 p_accounting_class_code => 'CASH_CLEARING'
34997 , p_ae_header_id => l_ae_header_id
34998 );
34999
35000 --
35001 -- set rounding class
35002 --
35003 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
35004 'CASH_CLEARING';
35005
35006 --
35007 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
35008 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
35009 --
35010 -- bulk performance
35011 --
35012 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
35013
35014 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
35015 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
35016
35017 -- 4955764
35018 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35019 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
35020
35021 -- 4458381 Public Sector Enh
35022
35023 --
35024 -- set accounting attributes for the line type
35025 --
35026 l_entered_amt_idx := 9;
35027 l_accted_amt_idx := 14;
35028 l_bflow_applied_to_amt_idx := NULL; -- 5132302
35029 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
35030 l_rec_acct_attrs.array_char_value(1) := p_source_53;
35031 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
35032 l_rec_acct_attrs.array_num_value(2) := p_source_91;
35033 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
35034 l_rec_acct_attrs.array_char_value(3) := p_source_92;
35035 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
35036 l_rec_acct_attrs.array_char_value(4) := p_source_93;
35037 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
35038 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
35042 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
35039 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
35040 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
35041 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
35043 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
35044 l_rec_acct_attrs.array_char_value(8) := p_source_55;
35045 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
35046 l_rec_acct_attrs.array_num_value(9) := p_source_99;
35047 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
35048 l_rec_acct_attrs.array_char_value(10) := p_source_13;
35049 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
35050 l_rec_acct_attrs.array_date_value(11) := p_source_117;
35051 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
35052 l_rec_acct_attrs.array_num_value(12) := p_source_118;
35053 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
35054 l_rec_acct_attrs.array_char_value(13) := p_source_119;
35055 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
35056 l_rec_acct_attrs.array_num_value(14) := p_source_116;
35057 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
35058 l_rec_acct_attrs.array_char_value(15) := p_source_80;
35059 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
35060 l_rec_acct_attrs.array_num_value(16) := p_source_110;
35061 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
35062 l_rec_acct_attrs.array_num_value(17) := p_source_111;
35063 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
35064 l_rec_acct_attrs.array_char_value(18) := p_source_83;
35065 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
35066 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_112);
35067 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
35068 l_rec_acct_attrs.array_char_value(20) := p_source_55;
35069 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
35070 l_rec_acct_attrs.array_num_value(21) := p_source_86;
35071 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
35072 l_rec_acct_attrs.array_num_value(22) := p_source_87;
35073 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
35074 l_rec_acct_attrs.array_num_value(23) := p_source_88;
35075
35076 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
35077 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
35078
35079 ---------------------------------------------------------------------------------------------------------------
35080 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35081 ---------------------------------------------------------------------------------------------------------------
35082 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
35083
35084 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35085 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35086
35087 IF xla_accounting_cache_pkg.GetValueChar
35088 (p_source_code => 'LEDGER_CATEGORY_CODE'
35089 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
35090 AND l_bflow_method_code = 'PRIOR_ENTRY'
35091 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
35092 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
35093 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
35094 )
35095 THEN
35096 xla_ae_lines_pkg.BflowUpgEntry
35097 (p_business_method_code => l_bflow_method_code
35098 ,p_business_class_code => l_bflow_class_code
35099 ,p_balance_type => l_balance_type_code);
35100 ELSE
35101 NULL;
35102 -- No business flow processing for business flow method of NONE.
35103 END IF;
35104
35105 --
35106 -- call analytical criteria
35107 --
35108
35109 --
35110 -- call description
35111 --
35112 -- No description or it is inherited.
35113 --
35114 -- call ADRs
35115 -- Bug 4922099
35116 --
35117 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
35118 (NVL(l_actual_upg_option, 'N') = 'O') OR
35119 (NVL(l_enc_upg_option, 'N') = 'O')
35120 )
35121 THEN
35122 NULL;
35123 --
35124 --
35125
35126 l_ccid := AcctDerRule_36(
35127 p_application_id => p_application_id
35128 , p_ae_header_id => l_ae_header_id
35129 , p_source_35 => p_source_35
35130 , x_transaction_coa_id => l_adr_transaction_coa_id
35131 , x_accounting_coa_id => l_adr_accounting_coa_id
35132 , x_value_type_code => l_adr_value_type_code
35133 , p_side => 'NA'
35134 );
35135
35136 xla_ae_lines_pkg.set_ccid(
35137 p_code_combination_id => l_ccid
35138 , p_value_type_code => l_adr_value_type_code
35139 , p_transaction_coa_id => l_adr_transaction_coa_id
35140 , p_accounting_coa_id => l_adr_accounting_coa_id
35141 , p_adr_code => 'AP_PMT_CASH_CLEAR'
35142 , p_adr_type_code => 'S'
35146 , p_component_appl_id => l_component_appl_id
35143 , p_component_type => l_component_type
35144 , p_component_code => l_component_code
35145 , p_component_type_code => l_component_type_code
35147 , p_amb_context_code => l_amb_context_code
35148 , p_side => 'NA'
35149 );
35150
35151
35152 --
35153 --
35154 END IF;
35155 --
35156 -- Bug 4922099
35157 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
35158 (NVL(l_enc_upg_option, 'N') = 'O')
35159 ) AND
35160 (l_bflow_method_code = 'PRIOR_ENTRY')
35161 )
35162 THEN
35163 IF
35164 --
35165 1 = 2
35166 --
35167 THEN
35168 xla_accounting_err_pkg.build_message
35169 (p_appli_s_name => 'XLA'
35170 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
35171 ,p_token_1 => 'LINE_NUMBER'
35172 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
35173 ,p_token_2 => 'LINE_TYPE_NAME'
35174 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
35175 l_component_type
35176 ,l_component_code
35177 ,l_component_type_code
35178 ,l_component_appl_id
35179 ,l_amb_context_code
35180 ,l_entity_code
35181 ,l_event_class_code
35182 )
35183 ,p_token_3 => 'OWNER'
35184 ,p_value_3 => xla_lookups_pkg.get_meaning(
35185 p_lookup_type => 'XLA_OWNER_TYPE'
35186 ,p_lookup_code => l_component_type_code
35187 )
35188 ,p_token_4 => 'PRODUCT_NAME'
35189 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
35190 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
35191 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
35192 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
35193 ,p_ae_header_id => NULL
35194 );
35195
35196 IF (C_LEVEL_ERROR>= g_log_level) THEN
35197 trace
35198 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
35199 ,p_level => C_LEVEL_ERROR
35200 ,p_module => l_log_module);
35201 END IF;
35202 END IF;
35203 END IF;
35204 --
35205 --
35206 ------------------------------------------------------------------------------------------------
35207 -- 4219869 Business Flow
35208 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
35209 -- Prior Entry. Currently, the following code is always generated.
35210 ------------------------------------------------------------------------------------------------
35211 XLA_AE_LINES_PKG.ValidateCurrentLine;
35212
35213 ------------------------------------------------------------------------------------
35214 -- 4219869 Business Flow
35215 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
35216 ------------------------------------------------------------------------------------
35217 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
35218
35219 ----------------------------------------------------------------------------------
35220 -- 4219869 Business Flow
35221 -- Update journal entry status -- Need to generate this within IF <condition>
35222 ----------------------------------------------------------------------------------
35223 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
35224 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
35225 ,p_balance_type_code => l_balance_type_code
35226 );
35227
35228 -------------------------------------------------------------------------------------------
35229 -- 4262811 - Generate the Accrual Reversal lines
35230 -------------------------------------------------------------------------------------------
35231 BEGIN
35232 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
35233 (g_array_event(p_event_id).array_value_num('header_index'));
35234 IF l_acc_rev_flag IS NULL THEN
35235 l_acc_rev_flag := 'N';
35236 END IF;
35237 EXCEPTION
35241 --
35238 WHEN OTHERS THEN
35239 l_acc_rev_flag := 'N';
35240 END;
35242 IF (l_acc_rev_flag = 'Y') THEN
35243
35244 -- 4645092 ------------------------------------------------------------------------------
35245 -- To allow MPA report to determine if it should generate report process
35246 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
35247 ------------------------------------------------------------------------------------------
35248
35249 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
35250 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
35251 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
35252 -- call ADRs
35253 -- Bug 4922099
35254 --
35255 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
35256 (NVL(l_actual_upg_option, 'N') = 'O') OR
35257 (NVL(l_enc_upg_option, 'N') = 'O')
35258 )
35259 THEN
35260 NULL;
35261 --
35262 --
35263
35264 l_ccid := AcctDerRule_36(
35265 p_application_id => p_application_id
35266 , p_ae_header_id => l_ae_header_id
35267 , p_source_35 => p_source_35
35268 , x_transaction_coa_id => l_adr_transaction_coa_id
35269 , x_accounting_coa_id => l_adr_accounting_coa_id
35270 , x_value_type_code => l_adr_value_type_code
35271 , p_side => 'NA'
35272 );
35273
35274 xla_ae_lines_pkg.set_ccid(
35275 p_code_combination_id => l_ccid
35276 , p_value_type_code => l_adr_value_type_code
35277 , p_transaction_coa_id => l_adr_transaction_coa_id
35278 , p_accounting_coa_id => l_adr_accounting_coa_id
35279 , p_adr_code => 'AP_PMT_CASH_CLEAR'
35280 , p_adr_type_code => 'S'
35281 , p_component_type => l_component_type
35282 , p_component_code => l_component_code
35283 , p_component_type_code => l_component_type_code
35284 , p_component_appl_id => l_component_appl_id
35285 , p_amb_context_code => l_amb_context_code
35286 , p_side => 'NA'
35287 );
35288
35289
35290 --
35291 --
35292 END IF;
35293
35294 --
35295 -- Update the line information that should be overwritten
35296 --
35297 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
35298 p_header_num => 1);
35299 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
35300
35301 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
35302
35303 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
35304 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
35305 END IF;
35306
35307 --
35308 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
35309 --
35310 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
35311 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
35312 ELSE
35313 ---------------------------------------------------------------------------------------------------
35314 -- 4262811a Switch Sign
35315 ---------------------------------------------------------------------------------------------------
35316 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
35317 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35318 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35319 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35320 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35321 -- 5132302
35322 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
35323 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35324
35325 END IF;
35326
35327 -- 4955764
35328 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35329 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
35330
35331
35332 XLA_AE_LINES_PKG.ValidateCurrentLine;
35333 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
35334
35335 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
35336 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
35337 ,p_balance_type_code => l_balance_type_code);
35338
35339 END IF;
35340
35341 -----------------------------------------------------------------------------------------
35342 -- 4262811 Multiperiod Accounting
35343 -----------------------------------------------------------------------------------------
35344 -- No MPA option is assigned.
35345
35346
35347 END IF;
35348 END IF;
35349 --
35350
35351 --
35352 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
35353 trace
35357 END IF;
35354 (p_msg => 'END of AcctLineType_84'
35355 ,p_level => C_LEVEL_PROCEDURE
35356 ,p_module => l_log_module);
35358 --
35359 EXCEPTION
35360 WHEN xla_exceptions_pkg.application_exception THEN
35361 RAISE;
35362 WHEN OTHERS THEN
35363 xla_exceptions_pkg.raise_message
35364 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_84');
35365 END AcctLineType_84;
35366 --
35367
35368 ---------------------------------------
35369 --
35370 -- PRIVATE FUNCTION
35371 -- AcctLineType_85
35372 --
35373 ---------------------------------------
35374 PROCEDURE AcctLineType_85 (
35375 p_application_id IN NUMBER
35376 ,p_event_id IN NUMBER
35377 ,p_calculate_acctd_flag IN VARCHAR2
35378 ,p_calculate_g_l_flag IN VARCHAR2
35379 ,p_actual_flag IN OUT VARCHAR2
35380 ,p_balance_type_code OUT VARCHAR2
35381 ,p_gain_or_loss_ref OUT VARCHAR2
35382
35383 --Payment Currency Code
35384 , p_source_13 IN VARCHAR2
35385 --Bank Cash Account
35386 , p_source_17 IN NUMBER
35387 --Automatic Offsets Flag
35388 , p_source_47 IN VARCHAR2
35389 , p_source_47_meaning IN VARCHAR2
35390 --Accounting Reversal Indicator
35391 , p_source_53 IN VARCHAR2
35392 --Distribution Link Type
35393 , p_source_55 IN VARCHAR2
35394 --Override Accounted Amount Indicator
35395 , p_source_80 IN VARCHAR2
35396 , p_source_80_meaning IN VARCHAR2
35397 --Third Party Type
35398 , p_source_83 IN VARCHAR2
35399 --Invoice Distribution Tax Line Identifier
35400 , p_source_86 IN NUMBER
35401 --Invoice Distribution Tax Distribution Identifier from Tax
35402 , p_source_87 IN NUMBER
35403 --Invoice Distribution Summary Tax Line Identifier
35404 , p_source_88 IN NUMBER
35405 --Business Flow Accounts Payable Application Identifier
35406 , p_source_91 IN NUMBER
35407 --Business Flow Invoice Distribution Type
35408 , p_source_92 IN VARCHAR2
35409 --Business Flow Invoice Entity Code
35410 , p_source_93 IN VARCHAR2
35411 --Business Flow Invoice Distribution Identifier
35412 , p_source_94 IN NUMBER
35413 --Business Flow Invoice Identifier
35414 , p_source_95 IN NUMBER
35415 --When to Account for Payment Option
35416 , p_source_97 IN VARCHAR2
35417 --Payment Distribution Type
35418 , p_source_98 IN VARCHAR2
35419 , p_source_98_meaning IN VARCHAR2
35420 --Payment Distribution Amount
35421 , p_source_99 IN NUMBER
35422 --Payment Distribution Identifier
35423 , p_source_104 IN NUMBER
35424 --Payment Supplier Identifier
35425 , p_source_110 IN NUMBER
35426 --Payment Supplier Site Identifier
35427 , p_source_111 IN NUMBER
35428 --Payment Distribution Reversed Identifier
35429 , p_source_112 IN NUMBER
35430 --Pooled Bank Account Option
35431 , p_source_113 IN VARCHAR2
35432 , p_source_113_meaning IN VARCHAR2
35433 --Payment Maturity Date
35434 , p_source_114 IN DATE
35435 --Payment Distribution (Payment Rate) Ledger Amount
35436 , p_source_115 IN NUMBER
35437 --Payment Exchange Date
35438 , p_source_117 IN DATE
35439 --Payment Exchange Rate
35440 , p_source_118 IN NUMBER
35441 --Payment Exchange Rate Type
35442 , p_source_119 IN VARCHAR2
35443 --Payment Type
35444 , p_source_122 IN VARCHAR2
35445 , p_source_122_meaning IN VARCHAR2
35446 --Payment Processing Type
35447 , p_source_123 IN VARCHAR2
35448 --Invoice Distribution Amount of the Payment Distribution
35449 , p_source_124 IN NUMBER
35450 )
35451 IS
35452
35453 l_component_type VARCHAR2(80);
35454 l_component_code VARCHAR2(30);
35455 l_component_type_code VARCHAR2(1);
35456 l_component_appl_id INTEGER;
35457 l_amb_context_code VARCHAR2(30);
35458 l_entity_code VARCHAR2(30);
35459 l_event_class_code VARCHAR2(30);
35460 l_ae_header_id NUMBER;
35461 l_event_type_code VARCHAR2(30);
35462 l_line_definition_code VARCHAR2(30);
35463 l_line_definition_owner_code VARCHAR2(1);
35464 --
35465 -- adr variables
35466 l_segment VARCHAR2(30);
35467 l_ccid NUMBER;
35468 l_adr_transaction_coa_id NUMBER;
35469 l_adr_accounting_coa_id NUMBER;
35470 l_adr_flexfield_segment_code VARCHAR2(30);
35471 l_adr_flex_value_set_id NUMBER;
35472 l_adr_value_type_code VARCHAR2(30);
35473 l_adr_value_combination_id NUMBER;
35474 l_adr_value_segment_code VARCHAR2(30);
35475
35476 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
35477 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
35478 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
35479 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
35480
35481 -- 4262811 Variables ------------------------------------------------------------------------------------------
35482 l_entered_amt_idx NUMBER;
35483 l_accted_amt_idx NUMBER;
35484 l_acc_rev_flag VARCHAR2(1);
35485 l_accrual_line_num NUMBER;
35486 l_tmp_amt NUMBER;
35490 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
35487 l_acc_rev_natural_side_code VARCHAR2(1);
35488
35489 l_num_entries NUMBER;
35491 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
35492 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
35493 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
35494 l_recog_line_1 NUMBER;
35495 l_recog_line_2 NUMBER;
35496
35497 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
35498 l_bflow_applied_to_amt NUMBER; -- 5132302
35499 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
35500
35501 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
35502
35503 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
35504 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
35505
35506 ---------------------------------------------------------------------------------------------------------------
35507
35508
35509 --
35510 -- bulk performance
35511 --
35512 l_balance_type_code VARCHAR2(1);
35513 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
35514 l_log_module VARCHAR2(240);
35515
35516 --
35517 -- Upgrade strategy
35518 --
35519 l_actual_upg_option VARCHAR2(1);
35520 l_enc_upg_option VARCHAR2(1);
35521
35522 --
35523 BEGIN
35524 --
35525 IF g_log_enabled THEN
35526 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_85';
35527 END IF;
35528 --
35529 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
35530
35531 trace
35532 (p_msg => 'BEGIN of AcctLineType_85'
35533 ,p_level => C_LEVEL_PROCEDURE
35534 ,p_module => l_log_module);
35535
35536 END IF;
35537 --
35538 l_component_type := 'AMB_JLT';
35539 l_component_code := 'AP_CASH_PMT';
35540 l_component_type_code := 'S';
35541 l_component_appl_id := 200;
35542 l_amb_context_code := 'DEFAULT';
35543 l_entity_code := 'AP_PAYMENTS';
35544 l_event_class_code := 'PAYMENTS';
35545 l_event_type_code := 'PAYMENTS_ALL';
35546 l_line_definition_owner_code := 'S';
35547 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
35548 --
35549 l_balance_type_code := 'A';
35550 l_segment := NULL;
35551 l_ccid := NULL;
35552 l_adr_transaction_coa_id := NULL;
35553 l_adr_accounting_coa_id := NULL;
35554 l_adr_flexfield_segment_code := NULL;
35555 l_adr_flex_value_set_id := NULL;
35556 l_adr_value_type_code := NULL;
35557 l_adr_value_combination_id := NULL;
35558 l_adr_value_segment_code := NULL;
35559
35560 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
35561 l_bflow_class_code := ''; -- 4219869 Business Flow
35562 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
35563 l_budgetary_control_flag := 'N';
35564
35565 l_bflow_applied_to_amt_idx := NULL; -- 5132302
35566 l_bflow_applied_to_amt := NULL; -- 5132302
35567 l_entered_amt_idx := NULL; -- 4262811
35568 l_accted_amt_idx := NULL; -- 4262811
35569 l_acc_rev_flag := NULL; -- 4262811
35570 l_accrual_line_num := NULL; -- 4262811
35571 l_tmp_amt := NULL; -- 4262811
35572 --
35573
35574 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
35575 l_balance_type_code <> 'B' THEN
35576 IF NVL(p_source_97,'
35577 ') = 'ISSUE_ISSUE' AND
35578 (NVL(p_source_47,'
35579 ') <> 'Y' OR
35580 NVL(p_source_47,'
35581 ') = 'Y' AND
35582 NVL(p_source_113,'
35583 ') <> 'Y') AND
35584 p_source_114 IS NULL AND
35585 NVL(p_source_98,'
35586 ') = 'CASH' AND
35587 NVL(p_source_122,'
35588 ') <> 'R' AND
35589 NVL(p_source_123,'
35590 ') <> 'PAYMENTCARD'
35591 THEN
35592
35593 --
35594 XLA_AE_LINES_PKG.SetNewLine;
35595
35596 p_balance_type_code := l_balance_type_code;
35597 -- set the flag so later we will know whether the gain loss line needs to be created
35598
35599 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
35600 p_actual_flag :='A';
35601 END IF;
35602
35603 --
35604 -- bulk performance
35605 --
35606 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
35607 p_header_num => 0); -- 4262811
35608 --
35609 -- set accounting line options
35610 --
35611 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
35612 p_natural_side_code => 'C'
35613 , p_gain_or_loss_flag => 'N'
35614 , p_gl_transfer_mode_code => 'S'
35615 , p_acct_entry_type_code => 'A'
35616 , p_switch_side_flag => 'Y'
35617 , p_merge_duplicate_code => 'A'
35618 );
35619 --
35620 l_acc_rev_natural_side_code := 'D'; -- 4262811
35621 --
35622 --
35623 -- set accounting line type info
35624 --
35625 xla_ae_lines_pkg.SetAcctLineType
35626 (p_component_type => l_component_type
35630 ,p_accounting_line_code => l_component_code
35627 ,p_event_type_code => l_event_type_code
35628 ,p_line_definition_owner_code => l_line_definition_owner_code
35629 ,p_line_definition_code => l_line_definition_code
35631 ,p_accounting_line_type_code => l_component_type_code
35632 ,p_accounting_line_appl_id => l_component_appl_id
35633 ,p_amb_context_code => l_amb_context_code
35634 ,p_entity_code => l_entity_code
35635 ,p_event_class_code => l_event_class_code);
35636 --
35637 -- set accounting class
35638 --
35639 xla_ae_lines_pkg.SetAcctClass(
35640 p_accounting_class_code => 'CASH'
35641 , p_ae_header_id => l_ae_header_id
35642 );
35643
35644 --
35645 -- set rounding class
35646 --
35647 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
35648 'CASH';
35649
35650 --
35651 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
35652 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
35653 --
35654 -- bulk performance
35655 --
35656 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
35657
35658 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
35659 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
35660
35661 -- 4955764
35662 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35663 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
35664
35665 -- 4458381 Public Sector Enh
35666
35667 --
35668 -- set accounting attributes for the line type
35669 --
35670 l_entered_amt_idx := 10;
35671 l_accted_amt_idx := 15;
35672 l_bflow_applied_to_amt_idx := 2; -- 5132302
35673 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
35674 l_rec_acct_attrs.array_char_value(1) := p_source_53;
35675 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
35676 l_rec_acct_attrs.array_num_value(2) := p_source_124;
35677 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
35678 l_rec_acct_attrs.array_num_value(3) := p_source_91;
35679 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
35680 l_rec_acct_attrs.array_char_value(4) := p_source_92;
35681 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
35682 l_rec_acct_attrs.array_char_value(5) := p_source_93;
35683 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
35684 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
35685 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
35686 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
35687 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
35688 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
35689 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
35690 l_rec_acct_attrs.array_char_value(9) := p_source_55;
35691 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
35692 l_rec_acct_attrs.array_num_value(10) := p_source_99;
35693 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
35694 l_rec_acct_attrs.array_char_value(11) := p_source_13;
35695 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
35696 l_rec_acct_attrs.array_date_value(12) := p_source_117;
35697 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
35698 l_rec_acct_attrs.array_num_value(13) := p_source_118;
35699 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
35700 l_rec_acct_attrs.array_char_value(14) := p_source_119;
35701 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
35702 l_rec_acct_attrs.array_num_value(15) := p_source_115;
35703 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
35704 l_rec_acct_attrs.array_char_value(16) := p_source_80;
35705 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
35706 l_rec_acct_attrs.array_num_value(17) := p_source_110;
35707 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
35708 l_rec_acct_attrs.array_num_value(18) := p_source_111;
35709 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
35710 l_rec_acct_attrs.array_char_value(19) := p_source_83;
35711 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
35712 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
35713 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
35714 l_rec_acct_attrs.array_char_value(21) := p_source_55;
35715 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
35716 l_rec_acct_attrs.array_num_value(22) := p_source_86;
35717 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
35718 l_rec_acct_attrs.array_num_value(23) := p_source_87;
35719 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
35720 l_rec_acct_attrs.array_num_value(24) := p_source_88;
35721
35722 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
35723 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
35724
35728 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
35725 ---------------------------------------------------------------------------------------------------------------
35726 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35727 ---------------------------------------------------------------------------------------------------------------
35729
35730 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35731 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35732
35733 IF xla_accounting_cache_pkg.GetValueChar
35734 (p_source_code => 'LEDGER_CATEGORY_CODE'
35735 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
35736 AND l_bflow_method_code = 'PRIOR_ENTRY'
35737 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
35738 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
35739 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
35740 )
35741 THEN
35742 xla_ae_lines_pkg.BflowUpgEntry
35743 (p_business_method_code => l_bflow_method_code
35744 ,p_business_class_code => l_bflow_class_code
35745 ,p_balance_type => l_balance_type_code);
35746 ELSE
35747 NULL;
35748 -- No business flow processing for business flow method of NONE.
35749 END IF;
35750
35751 --
35752 -- call analytical criteria
35753 --
35754
35755 --
35756 -- call description
35757 --
35758 -- No description or it is inherited.
35759 --
35760 -- call ADRs
35761 -- Bug 4922099
35762 --
35763 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
35764 (NVL(l_actual_upg_option, 'N') = 'O') OR
35765 (NVL(l_enc_upg_option, 'N') = 'O')
35766 )
35767 THEN
35768 NULL;
35769 --
35770 --
35771
35772 l_ccid := AcctDerRule_28(
35773 p_application_id => p_application_id
35774 , p_ae_header_id => l_ae_header_id
35775 , p_source_17 => p_source_17
35776 , x_transaction_coa_id => l_adr_transaction_coa_id
35777 , x_accounting_coa_id => l_adr_accounting_coa_id
35778 , x_value_type_code => l_adr_value_type_code
35779 , p_side => 'NA'
35780 );
35781
35782 xla_ae_lines_pkg.set_ccid(
35783 p_code_combination_id => l_ccid
35784 , p_value_type_code => l_adr_value_type_code
35785 , p_transaction_coa_id => l_adr_transaction_coa_id
35786 , p_accounting_coa_id => l_adr_accounting_coa_id
35787 , p_adr_code => 'AP_CASH'
35788 , p_adr_type_code => 'S'
35789 , p_component_type => l_component_type
35790 , p_component_code => l_component_code
35791 , p_component_type_code => l_component_type_code
35792 , p_component_appl_id => l_component_appl_id
35793 , p_amb_context_code => l_amb_context_code
35794 , p_side => 'NA'
35795 );
35796
35797
35798 --
35799 --
35800 END IF;
35801 --
35802 -- Bug 4922099
35803 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
35804 (NVL(l_enc_upg_option, 'N') = 'O')
35805 ) AND
35806 (l_bflow_method_code = 'PRIOR_ENTRY')
35807 )
35808 THEN
35809 IF
35810 --
35811 1 = 2
35812 --
35813 THEN
35814 xla_accounting_err_pkg.build_message
35815 (p_appli_s_name => 'XLA'
35816 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
35817 ,p_token_1 => 'LINE_NUMBER'
35818 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
35819 ,p_token_2 => 'LINE_TYPE_NAME'
35820 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
35821 l_component_type
35822 ,l_component_code
35823 ,l_component_type_code
35824 ,l_component_appl_id
35825 ,l_amb_context_code
35826 ,l_entity_code
35827 ,l_event_class_code
35828 )
35829 ,p_token_3 => 'OWNER'
35830 ,p_value_3 => xla_lookups_pkg.get_meaning(
35831 p_lookup_type => 'XLA_OWNER_TYPE'
35832 ,p_lookup_code => l_component_type_code
35833 )
35834 ,p_token_4 => 'PRODUCT_NAME'
35838 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
35835 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
35836 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
35837 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
35839 ,p_ae_header_id => NULL
35840 );
35841
35842 IF (C_LEVEL_ERROR>= g_log_level) THEN
35843 trace
35844 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
35845 ,p_level => C_LEVEL_ERROR
35846 ,p_module => l_log_module);
35847 END IF;
35848 END IF;
35849 END IF;
35850 --
35851 --
35852 ------------------------------------------------------------------------------------------------
35853 -- 4219869 Business Flow
35854 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
35855 -- Prior Entry. Currently, the following code is always generated.
35856 ------------------------------------------------------------------------------------------------
35857 XLA_AE_LINES_PKG.ValidateCurrentLine;
35858
35859 ------------------------------------------------------------------------------------
35860 -- 4219869 Business Flow
35861 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
35862 ------------------------------------------------------------------------------------
35863 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
35864
35865 ----------------------------------------------------------------------------------
35866 -- 4219869 Business Flow
35867 -- Update journal entry status -- Need to generate this within IF <condition>
35868 ----------------------------------------------------------------------------------
35869 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
35870 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
35871 ,p_balance_type_code => l_balance_type_code
35872 );
35873
35874 -------------------------------------------------------------------------------------------
35875 -- 4262811 - Generate the Accrual Reversal lines
35876 -------------------------------------------------------------------------------------------
35877 BEGIN
35878 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
35879 (g_array_event(p_event_id).array_value_num('header_index'));
35880 IF l_acc_rev_flag IS NULL THEN
35881 l_acc_rev_flag := 'N';
35882 END IF;
35883 EXCEPTION
35884 WHEN OTHERS THEN
35885 l_acc_rev_flag := 'N';
35886 END;
35887 --
35888 IF (l_acc_rev_flag = 'Y') THEN
35889
35890 -- 4645092 ------------------------------------------------------------------------------
35891 -- To allow MPA report to determine if it should generate report process
35892 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
35893 ------------------------------------------------------------------------------------------
35894
35895 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
35896 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
35897 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
35898 -- call ADRs
35899 -- Bug 4922099
35900 --
35901 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
35902 (NVL(l_actual_upg_option, 'N') = 'O') OR
35903 (NVL(l_enc_upg_option, 'N') = 'O')
35904 )
35905 THEN
35906 NULL;
35907 --
35908 --
35909
35910 l_ccid := AcctDerRule_28(
35911 p_application_id => p_application_id
35912 , p_ae_header_id => l_ae_header_id
35913 , p_source_17 => p_source_17
35914 , x_transaction_coa_id => l_adr_transaction_coa_id
35915 , x_accounting_coa_id => l_adr_accounting_coa_id
35916 , x_value_type_code => l_adr_value_type_code
35917 , p_side => 'NA'
35918 );
35919
35920 xla_ae_lines_pkg.set_ccid(
35921 p_code_combination_id => l_ccid
35922 , p_value_type_code => l_adr_value_type_code
35923 , p_transaction_coa_id => l_adr_transaction_coa_id
35924 , p_accounting_coa_id => l_adr_accounting_coa_id
35925 , p_adr_code => 'AP_CASH'
35926 , p_adr_type_code => 'S'
35927 , p_component_type => l_component_type
35928 , p_component_code => l_component_code
35929 , p_component_type_code => l_component_type_code
35930 , p_component_appl_id => l_component_appl_id
35931 , p_amb_context_code => l_amb_context_code
35932 , p_side => 'NA'
35933 );
35934
35935
35936 --
35937 --
35938 END IF;
35939
35940 --
35941 -- Update the line information that should be overwritten
35942 --
35943 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
35944 p_header_num => 1);
35945 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
35946
35950 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
35947 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
35948
35949 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
35951 END IF;
35952
35953 --
35954 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
35955 --
35956 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
35957 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
35958 ELSE
35959 ---------------------------------------------------------------------------------------------------
35960 -- 4262811a Switch Sign
35961 ---------------------------------------------------------------------------------------------------
35962 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
35963 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35964 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35965 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35966 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35967 -- 5132302
35968 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
35969 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35970
35971 END IF;
35972
35973 -- 4955764
35974 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35975 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
35976
35977
35978 XLA_AE_LINES_PKG.ValidateCurrentLine;
35979 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
35980
35981 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
35982 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
35983 ,p_balance_type_code => l_balance_type_code);
35984
35985 END IF;
35986
35987 -----------------------------------------------------------------------------------------
35988 -- 4262811 Multiperiod Accounting
35989 -----------------------------------------------------------------------------------------
35990 -- No MPA option is assigned.
35991
35992
35993 END IF;
35994 END IF;
35995 --
35996
35997 --
35998 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
35999 trace
36000 (p_msg => 'END of AcctLineType_85'
36001 ,p_level => C_LEVEL_PROCEDURE
36002 ,p_module => l_log_module);
36003 END IF;
36004 --
36005 EXCEPTION
36006 WHEN xla_exceptions_pkg.application_exception THEN
36007 RAISE;
36008 WHEN OTHERS THEN
36009 xla_exceptions_pkg.raise_message
36010 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_85');
36011 END AcctLineType_85;
36012 --
36013
36014 ---------------------------------------
36015 --
36016 -- PRIVATE FUNCTION
36017 -- AcctLineType_86
36018 --
36019 ---------------------------------------
36020 PROCEDURE AcctLineType_86 (
36021 p_application_id IN NUMBER
36022 ,p_event_id IN NUMBER
36023 ,p_calculate_acctd_flag IN VARCHAR2
36024 ,p_calculate_g_l_flag IN VARCHAR2
36025 ,p_actual_flag IN OUT VARCHAR2
36026 ,p_balance_type_code OUT VARCHAR2
36027 ,p_gain_or_loss_ref OUT VARCHAR2
36028
36029 --Payment Currency Code
36030 , p_source_13 IN VARCHAR2
36031 --Automatic Offsets Value
36032 , p_source_15 IN VARCHAR2
36033 , p_source_15_meaning IN VARCHAR2
36034 --Bank Cash Account
36035 , p_source_17 IN NUMBER
36036 --Accounting Reversal Indicator
36037 , p_source_53 IN VARCHAR2
36038 --Distribution Link Type
36039 , p_source_55 IN VARCHAR2
36040 --Override Accounted Amount Indicator
36041 , p_source_80 IN VARCHAR2
36042 , p_source_80_meaning IN VARCHAR2
36043 --Third Party Type
36044 , p_source_83 IN VARCHAR2
36045 --Invoice Distribution Tax Line Identifier
36046 , p_source_86 IN NUMBER
36047 --Invoice Distribution Tax Distribution Identifier from Tax
36048 , p_source_87 IN NUMBER
36049 --Invoice Distribution Summary Tax Line Identifier
36050 , p_source_88 IN NUMBER
36051 --Business Flow Accounts Payable Application Identifier
36052 , p_source_91 IN NUMBER
36053 --Business Flow Invoice Distribution Type
36054 , p_source_92 IN VARCHAR2
36055 --Business Flow Invoice Entity Code
36056 , p_source_93 IN VARCHAR2
36057 --Business Flow Invoice Distribution Identifier
36058 , p_source_94 IN NUMBER
36059 --Business Flow Invoice Identifier
36060 , p_source_95 IN NUMBER
36061 --When to Account for Payment Option
36062 , p_source_97 IN VARCHAR2
36063 --Payment Distribution Type
36064 , p_source_98 IN VARCHAR2
36065 , p_source_98_meaning IN VARCHAR2
36066 --Payment Distribution Amount
36067 , p_source_99 IN NUMBER
36068 --Payment Distribution Identifier
36072 --Payment Supplier Site Identifier
36069 , p_source_104 IN NUMBER
36070 --Payment Supplier Identifier
36071 , p_source_110 IN NUMBER
36073 , p_source_111 IN NUMBER
36074 --Payment Distribution Reversed Identifier
36075 , p_source_112 IN NUMBER
36076 --Pooled Bank Account Option
36077 , p_source_113 IN VARCHAR2
36078 , p_source_113_meaning IN VARCHAR2
36079 --Payment Maturity Date
36080 , p_source_114 IN DATE
36081 --Payment Distribution (Payment Rate) Ledger Amount
36082 , p_source_115 IN NUMBER
36083 --Payment Exchange Date
36084 , p_source_117 IN DATE
36085 --Payment Exchange Rate
36086 , p_source_118 IN NUMBER
36087 --Payment Exchange Rate Type
36088 , p_source_119 IN VARCHAR2
36089 --Payment Type
36090 , p_source_122 IN VARCHAR2
36091 , p_source_122_meaning IN VARCHAR2
36092 --Payment Processing Type
36093 , p_source_123 IN VARCHAR2
36094 --Invoice Distribution Amount of the Payment Distribution
36095 , p_source_124 IN NUMBER
36096 )
36097 IS
36098
36099 l_component_type VARCHAR2(80);
36100 l_component_code VARCHAR2(30);
36101 l_component_type_code VARCHAR2(1);
36102 l_component_appl_id INTEGER;
36103 l_amb_context_code VARCHAR2(30);
36104 l_entity_code VARCHAR2(30);
36105 l_event_class_code VARCHAR2(30);
36106 l_ae_header_id NUMBER;
36107 l_event_type_code VARCHAR2(30);
36108 l_line_definition_code VARCHAR2(30);
36109 l_line_definition_owner_code VARCHAR2(1);
36110 --
36111 -- adr variables
36112 l_segment VARCHAR2(30);
36113 l_ccid NUMBER;
36114 l_adr_transaction_coa_id NUMBER;
36115 l_adr_accounting_coa_id NUMBER;
36116 l_adr_flexfield_segment_code VARCHAR2(30);
36117 l_adr_flex_value_set_id NUMBER;
36118 l_adr_value_type_code VARCHAR2(30);
36119 l_adr_value_combination_id NUMBER;
36120 l_adr_value_segment_code VARCHAR2(30);
36121
36122 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
36123 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
36124 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
36125 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
36126
36127 -- 4262811 Variables ------------------------------------------------------------------------------------------
36128 l_entered_amt_idx NUMBER;
36129 l_accted_amt_idx NUMBER;
36130 l_acc_rev_flag VARCHAR2(1);
36131 l_accrual_line_num NUMBER;
36132 l_tmp_amt NUMBER;
36133 l_acc_rev_natural_side_code VARCHAR2(1);
36134
36135 l_num_entries NUMBER;
36136 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
36137 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
36138 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
36139 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
36140 l_recog_line_1 NUMBER;
36141 l_recog_line_2 NUMBER;
36142
36143 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
36144 l_bflow_applied_to_amt NUMBER; -- 5132302
36145 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
36146
36147 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
36148
36149 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
36150 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
36151
36152 ---------------------------------------------------------------------------------------------------------------
36153
36154
36155 --
36156 -- bulk performance
36157 --
36158 l_balance_type_code VARCHAR2(1);
36159 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
36160 l_log_module VARCHAR2(240);
36161
36162 --
36163 -- Upgrade strategy
36164 --
36165 l_actual_upg_option VARCHAR2(1);
36166 l_enc_upg_option VARCHAR2(1);
36167
36168 --
36169 BEGIN
36170 --
36171 IF g_log_enabled THEN
36172 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_86';
36173 END IF;
36174 --
36175 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
36176
36177 trace
36178 (p_msg => 'BEGIN of AcctLineType_86'
36179 ,p_level => C_LEVEL_PROCEDURE
36180 ,p_module => l_log_module);
36181
36182 END IF;
36183 --
36184 l_component_type := 'AMB_JLT';
36185 l_component_code := 'AP_CASH_PMT_AOS_AS';
36186 l_component_type_code := 'S';
36187 l_component_appl_id := 200;
36188 l_amb_context_code := 'DEFAULT';
36189 l_entity_code := 'AP_PAYMENTS';
36190 l_event_class_code := 'PAYMENTS';
36191 l_event_type_code := 'PAYMENTS_ALL';
36192 l_line_definition_owner_code := 'S';
36193 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
36194 --
36195 l_balance_type_code := 'A';
36196 l_segment := NULL;
36197 l_ccid := NULL;
36198 l_adr_transaction_coa_id := NULL;
36202 l_adr_value_type_code := NULL;
36199 l_adr_accounting_coa_id := NULL;
36200 l_adr_flexfield_segment_code := NULL;
36201 l_adr_flex_value_set_id := NULL;
36203 l_adr_value_combination_id := NULL;
36204 l_adr_value_segment_code := NULL;
36205
36206 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
36207 l_bflow_class_code := ''; -- 4219869 Business Flow
36208 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
36209 l_budgetary_control_flag := 'N';
36210
36211 l_bflow_applied_to_amt_idx := NULL; -- 5132302
36212 l_bflow_applied_to_amt := NULL; -- 5132302
36213 l_entered_amt_idx := NULL; -- 4262811
36214 l_accted_amt_idx := NULL; -- 4262811
36215 l_acc_rev_flag := NULL; -- 4262811
36216 l_accrual_line_num := NULL; -- 4262811
36217 l_tmp_amt := NULL; -- 4262811
36218 --
36219
36220 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
36221 l_balance_type_code <> 'B' THEN
36222 IF NVL(p_source_97,'
36223 ') = 'ISSUE_ISSUE' AND
36224 (NVL(p_source_113,'
36225 ') = 'Y' AND
36226 NVL(p_source_15,'
36227 ') = 'ACCOUNT_SEGMENT_VALUE') AND
36228 p_source_114 IS NULL AND
36229 NVL(p_source_98,'
36230 ') = 'CASH' AND
36231 NVL(p_source_122,'
36232 ') <> 'R' AND
36233 NVL(p_source_123,'
36234 ') <> 'PAYMENTCARD'
36235 THEN
36236
36237 --
36238 XLA_AE_LINES_PKG.SetNewLine;
36239
36240 p_balance_type_code := l_balance_type_code;
36241 -- set the flag so later we will know whether the gain loss line needs to be created
36242
36243 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
36244 p_actual_flag :='A';
36245 END IF;
36246
36247 --
36248 -- bulk performance
36249 --
36250 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
36251 p_header_num => 0); -- 4262811
36252 --
36253 -- set accounting line options
36254 --
36255 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
36256 p_natural_side_code => 'C'
36257 , p_gain_or_loss_flag => 'N'
36258 , p_gl_transfer_mode_code => 'S'
36259 , p_acct_entry_type_code => 'A'
36260 , p_switch_side_flag => 'Y'
36261 , p_merge_duplicate_code => 'A'
36262 );
36263 --
36264 l_acc_rev_natural_side_code := 'D'; -- 4262811
36265 --
36266 --
36267 -- set accounting line type info
36268 --
36269 xla_ae_lines_pkg.SetAcctLineType
36270 (p_component_type => l_component_type
36271 ,p_event_type_code => l_event_type_code
36272 ,p_line_definition_owner_code => l_line_definition_owner_code
36273 ,p_line_definition_code => l_line_definition_code
36274 ,p_accounting_line_code => l_component_code
36275 ,p_accounting_line_type_code => l_component_type_code
36276 ,p_accounting_line_appl_id => l_component_appl_id
36277 ,p_amb_context_code => l_amb_context_code
36278 ,p_entity_code => l_entity_code
36279 ,p_event_class_code => l_event_class_code);
36280 --
36281 -- set accounting class
36282 --
36283 xla_ae_lines_pkg.SetAcctClass(
36284 p_accounting_class_code => 'CASH'
36285 , p_ae_header_id => l_ae_header_id
36286 );
36287
36288 --
36289 -- set rounding class
36290 --
36291 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
36292 'CASH';
36293
36294 --
36295 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
36296 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
36297 --
36298 -- bulk performance
36299 --
36300 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
36301
36302 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
36303 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
36304
36305 -- 4955764
36306 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
36307 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
36308
36309 -- 4458381 Public Sector Enh
36310
36311 --
36312 -- set accounting attributes for the line type
36313 --
36314 l_entered_amt_idx := 10;
36315 l_accted_amt_idx := 15;
36316 l_bflow_applied_to_amt_idx := 2; -- 5132302
36317 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
36318 l_rec_acct_attrs.array_char_value(1) := p_source_53;
36319 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
36320 l_rec_acct_attrs.array_num_value(2) := p_source_124;
36321 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
36322 l_rec_acct_attrs.array_num_value(3) := p_source_91;
36323 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
36324 l_rec_acct_attrs.array_char_value(4) := p_source_92;
36325 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
36329 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
36326 l_rec_acct_attrs.array_char_value(5) := p_source_93;
36327 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
36328 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
36330 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
36331 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
36332 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
36333 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
36334 l_rec_acct_attrs.array_char_value(9) := p_source_55;
36335 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
36336 l_rec_acct_attrs.array_num_value(10) := p_source_99;
36337 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
36338 l_rec_acct_attrs.array_char_value(11) := p_source_13;
36339 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
36340 l_rec_acct_attrs.array_date_value(12) := p_source_117;
36341 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
36342 l_rec_acct_attrs.array_num_value(13) := p_source_118;
36343 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
36344 l_rec_acct_attrs.array_char_value(14) := p_source_119;
36345 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
36346 l_rec_acct_attrs.array_num_value(15) := p_source_115;
36347 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
36348 l_rec_acct_attrs.array_char_value(16) := p_source_80;
36349 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
36350 l_rec_acct_attrs.array_num_value(17) := p_source_110;
36351 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
36352 l_rec_acct_attrs.array_num_value(18) := p_source_111;
36353 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
36354 l_rec_acct_attrs.array_char_value(19) := p_source_83;
36355 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
36356 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
36357 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
36358 l_rec_acct_attrs.array_char_value(21) := p_source_55;
36359 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
36360 l_rec_acct_attrs.array_num_value(22) := p_source_86;
36361 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
36362 l_rec_acct_attrs.array_num_value(23) := p_source_87;
36363 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
36364 l_rec_acct_attrs.array_num_value(24) := p_source_88;
36365
36366 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
36367 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
36368
36369 ---------------------------------------------------------------------------------------------------------------
36370 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
36371 ---------------------------------------------------------------------------------------------------------------
36372 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
36373
36374 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
36375 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
36376
36377 IF xla_accounting_cache_pkg.GetValueChar
36378 (p_source_code => 'LEDGER_CATEGORY_CODE'
36379 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
36380 AND l_bflow_method_code = 'PRIOR_ENTRY'
36381 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
36382 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
36383 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
36384 )
36385 THEN
36386 xla_ae_lines_pkg.BflowUpgEntry
36387 (p_business_method_code => l_bflow_method_code
36388 ,p_business_class_code => l_bflow_class_code
36389 ,p_balance_type => l_balance_type_code);
36390 ELSE
36391 NULL;
36392 XLA_AE_LINES_PKG.business_flow_validation(
36393 p_business_method_code => l_bflow_method_code
36394 ,p_business_class_code => l_bflow_class_code
36395 ,p_inherit_description_flag => l_inherit_desc_flag);
36396 END IF;
36397
36398 --
36399 -- call analytical criteria
36400 --
36401
36402 --
36403 -- call description
36404 --
36405 -- No description or it is inherited.
36406 --
36407 -- call ADRs
36408 -- Bug 4922099
36409 --
36410 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
36411 (NVL(l_actual_upg_option, 'N') = 'O') OR
36412 (NVL(l_enc_upg_option, 'N') = 'O')
36413 )
36414 THEN
36415 NULL;
36416 --
36417 --
36418
36419 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
36420 p_code_combination_id => TO_NUMBER(C_NUM)
36421 , p_value_type_code => NULL
36422 , p_transaction_coa_id => null
36423 , p_accounting_coa_id => null
36424 , p_adr_code => NULL
36425 , p_adr_type_code => NULL
36426 , p_component_type => l_component_type
36427 , p_component_code => l_component_code
36431 , p_side => NULL
36428 , p_component_type_code => l_component_type_code
36429 , p_component_appl_id => l_component_appl_id
36430 , p_amb_context_code => l_amb_context_code
36432 );
36433
36434
36435 -- initialise segments
36436 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36437 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36438 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36439 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36440 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36441 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36442 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36443 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36444 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36445 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36446 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36447 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36448 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36449 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36450 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36451 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36452 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36453 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36454 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36455 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36456 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36457 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36458 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36459 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36460 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36461 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36462 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36463 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36464 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36465 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36466 --
36467
36468 --
36469
36470
36471 l_segment := AcctDerRule_6(
36472 p_application_id => p_application_id
36473 , p_ae_header_id => l_ae_header_id
36474 , p_source_17 => p_source_17
36475 , x_transaction_coa_id => l_adr_transaction_coa_id
36476 , x_accounting_coa_id => l_adr_accounting_coa_id
36477 , x_flexfield_segment_code => l_adr_flexfield_segment_code
36478 , x_flex_value_set_id => l_adr_flex_value_set_id
36479 , x_value_type_code => l_adr_value_type_code
36480 , x_value_combination_id => l_adr_value_combination_id
36481 , x_value_segment_code => l_adr_value_segment_code
36482 , p_side => 'NA'
36483 , p_override_seg_flag => 'Y'
36484 );
36485
36486 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
36487
36488 xla_ae_lines_pkg.set_segment(
36489 p_to_segment_code => 'GL_ACCOUNT'
36490 , p_segment_value => l_segment
36491 , p_from_segment_code => l_adr_value_segment_code
36492 , p_from_combination_id => l_adr_value_combination_id
36493 , p_value_type_code => l_adr_value_type_code
36494 , p_transaction_coa_id => l_adr_transaction_coa_id
36495 , p_accounting_coa_id => l_adr_accounting_coa_id
36496 , p_flexfield_segment_code => l_adr_flexfield_segment_code
36497 , p_flex_value_set_id => l_adr_flex_value_set_id
36498 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
36499 , p_adr_type_code => 'S'
36500 , p_component_type => l_component_type
36501 , p_component_code => l_component_code
36502 , p_component_type_code => l_component_type_code
36503 , p_component_appl_id => l_component_appl_id
36504 , p_amb_context_code => l_amb_context_code
36505 , p_entity_code => 'AP_PAYMENTS'
36506 , p_event_class_code => 'PAYMENTS'
36507 , p_side => 'NA'
36508 );
36509
36510 END IF;
36511
36512 --
36513 --
36514 END IF;
36515 --
36516 -- Bug 4922099
36517 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
36518 (NVL(l_enc_upg_option, 'N') = 'O')
36519 ) AND
36520 (l_bflow_method_code = 'PRIOR_ENTRY')
36521 )
36522 THEN
36523 IF
36524 --
36525 1 = 2
36526 --
36530 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
36527 THEN
36528 xla_accounting_err_pkg.build_message
36529 (p_appli_s_name => 'XLA'
36531 ,p_token_1 => 'LINE_NUMBER'
36532 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
36533 ,p_token_2 => 'LINE_TYPE_NAME'
36534 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
36535 l_component_type
36536 ,l_component_code
36537 ,l_component_type_code
36538 ,l_component_appl_id
36539 ,l_amb_context_code
36540 ,l_entity_code
36541 ,l_event_class_code
36542 )
36543 ,p_token_3 => 'OWNER'
36544 ,p_value_3 => xla_lookups_pkg.get_meaning(
36545 p_lookup_type => 'XLA_OWNER_TYPE'
36546 ,p_lookup_code => l_component_type_code
36547 )
36548 ,p_token_4 => 'PRODUCT_NAME'
36549 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
36550 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
36551 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
36552 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
36553 ,p_ae_header_id => NULL
36554 );
36555
36556 IF (C_LEVEL_ERROR>= g_log_level) THEN
36557 trace
36558 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
36559 ,p_level => C_LEVEL_ERROR
36560 ,p_module => l_log_module);
36561 END IF;
36562 END IF;
36563 END IF;
36564 --
36565 --
36566 ------------------------------------------------------------------------------------------------
36567 -- 4219869 Business Flow
36568 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
36569 -- Prior Entry. Currently, the following code is always generated.
36570 ------------------------------------------------------------------------------------------------
36571 XLA_AE_LINES_PKG.ValidateCurrentLine;
36572
36573 ------------------------------------------------------------------------------------
36574 -- 4219869 Business Flow
36575 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
36576 ------------------------------------------------------------------------------------
36577 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
36578
36579 ----------------------------------------------------------------------------------
36580 -- 4219869 Business Flow
36581 -- Update journal entry status -- Need to generate this within IF <condition>
36582 ----------------------------------------------------------------------------------
36583 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
36584 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
36585 ,p_balance_type_code => l_balance_type_code
36586 );
36587
36588 -------------------------------------------------------------------------------------------
36589 -- 4262811 - Generate the Accrual Reversal lines
36590 -------------------------------------------------------------------------------------------
36591 BEGIN
36592 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
36593 (g_array_event(p_event_id).array_value_num('header_index'));
36594 IF l_acc_rev_flag IS NULL THEN
36595 l_acc_rev_flag := 'N';
36596 END IF;
36597 EXCEPTION
36598 WHEN OTHERS THEN
36599 l_acc_rev_flag := 'N';
36600 END;
36601 --
36602 IF (l_acc_rev_flag = 'Y') THEN
36603
36604 -- 4645092 ------------------------------------------------------------------------------
36605 -- To allow MPA report to determine if it should generate report process
36606 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
36607 ------------------------------------------------------------------------------------------
36608
36609 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
36610 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
36611 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
36612 -- call ADRs
36613 -- Bug 4922099
36614 --
36615 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
36616 (NVL(l_actual_upg_option, 'N') = 'O') OR
36617 (NVL(l_enc_upg_option, 'N') = 'O')
36618 )
36619 THEN
36620 NULL;
36624 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
36621 --
36622 --
36623
36625 p_code_combination_id => TO_NUMBER(C_NUM)
36626 , p_value_type_code => NULL
36627 , p_transaction_coa_id => null
36628 , p_accounting_coa_id => null
36629 , p_adr_code => NULL
36630 , p_adr_type_code => NULL
36631 , p_component_type => l_component_type
36632 , p_component_code => l_component_code
36633 , p_component_type_code => l_component_type_code
36634 , p_component_appl_id => l_component_appl_id
36635 , p_amb_context_code => l_amb_context_code
36636 , p_side => NULL
36637 );
36638
36639
36640 -- initialise segments
36641 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36642 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36643 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36644 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36645 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36646 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36647 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36648 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36649 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36650 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36651 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36652 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36653 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36654 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36655 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36656 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36657 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36658 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36659 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36660 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36661 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36662 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36663 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36664 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36665 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36666 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36667 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36668 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36669 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36670 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36671 --
36672
36673 --
36674
36675
36676 l_segment := AcctDerRule_6(
36677 p_application_id => p_application_id
36678 , p_ae_header_id => l_ae_header_id
36679 , p_source_17 => p_source_17
36680 , x_transaction_coa_id => l_adr_transaction_coa_id
36681 , x_accounting_coa_id => l_adr_accounting_coa_id
36682 , x_flexfield_segment_code => l_adr_flexfield_segment_code
36683 , x_flex_value_set_id => l_adr_flex_value_set_id
36684 , x_value_type_code => l_adr_value_type_code
36685 , x_value_combination_id => l_adr_value_combination_id
36686 , x_value_segment_code => l_adr_value_segment_code
36687 , p_side => 'NA'
36688 , p_override_seg_flag => 'Y'
36689 );
36690
36691 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
36692
36693 xla_ae_lines_pkg.set_segment(
36694 p_to_segment_code => 'GL_ACCOUNT'
36695 , p_segment_value => l_segment
36696 , p_from_segment_code => l_adr_value_segment_code
36697 , p_from_combination_id => l_adr_value_combination_id
36698 , p_value_type_code => l_adr_value_type_code
36699 , p_transaction_coa_id => l_adr_transaction_coa_id
36700 , p_accounting_coa_id => l_adr_accounting_coa_id
36701 , p_flexfield_segment_code => l_adr_flexfield_segment_code
36702 , p_flex_value_set_id => l_adr_flex_value_set_id
36703 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
36704 , p_adr_type_code => 'S'
36705 , p_component_type => l_component_type
36706 , p_component_code => l_component_code
36707 , p_component_type_code => l_component_type_code
36708 , p_component_appl_id => l_component_appl_id
36709 , p_amb_context_code => l_amb_context_code
36710 , p_entity_code => 'AP_PAYMENTS'
36711 , p_event_class_code => 'PAYMENTS'
36715 END IF;
36712 , p_side => 'NA'
36713 );
36714
36716
36717 --
36718 --
36719 END IF;
36720
36721 --
36722 -- Update the line information that should be overwritten
36723 --
36724 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
36725 p_header_num => 1);
36726 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
36727
36728 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
36729
36730 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
36731 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
36732 END IF;
36733
36734 --
36735 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
36736 --
36737 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
36738 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
36739 ELSE
36740 ---------------------------------------------------------------------------------------------------
36741 -- 4262811a Switch Sign
36742 ---------------------------------------------------------------------------------------------------
36743 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
36744 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36745 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36746 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36747 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36748 -- 5132302
36749 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
36750 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36751
36752 END IF;
36753
36754 -- 4955764
36755 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
36756 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
36757
36758
36759 XLA_AE_LINES_PKG.ValidateCurrentLine;
36760 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
36761
36762 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
36763 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
36764 ,p_balance_type_code => l_balance_type_code);
36765
36766 END IF;
36767
36768 -----------------------------------------------------------------------------------------
36769 -- 4262811 Multiperiod Accounting
36770 -----------------------------------------------------------------------------------------
36771 -- No MPA option is assigned.
36772
36773
36774 END IF;
36775 END IF;
36776 --
36777
36778 --
36779 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
36780 trace
36781 (p_msg => 'END of AcctLineType_86'
36782 ,p_level => C_LEVEL_PROCEDURE
36783 ,p_module => l_log_module);
36784 END IF;
36785 --
36786 EXCEPTION
36787 WHEN xla_exceptions_pkg.application_exception THEN
36788 RAISE;
36789 WHEN OTHERS THEN
36790 xla_exceptions_pkg.raise_message
36791 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_86');
36792 END AcctLineType_86;
36793 --
36794
36795 ---------------------------------------
36796 --
36797 -- PRIVATE FUNCTION
36798 -- AcctLineType_87
36799 --
36800 ---------------------------------------
36801 PROCEDURE AcctLineType_87 (
36802 p_application_id IN NUMBER
36803 ,p_event_id IN NUMBER
36804 ,p_calculate_acctd_flag IN VARCHAR2
36805 ,p_calculate_g_l_flag IN VARCHAR2
36806 ,p_actual_flag IN OUT VARCHAR2
36807 ,p_balance_type_code OUT VARCHAR2
36808 ,p_gain_or_loss_ref OUT VARCHAR2
36809
36810 --Payment Currency Code
36811 , p_source_13 IN VARCHAR2
36812 --Automatic Offsets Value
36813 , p_source_15 IN VARCHAR2
36814 , p_source_15_meaning IN VARCHAR2
36815 --Bank Cash Account
36816 , p_source_17 IN NUMBER
36817 --Accounting Reversal Indicator
36818 , p_source_53 IN VARCHAR2
36819 --Distribution Link Type
36820 , p_source_55 IN VARCHAR2
36821 --Override Accounted Amount Indicator
36822 , p_source_80 IN VARCHAR2
36823 , p_source_80_meaning IN VARCHAR2
36824 --Third Party Type
36825 , p_source_83 IN VARCHAR2
36826 --Invoice Distribution Tax Line Identifier
36827 , p_source_86 IN NUMBER
36828 --Invoice Distribution Tax Distribution Identifier from Tax
36829 , p_source_87 IN NUMBER
36830 --Invoice Distribution Summary Tax Line Identifier
36831 , p_source_88 IN NUMBER
36832 --Business Flow Accounts Payable Application Identifier
36833 , p_source_91 IN NUMBER
36834 --Business Flow Invoice Distribution Type
36835 , p_source_92 IN VARCHAR2
36836 --Business Flow Invoice Entity Code
36840 --Business Flow Invoice Identifier
36837 , p_source_93 IN VARCHAR2
36838 --Business Flow Invoice Distribution Identifier
36839 , p_source_94 IN NUMBER
36841 , p_source_95 IN NUMBER
36842 --When to Account for Payment Option
36843 , p_source_97 IN VARCHAR2
36844 --Payment Distribution Type
36845 , p_source_98 IN VARCHAR2
36846 , p_source_98_meaning IN VARCHAR2
36847 --Payment Distribution Amount
36848 , p_source_99 IN NUMBER
36849 --Payment Distribution Identifier
36850 , p_source_104 IN NUMBER
36851 --Payment Supplier Identifier
36852 , p_source_110 IN NUMBER
36853 --Payment Supplier Site Identifier
36854 , p_source_111 IN NUMBER
36855 --Payment Distribution Reversed Identifier
36856 , p_source_112 IN NUMBER
36857 --Pooled Bank Account Option
36858 , p_source_113 IN VARCHAR2
36859 , p_source_113_meaning IN VARCHAR2
36860 --Payment Maturity Date
36861 , p_source_114 IN DATE
36862 --Payment Distribution (Payment Rate) Ledger Amount
36863 , p_source_115 IN NUMBER
36864 --Payment Exchange Date
36865 , p_source_117 IN DATE
36866 --Payment Exchange Rate
36867 , p_source_118 IN NUMBER
36868 --Payment Exchange Rate Type
36869 , p_source_119 IN VARCHAR2
36870 --Payment Type
36871 , p_source_122 IN VARCHAR2
36872 , p_source_122_meaning IN VARCHAR2
36873 --Payment Processing Type
36874 , p_source_123 IN VARCHAR2
36875 --Invoice Distribution Amount of the Payment Distribution
36876 , p_source_124 IN NUMBER
36877 )
36878 IS
36879
36880 l_component_type VARCHAR2(80);
36881 l_component_code VARCHAR2(30);
36882 l_component_type_code VARCHAR2(1);
36883 l_component_appl_id INTEGER;
36884 l_amb_context_code VARCHAR2(30);
36885 l_entity_code VARCHAR2(30);
36886 l_event_class_code VARCHAR2(30);
36887 l_ae_header_id NUMBER;
36888 l_event_type_code VARCHAR2(30);
36889 l_line_definition_code VARCHAR2(30);
36890 l_line_definition_owner_code VARCHAR2(1);
36891 --
36892 -- adr variables
36893 l_segment VARCHAR2(30);
36894 l_ccid NUMBER;
36895 l_adr_transaction_coa_id NUMBER;
36896 l_adr_accounting_coa_id NUMBER;
36897 l_adr_flexfield_segment_code VARCHAR2(30);
36898 l_adr_flex_value_set_id NUMBER;
36899 l_adr_value_type_code VARCHAR2(30);
36900 l_adr_value_combination_id NUMBER;
36901 l_adr_value_segment_code VARCHAR2(30);
36902
36903 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
36904 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
36905 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
36906 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
36907
36908 -- 4262811 Variables ------------------------------------------------------------------------------------------
36909 l_entered_amt_idx NUMBER;
36910 l_accted_amt_idx NUMBER;
36911 l_acc_rev_flag VARCHAR2(1);
36912 l_accrual_line_num NUMBER;
36913 l_tmp_amt NUMBER;
36914 l_acc_rev_natural_side_code VARCHAR2(1);
36915
36916 l_num_entries NUMBER;
36917 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
36918 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
36919 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
36920 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
36921 l_recog_line_1 NUMBER;
36922 l_recog_line_2 NUMBER;
36923
36924 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
36925 l_bflow_applied_to_amt NUMBER; -- 5132302
36926 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
36927
36928 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
36929
36930 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
36931 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
36932
36933 ---------------------------------------------------------------------------------------------------------------
36934
36935
36936 --
36937 -- bulk performance
36938 --
36939 l_balance_type_code VARCHAR2(1);
36940 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
36941 l_log_module VARCHAR2(240);
36942
36943 --
36944 -- Upgrade strategy
36945 --
36946 l_actual_upg_option VARCHAR2(1);
36947 l_enc_upg_option VARCHAR2(1);
36948
36949 --
36950 BEGIN
36951 --
36952 IF g_log_enabled THEN
36953 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_87';
36954 END IF;
36955 --
36956 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
36957
36958 trace
36959 (p_msg => 'BEGIN of AcctLineType_87'
36960 ,p_level => C_LEVEL_PROCEDURE
36961 ,p_module => l_log_module);
36962
36963 END IF;
36964 --
36965 l_component_type := 'AMB_JLT';
36966 l_component_code := 'AP_CASH_PMT_AOS_BS';
36970 l_entity_code := 'AP_PAYMENTS';
36967 l_component_type_code := 'S';
36968 l_component_appl_id := 200;
36969 l_amb_context_code := 'DEFAULT';
36971 l_event_class_code := 'PAYMENTS';
36972 l_event_type_code := 'PAYMENTS_ALL';
36973 l_line_definition_owner_code := 'S';
36974 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
36975 --
36976 l_balance_type_code := 'A';
36977 l_segment := NULL;
36978 l_ccid := NULL;
36979 l_adr_transaction_coa_id := NULL;
36980 l_adr_accounting_coa_id := NULL;
36981 l_adr_flexfield_segment_code := NULL;
36982 l_adr_flex_value_set_id := NULL;
36983 l_adr_value_type_code := NULL;
36984 l_adr_value_combination_id := NULL;
36985 l_adr_value_segment_code := NULL;
36986
36987 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
36988 l_bflow_class_code := ''; -- 4219869 Business Flow
36989 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
36990 l_budgetary_control_flag := 'N';
36991
36992 l_bflow_applied_to_amt_idx := NULL; -- 5132302
36993 l_bflow_applied_to_amt := NULL; -- 5132302
36994 l_entered_amt_idx := NULL; -- 4262811
36995 l_accted_amt_idx := NULL; -- 4262811
36996 l_acc_rev_flag := NULL; -- 4262811
36997 l_accrual_line_num := NULL; -- 4262811
36998 l_tmp_amt := NULL; -- 4262811
36999 --
37000
37001 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
37002 l_balance_type_code <> 'B' THEN
37003 IF NVL(p_source_97,'
37004 ') = 'ISSUE_ISSUE' AND
37005 (NVL(p_source_113,'
37006 ') = 'Y' AND
37007 NVL(p_source_15,'
37008 ') = 'BALANCING_SEGMENT') AND
37009 p_source_114 IS NULL AND
37010 NVL(p_source_98,'
37011 ') = 'CASH' AND
37012 NVL(p_source_122,'
37013 ') <> 'R' AND
37014 NVL(p_source_123,'
37015 ') <> 'PAYMENTCARD'
37016 THEN
37017
37018 --
37019 XLA_AE_LINES_PKG.SetNewLine;
37020
37021 p_balance_type_code := l_balance_type_code;
37022 -- set the flag so later we will know whether the gain loss line needs to be created
37023
37024 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
37025 p_actual_flag :='A';
37026 END IF;
37027
37028 --
37029 -- bulk performance
37030 --
37031 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
37032 p_header_num => 0); -- 4262811
37033 --
37034 -- set accounting line options
37035 --
37036 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
37037 p_natural_side_code => 'C'
37038 , p_gain_or_loss_flag => 'N'
37039 , p_gl_transfer_mode_code => 'S'
37040 , p_acct_entry_type_code => 'A'
37041 , p_switch_side_flag => 'Y'
37042 , p_merge_duplicate_code => 'A'
37043 );
37044 --
37045 l_acc_rev_natural_side_code := 'D'; -- 4262811
37046 --
37047 --
37048 -- set accounting line type info
37049 --
37050 xla_ae_lines_pkg.SetAcctLineType
37051 (p_component_type => l_component_type
37052 ,p_event_type_code => l_event_type_code
37053 ,p_line_definition_owner_code => l_line_definition_owner_code
37054 ,p_line_definition_code => l_line_definition_code
37055 ,p_accounting_line_code => l_component_code
37056 ,p_accounting_line_type_code => l_component_type_code
37057 ,p_accounting_line_appl_id => l_component_appl_id
37058 ,p_amb_context_code => l_amb_context_code
37059 ,p_entity_code => l_entity_code
37060 ,p_event_class_code => l_event_class_code);
37061 --
37062 -- set accounting class
37063 --
37064 xla_ae_lines_pkg.SetAcctClass(
37065 p_accounting_class_code => 'CASH'
37066 , p_ae_header_id => l_ae_header_id
37067 );
37068
37069 --
37070 -- set rounding class
37071 --
37072 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
37073 'CASH';
37074
37075 --
37076 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
37077 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
37078 --
37079 -- bulk performance
37080 --
37081 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
37082
37083 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
37084 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
37085
37086 -- 4955764
37087 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
37088 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
37089
37090 -- 4458381 Public Sector Enh
37091
37092 --
37093 -- set accounting attributes for the line type
37094 --
37095 l_entered_amt_idx := 10;
37096 l_accted_amt_idx := 15;
37097 l_bflow_applied_to_amt_idx := 2; -- 5132302
37098 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
37102 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
37099 l_rec_acct_attrs.array_char_value(1) := p_source_53;
37100 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
37101 l_rec_acct_attrs.array_num_value(2) := p_source_124;
37103 l_rec_acct_attrs.array_num_value(3) := p_source_91;
37104 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
37105 l_rec_acct_attrs.array_char_value(4) := p_source_92;
37106 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
37107 l_rec_acct_attrs.array_char_value(5) := p_source_93;
37108 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
37109 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
37110 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
37111 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
37112 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
37113 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
37114 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
37115 l_rec_acct_attrs.array_char_value(9) := p_source_55;
37116 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
37117 l_rec_acct_attrs.array_num_value(10) := p_source_99;
37118 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
37119 l_rec_acct_attrs.array_char_value(11) := p_source_13;
37120 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
37121 l_rec_acct_attrs.array_date_value(12) := p_source_117;
37122 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
37123 l_rec_acct_attrs.array_num_value(13) := p_source_118;
37124 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
37125 l_rec_acct_attrs.array_char_value(14) := p_source_119;
37126 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
37127 l_rec_acct_attrs.array_num_value(15) := p_source_115;
37128 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
37129 l_rec_acct_attrs.array_char_value(16) := p_source_80;
37130 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
37131 l_rec_acct_attrs.array_num_value(17) := p_source_110;
37132 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
37133 l_rec_acct_attrs.array_num_value(18) := p_source_111;
37134 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
37135 l_rec_acct_attrs.array_char_value(19) := p_source_83;
37136 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
37137 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
37138 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
37139 l_rec_acct_attrs.array_char_value(21) := p_source_55;
37140 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
37141 l_rec_acct_attrs.array_num_value(22) := p_source_86;
37142 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
37143 l_rec_acct_attrs.array_num_value(23) := p_source_87;
37144 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
37145 l_rec_acct_attrs.array_num_value(24) := p_source_88;
37146
37147 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
37148 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
37149
37150 ---------------------------------------------------------------------------------------------------------------
37151 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
37152 ---------------------------------------------------------------------------------------------------------------
37153 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
37154
37155 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37156 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37157
37158 IF xla_accounting_cache_pkg.GetValueChar
37159 (p_source_code => 'LEDGER_CATEGORY_CODE'
37160 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
37161 AND l_bflow_method_code = 'PRIOR_ENTRY'
37162 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
37163 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
37164 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
37165 )
37166 THEN
37167 xla_ae_lines_pkg.BflowUpgEntry
37168 (p_business_method_code => l_bflow_method_code
37169 ,p_business_class_code => l_bflow_class_code
37170 ,p_balance_type => l_balance_type_code);
37171 ELSE
37172 NULL;
37173 XLA_AE_LINES_PKG.business_flow_validation(
37174 p_business_method_code => l_bflow_method_code
37175 ,p_business_class_code => l_bflow_class_code
37176 ,p_inherit_description_flag => l_inherit_desc_flag);
37177 END IF;
37178
37179 --
37180 -- call analytical criteria
37181 --
37182
37183 --
37184 -- call description
37185 --
37186 -- No description or it is inherited.
37187 --
37188 -- call ADRs
37189 -- Bug 4922099
37190 --
37191 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
37192 (NVL(l_actual_upg_option, 'N') = 'O') OR
37193 (NVL(l_enc_upg_option, 'N') = 'O')
37194 )
37195 THEN
37196 NULL;
37197 --
37198 --
37199
37203 , p_source_17 => p_source_17
37200 l_ccid := AcctDerRule_28(
37201 p_application_id => p_application_id
37202 , p_ae_header_id => l_ae_header_id
37204 , x_transaction_coa_id => l_adr_transaction_coa_id
37205 , x_accounting_coa_id => l_adr_accounting_coa_id
37206 , x_value_type_code => l_adr_value_type_code
37207 , p_side => 'NA'
37208 );
37209
37210 xla_ae_lines_pkg.set_ccid(
37211 p_code_combination_id => l_ccid
37212 , p_value_type_code => l_adr_value_type_code
37213 , p_transaction_coa_id => l_adr_transaction_coa_id
37214 , p_accounting_coa_id => l_adr_accounting_coa_id
37215 , p_adr_code => 'AP_CASH'
37216 , p_adr_type_code => 'S'
37217 , p_component_type => l_component_type
37218 , p_component_code => l_component_code
37219 , p_component_type_code => l_component_type_code
37220 , p_component_appl_id => l_component_appl_id
37221 , p_amb_context_code => l_amb_context_code
37222 , p_side => 'NA'
37223 );
37224
37225
37226 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
37227 p_to_segment_code => 'GL_BALANCING'
37228 , p_segment_value => C_CHAR
37229 , p_from_segment_code => NULL
37230 , p_from_combination_id => NULL
37231 , p_value_type_code => NULL
37232 , p_transaction_coa_id => null
37233 , p_accounting_coa_id => null
37234 , p_flexfield_segment_code => NULL
37235 , p_flex_value_set_id => NULL
37236 , p_adr_code => NULL
37237 , p_adr_type_code => NULL
37238 , p_component_type => l_component_type
37239 , p_component_code => l_component_code
37240 , p_component_type_code => l_component_type_code
37241 , p_component_appl_id => l_component_appl_id
37242 , p_amb_context_code => l_amb_context_code
37243 , p_entity_code => 'AP_PAYMENTS'
37244 , p_event_class_code => 'PAYMENTS'
37245 , p_side => 'NA'
37246 );
37247 --
37248
37249
37250 --
37251 --
37252 END IF;
37253 --
37254 -- Bug 4922099
37255 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
37256 (NVL(l_enc_upg_option, 'N') = 'O')
37257 ) AND
37258 (l_bflow_method_code = 'PRIOR_ENTRY')
37259 )
37260 THEN
37261 IF
37262 --
37263 1 = 2
37264 --
37265 THEN
37266 xla_accounting_err_pkg.build_message
37267 (p_appli_s_name => 'XLA'
37268 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
37269 ,p_token_1 => 'LINE_NUMBER'
37270 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
37271 ,p_token_2 => 'LINE_TYPE_NAME'
37272 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
37273 l_component_type
37274 ,l_component_code
37275 ,l_component_type_code
37276 ,l_component_appl_id
37277 ,l_amb_context_code
37278 ,l_entity_code
37279 ,l_event_class_code
37280 )
37281 ,p_token_3 => 'OWNER'
37282 ,p_value_3 => xla_lookups_pkg.get_meaning(
37283 p_lookup_type => 'XLA_OWNER_TYPE'
37284 ,p_lookup_code => l_component_type_code
37285 )
37286 ,p_token_4 => 'PRODUCT_NAME'
37287 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
37288 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
37289 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
37290 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
37291 ,p_ae_header_id => NULL
37292 );
37293
37294 IF (C_LEVEL_ERROR>= g_log_level) THEN
37295 trace
37296 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
37297 ,p_level => C_LEVEL_ERROR
37298 ,p_module => l_log_module);
37299 END IF;
37300 END IF;
37301 END IF;
37302 --
37303 --
37307 -- Prior Entry. Currently, the following code is always generated.
37304 ------------------------------------------------------------------------------------------------
37305 -- 4219869 Business Flow
37306 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
37308 ------------------------------------------------------------------------------------------------
37309 XLA_AE_LINES_PKG.ValidateCurrentLine;
37310
37311 ------------------------------------------------------------------------------------
37312 -- 4219869 Business Flow
37313 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
37314 ------------------------------------------------------------------------------------
37315 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
37316
37317 ----------------------------------------------------------------------------------
37318 -- 4219869 Business Flow
37319 -- Update journal entry status -- Need to generate this within IF <condition>
37320 ----------------------------------------------------------------------------------
37321 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
37322 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
37323 ,p_balance_type_code => l_balance_type_code
37324 );
37325
37326 -------------------------------------------------------------------------------------------
37327 -- 4262811 - Generate the Accrual Reversal lines
37328 -------------------------------------------------------------------------------------------
37329 BEGIN
37330 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
37331 (g_array_event(p_event_id).array_value_num('header_index'));
37332 IF l_acc_rev_flag IS NULL THEN
37333 l_acc_rev_flag := 'N';
37334 END IF;
37335 EXCEPTION
37336 WHEN OTHERS THEN
37337 l_acc_rev_flag := 'N';
37338 END;
37339 --
37340 IF (l_acc_rev_flag = 'Y') THEN
37341
37342 -- 4645092 ------------------------------------------------------------------------------
37343 -- To allow MPA report to determine if it should generate report process
37344 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
37345 ------------------------------------------------------------------------------------------
37346
37347 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
37348 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
37349 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
37350 -- call ADRs
37351 -- Bug 4922099
37352 --
37353 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
37354 (NVL(l_actual_upg_option, 'N') = 'O') OR
37355 (NVL(l_enc_upg_option, 'N') = 'O')
37356 )
37357 THEN
37358 NULL;
37359 --
37360 --
37361
37362 l_ccid := AcctDerRule_28(
37363 p_application_id => p_application_id
37364 , p_ae_header_id => l_ae_header_id
37365 , p_source_17 => p_source_17
37366 , x_transaction_coa_id => l_adr_transaction_coa_id
37367 , x_accounting_coa_id => l_adr_accounting_coa_id
37368 , x_value_type_code => l_adr_value_type_code
37369 , p_side => 'NA'
37370 );
37371
37372 xla_ae_lines_pkg.set_ccid(
37373 p_code_combination_id => l_ccid
37374 , p_value_type_code => l_adr_value_type_code
37375 , p_transaction_coa_id => l_adr_transaction_coa_id
37376 , p_accounting_coa_id => l_adr_accounting_coa_id
37377 , p_adr_code => 'AP_CASH'
37378 , p_adr_type_code => 'S'
37379 , p_component_type => l_component_type
37380 , p_component_code => l_component_code
37381 , p_component_type_code => l_component_type_code
37382 , p_component_appl_id => l_component_appl_id
37383 , p_amb_context_code => l_amb_context_code
37384 , p_side => 'NA'
37385 );
37386
37387
37388 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
37389 p_to_segment_code => 'GL_BALANCING'
37390 , p_segment_value => C_CHAR
37391 , p_from_segment_code => NULL
37392 , p_from_combination_id => NULL
37393 , p_value_type_code => NULL
37394 , p_transaction_coa_id => null
37395 , p_accounting_coa_id => null
37396 , p_flexfield_segment_code => NULL
37397 , p_flex_value_set_id => NULL
37398 , p_adr_code => NULL
37399 , p_adr_type_code => NULL
37400 , p_component_type => l_component_type
37401 , p_component_code => l_component_code
37402 , p_component_type_code => l_component_type_code
37403 , p_component_appl_id => l_component_appl_id
37404 , p_amb_context_code => l_amb_context_code
37405 , p_entity_code => 'AP_PAYMENTS'
37406 , p_event_class_code => 'PAYMENTS'
37407 , p_side => 'NA'
37408 );
37409 --
37410
37411
37412 --
37413 --
37414 END IF;
37415
37416 --
37417 -- Update the line information that should be overwritten
37418 --
37419 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
37420 p_header_num => 1);
37421 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
37425 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
37422
37423 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
37424
37426 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
37427 END IF;
37428
37429 --
37430 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
37431 --
37432 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
37433 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
37434 ELSE
37435 ---------------------------------------------------------------------------------------------------
37436 -- 4262811a Switch Sign
37437 ---------------------------------------------------------------------------------------------------
37438 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
37439 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37440 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37441 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37442 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37443 -- 5132302
37444 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
37445 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37446
37447 END IF;
37448
37449 -- 4955764
37450 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
37451 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
37452
37453
37454 XLA_AE_LINES_PKG.ValidateCurrentLine;
37455 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
37456
37457 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
37458 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
37459 ,p_balance_type_code => l_balance_type_code);
37460
37461 END IF;
37462
37463 -----------------------------------------------------------------------------------------
37464 -- 4262811 Multiperiod Accounting
37465 -----------------------------------------------------------------------------------------
37466 -- No MPA option is assigned.
37467
37468
37469 END IF;
37470 END IF;
37471 --
37472
37473 --
37474 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
37475 trace
37476 (p_msg => 'END of AcctLineType_87'
37477 ,p_level => C_LEVEL_PROCEDURE
37478 ,p_module => l_log_module);
37479 END IF;
37480 --
37481 EXCEPTION
37482 WHEN xla_exceptions_pkg.application_exception THEN
37483 RAISE;
37484 WHEN OTHERS THEN
37485 xla_exceptions_pkg.raise_message
37486 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_87');
37487 END AcctLineType_87;
37488 --
37489
37490 ---------------------------------------
37491 --
37492 -- PRIVATE FUNCTION
37493 -- AcctLineType_88
37494 --
37495 ---------------------------------------
37496 PROCEDURE AcctLineType_88 (
37497 p_application_id IN NUMBER
37498 ,p_event_id IN NUMBER
37499 ,p_calculate_acctd_flag IN VARCHAR2
37500 ,p_calculate_g_l_flag IN VARCHAR2
37501 ,p_actual_flag IN OUT VARCHAR2
37502 ,p_balance_type_code OUT VARCHAR2
37503 ,p_gain_or_loss_ref OUT VARCHAR2
37504
37505 --Payment Currency Code
37506 , p_source_13 IN VARCHAR2
37507 --Bank Cash Account
37508 , p_source_17 IN NUMBER
37509 --Automatic Offsets Flag
37510 , p_source_47 IN VARCHAR2
37511 , p_source_47_meaning IN VARCHAR2
37512 --Accounting Reversal Indicator
37513 , p_source_53 IN VARCHAR2
37514 --Distribution Link Type
37515 , p_source_55 IN VARCHAR2
37516 --Override Accounted Amount Indicator
37517 , p_source_80 IN VARCHAR2
37518 , p_source_80_meaning IN VARCHAR2
37519 --Third Party Type
37520 , p_source_83 IN VARCHAR2
37521 --Business Flow Accounts Payable Application Identifier
37522 , p_source_91 IN NUMBER
37523 --When to Account for Payment Option
37524 , p_source_97 IN VARCHAR2
37525 --Payment Distribution Type
37526 , p_source_98 IN VARCHAR2
37527 , p_source_98_meaning IN VARCHAR2
37528 --Payment Distribution Amount
37529 , p_source_99 IN NUMBER
37530 --Business Flow Payment Distribution Type
37531 , p_source_100 IN VARCHAR2
37532 --Business Flow Payment Entity Code
37533 , p_source_101 IN VARCHAR2
37534 --Business Flow Payment Distribution Identifier
37535 , p_source_102 IN NUMBER
37536 --Business Flow Payment Identifier
37537 , p_source_103 IN NUMBER
37538 --Payment Distribution Identifier
37539 , p_source_104 IN NUMBER
37540 --Payment Supplier Identifier
37541 , p_source_110 IN NUMBER
37542 --Payment Supplier Site Identifier
37543 , p_source_111 IN NUMBER
37544 --Payment Distribution Reversed Identifier
37548 , p_source_113_meaning IN VARCHAR2
37545 , p_source_112 IN NUMBER
37546 --Pooled Bank Account Option
37547 , p_source_113 IN VARCHAR2
37549 --Payment Maturity Date
37550 , p_source_114 IN DATE
37551 --Payment Exchange Date
37552 , p_source_117 IN DATE
37553 --Payment Exchange Rate
37554 , p_source_118 IN NUMBER
37555 --Payment Exchange Rate Type
37556 , p_source_119 IN VARCHAR2
37557 --Payment Distribution (Matured Rate) Ledger Amount
37558 , p_source_121 IN NUMBER
37559 )
37560 IS
37561
37562 l_component_type VARCHAR2(80);
37563 l_component_code VARCHAR2(30);
37564 l_component_type_code VARCHAR2(1);
37565 l_component_appl_id INTEGER;
37566 l_amb_context_code VARCHAR2(30);
37567 l_entity_code VARCHAR2(30);
37568 l_event_class_code VARCHAR2(30);
37569 l_ae_header_id NUMBER;
37570 l_event_type_code VARCHAR2(30);
37571 l_line_definition_code VARCHAR2(30);
37572 l_line_definition_owner_code VARCHAR2(1);
37573 --
37574 -- adr variables
37575 l_segment VARCHAR2(30);
37576 l_ccid NUMBER;
37577 l_adr_transaction_coa_id NUMBER;
37578 l_adr_accounting_coa_id NUMBER;
37579 l_adr_flexfield_segment_code VARCHAR2(30);
37580 l_adr_flex_value_set_id NUMBER;
37581 l_adr_value_type_code VARCHAR2(30);
37582 l_adr_value_combination_id NUMBER;
37583 l_adr_value_segment_code VARCHAR2(30);
37584
37585 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
37586 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
37587 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
37588 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
37589
37590 -- 4262811 Variables ------------------------------------------------------------------------------------------
37591 l_entered_amt_idx NUMBER;
37592 l_accted_amt_idx NUMBER;
37593 l_acc_rev_flag VARCHAR2(1);
37594 l_accrual_line_num NUMBER;
37595 l_tmp_amt NUMBER;
37596 l_acc_rev_natural_side_code VARCHAR2(1);
37597
37598 l_num_entries NUMBER;
37599 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
37600 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
37601 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
37602 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
37603 l_recog_line_1 NUMBER;
37604 l_recog_line_2 NUMBER;
37605
37606 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
37607 l_bflow_applied_to_amt NUMBER; -- 5132302
37608 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
37609
37610 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
37611
37612 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
37613 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
37614
37615 ---------------------------------------------------------------------------------------------------------------
37616
37617
37618 --
37619 -- bulk performance
37620 --
37621 l_balance_type_code VARCHAR2(1);
37622 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
37623 l_log_module VARCHAR2(240);
37624
37625 --
37626 -- Upgrade strategy
37627 --
37628 l_actual_upg_option VARCHAR2(1);
37629 l_enc_upg_option VARCHAR2(1);
37630
37631 --
37632 BEGIN
37633 --
37634 IF g_log_enabled THEN
37635 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_88';
37636 END IF;
37637 --
37638 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
37639
37640 trace
37641 (p_msg => 'BEGIN of AcctLineType_88'
37642 ,p_level => C_LEVEL_PROCEDURE
37643 ,p_module => l_log_module);
37644
37645 END IF;
37646 --
37647 l_component_type := 'AMB_JLT';
37648 l_component_code := 'AP_CASH_PMT_MAT';
37649 l_component_type_code := 'S';
37650 l_component_appl_id := 200;
37651 l_amb_context_code := 'DEFAULT';
37652 l_entity_code := 'AP_PAYMENTS';
37653 l_event_class_code := 'FUTURE DATED PAYMENTS';
37654 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
37655 l_line_definition_owner_code := 'S';
37656 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
37657 --
37658 l_balance_type_code := 'A';
37659 l_segment := NULL;
37660 l_ccid := NULL;
37661 l_adr_transaction_coa_id := NULL;
37662 l_adr_accounting_coa_id := NULL;
37663 l_adr_flexfield_segment_code := NULL;
37664 l_adr_flex_value_set_id := NULL;
37665 l_adr_value_type_code := NULL;
37666 l_adr_value_combination_id := NULL;
37667 l_adr_value_segment_code := NULL;
37668
37669 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
37670 l_bflow_class_code := ''; -- 4219869 Business Flow
37671 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
37672 l_budgetary_control_flag := 'N';
37673
37677 l_accted_amt_idx := NULL; -- 4262811
37674 l_bflow_applied_to_amt_idx := NULL; -- 5132302
37675 l_bflow_applied_to_amt := NULL; -- 5132302
37676 l_entered_amt_idx := NULL; -- 4262811
37678 l_acc_rev_flag := NULL; -- 4262811
37679 l_accrual_line_num := NULL; -- 4262811
37680 l_tmp_amt := NULL; -- 4262811
37681 --
37682
37683 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
37684 l_balance_type_code <> 'B' THEN
37685 IF NVL(p_source_97,'
37686 ') = 'ISSUE_ISSUE' AND
37687 (NVL(p_source_47,'
37688 ') <> 'Y' OR
37689 NVL(p_source_47,'
37690 ') = 'Y' AND
37691 NVL(p_source_113,'
37692 ') <> 'Y') AND
37693 p_source_114 IS NOT NULL AND
37694 NVL(p_source_98,'
37695 ') = 'CASH'
37696 THEN
37697
37698 --
37699 XLA_AE_LINES_PKG.SetNewLine;
37700
37701 p_balance_type_code := l_balance_type_code;
37702 -- set the flag so later we will know whether the gain loss line needs to be created
37703
37704 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
37705 p_actual_flag :='A';
37706 END IF;
37707
37708 --
37709 -- bulk performance
37710 --
37711 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
37712 p_header_num => 0); -- 4262811
37713 --
37714 -- set accounting line options
37715 --
37716 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
37717 p_natural_side_code => 'C'
37718 , p_gain_or_loss_flag => 'N'
37719 , p_gl_transfer_mode_code => 'S'
37720 , p_acct_entry_type_code => 'A'
37721 , p_switch_side_flag => 'Y'
37722 , p_merge_duplicate_code => 'A'
37723 );
37724 --
37725 l_acc_rev_natural_side_code := 'D'; -- 4262811
37726 --
37727 --
37728 -- set accounting line type info
37729 --
37730 xla_ae_lines_pkg.SetAcctLineType
37731 (p_component_type => l_component_type
37732 ,p_event_type_code => l_event_type_code
37733 ,p_line_definition_owner_code => l_line_definition_owner_code
37734 ,p_line_definition_code => l_line_definition_code
37735 ,p_accounting_line_code => l_component_code
37736 ,p_accounting_line_type_code => l_component_type_code
37737 ,p_accounting_line_appl_id => l_component_appl_id
37738 ,p_amb_context_code => l_amb_context_code
37739 ,p_entity_code => l_entity_code
37740 ,p_event_class_code => l_event_class_code);
37741 --
37742 -- set accounting class
37743 --
37744 xla_ae_lines_pkg.SetAcctClass(
37745 p_accounting_class_code => 'CASH'
37746 , p_ae_header_id => l_ae_header_id
37747 );
37748
37749 --
37750 -- set rounding class
37751 --
37752 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
37753 'CASH';
37754
37755 --
37756 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
37757 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
37758 --
37759 -- bulk performance
37760 --
37761 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
37762
37763 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
37764 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
37765
37766 -- 4955764
37767 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
37768 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
37769
37770 -- 4458381 Public Sector Enh
37771
37772 --
37773 -- set accounting attributes for the line type
37774 --
37775 l_entered_amt_idx := 9;
37776 l_accted_amt_idx := 14;
37777 l_bflow_applied_to_amt_idx := NULL; -- 5132302
37778 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
37779 l_rec_acct_attrs.array_char_value(1) := p_source_53;
37780 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
37781 l_rec_acct_attrs.array_num_value(2) := p_source_91;
37782 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
37783 l_rec_acct_attrs.array_char_value(3) := p_source_100;
37784 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
37785 l_rec_acct_attrs.array_char_value(4) := p_source_101;
37786 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
37787 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_102);
37788 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
37789 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_103);
37790 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
37791 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
37792 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
37793 l_rec_acct_attrs.array_char_value(8) := p_source_55;
37794 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
37798 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
37795 l_rec_acct_attrs.array_num_value(9) := p_source_99;
37796 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
37797 l_rec_acct_attrs.array_char_value(10) := p_source_13;
37799 l_rec_acct_attrs.array_date_value(11) := p_source_117;
37800 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
37801 l_rec_acct_attrs.array_num_value(12) := p_source_118;
37802 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
37803 l_rec_acct_attrs.array_char_value(13) := p_source_119;
37804 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
37805 l_rec_acct_attrs.array_num_value(14) := p_source_121;
37806 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
37807 l_rec_acct_attrs.array_char_value(15) := p_source_80;
37808 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
37809 l_rec_acct_attrs.array_num_value(16) := p_source_110;
37810 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
37811 l_rec_acct_attrs.array_num_value(17) := p_source_111;
37812 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
37813 l_rec_acct_attrs.array_char_value(18) := p_source_83;
37814 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
37815 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_112);
37816 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
37817 l_rec_acct_attrs.array_char_value(20) := p_source_55;
37818
37819 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
37820 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
37821
37822 ---------------------------------------------------------------------------------------------------------------
37823 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
37824 ---------------------------------------------------------------------------------------------------------------
37825 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
37826
37827 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37828 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37829
37830 IF xla_accounting_cache_pkg.GetValueChar
37831 (p_source_code => 'LEDGER_CATEGORY_CODE'
37832 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
37833 AND l_bflow_method_code = 'PRIOR_ENTRY'
37834 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
37835 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
37836 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
37837 )
37838 THEN
37839 xla_ae_lines_pkg.BflowUpgEntry
37840 (p_business_method_code => l_bflow_method_code
37841 ,p_business_class_code => l_bflow_class_code
37842 ,p_balance_type => l_balance_type_code);
37843 ELSE
37844 NULL;
37845 -- No business flow processing for business flow method of NONE.
37846 END IF;
37847
37848 --
37849 -- call analytical criteria
37850 --
37851
37852 --
37853 -- call description
37854 --
37855 -- No description or it is inherited.
37856 --
37857 -- call ADRs
37858 -- Bug 4922099
37859 --
37860 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
37861 (NVL(l_actual_upg_option, 'N') = 'O') OR
37862 (NVL(l_enc_upg_option, 'N') = 'O')
37863 )
37864 THEN
37865 NULL;
37866 --
37867 --
37868
37869 l_ccid := AcctDerRule_28(
37870 p_application_id => p_application_id
37871 , p_ae_header_id => l_ae_header_id
37872 , p_source_17 => p_source_17
37873 , x_transaction_coa_id => l_adr_transaction_coa_id
37874 , x_accounting_coa_id => l_adr_accounting_coa_id
37875 , x_value_type_code => l_adr_value_type_code
37876 , p_side => 'NA'
37877 );
37878
37879 xla_ae_lines_pkg.set_ccid(
37880 p_code_combination_id => l_ccid
37881 , p_value_type_code => l_adr_value_type_code
37882 , p_transaction_coa_id => l_adr_transaction_coa_id
37883 , p_accounting_coa_id => l_adr_accounting_coa_id
37884 , p_adr_code => 'AP_CASH'
37885 , p_adr_type_code => 'S'
37886 , p_component_type => l_component_type
37887 , p_component_code => l_component_code
37888 , p_component_type_code => l_component_type_code
37889 , p_component_appl_id => l_component_appl_id
37890 , p_amb_context_code => l_amb_context_code
37891 , p_side => 'NA'
37892 );
37893
37894
37895 --
37896 --
37897 END IF;
37898 --
37899 -- Bug 4922099
37900 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
37901 (NVL(l_enc_upg_option, 'N') = 'O')
37902 ) AND
37903 (l_bflow_method_code = 'PRIOR_ENTRY')
37904 )
37905 THEN
37906 IF
37907 --
37908 1 = 2
37909 --
37910 THEN
37911 xla_accounting_err_pkg.build_message
37912 (p_appli_s_name => 'XLA'
37916 ,p_token_2 => 'LINE_TYPE_NAME'
37913 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
37914 ,p_token_1 => 'LINE_NUMBER'
37915 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
37917 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
37918 l_component_type
37919 ,l_component_code
37920 ,l_component_type_code
37921 ,l_component_appl_id
37922 ,l_amb_context_code
37923 ,l_entity_code
37924 ,l_event_class_code
37925 )
37926 ,p_token_3 => 'OWNER'
37927 ,p_value_3 => xla_lookups_pkg.get_meaning(
37928 p_lookup_type => 'XLA_OWNER_TYPE'
37929 ,p_lookup_code => l_component_type_code
37930 )
37931 ,p_token_4 => 'PRODUCT_NAME'
37932 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
37933 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
37934 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
37935 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
37936 ,p_ae_header_id => NULL
37937 );
37938
37939 IF (C_LEVEL_ERROR>= g_log_level) THEN
37940 trace
37941 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
37942 ,p_level => C_LEVEL_ERROR
37943 ,p_module => l_log_module);
37944 END IF;
37945 END IF;
37946 END IF;
37947 --
37948 --
37949 ------------------------------------------------------------------------------------------------
37950 -- 4219869 Business Flow
37951 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
37952 -- Prior Entry. Currently, the following code is always generated.
37953 ------------------------------------------------------------------------------------------------
37954 XLA_AE_LINES_PKG.ValidateCurrentLine;
37955
37956 ------------------------------------------------------------------------------------
37957 -- 4219869 Business Flow
37958 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
37959 ------------------------------------------------------------------------------------
37960 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
37961
37962 ----------------------------------------------------------------------------------
37963 -- 4219869 Business Flow
37964 -- Update journal entry status -- Need to generate this within IF <condition>
37965 ----------------------------------------------------------------------------------
37966 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
37967 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
37968 ,p_balance_type_code => l_balance_type_code
37969 );
37970
37971 -------------------------------------------------------------------------------------------
37972 -- 4262811 - Generate the Accrual Reversal lines
37973 -------------------------------------------------------------------------------------------
37974 BEGIN
37975 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
37976 (g_array_event(p_event_id).array_value_num('header_index'));
37977 IF l_acc_rev_flag IS NULL THEN
37978 l_acc_rev_flag := 'N';
37979 END IF;
37980 EXCEPTION
37981 WHEN OTHERS THEN
37982 l_acc_rev_flag := 'N';
37983 END;
37984 --
37985 IF (l_acc_rev_flag = 'Y') THEN
37986
37987 -- 4645092 ------------------------------------------------------------------------------
37988 -- To allow MPA report to determine if it should generate report process
37989 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
37990 ------------------------------------------------------------------------------------------
37991
37992 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
37993 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
37994 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
37995 -- call ADRs
37996 -- Bug 4922099
37997 --
37998 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
37999 (NVL(l_actual_upg_option, 'N') = 'O') OR
38000 (NVL(l_enc_upg_option, 'N') = 'O')
38001 )
38002 THEN
38003 NULL;
38004 --
38005 --
38009 , p_ae_header_id => l_ae_header_id
38006
38007 l_ccid := AcctDerRule_28(
38008 p_application_id => p_application_id
38010 , p_source_17 => p_source_17
38011 , x_transaction_coa_id => l_adr_transaction_coa_id
38012 , x_accounting_coa_id => l_adr_accounting_coa_id
38013 , x_value_type_code => l_adr_value_type_code
38014 , p_side => 'NA'
38015 );
38016
38017 xla_ae_lines_pkg.set_ccid(
38018 p_code_combination_id => l_ccid
38019 , p_value_type_code => l_adr_value_type_code
38020 , p_transaction_coa_id => l_adr_transaction_coa_id
38021 , p_accounting_coa_id => l_adr_accounting_coa_id
38022 , p_adr_code => 'AP_CASH'
38023 , p_adr_type_code => 'S'
38024 , p_component_type => l_component_type
38025 , p_component_code => l_component_code
38026 , p_component_type_code => l_component_type_code
38027 , p_component_appl_id => l_component_appl_id
38028 , p_amb_context_code => l_amb_context_code
38029 , p_side => 'NA'
38030 );
38031
38032
38033 --
38034 --
38035 END IF;
38036
38037 --
38038 -- Update the line information that should be overwritten
38039 --
38040 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
38041 p_header_num => 1);
38042 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
38043
38044 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
38045
38046 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
38047 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
38048 END IF;
38049
38050 --
38051 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
38052 --
38053 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
38054 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
38055 ELSE
38056 ---------------------------------------------------------------------------------------------------
38057 -- 4262811a Switch Sign
38058 ---------------------------------------------------------------------------------------------------
38059 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
38060 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
38061 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38062 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
38063 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38064 -- 5132302
38065 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
38066 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38067
38068 END IF;
38069
38070 -- 4955764
38071 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
38072 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
38073
38074
38075 XLA_AE_LINES_PKG.ValidateCurrentLine;
38076 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
38077
38078 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
38079 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
38080 ,p_balance_type_code => l_balance_type_code);
38081
38082 END IF;
38083
38084 -----------------------------------------------------------------------------------------
38085 -- 4262811 Multiperiod Accounting
38086 -----------------------------------------------------------------------------------------
38087 -- No MPA option is assigned.
38088
38089
38090 END IF;
38091 END IF;
38092 --
38093
38094 --
38095 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
38096 trace
38097 (p_msg => 'END of AcctLineType_88'
38098 ,p_level => C_LEVEL_PROCEDURE
38099 ,p_module => l_log_module);
38100 END IF;
38101 --
38102 EXCEPTION
38103 WHEN xla_exceptions_pkg.application_exception THEN
38104 RAISE;
38105 WHEN OTHERS THEN
38106 xla_exceptions_pkg.raise_message
38107 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_88');
38108 END AcctLineType_88;
38109 --
38110
38111 ---------------------------------------
38112 --
38113 -- PRIVATE FUNCTION
38114 -- AcctLineType_89
38115 --
38116 ---------------------------------------
38117 PROCEDURE AcctLineType_89 (
38118 p_application_id IN NUMBER
38119 ,p_event_id IN NUMBER
38120 ,p_calculate_acctd_flag IN VARCHAR2
38121 ,p_calculate_g_l_flag IN VARCHAR2
38122 ,p_actual_flag IN OUT VARCHAR2
38123 ,p_balance_type_code OUT VARCHAR2
38124 ,p_gain_or_loss_ref OUT VARCHAR2
38125
38126 --Payment Currency Code
38130 , p_source_15_meaning IN VARCHAR2
38127 , p_source_13 IN VARCHAR2
38128 --Automatic Offsets Value
38129 , p_source_15 IN VARCHAR2
38131 --Bank Cash Account
38132 , p_source_17 IN NUMBER
38133 --Accounting Reversal Indicator
38134 , p_source_53 IN VARCHAR2
38135 --Distribution Link Type
38136 , p_source_55 IN VARCHAR2
38137 --Override Accounted Amount Indicator
38138 , p_source_80 IN VARCHAR2
38139 , p_source_80_meaning IN VARCHAR2
38140 --Third Party Type
38141 , p_source_83 IN VARCHAR2
38142 --Business Flow Accounts Payable Application Identifier
38143 , p_source_91 IN NUMBER
38144 --When to Account for Payment Option
38145 , p_source_97 IN VARCHAR2
38146 --Payment Distribution Type
38147 , p_source_98 IN VARCHAR2
38148 , p_source_98_meaning IN VARCHAR2
38149 --Payment Distribution Amount
38150 , p_source_99 IN NUMBER
38151 --Business Flow Payment Distribution Type
38152 , p_source_100 IN VARCHAR2
38153 --Business Flow Payment Entity Code
38154 , p_source_101 IN VARCHAR2
38155 --Business Flow Payment Distribution Identifier
38156 , p_source_102 IN NUMBER
38157 --Business Flow Payment Identifier
38158 , p_source_103 IN NUMBER
38159 --Payment Distribution Identifier
38160 , p_source_104 IN NUMBER
38161 --Payment Supplier Identifier
38162 , p_source_110 IN NUMBER
38163 --Payment Supplier Site Identifier
38164 , p_source_111 IN NUMBER
38165 --Payment Distribution Reversed Identifier
38166 , p_source_112 IN NUMBER
38167 --Pooled Bank Account Option
38168 , p_source_113 IN VARCHAR2
38169 , p_source_113_meaning IN VARCHAR2
38170 --Payment Maturity Date
38171 , p_source_114 IN DATE
38172 --Payment Exchange Date
38173 , p_source_117 IN DATE
38174 --Payment Exchange Rate
38175 , p_source_118 IN NUMBER
38176 --Payment Exchange Rate Type
38177 , p_source_119 IN VARCHAR2
38178 --Payment Distribution (Matured Rate) Ledger Amount
38179 , p_source_121 IN NUMBER
38180 )
38181 IS
38182
38183 l_component_type VARCHAR2(80);
38184 l_component_code VARCHAR2(30);
38185 l_component_type_code VARCHAR2(1);
38186 l_component_appl_id INTEGER;
38187 l_amb_context_code VARCHAR2(30);
38188 l_entity_code VARCHAR2(30);
38189 l_event_class_code VARCHAR2(30);
38190 l_ae_header_id NUMBER;
38191 l_event_type_code VARCHAR2(30);
38192 l_line_definition_code VARCHAR2(30);
38193 l_line_definition_owner_code VARCHAR2(1);
38194 --
38195 -- adr variables
38196 l_segment VARCHAR2(30);
38197 l_ccid NUMBER;
38198 l_adr_transaction_coa_id NUMBER;
38199 l_adr_accounting_coa_id NUMBER;
38200 l_adr_flexfield_segment_code VARCHAR2(30);
38201 l_adr_flex_value_set_id NUMBER;
38202 l_adr_value_type_code VARCHAR2(30);
38203 l_adr_value_combination_id NUMBER;
38204 l_adr_value_segment_code VARCHAR2(30);
38205
38206 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
38207 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
38208 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
38209 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
38210
38211 -- 4262811 Variables ------------------------------------------------------------------------------------------
38212 l_entered_amt_idx NUMBER;
38213 l_accted_amt_idx NUMBER;
38214 l_acc_rev_flag VARCHAR2(1);
38215 l_accrual_line_num NUMBER;
38216 l_tmp_amt NUMBER;
38217 l_acc_rev_natural_side_code VARCHAR2(1);
38218
38219 l_num_entries NUMBER;
38220 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
38221 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
38222 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
38223 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
38224 l_recog_line_1 NUMBER;
38225 l_recog_line_2 NUMBER;
38226
38227 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
38228 l_bflow_applied_to_amt NUMBER; -- 5132302
38229 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
38230
38231 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
38232
38233 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
38234 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
38235
38236 ---------------------------------------------------------------------------------------------------------------
38237
38238
38239 --
38240 -- bulk performance
38241 --
38242 l_balance_type_code VARCHAR2(1);
38243 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
38244 l_log_module VARCHAR2(240);
38245
38246 --
38247 -- Upgrade strategy
38248 --
38249 l_actual_upg_option VARCHAR2(1);
38250 l_enc_upg_option VARCHAR2(1);
38251
38252 --
38253 BEGIN
38254 --
38255 IF g_log_enabled THEN
38256 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_89';
38257 END IF;
38258 --
38262 (p_msg => 'BEGIN of AcctLineType_89'
38259 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
38260
38261 trace
38263 ,p_level => C_LEVEL_PROCEDURE
38264 ,p_module => l_log_module);
38265
38266 END IF;
38267 --
38268 l_component_type := 'AMB_JLT';
38269 l_component_code := 'AP_CASH_PMT_MAT_AOS_AS';
38270 l_component_type_code := 'S';
38271 l_component_appl_id := 200;
38272 l_amb_context_code := 'DEFAULT';
38273 l_entity_code := 'AP_PAYMENTS';
38274 l_event_class_code := 'FUTURE DATED PAYMENTS';
38275 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
38276 l_line_definition_owner_code := 'S';
38277 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
38278 --
38279 l_balance_type_code := 'A';
38280 l_segment := NULL;
38281 l_ccid := NULL;
38282 l_adr_transaction_coa_id := NULL;
38283 l_adr_accounting_coa_id := NULL;
38284 l_adr_flexfield_segment_code := NULL;
38285 l_adr_flex_value_set_id := NULL;
38286 l_adr_value_type_code := NULL;
38287 l_adr_value_combination_id := NULL;
38288 l_adr_value_segment_code := NULL;
38289
38290 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
38291 l_bflow_class_code := ''; -- 4219869 Business Flow
38292 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
38293 l_budgetary_control_flag := 'N';
38294
38295 l_bflow_applied_to_amt_idx := NULL; -- 5132302
38296 l_bflow_applied_to_amt := NULL; -- 5132302
38297 l_entered_amt_idx := NULL; -- 4262811
38298 l_accted_amt_idx := NULL; -- 4262811
38299 l_acc_rev_flag := NULL; -- 4262811
38300 l_accrual_line_num := NULL; -- 4262811
38301 l_tmp_amt := NULL; -- 4262811
38302 --
38303
38304 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
38305 l_balance_type_code <> 'B' THEN
38306 IF NVL(p_source_97,'
38307 ') = 'ISSUE_ISSUE' AND
38308 (NVL(p_source_113,'
38309 ') = 'Y' AND
38310 NVL(p_source_15,'
38311 ') = 'ACCOUNT_SEGMENT_VALUE') AND
38312 p_source_114 IS NOT NULL AND
38313 NVL(p_source_98,'
38314 ') = 'CASH'
38315 THEN
38316
38317 --
38318 XLA_AE_LINES_PKG.SetNewLine;
38319
38320 p_balance_type_code := l_balance_type_code;
38321 -- set the flag so later we will know whether the gain loss line needs to be created
38322
38323 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
38324 p_actual_flag :='A';
38325 END IF;
38326
38327 --
38328 -- bulk performance
38329 --
38330 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
38331 p_header_num => 0); -- 4262811
38332 --
38333 -- set accounting line options
38334 --
38335 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
38336 p_natural_side_code => 'C'
38337 , p_gain_or_loss_flag => 'N'
38338 , p_gl_transfer_mode_code => 'S'
38339 , p_acct_entry_type_code => 'A'
38340 , p_switch_side_flag => 'Y'
38341 , p_merge_duplicate_code => 'A'
38342 );
38343 --
38344 l_acc_rev_natural_side_code := 'D'; -- 4262811
38345 --
38346 --
38347 -- set accounting line type info
38348 --
38349 xla_ae_lines_pkg.SetAcctLineType
38350 (p_component_type => l_component_type
38351 ,p_event_type_code => l_event_type_code
38352 ,p_line_definition_owner_code => l_line_definition_owner_code
38353 ,p_line_definition_code => l_line_definition_code
38354 ,p_accounting_line_code => l_component_code
38355 ,p_accounting_line_type_code => l_component_type_code
38356 ,p_accounting_line_appl_id => l_component_appl_id
38357 ,p_amb_context_code => l_amb_context_code
38358 ,p_entity_code => l_entity_code
38359 ,p_event_class_code => l_event_class_code);
38360 --
38361 -- set accounting class
38362 --
38363 xla_ae_lines_pkg.SetAcctClass(
38364 p_accounting_class_code => 'CASH'
38365 , p_ae_header_id => l_ae_header_id
38366 );
38367
38368 --
38369 -- set rounding class
38370 --
38371 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
38372 'CASH';
38373
38374 --
38375 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
38376 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
38377 --
38378 -- bulk performance
38379 --
38380 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
38381
38382 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
38383 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
38384
38385 -- 4955764
38386 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
38390
38387 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
38388
38389 -- 4458381 Public Sector Enh
38391 --
38392 -- set accounting attributes for the line type
38393 --
38394 l_entered_amt_idx := 9;
38395 l_accted_amt_idx := 14;
38396 l_bflow_applied_to_amt_idx := NULL; -- 5132302
38397 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
38398 l_rec_acct_attrs.array_char_value(1) := p_source_53;
38399 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
38400 l_rec_acct_attrs.array_num_value(2) := p_source_91;
38401 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
38402 l_rec_acct_attrs.array_char_value(3) := p_source_100;
38403 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
38404 l_rec_acct_attrs.array_char_value(4) := p_source_101;
38405 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
38406 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_102);
38407 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
38408 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_103);
38409 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
38410 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
38411 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
38412 l_rec_acct_attrs.array_char_value(8) := p_source_55;
38413 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
38414 l_rec_acct_attrs.array_num_value(9) := p_source_99;
38415 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
38416 l_rec_acct_attrs.array_char_value(10) := p_source_13;
38417 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
38418 l_rec_acct_attrs.array_date_value(11) := p_source_117;
38419 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
38420 l_rec_acct_attrs.array_num_value(12) := p_source_118;
38421 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
38422 l_rec_acct_attrs.array_char_value(13) := p_source_119;
38423 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
38424 l_rec_acct_attrs.array_num_value(14) := p_source_121;
38425 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
38426 l_rec_acct_attrs.array_char_value(15) := p_source_80;
38427 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
38428 l_rec_acct_attrs.array_num_value(16) := p_source_110;
38429 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
38430 l_rec_acct_attrs.array_num_value(17) := p_source_111;
38431 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
38432 l_rec_acct_attrs.array_char_value(18) := p_source_83;
38433 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
38434 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_112);
38435 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
38436 l_rec_acct_attrs.array_char_value(20) := p_source_55;
38437
38438 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
38439 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
38440
38441 ---------------------------------------------------------------------------------------------------------------
38442 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
38443 ---------------------------------------------------------------------------------------------------------------
38444 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
38445
38446 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38447 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38448
38449 IF xla_accounting_cache_pkg.GetValueChar
38450 (p_source_code => 'LEDGER_CATEGORY_CODE'
38451 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
38452 AND l_bflow_method_code = 'PRIOR_ENTRY'
38453 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
38454 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
38455 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
38456 )
38457 THEN
38458 xla_ae_lines_pkg.BflowUpgEntry
38459 (p_business_method_code => l_bflow_method_code
38460 ,p_business_class_code => l_bflow_class_code
38461 ,p_balance_type => l_balance_type_code);
38462 ELSE
38463 NULL;
38464 XLA_AE_LINES_PKG.business_flow_validation(
38465 p_business_method_code => l_bflow_method_code
38466 ,p_business_class_code => l_bflow_class_code
38467 ,p_inherit_description_flag => l_inherit_desc_flag);
38468 END IF;
38469
38470 --
38471 -- call analytical criteria
38472 --
38473
38474 --
38475 -- call description
38476 --
38477 -- No description or it is inherited.
38478 --
38479 -- call ADRs
38480 -- Bug 4922099
38481 --
38482 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
38483 (NVL(l_actual_upg_option, 'N') = 'O') OR
38484 (NVL(l_enc_upg_option, 'N') = 'O')
38485 )
38489 --
38486 THEN
38487 NULL;
38488 --
38490
38491 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
38492 p_code_combination_id => TO_NUMBER(C_NUM)
38493 , p_value_type_code => NULL
38494 , p_transaction_coa_id => null
38495 , p_accounting_coa_id => null
38496 , p_adr_code => NULL
38497 , p_adr_type_code => NULL
38498 , p_component_type => l_component_type
38499 , p_component_code => l_component_code
38500 , p_component_type_code => l_component_type_code
38501 , p_component_appl_id => l_component_appl_id
38502 , p_amb_context_code => l_amb_context_code
38503 , p_side => NULL
38504 );
38505
38506
38507 -- initialise segments
38508 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38509 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38510 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38511 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38512 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38513 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38514 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38515 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38516 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38517 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38518 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38519 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38520 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38521 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38522 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38523 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38524 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38525 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38526 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38527 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38528 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38529 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38530 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38531 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38532 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38533 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38534 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38535 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38536 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38537 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38538 --
38539
38540 --
38541
38542
38543 l_segment := AcctDerRule_6(
38544 p_application_id => p_application_id
38545 , p_ae_header_id => l_ae_header_id
38546 , p_source_17 => p_source_17
38547 , x_transaction_coa_id => l_adr_transaction_coa_id
38548 , x_accounting_coa_id => l_adr_accounting_coa_id
38549 , x_flexfield_segment_code => l_adr_flexfield_segment_code
38550 , x_flex_value_set_id => l_adr_flex_value_set_id
38551 , x_value_type_code => l_adr_value_type_code
38552 , x_value_combination_id => l_adr_value_combination_id
38553 , x_value_segment_code => l_adr_value_segment_code
38554 , p_side => 'NA'
38555 , p_override_seg_flag => 'Y'
38556 );
38557
38558 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
38559
38560 xla_ae_lines_pkg.set_segment(
38561 p_to_segment_code => 'GL_ACCOUNT'
38562 , p_segment_value => l_segment
38563 , p_from_segment_code => l_adr_value_segment_code
38564 , p_from_combination_id => l_adr_value_combination_id
38565 , p_value_type_code => l_adr_value_type_code
38566 , p_transaction_coa_id => l_adr_transaction_coa_id
38567 , p_accounting_coa_id => l_adr_accounting_coa_id
38568 , p_flexfield_segment_code => l_adr_flexfield_segment_code
38569 , p_flex_value_set_id => l_adr_flex_value_set_id
38570 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
38571 , p_adr_type_code => 'S'
38572 , p_component_type => l_component_type
38573 , p_component_code => l_component_code
38574 , p_component_type_code => l_component_type_code
38575 , p_component_appl_id => l_component_appl_id
38576 , p_amb_context_code => l_amb_context_code
38580 );
38577 , p_entity_code => 'AP_PAYMENTS'
38578 , p_event_class_code => 'FUTURE DATED PAYMENTS'
38579 , p_side => 'NA'
38581
38582 END IF;
38583
38584 --
38585 --
38586 END IF;
38587 --
38588 -- Bug 4922099
38589 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
38590 (NVL(l_enc_upg_option, 'N') = 'O')
38591 ) AND
38592 (l_bflow_method_code = 'PRIOR_ENTRY')
38593 )
38594 THEN
38595 IF
38596 --
38597 1 = 2
38598 --
38599 THEN
38600 xla_accounting_err_pkg.build_message
38601 (p_appli_s_name => 'XLA'
38602 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
38603 ,p_token_1 => 'LINE_NUMBER'
38604 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
38605 ,p_token_2 => 'LINE_TYPE_NAME'
38606 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
38607 l_component_type
38608 ,l_component_code
38609 ,l_component_type_code
38610 ,l_component_appl_id
38611 ,l_amb_context_code
38612 ,l_entity_code
38613 ,l_event_class_code
38614 )
38615 ,p_token_3 => 'OWNER'
38616 ,p_value_3 => xla_lookups_pkg.get_meaning(
38617 p_lookup_type => 'XLA_OWNER_TYPE'
38618 ,p_lookup_code => l_component_type_code
38619 )
38620 ,p_token_4 => 'PRODUCT_NAME'
38621 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
38622 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
38623 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
38624 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
38625 ,p_ae_header_id => NULL
38626 );
38627
38628 IF (C_LEVEL_ERROR>= g_log_level) THEN
38629 trace
38630 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
38631 ,p_level => C_LEVEL_ERROR
38632 ,p_module => l_log_module);
38633 END IF;
38634 END IF;
38635 END IF;
38636 --
38637 --
38638 ------------------------------------------------------------------------------------------------
38639 -- 4219869 Business Flow
38640 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
38641 -- Prior Entry. Currently, the following code is always generated.
38642 ------------------------------------------------------------------------------------------------
38643 XLA_AE_LINES_PKG.ValidateCurrentLine;
38644
38645 ------------------------------------------------------------------------------------
38646 -- 4219869 Business Flow
38647 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
38648 ------------------------------------------------------------------------------------
38649 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
38650
38651 ----------------------------------------------------------------------------------
38652 -- 4219869 Business Flow
38653 -- Update journal entry status -- Need to generate this within IF <condition>
38654 ----------------------------------------------------------------------------------
38655 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
38656 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
38657 ,p_balance_type_code => l_balance_type_code
38658 );
38659
38660 -------------------------------------------------------------------------------------------
38661 -- 4262811 - Generate the Accrual Reversal lines
38662 -------------------------------------------------------------------------------------------
38663 BEGIN
38664 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
38665 (g_array_event(p_event_id).array_value_num('header_index'));
38666 IF l_acc_rev_flag IS NULL THEN
38667 l_acc_rev_flag := 'N';
38668 END IF;
38669 EXCEPTION
38670 WHEN OTHERS THEN
38671 l_acc_rev_flag := 'N';
38672 END;
38673 --
38674 IF (l_acc_rev_flag = 'Y') THEN
38675
38676 -- 4645092 ------------------------------------------------------------------------------
38677 -- To allow MPA report to determine if it should generate report process
38681 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
38678 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
38679 ------------------------------------------------------------------------------------------
38680
38682 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
38683 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
38684 -- call ADRs
38685 -- Bug 4922099
38686 --
38687 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
38688 (NVL(l_actual_upg_option, 'N') = 'O') OR
38689 (NVL(l_enc_upg_option, 'N') = 'O')
38690 )
38691 THEN
38692 NULL;
38693 --
38694 --
38695
38696 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
38697 p_code_combination_id => TO_NUMBER(C_NUM)
38698 , p_value_type_code => NULL
38699 , p_transaction_coa_id => null
38700 , p_accounting_coa_id => null
38701 , p_adr_code => NULL
38702 , p_adr_type_code => NULL
38703 , p_component_type => l_component_type
38704 , p_component_code => l_component_code
38705 , p_component_type_code => l_component_type_code
38706 , p_component_appl_id => l_component_appl_id
38707 , p_amb_context_code => l_amb_context_code
38708 , p_side => NULL
38709 );
38710
38711
38712 -- initialise segments
38713 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38714 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38715 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38716 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38717 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38718 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38719 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38720 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38721 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38722 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38723 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38724 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38725 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38726 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38727 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38728 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38729 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38730 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38731 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38732 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38733 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38734 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38735 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38736 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38737 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38738 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38739 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38740 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38741 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38742 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38743 --
38744
38745 --
38746
38747
38748 l_segment := AcctDerRule_6(
38749 p_application_id => p_application_id
38750 , p_ae_header_id => l_ae_header_id
38751 , p_source_17 => p_source_17
38752 , x_transaction_coa_id => l_adr_transaction_coa_id
38753 , x_accounting_coa_id => l_adr_accounting_coa_id
38754 , x_flexfield_segment_code => l_adr_flexfield_segment_code
38755 , x_flex_value_set_id => l_adr_flex_value_set_id
38756 , x_value_type_code => l_adr_value_type_code
38757 , x_value_combination_id => l_adr_value_combination_id
38758 , x_value_segment_code => l_adr_value_segment_code
38759 , p_side => 'NA'
38760 , p_override_seg_flag => 'Y'
38761 );
38762
38763 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
38764
38765 xla_ae_lines_pkg.set_segment(
38766 p_to_segment_code => 'GL_ACCOUNT'
38767 , p_segment_value => l_segment
38768 , p_from_segment_code => l_adr_value_segment_code
38769 , p_from_combination_id => l_adr_value_combination_id
38770 , p_value_type_code => l_adr_value_type_code
38771 , p_transaction_coa_id => l_adr_transaction_coa_id
38772 , p_accounting_coa_id => l_adr_accounting_coa_id
38773 , p_flexfield_segment_code => l_adr_flexfield_segment_code
38777 , p_component_type => l_component_type
38774 , p_flex_value_set_id => l_adr_flex_value_set_id
38775 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
38776 , p_adr_type_code => 'S'
38778 , p_component_code => l_component_code
38779 , p_component_type_code => l_component_type_code
38780 , p_component_appl_id => l_component_appl_id
38781 , p_amb_context_code => l_amb_context_code
38782 , p_entity_code => 'AP_PAYMENTS'
38783 , p_event_class_code => 'FUTURE DATED PAYMENTS'
38784 , p_side => 'NA'
38785 );
38786
38787 END IF;
38788
38789 --
38790 --
38791 END IF;
38792
38793 --
38794 -- Update the line information that should be overwritten
38795 --
38796 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
38797 p_header_num => 1);
38798 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
38799
38800 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
38801
38802 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
38803 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
38804 END IF;
38805
38806 --
38807 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
38808 --
38809 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
38810 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
38811 ELSE
38812 ---------------------------------------------------------------------------------------------------
38813 -- 4262811a Switch Sign
38814 ---------------------------------------------------------------------------------------------------
38815 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
38816 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
38817 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38818 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
38819 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38820 -- 5132302
38821 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
38822 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38823
38824 END IF;
38825
38826 -- 4955764
38827 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
38828 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
38829
38830
38831 XLA_AE_LINES_PKG.ValidateCurrentLine;
38832 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
38833
38834 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
38835 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
38836 ,p_balance_type_code => l_balance_type_code);
38837
38838 END IF;
38839
38840 -----------------------------------------------------------------------------------------
38841 -- 4262811 Multiperiod Accounting
38842 -----------------------------------------------------------------------------------------
38843 -- No MPA option is assigned.
38844
38845
38846 END IF;
38847 END IF;
38848 --
38849
38850 --
38851 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
38852 trace
38853 (p_msg => 'END of AcctLineType_89'
38854 ,p_level => C_LEVEL_PROCEDURE
38855 ,p_module => l_log_module);
38856 END IF;
38857 --
38858 EXCEPTION
38859 WHEN xla_exceptions_pkg.application_exception THEN
38860 RAISE;
38861 WHEN OTHERS THEN
38862 xla_exceptions_pkg.raise_message
38863 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_89');
38864 END AcctLineType_89;
38865 --
38866
38867 ---------------------------------------
38868 --
38869 -- PRIVATE FUNCTION
38870 -- AcctLineType_90
38871 --
38872 ---------------------------------------
38873 PROCEDURE AcctLineType_90 (
38874 p_application_id IN NUMBER
38875 ,p_event_id IN NUMBER
38876 ,p_calculate_acctd_flag IN VARCHAR2
38877 ,p_calculate_g_l_flag IN VARCHAR2
38878 ,p_actual_flag IN OUT VARCHAR2
38879 ,p_balance_type_code OUT VARCHAR2
38880 ,p_gain_or_loss_ref OUT VARCHAR2
38881
38882 --Payment Currency Code
38883 , p_source_13 IN VARCHAR2
38884 --Automatic Offsets Value
38885 , p_source_15 IN VARCHAR2
38886 , p_source_15_meaning IN VARCHAR2
38887 --Bank Cash Account
38888 , p_source_17 IN NUMBER
38889 --Accounting Reversal Indicator
38890 , p_source_53 IN VARCHAR2
38891 --Distribution Link Type
38892 , p_source_55 IN VARCHAR2
38893 --Override Accounted Amount Indicator
38894 , p_source_80 IN VARCHAR2
38895 , p_source_80_meaning IN VARCHAR2
38896 --Third Party Type
38900 --When to Account for Payment Option
38897 , p_source_83 IN VARCHAR2
38898 --Business Flow Accounts Payable Application Identifier
38899 , p_source_91 IN NUMBER
38901 , p_source_97 IN VARCHAR2
38902 --Payment Distribution Type
38903 , p_source_98 IN VARCHAR2
38904 , p_source_98_meaning IN VARCHAR2
38905 --Payment Distribution Amount
38906 , p_source_99 IN NUMBER
38907 --Business Flow Payment Distribution Type
38908 , p_source_100 IN VARCHAR2
38909 --Business Flow Payment Entity Code
38910 , p_source_101 IN VARCHAR2
38911 --Business Flow Payment Distribution Identifier
38912 , p_source_102 IN NUMBER
38913 --Business Flow Payment Identifier
38914 , p_source_103 IN NUMBER
38915 --Payment Distribution Identifier
38916 , p_source_104 IN NUMBER
38917 --Payment Supplier Identifier
38918 , p_source_110 IN NUMBER
38919 --Payment Supplier Site Identifier
38920 , p_source_111 IN NUMBER
38921 --Payment Distribution Reversed Identifier
38922 , p_source_112 IN NUMBER
38923 --Pooled Bank Account Option
38924 , p_source_113 IN VARCHAR2
38925 , p_source_113_meaning IN VARCHAR2
38926 --Payment Maturity Date
38927 , p_source_114 IN DATE
38928 --Payment Exchange Date
38929 , p_source_117 IN DATE
38930 --Payment Exchange Rate
38931 , p_source_118 IN NUMBER
38932 --Payment Exchange Rate Type
38933 , p_source_119 IN VARCHAR2
38934 --Payment Distribution (Matured Rate) Ledger Amount
38935 , p_source_121 IN NUMBER
38936 )
38937 IS
38938
38939 l_component_type VARCHAR2(80);
38940 l_component_code VARCHAR2(30);
38941 l_component_type_code VARCHAR2(1);
38942 l_component_appl_id INTEGER;
38943 l_amb_context_code VARCHAR2(30);
38944 l_entity_code VARCHAR2(30);
38945 l_event_class_code VARCHAR2(30);
38946 l_ae_header_id NUMBER;
38947 l_event_type_code VARCHAR2(30);
38948 l_line_definition_code VARCHAR2(30);
38949 l_line_definition_owner_code VARCHAR2(1);
38950 --
38951 -- adr variables
38952 l_segment VARCHAR2(30);
38953 l_ccid NUMBER;
38954 l_adr_transaction_coa_id NUMBER;
38955 l_adr_accounting_coa_id NUMBER;
38956 l_adr_flexfield_segment_code VARCHAR2(30);
38957 l_adr_flex_value_set_id NUMBER;
38958 l_adr_value_type_code VARCHAR2(30);
38959 l_adr_value_combination_id NUMBER;
38960 l_adr_value_segment_code VARCHAR2(30);
38961
38962 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
38963 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
38964 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
38965 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
38966
38967 -- 4262811 Variables ------------------------------------------------------------------------------------------
38968 l_entered_amt_idx NUMBER;
38969 l_accted_amt_idx NUMBER;
38970 l_acc_rev_flag VARCHAR2(1);
38971 l_accrual_line_num NUMBER;
38972 l_tmp_amt NUMBER;
38973 l_acc_rev_natural_side_code VARCHAR2(1);
38974
38975 l_num_entries NUMBER;
38976 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
38977 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
38978 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
38979 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
38980 l_recog_line_1 NUMBER;
38981 l_recog_line_2 NUMBER;
38982
38983 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
38984 l_bflow_applied_to_amt NUMBER; -- 5132302
38985 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
38986
38987 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
38988
38989 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
38990 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
38991
38992 ---------------------------------------------------------------------------------------------------------------
38993
38994
38995 --
38996 -- bulk performance
38997 --
38998 l_balance_type_code VARCHAR2(1);
38999 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
39000 l_log_module VARCHAR2(240);
39001
39002 --
39003 -- Upgrade strategy
39004 --
39005 l_actual_upg_option VARCHAR2(1);
39006 l_enc_upg_option VARCHAR2(1);
39007
39008 --
39009 BEGIN
39010 --
39011 IF g_log_enabled THEN
39012 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_90';
39013 END IF;
39014 --
39015 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
39016
39017 trace
39018 (p_msg => 'BEGIN of AcctLineType_90'
39019 ,p_level => C_LEVEL_PROCEDURE
39020 ,p_module => l_log_module);
39021
39022 END IF;
39023 --
39024 l_component_type := 'AMB_JLT';
39025 l_component_code := 'AP_CASH_PMT_MAT_AOS_BS';
39026 l_component_type_code := 'S';
39027 l_component_appl_id := 200;
39028 l_amb_context_code := 'DEFAULT';
39032 l_line_definition_owner_code := 'S';
39029 l_entity_code := 'AP_PAYMENTS';
39030 l_event_class_code := 'FUTURE DATED PAYMENTS';
39031 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
39033 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
39034 --
39035 l_balance_type_code := 'A';
39036 l_segment := NULL;
39037 l_ccid := NULL;
39038 l_adr_transaction_coa_id := NULL;
39039 l_adr_accounting_coa_id := NULL;
39040 l_adr_flexfield_segment_code := NULL;
39041 l_adr_flex_value_set_id := NULL;
39042 l_adr_value_type_code := NULL;
39043 l_adr_value_combination_id := NULL;
39044 l_adr_value_segment_code := NULL;
39045
39046 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
39047 l_bflow_class_code := ''; -- 4219869 Business Flow
39048 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
39049 l_budgetary_control_flag := 'N';
39050
39051 l_bflow_applied_to_amt_idx := NULL; -- 5132302
39052 l_bflow_applied_to_amt := NULL; -- 5132302
39053 l_entered_amt_idx := NULL; -- 4262811
39054 l_accted_amt_idx := NULL; -- 4262811
39055 l_acc_rev_flag := NULL; -- 4262811
39056 l_accrual_line_num := NULL; -- 4262811
39057 l_tmp_amt := NULL; -- 4262811
39058 --
39059
39060 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
39061 l_balance_type_code <> 'B' THEN
39062 IF NVL(p_source_97,'
39063 ') = 'ISSUE_ISSUE' AND
39064 (NVL(p_source_113,'
39065 ') = 'Y' AND
39066 NVL(p_source_15,'
39067 ') = 'BALANCING_SEGMENT') AND
39068 p_source_114 IS NOT NULL AND
39069 NVL(p_source_98,'
39070 ') = 'CASH'
39071 THEN
39072
39073 --
39074 XLA_AE_LINES_PKG.SetNewLine;
39075
39076 p_balance_type_code := l_balance_type_code;
39077 -- set the flag so later we will know whether the gain loss line needs to be created
39078
39079 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
39080 p_actual_flag :='A';
39081 END IF;
39082
39083 --
39084 -- bulk performance
39085 --
39086 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
39087 p_header_num => 0); -- 4262811
39088 --
39089 -- set accounting line options
39090 --
39091 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
39092 p_natural_side_code => 'C'
39093 , p_gain_or_loss_flag => 'N'
39094 , p_gl_transfer_mode_code => 'S'
39095 , p_acct_entry_type_code => 'A'
39096 , p_switch_side_flag => 'Y'
39097 , p_merge_duplicate_code => 'A'
39098 );
39099 --
39100 l_acc_rev_natural_side_code := 'D'; -- 4262811
39101 --
39102 --
39103 -- set accounting line type info
39104 --
39105 xla_ae_lines_pkg.SetAcctLineType
39106 (p_component_type => l_component_type
39107 ,p_event_type_code => l_event_type_code
39108 ,p_line_definition_owner_code => l_line_definition_owner_code
39109 ,p_line_definition_code => l_line_definition_code
39110 ,p_accounting_line_code => l_component_code
39111 ,p_accounting_line_type_code => l_component_type_code
39112 ,p_accounting_line_appl_id => l_component_appl_id
39113 ,p_amb_context_code => l_amb_context_code
39114 ,p_entity_code => l_entity_code
39115 ,p_event_class_code => l_event_class_code);
39116 --
39117 -- set accounting class
39118 --
39119 xla_ae_lines_pkg.SetAcctClass(
39120 p_accounting_class_code => 'CASH'
39121 , p_ae_header_id => l_ae_header_id
39122 );
39123
39124 --
39125 -- set rounding class
39126 --
39127 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
39128 'CASH';
39129
39130 --
39131 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
39132 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
39133 --
39134 -- bulk performance
39135 --
39136 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
39137
39138 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
39139 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
39140
39141 -- 4955764
39142 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
39143 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
39144
39145 -- 4458381 Public Sector Enh
39146
39147 --
39148 -- set accounting attributes for the line type
39149 --
39150 l_entered_amt_idx := 9;
39151 l_accted_amt_idx := 14;
39152 l_bflow_applied_to_amt_idx := NULL; -- 5132302
39153 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
39154 l_rec_acct_attrs.array_char_value(1) := p_source_53;
39158 l_rec_acct_attrs.array_char_value(3) := p_source_100;
39155 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
39156 l_rec_acct_attrs.array_num_value(2) := p_source_91;
39157 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
39159 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
39160 l_rec_acct_attrs.array_char_value(4) := p_source_101;
39161 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
39162 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_102);
39163 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
39164 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_103);
39165 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
39166 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
39167 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
39168 l_rec_acct_attrs.array_char_value(8) := p_source_55;
39169 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
39170 l_rec_acct_attrs.array_num_value(9) := p_source_99;
39171 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
39172 l_rec_acct_attrs.array_char_value(10) := p_source_13;
39173 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
39174 l_rec_acct_attrs.array_date_value(11) := p_source_117;
39175 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
39176 l_rec_acct_attrs.array_num_value(12) := p_source_118;
39177 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
39178 l_rec_acct_attrs.array_char_value(13) := p_source_119;
39179 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
39180 l_rec_acct_attrs.array_num_value(14) := p_source_121;
39181 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
39182 l_rec_acct_attrs.array_char_value(15) := p_source_80;
39183 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
39184 l_rec_acct_attrs.array_num_value(16) := p_source_110;
39185 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
39186 l_rec_acct_attrs.array_num_value(17) := p_source_111;
39187 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
39188 l_rec_acct_attrs.array_char_value(18) := p_source_83;
39189 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
39190 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_112);
39191 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
39192 l_rec_acct_attrs.array_char_value(20) := p_source_55;
39193
39194 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
39195 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
39196
39197 ---------------------------------------------------------------------------------------------------------------
39198 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
39199 ---------------------------------------------------------------------------------------------------------------
39200 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
39201
39202 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
39203 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
39204
39205 IF xla_accounting_cache_pkg.GetValueChar
39206 (p_source_code => 'LEDGER_CATEGORY_CODE'
39207 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
39208 AND l_bflow_method_code = 'PRIOR_ENTRY'
39209 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
39210 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
39211 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
39212 )
39213 THEN
39214 xla_ae_lines_pkg.BflowUpgEntry
39215 (p_business_method_code => l_bflow_method_code
39216 ,p_business_class_code => l_bflow_class_code
39217 ,p_balance_type => l_balance_type_code);
39218 ELSE
39219 NULL;
39220 XLA_AE_LINES_PKG.business_flow_validation(
39221 p_business_method_code => l_bflow_method_code
39222 ,p_business_class_code => l_bflow_class_code
39223 ,p_inherit_description_flag => l_inherit_desc_flag);
39224 END IF;
39225
39226 --
39227 -- call analytical criteria
39228 --
39229
39230 --
39231 -- call description
39232 --
39233 -- No description or it is inherited.
39234 --
39235 -- call ADRs
39236 -- Bug 4922099
39237 --
39238 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
39239 (NVL(l_actual_upg_option, 'N') = 'O') OR
39240 (NVL(l_enc_upg_option, 'N') = 'O')
39241 )
39242 THEN
39243 NULL;
39244 --
39245 --
39246
39247 l_ccid := AcctDerRule_28(
39248 p_application_id => p_application_id
39249 , p_ae_header_id => l_ae_header_id
39250 , p_source_17 => p_source_17
39251 , x_transaction_coa_id => l_adr_transaction_coa_id
39252 , x_accounting_coa_id => l_adr_accounting_coa_id
39253 , x_value_type_code => l_adr_value_type_code
39254 , p_side => 'NA'
39255 );
39256
39257 xla_ae_lines_pkg.set_ccid(
39261 , p_accounting_coa_id => l_adr_accounting_coa_id
39258 p_code_combination_id => l_ccid
39259 , p_value_type_code => l_adr_value_type_code
39260 , p_transaction_coa_id => l_adr_transaction_coa_id
39262 , p_adr_code => 'AP_CASH'
39263 , p_adr_type_code => 'S'
39264 , p_component_type => l_component_type
39265 , p_component_code => l_component_code
39266 , p_component_type_code => l_component_type_code
39267 , p_component_appl_id => l_component_appl_id
39268 , p_amb_context_code => l_amb_context_code
39269 , p_side => 'NA'
39270 );
39271
39272
39273 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
39274 p_to_segment_code => 'GL_BALANCING'
39275 , p_segment_value => C_CHAR
39276 , p_from_segment_code => NULL
39277 , p_from_combination_id => NULL
39278 , p_value_type_code => NULL
39279 , p_transaction_coa_id => null
39280 , p_accounting_coa_id => null
39281 , p_flexfield_segment_code => NULL
39282 , p_flex_value_set_id => NULL
39283 , p_adr_code => NULL
39284 , p_adr_type_code => NULL
39285 , p_component_type => l_component_type
39286 , p_component_code => l_component_code
39287 , p_component_type_code => l_component_type_code
39288 , p_component_appl_id => l_component_appl_id
39289 , p_amb_context_code => l_amb_context_code
39290 , p_entity_code => 'AP_PAYMENTS'
39291 , p_event_class_code => 'FUTURE DATED PAYMENTS'
39292 , p_side => 'NA'
39293 );
39294 --
39295
39296
39297 --
39298 --
39299 END IF;
39300 --
39301 -- Bug 4922099
39302 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
39303 (NVL(l_enc_upg_option, 'N') = 'O')
39304 ) AND
39305 (l_bflow_method_code = 'PRIOR_ENTRY')
39306 )
39307 THEN
39308 IF
39309 --
39310 1 = 2
39311 --
39312 THEN
39313 xla_accounting_err_pkg.build_message
39314 (p_appli_s_name => 'XLA'
39315 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
39316 ,p_token_1 => 'LINE_NUMBER'
39317 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
39318 ,p_token_2 => 'LINE_TYPE_NAME'
39319 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
39320 l_component_type
39321 ,l_component_code
39322 ,l_component_type_code
39323 ,l_component_appl_id
39324 ,l_amb_context_code
39325 ,l_entity_code
39326 ,l_event_class_code
39327 )
39328 ,p_token_3 => 'OWNER'
39329 ,p_value_3 => xla_lookups_pkg.get_meaning(
39330 p_lookup_type => 'XLA_OWNER_TYPE'
39331 ,p_lookup_code => l_component_type_code
39332 )
39333 ,p_token_4 => 'PRODUCT_NAME'
39334 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
39335 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
39336 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
39337 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
39338 ,p_ae_header_id => NULL
39339 );
39340
39341 IF (C_LEVEL_ERROR>= g_log_level) THEN
39342 trace
39343 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
39344 ,p_level => C_LEVEL_ERROR
39345 ,p_module => l_log_module);
39346 END IF;
39347 END IF;
39348 END IF;
39349 --
39350 --
39351 ------------------------------------------------------------------------------------------------
39352 -- 4219869 Business Flow
39353 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
39354 -- Prior Entry. Currently, the following code is always generated.
39355 ------------------------------------------------------------------------------------------------
39356 XLA_AE_LINES_PKG.ValidateCurrentLine;
39357
39358 ------------------------------------------------------------------------------------
39362 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
39359 -- 4219869 Business Flow
39360 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
39361 ------------------------------------------------------------------------------------
39363
39364 ----------------------------------------------------------------------------------
39365 -- 4219869 Business Flow
39366 -- Update journal entry status -- Need to generate this within IF <condition>
39367 ----------------------------------------------------------------------------------
39368 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
39369 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
39370 ,p_balance_type_code => l_balance_type_code
39371 );
39372
39373 -------------------------------------------------------------------------------------------
39374 -- 4262811 - Generate the Accrual Reversal lines
39375 -------------------------------------------------------------------------------------------
39376 BEGIN
39377 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
39378 (g_array_event(p_event_id).array_value_num('header_index'));
39379 IF l_acc_rev_flag IS NULL THEN
39380 l_acc_rev_flag := 'N';
39381 END IF;
39382 EXCEPTION
39383 WHEN OTHERS THEN
39384 l_acc_rev_flag := 'N';
39385 END;
39386 --
39387 IF (l_acc_rev_flag = 'Y') THEN
39388
39389 -- 4645092 ------------------------------------------------------------------------------
39390 -- To allow MPA report to determine if it should generate report process
39391 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
39392 ------------------------------------------------------------------------------------------
39393
39394 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
39395 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
39396 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
39397 -- call ADRs
39398 -- Bug 4922099
39399 --
39400 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
39401 (NVL(l_actual_upg_option, 'N') = 'O') OR
39402 (NVL(l_enc_upg_option, 'N') = 'O')
39403 )
39404 THEN
39405 NULL;
39406 --
39407 --
39408
39409 l_ccid := AcctDerRule_28(
39410 p_application_id => p_application_id
39411 , p_ae_header_id => l_ae_header_id
39412 , p_source_17 => p_source_17
39413 , x_transaction_coa_id => l_adr_transaction_coa_id
39414 , x_accounting_coa_id => l_adr_accounting_coa_id
39415 , x_value_type_code => l_adr_value_type_code
39416 , p_side => 'NA'
39417 );
39418
39419 xla_ae_lines_pkg.set_ccid(
39420 p_code_combination_id => l_ccid
39421 , p_value_type_code => l_adr_value_type_code
39422 , p_transaction_coa_id => l_adr_transaction_coa_id
39423 , p_accounting_coa_id => l_adr_accounting_coa_id
39424 , p_adr_code => 'AP_CASH'
39425 , p_adr_type_code => 'S'
39426 , p_component_type => l_component_type
39427 , p_component_code => l_component_code
39428 , p_component_type_code => l_component_type_code
39429 , p_component_appl_id => l_component_appl_id
39430 , p_amb_context_code => l_amb_context_code
39431 , p_side => 'NA'
39432 );
39433
39434
39435 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
39436 p_to_segment_code => 'GL_BALANCING'
39437 , p_segment_value => C_CHAR
39438 , p_from_segment_code => NULL
39439 , p_from_combination_id => NULL
39440 , p_value_type_code => NULL
39441 , p_transaction_coa_id => null
39442 , p_accounting_coa_id => null
39443 , p_flexfield_segment_code => NULL
39444 , p_flex_value_set_id => NULL
39445 , p_adr_code => NULL
39446 , p_adr_type_code => NULL
39447 , p_component_type => l_component_type
39448 , p_component_code => l_component_code
39449 , p_component_type_code => l_component_type_code
39450 , p_component_appl_id => l_component_appl_id
39451 , p_amb_context_code => l_amb_context_code
39452 , p_entity_code => 'AP_PAYMENTS'
39453 , p_event_class_code => 'FUTURE DATED PAYMENTS'
39454 , p_side => 'NA'
39455 );
39456 --
39457
39458
39459 --
39460 --
39461 END IF;
39462
39463 --
39464 -- Update the line information that should be overwritten
39465 --
39466 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
39467 p_header_num => 1);
39468 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
39469
39470 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
39471
39472 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
39473 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
39474 END IF;
39475
39476 --
39477 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
39478 --
39482 ---------------------------------------------------------------------------------------------------
39479 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
39480 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
39481 ELSE
39483 -- 4262811a Switch Sign
39484 ---------------------------------------------------------------------------------------------------
39485 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
39486 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39487 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39488 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39489 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39490 -- 5132302
39491 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
39492 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39493
39494 END IF;
39495
39496 -- 4955764
39497 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
39498 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
39499
39500
39501 XLA_AE_LINES_PKG.ValidateCurrentLine;
39502 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
39503
39504 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
39505 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
39506 ,p_balance_type_code => l_balance_type_code);
39507
39508 END IF;
39509
39510 -----------------------------------------------------------------------------------------
39511 -- 4262811 Multiperiod Accounting
39512 -----------------------------------------------------------------------------------------
39513 -- No MPA option is assigned.
39514
39515
39516 END IF;
39517 END IF;
39518 --
39519
39520 --
39521 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
39522 trace
39523 (p_msg => 'END of AcctLineType_90'
39524 ,p_level => C_LEVEL_PROCEDURE
39525 ,p_module => l_log_module);
39526 END IF;
39527 --
39528 EXCEPTION
39529 WHEN xla_exceptions_pkg.application_exception THEN
39530 RAISE;
39531 WHEN OTHERS THEN
39532 xla_exceptions_pkg.raise_message
39533 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_90');
39534 END AcctLineType_90;
39535 --
39536
39537 ---------------------------------------
39538 --
39539 -- PRIVATE FUNCTION
39540 -- AcctLineType_91
39541 --
39542 ---------------------------------------
39543 PROCEDURE AcctLineType_91 (
39544 p_application_id IN NUMBER
39545 ,p_event_id IN NUMBER
39546 ,p_calculate_acctd_flag IN VARCHAR2
39547 ,p_calculate_g_l_flag IN VARCHAR2
39548 ,p_actual_flag IN OUT VARCHAR2
39549 ,p_balance_type_code OUT VARCHAR2
39550 ,p_gain_or_loss_ref OUT VARCHAR2
39551
39552 --Payment Currency Code
39553 , p_source_13 IN VARCHAR2
39554 --Bank Cash Account
39555 , p_source_17 IN NUMBER
39556 --Automatic Offsets Flag
39557 , p_source_47 IN VARCHAR2
39558 , p_source_47_meaning IN VARCHAR2
39559 --Accounting Reversal Indicator
39560 , p_source_53 IN VARCHAR2
39561 --Distribution Link Type
39562 , p_source_55 IN VARCHAR2
39563 --Override Accounted Amount Indicator
39564 , p_source_80 IN VARCHAR2
39565 , p_source_80_meaning IN VARCHAR2
39566 --Third Party Type
39567 , p_source_83 IN VARCHAR2
39568 --Invoice Distribution Tax Line Identifier
39569 , p_source_86 IN NUMBER
39570 --Invoice Distribution Tax Distribution Identifier from Tax
39571 , p_source_87 IN NUMBER
39572 --Invoice Distribution Summary Tax Line Identifier
39573 , p_source_88 IN NUMBER
39574 --Business Flow Accounts Payable Application Identifier
39575 , p_source_91 IN NUMBER
39576 --Business Flow Invoice Distribution Type
39577 , p_source_92 IN VARCHAR2
39578 --Business Flow Invoice Entity Code
39579 , p_source_93 IN VARCHAR2
39580 --Business Flow Invoice Distribution Identifier
39581 , p_source_94 IN NUMBER
39582 --Business Flow Invoice Identifier
39583 , p_source_95 IN NUMBER
39584 --When to Account for Payment Option
39585 , p_source_97 IN VARCHAR2
39586 --Payment Distribution Type
39587 , p_source_98 IN VARCHAR2
39588 , p_source_98_meaning IN VARCHAR2
39589 --Payment Distribution Amount
39590 , p_source_99 IN NUMBER
39591 --Payment Distribution Identifier
39592 , p_source_104 IN NUMBER
39593 --Payment Supplier Identifier
39594 , p_source_110 IN NUMBER
39595 --Payment Supplier Site Identifier
39596 , p_source_111 IN NUMBER
39597 --Payment Distribution Reversed Identifier
39598 , p_source_112 IN NUMBER
39599 --Pooled Bank Account Option
39600 , p_source_113 IN VARCHAR2
39601 , p_source_113_meaning IN VARCHAR2
39602 --Payment Maturity Date
39603 , p_source_114 IN DATE
39607 , p_source_117 IN DATE
39604 --Payment Distribution (Payment Rate) Ledger Amount
39605 , p_source_115 IN NUMBER
39606 --Payment Exchange Date
39608 --Payment Exchange Rate
39609 , p_source_118 IN NUMBER
39610 --Payment Exchange Rate Type
39611 , p_source_119 IN VARCHAR2
39612 --Payment Type
39613 , p_source_122 IN VARCHAR2
39614 , p_source_122_meaning IN VARCHAR2
39615 )
39616 IS
39617
39618 l_component_type VARCHAR2(80);
39619 l_component_code VARCHAR2(30);
39620 l_component_type_code VARCHAR2(1);
39621 l_component_appl_id INTEGER;
39622 l_amb_context_code VARCHAR2(30);
39623 l_entity_code VARCHAR2(30);
39624 l_event_class_code VARCHAR2(30);
39625 l_ae_header_id NUMBER;
39626 l_event_type_code VARCHAR2(30);
39627 l_line_definition_code VARCHAR2(30);
39628 l_line_definition_owner_code VARCHAR2(1);
39629 --
39630 -- adr variables
39631 l_segment VARCHAR2(30);
39632 l_ccid NUMBER;
39633 l_adr_transaction_coa_id NUMBER;
39634 l_adr_accounting_coa_id NUMBER;
39635 l_adr_flexfield_segment_code VARCHAR2(30);
39636 l_adr_flex_value_set_id NUMBER;
39637 l_adr_value_type_code VARCHAR2(30);
39638 l_adr_value_combination_id NUMBER;
39639 l_adr_value_segment_code VARCHAR2(30);
39640
39641 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
39642 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
39643 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
39644 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
39645
39646 -- 4262811 Variables ------------------------------------------------------------------------------------------
39647 l_entered_amt_idx NUMBER;
39648 l_accted_amt_idx NUMBER;
39649 l_acc_rev_flag VARCHAR2(1);
39650 l_accrual_line_num NUMBER;
39651 l_tmp_amt NUMBER;
39652 l_acc_rev_natural_side_code VARCHAR2(1);
39653
39654 l_num_entries NUMBER;
39655 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
39656 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
39657 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
39658 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
39659 l_recog_line_1 NUMBER;
39660 l_recog_line_2 NUMBER;
39661
39662 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
39663 l_bflow_applied_to_amt NUMBER; -- 5132302
39664 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
39665
39666 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
39667
39668 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
39669 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
39670
39671 ---------------------------------------------------------------------------------------------------------------
39672
39673
39674 --
39675 -- bulk performance
39676 --
39677 l_balance_type_code VARCHAR2(1);
39678 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
39679 l_log_module VARCHAR2(240);
39680
39681 --
39682 -- Upgrade strategy
39683 --
39684 l_actual_upg_option VARCHAR2(1);
39685 l_enc_upg_option VARCHAR2(1);
39686
39687 --
39688 BEGIN
39689 --
39690 IF g_log_enabled THEN
39691 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_91';
39692 END IF;
39693 --
39694 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
39695
39696 trace
39697 (p_msg => 'BEGIN of AcctLineType_91'
39698 ,p_level => C_LEVEL_PROCEDURE
39699 ,p_module => l_log_module);
39700
39701 END IF;
39702 --
39703 l_component_type := 'AMB_JLT';
39704 l_component_code := 'AP_CASH_REF';
39705 l_component_type_code := 'S';
39706 l_component_appl_id := 200;
39707 l_amb_context_code := 'DEFAULT';
39708 l_entity_code := 'AP_PAYMENTS';
39709 l_event_class_code := 'REFUNDS';
39710 l_event_type_code := 'REFUNDS_ALL';
39711 l_line_definition_owner_code := 'S';
39712 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
39713 --
39714 l_balance_type_code := 'A';
39715 l_segment := NULL;
39716 l_ccid := NULL;
39717 l_adr_transaction_coa_id := NULL;
39718 l_adr_accounting_coa_id := NULL;
39719 l_adr_flexfield_segment_code := NULL;
39720 l_adr_flex_value_set_id := NULL;
39721 l_adr_value_type_code := NULL;
39722 l_adr_value_combination_id := NULL;
39723 l_adr_value_segment_code := NULL;
39724
39725 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
39726 l_bflow_class_code := ''; -- 4219869 Business Flow
39727 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
39728 l_budgetary_control_flag := 'N';
39729
39730 l_bflow_applied_to_amt_idx := NULL; -- 5132302
39731 l_bflow_applied_to_amt := NULL; -- 5132302
39732 l_entered_amt_idx := NULL; -- 4262811
39733 l_accted_amt_idx := NULL; -- 4262811
39737 --
39734 l_acc_rev_flag := NULL; -- 4262811
39735 l_accrual_line_num := NULL; -- 4262811
39736 l_tmp_amt := NULL; -- 4262811
39738
39739 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
39740 l_balance_type_code <> 'B' THEN
39741 IF NVL(p_source_97,'
39742 ') = 'ISSUE_ISSUE' AND
39743 (NVL(p_source_47,'
39744 ') <> 'Y' OR
39745 NVL(p_source_47,'
39746 ') = 'Y' AND
39747 NVL(p_source_113,'
39748 ') <> 'Y') AND
39749 p_source_114 IS NULL AND
39750 NVL(p_source_98,'
39751 ') = 'CASH' AND
39752 NVL(p_source_122,'
39753 ') = 'R'
39754 THEN
39755
39756 --
39757 XLA_AE_LINES_PKG.SetNewLine;
39758
39759 p_balance_type_code := l_balance_type_code;
39760 -- set the flag so later we will know whether the gain loss line needs to be created
39761
39762 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
39763 p_actual_flag :='A';
39764 END IF;
39765
39766 --
39767 -- bulk performance
39768 --
39769 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
39770 p_header_num => 0); -- 4262811
39771 --
39772 -- set accounting line options
39773 --
39774 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
39775 p_natural_side_code => 'C'
39776 , p_gain_or_loss_flag => 'N'
39777 , p_gl_transfer_mode_code => 'S'
39778 , p_acct_entry_type_code => 'A'
39779 , p_switch_side_flag => 'Y'
39780 , p_merge_duplicate_code => 'A'
39781 );
39782 --
39783 l_acc_rev_natural_side_code := 'D'; -- 4262811
39784 --
39785 --
39786 -- set accounting line type info
39787 --
39788 xla_ae_lines_pkg.SetAcctLineType
39789 (p_component_type => l_component_type
39790 ,p_event_type_code => l_event_type_code
39791 ,p_line_definition_owner_code => l_line_definition_owner_code
39792 ,p_line_definition_code => l_line_definition_code
39793 ,p_accounting_line_code => l_component_code
39794 ,p_accounting_line_type_code => l_component_type_code
39795 ,p_accounting_line_appl_id => l_component_appl_id
39796 ,p_amb_context_code => l_amb_context_code
39797 ,p_entity_code => l_entity_code
39798 ,p_event_class_code => l_event_class_code);
39799 --
39800 -- set accounting class
39801 --
39802 xla_ae_lines_pkg.SetAcctClass(
39803 p_accounting_class_code => 'CASH'
39804 , p_ae_header_id => l_ae_header_id
39805 );
39806
39807 --
39808 -- set rounding class
39809 --
39810 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
39811 'CASH';
39812
39813 --
39814 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
39815 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
39816 --
39817 -- bulk performance
39818 --
39819 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
39820
39821 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
39822 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
39823
39824 -- 4955764
39825 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
39826 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
39827
39828 -- 4458381 Public Sector Enh
39829
39830 --
39831 -- set accounting attributes for the line type
39832 --
39833 l_entered_amt_idx := 9;
39834 l_accted_amt_idx := 14;
39835 l_bflow_applied_to_amt_idx := NULL; -- 5132302
39836 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
39837 l_rec_acct_attrs.array_char_value(1) := p_source_53;
39838 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
39839 l_rec_acct_attrs.array_num_value(2) := p_source_91;
39840 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
39841 l_rec_acct_attrs.array_char_value(3) := p_source_92;
39842 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
39843 l_rec_acct_attrs.array_char_value(4) := p_source_93;
39844 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
39845 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
39846 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
39847 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
39848 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
39849 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
39850 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
39851 l_rec_acct_attrs.array_char_value(8) := p_source_55;
39852 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
39853 l_rec_acct_attrs.array_num_value(9) := p_source_99;
39854 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
39858 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
39855 l_rec_acct_attrs.array_char_value(10) := p_source_13;
39856 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
39857 l_rec_acct_attrs.array_date_value(11) := p_source_117;
39859 l_rec_acct_attrs.array_num_value(12) := p_source_118;
39860 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
39861 l_rec_acct_attrs.array_char_value(13) := p_source_119;
39862 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
39863 l_rec_acct_attrs.array_num_value(14) := p_source_115;
39864 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
39865 l_rec_acct_attrs.array_char_value(15) := p_source_80;
39866 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
39867 l_rec_acct_attrs.array_num_value(16) := p_source_110;
39868 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
39869 l_rec_acct_attrs.array_num_value(17) := p_source_111;
39870 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
39871 l_rec_acct_attrs.array_char_value(18) := p_source_83;
39872 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
39873 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_112);
39874 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
39875 l_rec_acct_attrs.array_char_value(20) := p_source_55;
39876 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
39877 l_rec_acct_attrs.array_num_value(21) := p_source_86;
39878 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
39879 l_rec_acct_attrs.array_num_value(22) := p_source_87;
39880 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
39881 l_rec_acct_attrs.array_num_value(23) := p_source_88;
39882
39883 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
39884 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
39885
39886 ---------------------------------------------------------------------------------------------------------------
39887 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
39888 ---------------------------------------------------------------------------------------------------------------
39889 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
39890
39891 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
39892 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
39893
39894 IF xla_accounting_cache_pkg.GetValueChar
39895 (p_source_code => 'LEDGER_CATEGORY_CODE'
39896 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
39897 AND l_bflow_method_code = 'PRIOR_ENTRY'
39898 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
39899 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
39900 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
39901 )
39902 THEN
39903 xla_ae_lines_pkg.BflowUpgEntry
39904 (p_business_method_code => l_bflow_method_code
39905 ,p_business_class_code => l_bflow_class_code
39906 ,p_balance_type => l_balance_type_code);
39907 ELSE
39908 NULL;
39909 -- No business flow processing for business flow method of NONE.
39910 END IF;
39911
39912 --
39913 -- call analytical criteria
39914 --
39915
39916 --
39917 -- call description
39918 --
39919 -- No description or it is inherited.
39920 --
39921 -- call ADRs
39922 -- Bug 4922099
39923 --
39924 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
39925 (NVL(l_actual_upg_option, 'N') = 'O') OR
39926 (NVL(l_enc_upg_option, 'N') = 'O')
39927 )
39928 THEN
39929 NULL;
39930 --
39931 --
39932
39933 l_ccid := AcctDerRule_28(
39934 p_application_id => p_application_id
39935 , p_ae_header_id => l_ae_header_id
39936 , p_source_17 => p_source_17
39937 , x_transaction_coa_id => l_adr_transaction_coa_id
39938 , x_accounting_coa_id => l_adr_accounting_coa_id
39939 , x_value_type_code => l_adr_value_type_code
39940 , p_side => 'NA'
39941 );
39942
39943 xla_ae_lines_pkg.set_ccid(
39944 p_code_combination_id => l_ccid
39945 , p_value_type_code => l_adr_value_type_code
39946 , p_transaction_coa_id => l_adr_transaction_coa_id
39947 , p_accounting_coa_id => l_adr_accounting_coa_id
39948 , p_adr_code => 'AP_CASH'
39949 , p_adr_type_code => 'S'
39950 , p_component_type => l_component_type
39951 , p_component_code => l_component_code
39952 , p_component_type_code => l_component_type_code
39953 , p_component_appl_id => l_component_appl_id
39954 , p_amb_context_code => l_amb_context_code
39955 , p_side => 'NA'
39956 );
39957
39958
39959 --
39960 --
39961 END IF;
39962 --
39963 -- Bug 4922099
39964 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
39965 (NVL(l_enc_upg_option, 'N') = 'O')
39966 ) AND
39970 IF
39967 (l_bflow_method_code = 'PRIOR_ENTRY')
39968 )
39969 THEN
39971 --
39972 1 = 2
39973 --
39974 THEN
39975 xla_accounting_err_pkg.build_message
39976 (p_appli_s_name => 'XLA'
39977 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
39978 ,p_token_1 => 'LINE_NUMBER'
39979 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
39980 ,p_token_2 => 'LINE_TYPE_NAME'
39981 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
39982 l_component_type
39983 ,l_component_code
39984 ,l_component_type_code
39985 ,l_component_appl_id
39986 ,l_amb_context_code
39987 ,l_entity_code
39988 ,l_event_class_code
39989 )
39990 ,p_token_3 => 'OWNER'
39991 ,p_value_3 => xla_lookups_pkg.get_meaning(
39992 p_lookup_type => 'XLA_OWNER_TYPE'
39993 ,p_lookup_code => l_component_type_code
39994 )
39995 ,p_token_4 => 'PRODUCT_NAME'
39996 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
39997 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
39998 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
39999 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
40000 ,p_ae_header_id => NULL
40001 );
40002
40003 IF (C_LEVEL_ERROR>= g_log_level) THEN
40004 trace
40005 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
40006 ,p_level => C_LEVEL_ERROR
40007 ,p_module => l_log_module);
40008 END IF;
40009 END IF;
40010 END IF;
40011 --
40012 --
40013 ------------------------------------------------------------------------------------------------
40014 -- 4219869 Business Flow
40015 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
40016 -- Prior Entry. Currently, the following code is always generated.
40017 ------------------------------------------------------------------------------------------------
40018 XLA_AE_LINES_PKG.ValidateCurrentLine;
40019
40020 ------------------------------------------------------------------------------------
40021 -- 4219869 Business Flow
40022 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
40023 ------------------------------------------------------------------------------------
40024 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
40025
40026 ----------------------------------------------------------------------------------
40027 -- 4219869 Business Flow
40028 -- Update journal entry status -- Need to generate this within IF <condition>
40029 ----------------------------------------------------------------------------------
40030 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
40031 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
40032 ,p_balance_type_code => l_balance_type_code
40033 );
40034
40035 -------------------------------------------------------------------------------------------
40036 -- 4262811 - Generate the Accrual Reversal lines
40037 -------------------------------------------------------------------------------------------
40038 BEGIN
40039 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
40040 (g_array_event(p_event_id).array_value_num('header_index'));
40041 IF l_acc_rev_flag IS NULL THEN
40042 l_acc_rev_flag := 'N';
40043 END IF;
40044 EXCEPTION
40045 WHEN OTHERS THEN
40046 l_acc_rev_flag := 'N';
40047 END;
40048 --
40049 IF (l_acc_rev_flag = 'Y') THEN
40050
40051 -- 4645092 ------------------------------------------------------------------------------
40052 -- To allow MPA report to determine if it should generate report process
40053 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
40054 ------------------------------------------------------------------------------------------
40055
40056 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
40057 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
40058 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
40062 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
40059 -- call ADRs
40060 -- Bug 4922099
40061 --
40063 (NVL(l_actual_upg_option, 'N') = 'O') OR
40064 (NVL(l_enc_upg_option, 'N') = 'O')
40065 )
40066 THEN
40067 NULL;
40068 --
40069 --
40070
40071 l_ccid := AcctDerRule_28(
40072 p_application_id => p_application_id
40073 , p_ae_header_id => l_ae_header_id
40074 , p_source_17 => p_source_17
40075 , x_transaction_coa_id => l_adr_transaction_coa_id
40076 , x_accounting_coa_id => l_adr_accounting_coa_id
40077 , x_value_type_code => l_adr_value_type_code
40078 , p_side => 'NA'
40079 );
40080
40081 xla_ae_lines_pkg.set_ccid(
40082 p_code_combination_id => l_ccid
40083 , p_value_type_code => l_adr_value_type_code
40084 , p_transaction_coa_id => l_adr_transaction_coa_id
40085 , p_accounting_coa_id => l_adr_accounting_coa_id
40086 , p_adr_code => 'AP_CASH'
40087 , p_adr_type_code => 'S'
40088 , p_component_type => l_component_type
40089 , p_component_code => l_component_code
40090 , p_component_type_code => l_component_type_code
40091 , p_component_appl_id => l_component_appl_id
40092 , p_amb_context_code => l_amb_context_code
40093 , p_side => 'NA'
40094 );
40095
40096
40097 --
40098 --
40099 END IF;
40100
40101 --
40102 -- Update the line information that should be overwritten
40103 --
40104 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
40105 p_header_num => 1);
40106 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
40107
40108 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
40109
40110 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
40111 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
40112 END IF;
40113
40114 --
40115 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
40116 --
40117 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
40118 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
40119 ELSE
40120 ---------------------------------------------------------------------------------------------------
40121 -- 4262811a Switch Sign
40122 ---------------------------------------------------------------------------------------------------
40123 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
40124 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40125 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40126 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40127 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40128 -- 5132302
40129 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
40130 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40131
40132 END IF;
40133
40134 -- 4955764
40135 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
40136 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
40137
40138
40139 XLA_AE_LINES_PKG.ValidateCurrentLine;
40140 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
40141
40142 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
40143 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
40144 ,p_balance_type_code => l_balance_type_code);
40145
40146 END IF;
40147
40148 -----------------------------------------------------------------------------------------
40149 -- 4262811 Multiperiod Accounting
40150 -----------------------------------------------------------------------------------------
40151 -- No MPA option is assigned.
40152
40153
40154 END IF;
40155 END IF;
40156 --
40157
40158 --
40159 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
40160 trace
40161 (p_msg => 'END of AcctLineType_91'
40162 ,p_level => C_LEVEL_PROCEDURE
40163 ,p_module => l_log_module);
40164 END IF;
40165 --
40166 EXCEPTION
40167 WHEN xla_exceptions_pkg.application_exception THEN
40168 RAISE;
40169 WHEN OTHERS THEN
40170 xla_exceptions_pkg.raise_message
40171 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_91');
40172 END AcctLineType_91;
40173 --
40174
40175 ---------------------------------------
40176 --
40177 -- PRIVATE FUNCTION
40178 -- AcctLineType_92
40179 --
40180 ---------------------------------------
40181 PROCEDURE AcctLineType_92 (
40182 p_application_id IN NUMBER
40183 ,p_event_id IN NUMBER
40184 ,p_calculate_acctd_flag IN VARCHAR2
40188 ,p_gain_or_loss_ref OUT VARCHAR2
40185 ,p_calculate_g_l_flag IN VARCHAR2
40186 ,p_actual_flag IN OUT VARCHAR2
40187 ,p_balance_type_code OUT VARCHAR2
40189
40190 --Payment Currency Code
40191 , p_source_13 IN VARCHAR2
40192 --Automatic Offsets Value
40193 , p_source_15 IN VARCHAR2
40194 , p_source_15_meaning IN VARCHAR2
40195 --Bank Cash Account
40196 , p_source_17 IN NUMBER
40197 --Accounting Reversal Indicator
40198 , p_source_53 IN VARCHAR2
40199 --Distribution Link Type
40200 , p_source_55 IN VARCHAR2
40201 --Override Accounted Amount Indicator
40202 , p_source_80 IN VARCHAR2
40203 , p_source_80_meaning IN VARCHAR2
40204 --Third Party Type
40205 , p_source_83 IN VARCHAR2
40206 --Invoice Distribution Tax Line Identifier
40207 , p_source_86 IN NUMBER
40208 --Invoice Distribution Tax Distribution Identifier from Tax
40209 , p_source_87 IN NUMBER
40210 --Invoice Distribution Summary Tax Line Identifier
40211 , p_source_88 IN NUMBER
40212 --Business Flow Accounts Payable Application Identifier
40213 , p_source_91 IN NUMBER
40214 --Business Flow Invoice Distribution Type
40215 , p_source_92 IN VARCHAR2
40216 --Business Flow Invoice Entity Code
40217 , p_source_93 IN VARCHAR2
40218 --Business Flow Invoice Distribution Identifier
40219 , p_source_94 IN NUMBER
40220 --Business Flow Invoice Identifier
40221 , p_source_95 IN NUMBER
40222 --When to Account for Payment Option
40223 , p_source_97 IN VARCHAR2
40224 --Payment Distribution Type
40225 , p_source_98 IN VARCHAR2
40226 , p_source_98_meaning IN VARCHAR2
40227 --Payment Distribution Amount
40228 , p_source_99 IN NUMBER
40229 --Payment Distribution Identifier
40230 , p_source_104 IN NUMBER
40231 --Payment Supplier Identifier
40232 , p_source_110 IN NUMBER
40233 --Payment Supplier Site Identifier
40234 , p_source_111 IN NUMBER
40235 --Payment Distribution Reversed Identifier
40236 , p_source_112 IN NUMBER
40237 --Pooled Bank Account Option
40238 , p_source_113 IN VARCHAR2
40239 , p_source_113_meaning IN VARCHAR2
40240 --Payment Maturity Date
40241 , p_source_114 IN DATE
40242 --Payment Distribution (Payment Rate) Ledger Amount
40243 , p_source_115 IN NUMBER
40244 --Payment Exchange Date
40245 , p_source_117 IN DATE
40246 --Payment Exchange Rate
40247 , p_source_118 IN NUMBER
40248 --Payment Exchange Rate Type
40249 , p_source_119 IN VARCHAR2
40250 --Payment Type
40251 , p_source_122 IN VARCHAR2
40252 , p_source_122_meaning IN VARCHAR2
40253 )
40254 IS
40255
40256 l_component_type VARCHAR2(80);
40257 l_component_code VARCHAR2(30);
40258 l_component_type_code VARCHAR2(1);
40259 l_component_appl_id INTEGER;
40260 l_amb_context_code VARCHAR2(30);
40261 l_entity_code VARCHAR2(30);
40262 l_event_class_code VARCHAR2(30);
40263 l_ae_header_id NUMBER;
40264 l_event_type_code VARCHAR2(30);
40265 l_line_definition_code VARCHAR2(30);
40266 l_line_definition_owner_code VARCHAR2(1);
40267 --
40268 -- adr variables
40269 l_segment VARCHAR2(30);
40270 l_ccid NUMBER;
40271 l_adr_transaction_coa_id NUMBER;
40272 l_adr_accounting_coa_id NUMBER;
40273 l_adr_flexfield_segment_code VARCHAR2(30);
40274 l_adr_flex_value_set_id NUMBER;
40275 l_adr_value_type_code VARCHAR2(30);
40276 l_adr_value_combination_id NUMBER;
40277 l_adr_value_segment_code VARCHAR2(30);
40278
40279 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
40280 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
40281 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
40282 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
40283
40284 -- 4262811 Variables ------------------------------------------------------------------------------------------
40285 l_entered_amt_idx NUMBER;
40286 l_accted_amt_idx NUMBER;
40287 l_acc_rev_flag VARCHAR2(1);
40288 l_accrual_line_num NUMBER;
40289 l_tmp_amt NUMBER;
40290 l_acc_rev_natural_side_code VARCHAR2(1);
40291
40292 l_num_entries NUMBER;
40293 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
40294 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
40295 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
40296 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
40297 l_recog_line_1 NUMBER;
40298 l_recog_line_2 NUMBER;
40299
40300 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
40301 l_bflow_applied_to_amt NUMBER; -- 5132302
40302 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
40303
40304 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
40305
40306 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
40307 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
40308
40312 --
40309 ---------------------------------------------------------------------------------------------------------------
40310
40311
40313 -- bulk performance
40314 --
40315 l_balance_type_code VARCHAR2(1);
40316 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
40317 l_log_module VARCHAR2(240);
40318
40319 --
40320 -- Upgrade strategy
40321 --
40322 l_actual_upg_option VARCHAR2(1);
40323 l_enc_upg_option VARCHAR2(1);
40324
40325 --
40326 BEGIN
40327 --
40328 IF g_log_enabled THEN
40329 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_92';
40330 END IF;
40331 --
40332 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
40333
40334 trace
40335 (p_msg => 'BEGIN of AcctLineType_92'
40336 ,p_level => C_LEVEL_PROCEDURE
40337 ,p_module => l_log_module);
40338
40339 END IF;
40340 --
40341 l_component_type := 'AMB_JLT';
40342 l_component_code := 'AP_CASH_REF_AOS_AS';
40343 l_component_type_code := 'S';
40344 l_component_appl_id := 200;
40345 l_amb_context_code := 'DEFAULT';
40346 l_entity_code := 'AP_PAYMENTS';
40347 l_event_class_code := 'REFUNDS';
40348 l_event_type_code := 'REFUNDS_ALL';
40349 l_line_definition_owner_code := 'S';
40350 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
40351 --
40352 l_balance_type_code := 'A';
40353 l_segment := NULL;
40354 l_ccid := NULL;
40355 l_adr_transaction_coa_id := NULL;
40356 l_adr_accounting_coa_id := NULL;
40357 l_adr_flexfield_segment_code := NULL;
40358 l_adr_flex_value_set_id := NULL;
40359 l_adr_value_type_code := NULL;
40360 l_adr_value_combination_id := NULL;
40361 l_adr_value_segment_code := NULL;
40362
40363 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
40364 l_bflow_class_code := ''; -- 4219869 Business Flow
40365 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
40366 l_budgetary_control_flag := 'N';
40367
40368 l_bflow_applied_to_amt_idx := NULL; -- 5132302
40369 l_bflow_applied_to_amt := NULL; -- 5132302
40370 l_entered_amt_idx := NULL; -- 4262811
40371 l_accted_amt_idx := NULL; -- 4262811
40372 l_acc_rev_flag := NULL; -- 4262811
40373 l_accrual_line_num := NULL; -- 4262811
40374 l_tmp_amt := NULL; -- 4262811
40375 --
40376
40377 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
40378 l_balance_type_code <> 'B' THEN
40379 IF NVL(p_source_97,'
40380 ') = 'ISSUE_ISSUE' AND
40381 (NVL(p_source_113,'
40382 ') = 'Y' AND
40383 NVL(p_source_15,'
40384 ') = 'ACCOUNT_SEGMENT_VALUE') AND
40385 p_source_114 IS NULL AND
40386 NVL(p_source_98,'
40387 ') = 'CASH' AND
40388 NVL(p_source_122,'
40389 ') = 'R'
40390 THEN
40391
40392 --
40393 XLA_AE_LINES_PKG.SetNewLine;
40394
40395 p_balance_type_code := l_balance_type_code;
40396 -- set the flag so later we will know whether the gain loss line needs to be created
40397
40398 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
40399 p_actual_flag :='A';
40400 END IF;
40401
40402 --
40403 -- bulk performance
40404 --
40405 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
40406 p_header_num => 0); -- 4262811
40407 --
40408 -- set accounting line options
40409 --
40410 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
40411 p_natural_side_code => 'C'
40412 , p_gain_or_loss_flag => 'N'
40413 , p_gl_transfer_mode_code => 'S'
40414 , p_acct_entry_type_code => 'A'
40415 , p_switch_side_flag => 'Y'
40416 , p_merge_duplicate_code => 'A'
40417 );
40418 --
40419 l_acc_rev_natural_side_code := 'D'; -- 4262811
40420 --
40421 --
40422 -- set accounting line type info
40423 --
40424 xla_ae_lines_pkg.SetAcctLineType
40425 (p_component_type => l_component_type
40426 ,p_event_type_code => l_event_type_code
40427 ,p_line_definition_owner_code => l_line_definition_owner_code
40428 ,p_line_definition_code => l_line_definition_code
40429 ,p_accounting_line_code => l_component_code
40430 ,p_accounting_line_type_code => l_component_type_code
40431 ,p_accounting_line_appl_id => l_component_appl_id
40432 ,p_amb_context_code => l_amb_context_code
40433 ,p_entity_code => l_entity_code
40434 ,p_event_class_code => l_event_class_code);
40435 --
40436 -- set accounting class
40437 --
40438 xla_ae_lines_pkg.SetAcctClass(
40439 p_accounting_class_code => 'CASH'
40440 , p_ae_header_id => l_ae_header_id
40441 );
40442
40443 --
40444 -- set rounding class
40445 --
40446 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
40447 'CASH';
40448
40449 --
40453 -- bulk performance
40450 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
40451 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
40452 --
40454 --
40455 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
40456
40457 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
40458 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
40459
40460 -- 4955764
40461 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
40462 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
40463
40464 -- 4458381 Public Sector Enh
40465
40466 --
40467 -- set accounting attributes for the line type
40468 --
40469 l_entered_amt_idx := 9;
40470 l_accted_amt_idx := 14;
40471 l_bflow_applied_to_amt_idx := NULL; -- 5132302
40472 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
40473 l_rec_acct_attrs.array_char_value(1) := p_source_53;
40474 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
40475 l_rec_acct_attrs.array_num_value(2) := p_source_91;
40476 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
40477 l_rec_acct_attrs.array_char_value(3) := p_source_92;
40478 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
40479 l_rec_acct_attrs.array_char_value(4) := p_source_93;
40480 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
40481 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
40482 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
40483 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
40484 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
40485 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
40486 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
40487 l_rec_acct_attrs.array_char_value(8) := p_source_55;
40488 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
40489 l_rec_acct_attrs.array_num_value(9) := p_source_99;
40490 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
40491 l_rec_acct_attrs.array_char_value(10) := p_source_13;
40492 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
40493 l_rec_acct_attrs.array_date_value(11) := p_source_117;
40494 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
40495 l_rec_acct_attrs.array_num_value(12) := p_source_118;
40496 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
40497 l_rec_acct_attrs.array_char_value(13) := p_source_119;
40498 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
40499 l_rec_acct_attrs.array_num_value(14) := p_source_115;
40500 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
40501 l_rec_acct_attrs.array_char_value(15) := p_source_80;
40502 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
40503 l_rec_acct_attrs.array_num_value(16) := p_source_110;
40504 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
40505 l_rec_acct_attrs.array_num_value(17) := p_source_111;
40506 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
40507 l_rec_acct_attrs.array_char_value(18) := p_source_83;
40508 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
40509 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_112);
40510 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
40511 l_rec_acct_attrs.array_char_value(20) := p_source_55;
40512 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
40513 l_rec_acct_attrs.array_num_value(21) := p_source_86;
40514 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
40515 l_rec_acct_attrs.array_num_value(22) := p_source_87;
40516 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
40517 l_rec_acct_attrs.array_num_value(23) := p_source_88;
40518
40519 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
40520 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
40521
40522 ---------------------------------------------------------------------------------------------------------------
40523 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
40524 ---------------------------------------------------------------------------------------------------------------
40525 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
40526
40527 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
40528 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
40529
40530 IF xla_accounting_cache_pkg.GetValueChar
40531 (p_source_code => 'LEDGER_CATEGORY_CODE'
40532 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
40533 AND l_bflow_method_code = 'PRIOR_ENTRY'
40534 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
40535 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
40536 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
40537 )
40538 THEN
40539 xla_ae_lines_pkg.BflowUpgEntry
40543 ELSE
40540 (p_business_method_code => l_bflow_method_code
40541 ,p_business_class_code => l_bflow_class_code
40542 ,p_balance_type => l_balance_type_code);
40544 NULL;
40545 XLA_AE_LINES_PKG.business_flow_validation(
40546 p_business_method_code => l_bflow_method_code
40547 ,p_business_class_code => l_bflow_class_code
40548 ,p_inherit_description_flag => l_inherit_desc_flag);
40549 END IF;
40550
40551 --
40552 -- call analytical criteria
40553 --
40554
40555 --
40556 -- call description
40557 --
40558 -- No description or it is inherited.
40559 --
40560 -- call ADRs
40561 -- Bug 4922099
40562 --
40563 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
40564 (NVL(l_actual_upg_option, 'N') = 'O') OR
40565 (NVL(l_enc_upg_option, 'N') = 'O')
40566 )
40567 THEN
40568 NULL;
40569 --
40570 --
40571
40572 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
40573 p_code_combination_id => TO_NUMBER(C_NUM)
40574 , p_value_type_code => NULL
40575 , p_transaction_coa_id => null
40576 , p_accounting_coa_id => null
40577 , p_adr_code => NULL
40578 , p_adr_type_code => NULL
40579 , p_component_type => l_component_type
40580 , p_component_code => l_component_code
40581 , p_component_type_code => l_component_type_code
40582 , p_component_appl_id => l_component_appl_id
40583 , p_amb_context_code => l_amb_context_code
40584 , p_side => NULL
40585 );
40586
40587
40588 -- initialise segments
40589 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40590 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40591 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40592 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40593 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40594 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40595 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40596 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40597 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40598 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40599 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40600 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40601 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40602 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40603 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40604 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40605 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40606 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40607 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40608 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40609 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40610 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40611 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40612 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40613 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40614 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40615 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40616 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40617 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40618 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40619 --
40620
40621 --
40622
40623
40624 l_segment := AcctDerRule_6(
40625 p_application_id => p_application_id
40626 , p_ae_header_id => l_ae_header_id
40627 , p_source_17 => p_source_17
40628 , x_transaction_coa_id => l_adr_transaction_coa_id
40629 , x_accounting_coa_id => l_adr_accounting_coa_id
40630 , x_flexfield_segment_code => l_adr_flexfield_segment_code
40631 , x_flex_value_set_id => l_adr_flex_value_set_id
40632 , x_value_type_code => l_adr_value_type_code
40633 , x_value_combination_id => l_adr_value_combination_id
40634 , x_value_segment_code => l_adr_value_segment_code
40635 , p_side => 'NA'
40636 , p_override_seg_flag => 'Y'
40637 );
40638
40639 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
40640
40641 xla_ae_lines_pkg.set_segment(
40645 , p_from_combination_id => l_adr_value_combination_id
40642 p_to_segment_code => 'GL_ACCOUNT'
40643 , p_segment_value => l_segment
40644 , p_from_segment_code => l_adr_value_segment_code
40646 , p_value_type_code => l_adr_value_type_code
40647 , p_transaction_coa_id => l_adr_transaction_coa_id
40648 , p_accounting_coa_id => l_adr_accounting_coa_id
40649 , p_flexfield_segment_code => l_adr_flexfield_segment_code
40650 , p_flex_value_set_id => l_adr_flex_value_set_id
40651 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
40652 , p_adr_type_code => 'S'
40653 , p_component_type => l_component_type
40654 , p_component_code => l_component_code
40655 , p_component_type_code => l_component_type_code
40656 , p_component_appl_id => l_component_appl_id
40657 , p_amb_context_code => l_amb_context_code
40658 , p_entity_code => 'AP_PAYMENTS'
40659 , p_event_class_code => 'REFUNDS'
40660 , p_side => 'NA'
40661 );
40662
40663 END IF;
40664
40665 --
40666 --
40667 END IF;
40668 --
40669 -- Bug 4922099
40670 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
40671 (NVL(l_enc_upg_option, 'N') = 'O')
40672 ) AND
40673 (l_bflow_method_code = 'PRIOR_ENTRY')
40674 )
40675 THEN
40676 IF
40677 --
40678 1 = 2
40679 --
40680 THEN
40681 xla_accounting_err_pkg.build_message
40682 (p_appli_s_name => 'XLA'
40683 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
40684 ,p_token_1 => 'LINE_NUMBER'
40685 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
40686 ,p_token_2 => 'LINE_TYPE_NAME'
40687 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
40688 l_component_type
40689 ,l_component_code
40690 ,l_component_type_code
40691 ,l_component_appl_id
40692 ,l_amb_context_code
40693 ,l_entity_code
40694 ,l_event_class_code
40695 )
40696 ,p_token_3 => 'OWNER'
40697 ,p_value_3 => xla_lookups_pkg.get_meaning(
40698 p_lookup_type => 'XLA_OWNER_TYPE'
40699 ,p_lookup_code => l_component_type_code
40700 )
40701 ,p_token_4 => 'PRODUCT_NAME'
40702 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
40703 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
40704 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
40705 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
40706 ,p_ae_header_id => NULL
40707 );
40708
40709 IF (C_LEVEL_ERROR>= g_log_level) THEN
40710 trace
40711 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
40712 ,p_level => C_LEVEL_ERROR
40713 ,p_module => l_log_module);
40714 END IF;
40715 END IF;
40716 END IF;
40717 --
40718 --
40719 ------------------------------------------------------------------------------------------------
40720 -- 4219869 Business Flow
40721 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
40722 -- Prior Entry. Currently, the following code is always generated.
40723 ------------------------------------------------------------------------------------------------
40724 XLA_AE_LINES_PKG.ValidateCurrentLine;
40725
40726 ------------------------------------------------------------------------------------
40727 -- 4219869 Business Flow
40728 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
40729 ------------------------------------------------------------------------------------
40730 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
40731
40732 ----------------------------------------------------------------------------------
40733 -- 4219869 Business Flow
40734 -- Update journal entry status -- Need to generate this within IF <condition>
40735 ----------------------------------------------------------------------------------
40736 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
40740
40737 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
40738 ,p_balance_type_code => l_balance_type_code
40739 );
40741 -------------------------------------------------------------------------------------------
40742 -- 4262811 - Generate the Accrual Reversal lines
40743 -------------------------------------------------------------------------------------------
40744 BEGIN
40745 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
40746 (g_array_event(p_event_id).array_value_num('header_index'));
40747 IF l_acc_rev_flag IS NULL THEN
40748 l_acc_rev_flag := 'N';
40749 END IF;
40750 EXCEPTION
40751 WHEN OTHERS THEN
40752 l_acc_rev_flag := 'N';
40753 END;
40754 --
40755 IF (l_acc_rev_flag = 'Y') THEN
40756
40757 -- 4645092 ------------------------------------------------------------------------------
40758 -- To allow MPA report to determine if it should generate report process
40759 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
40760 ------------------------------------------------------------------------------------------
40761
40762 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
40763 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
40764 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
40765 -- call ADRs
40766 -- Bug 4922099
40767 --
40768 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
40769 (NVL(l_actual_upg_option, 'N') = 'O') OR
40770 (NVL(l_enc_upg_option, 'N') = 'O')
40771 )
40772 THEN
40773 NULL;
40774 --
40775 --
40776
40777 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
40778 p_code_combination_id => TO_NUMBER(C_NUM)
40779 , p_value_type_code => NULL
40780 , p_transaction_coa_id => null
40781 , p_accounting_coa_id => null
40782 , p_adr_code => NULL
40783 , p_adr_type_code => NULL
40784 , p_component_type => l_component_type
40785 , p_component_code => l_component_code
40786 , p_component_type_code => l_component_type_code
40787 , p_component_appl_id => l_component_appl_id
40788 , p_amb_context_code => l_amb_context_code
40789 , p_side => NULL
40790 );
40791
40792
40793 -- initialise segments
40794 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40795 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40796 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40797 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40798 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40799 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40800 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40801 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40802 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40803 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40804 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40805 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40806 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40807 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40808 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40809 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40810 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40811 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40812 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40813 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40814 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40815 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40816 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40817 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40818 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40819 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40820 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40821 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40822 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40823 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40824 --
40825
40826 --
40827
40828
40829 l_segment := AcctDerRule_6(
40830 p_application_id => p_application_id
40831 , p_ae_header_id => l_ae_header_id
40832 , p_source_17 => p_source_17
40833 , x_transaction_coa_id => l_adr_transaction_coa_id
40837 , x_value_type_code => l_adr_value_type_code
40834 , x_accounting_coa_id => l_adr_accounting_coa_id
40835 , x_flexfield_segment_code => l_adr_flexfield_segment_code
40836 , x_flex_value_set_id => l_adr_flex_value_set_id
40838 , x_value_combination_id => l_adr_value_combination_id
40839 , x_value_segment_code => l_adr_value_segment_code
40840 , p_side => 'NA'
40841 , p_override_seg_flag => 'Y'
40842 );
40843
40844 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
40845
40846 xla_ae_lines_pkg.set_segment(
40847 p_to_segment_code => 'GL_ACCOUNT'
40848 , p_segment_value => l_segment
40849 , p_from_segment_code => l_adr_value_segment_code
40850 , p_from_combination_id => l_adr_value_combination_id
40851 , p_value_type_code => l_adr_value_type_code
40852 , p_transaction_coa_id => l_adr_transaction_coa_id
40853 , p_accounting_coa_id => l_adr_accounting_coa_id
40854 , p_flexfield_segment_code => l_adr_flexfield_segment_code
40855 , p_flex_value_set_id => l_adr_flex_value_set_id
40856 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
40857 , p_adr_type_code => 'S'
40858 , p_component_type => l_component_type
40859 , p_component_code => l_component_code
40860 , p_component_type_code => l_component_type_code
40861 , p_component_appl_id => l_component_appl_id
40862 , p_amb_context_code => l_amb_context_code
40863 , p_entity_code => 'AP_PAYMENTS'
40864 , p_event_class_code => 'REFUNDS'
40865 , p_side => 'NA'
40866 );
40867
40868 END IF;
40869
40870 --
40871 --
40872 END IF;
40873
40874 --
40875 -- Update the line information that should be overwritten
40876 --
40877 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
40878 p_header_num => 1);
40879 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
40880
40881 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
40882
40883 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
40884 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
40885 END IF;
40886
40887 --
40888 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
40889 --
40890 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
40891 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
40892 ELSE
40893 ---------------------------------------------------------------------------------------------------
40894 -- 4262811a Switch Sign
40895 ---------------------------------------------------------------------------------------------------
40896 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
40897 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40898 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40899 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40900 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40901 -- 5132302
40902 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
40903 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40904
40905 END IF;
40906
40907 -- 4955764
40908 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
40909 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
40910
40911
40912 XLA_AE_LINES_PKG.ValidateCurrentLine;
40913 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
40914
40915 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
40916 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
40917 ,p_balance_type_code => l_balance_type_code);
40918
40919 END IF;
40920
40921 -----------------------------------------------------------------------------------------
40922 -- 4262811 Multiperiod Accounting
40923 -----------------------------------------------------------------------------------------
40924 -- No MPA option is assigned.
40925
40926
40927 END IF;
40928 END IF;
40929 --
40930
40931 --
40932 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
40933 trace
40934 (p_msg => 'END of AcctLineType_92'
40935 ,p_level => C_LEVEL_PROCEDURE
40936 ,p_module => l_log_module);
40937 END IF;
40938 --
40939 EXCEPTION
40940 WHEN xla_exceptions_pkg.application_exception THEN
40941 RAISE;
40942 WHEN OTHERS THEN
40943 xla_exceptions_pkg.raise_message
40944 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_92');
40945 END AcctLineType_92;
40946 --
40947
40948 ---------------------------------------
40952 --
40949 --
40950 -- PRIVATE FUNCTION
40951 -- AcctLineType_93
40953 ---------------------------------------
40954 PROCEDURE AcctLineType_93 (
40955 p_application_id IN NUMBER
40956 ,p_event_id IN NUMBER
40957 ,p_calculate_acctd_flag IN VARCHAR2
40958 ,p_calculate_g_l_flag IN VARCHAR2
40959 ,p_actual_flag IN OUT VARCHAR2
40960 ,p_balance_type_code OUT VARCHAR2
40961 ,p_gain_or_loss_ref OUT VARCHAR2
40962
40963 --Payment Currency Code
40964 , p_source_13 IN VARCHAR2
40965 --Automatic Offsets Value
40966 , p_source_15 IN VARCHAR2
40967 , p_source_15_meaning IN VARCHAR2
40968 --Bank Cash Account
40969 , p_source_17 IN NUMBER
40970 --Accounting Reversal Indicator
40971 , p_source_53 IN VARCHAR2
40972 --Distribution Link Type
40973 , p_source_55 IN VARCHAR2
40974 --Override Accounted Amount Indicator
40975 , p_source_80 IN VARCHAR2
40976 , p_source_80_meaning IN VARCHAR2
40977 --Third Party Type
40978 , p_source_83 IN VARCHAR2
40979 --Invoice Distribution Tax Line Identifier
40980 , p_source_86 IN NUMBER
40981 --Invoice Distribution Tax Distribution Identifier from Tax
40982 , p_source_87 IN NUMBER
40983 --Invoice Distribution Summary Tax Line Identifier
40984 , p_source_88 IN NUMBER
40985 --Business Flow Accounts Payable Application Identifier
40986 , p_source_91 IN NUMBER
40987 --Business Flow Invoice Distribution Type
40988 , p_source_92 IN VARCHAR2
40989 --Business Flow Invoice Entity Code
40990 , p_source_93 IN VARCHAR2
40991 --Business Flow Invoice Distribution Identifier
40992 , p_source_94 IN NUMBER
40993 --Business Flow Invoice Identifier
40994 , p_source_95 IN NUMBER
40995 --When to Account for Payment Option
40996 , p_source_97 IN VARCHAR2
40997 --Payment Distribution Type
40998 , p_source_98 IN VARCHAR2
40999 , p_source_98_meaning IN VARCHAR2
41000 --Payment Distribution Amount
41001 , p_source_99 IN NUMBER
41002 --Payment Distribution Identifier
41003 , p_source_104 IN NUMBER
41004 --Payment Supplier Identifier
41005 , p_source_110 IN NUMBER
41006 --Payment Supplier Site Identifier
41007 , p_source_111 IN NUMBER
41008 --Payment Distribution Reversed Identifier
41009 , p_source_112 IN NUMBER
41010 --Pooled Bank Account Option
41011 , p_source_113 IN VARCHAR2
41012 , p_source_113_meaning IN VARCHAR2
41013 --Payment Maturity Date
41014 , p_source_114 IN DATE
41015 --Payment Distribution (Payment Rate) Ledger Amount
41016 , p_source_115 IN NUMBER
41017 --Payment Exchange Date
41018 , p_source_117 IN DATE
41019 --Payment Exchange Rate
41020 , p_source_118 IN NUMBER
41021 --Payment Exchange Rate Type
41022 , p_source_119 IN VARCHAR2
41023 --Payment Type
41024 , p_source_122 IN VARCHAR2
41025 , p_source_122_meaning IN VARCHAR2
41026 )
41027 IS
41028
41029 l_component_type VARCHAR2(80);
41030 l_component_code VARCHAR2(30);
41031 l_component_type_code VARCHAR2(1);
41032 l_component_appl_id INTEGER;
41033 l_amb_context_code VARCHAR2(30);
41034 l_entity_code VARCHAR2(30);
41035 l_event_class_code VARCHAR2(30);
41036 l_ae_header_id NUMBER;
41037 l_event_type_code VARCHAR2(30);
41038 l_line_definition_code VARCHAR2(30);
41039 l_line_definition_owner_code VARCHAR2(1);
41040 --
41041 -- adr variables
41042 l_segment VARCHAR2(30);
41043 l_ccid NUMBER;
41044 l_adr_transaction_coa_id NUMBER;
41045 l_adr_accounting_coa_id NUMBER;
41046 l_adr_flexfield_segment_code VARCHAR2(30);
41047 l_adr_flex_value_set_id NUMBER;
41048 l_adr_value_type_code VARCHAR2(30);
41049 l_adr_value_combination_id NUMBER;
41050 l_adr_value_segment_code VARCHAR2(30);
41051
41052 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
41053 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
41054 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
41055 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
41056
41057 -- 4262811 Variables ------------------------------------------------------------------------------------------
41058 l_entered_amt_idx NUMBER;
41059 l_accted_amt_idx NUMBER;
41060 l_acc_rev_flag VARCHAR2(1);
41061 l_accrual_line_num NUMBER;
41062 l_tmp_amt NUMBER;
41063 l_acc_rev_natural_side_code VARCHAR2(1);
41064
41065 l_num_entries NUMBER;
41066 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
41067 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
41068 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
41069 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
41070 l_recog_line_1 NUMBER;
41071 l_recog_line_2 NUMBER;
41072
41073 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
41074 l_bflow_applied_to_amt NUMBER; -- 5132302
41075 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
41076
41080 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
41077 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
41078
41079 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
41081
41082 ---------------------------------------------------------------------------------------------------------------
41083
41084
41085 --
41086 -- bulk performance
41087 --
41088 l_balance_type_code VARCHAR2(1);
41089 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
41090 l_log_module VARCHAR2(240);
41091
41092 --
41093 -- Upgrade strategy
41094 --
41095 l_actual_upg_option VARCHAR2(1);
41096 l_enc_upg_option VARCHAR2(1);
41097
41098 --
41099 BEGIN
41100 --
41101 IF g_log_enabled THEN
41102 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_93';
41103 END IF;
41104 --
41105 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
41106
41107 trace
41108 (p_msg => 'BEGIN of AcctLineType_93'
41109 ,p_level => C_LEVEL_PROCEDURE
41110 ,p_module => l_log_module);
41111
41112 END IF;
41113 --
41114 l_component_type := 'AMB_JLT';
41115 l_component_code := 'AP_CASH_REF_AOS_BS';
41116 l_component_type_code := 'S';
41117 l_component_appl_id := 200;
41118 l_amb_context_code := 'DEFAULT';
41119 l_entity_code := 'AP_PAYMENTS';
41120 l_event_class_code := 'REFUNDS';
41121 l_event_type_code := 'REFUNDS_ALL';
41122 l_line_definition_owner_code := 'S';
41123 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
41124 --
41125 l_balance_type_code := 'A';
41126 l_segment := NULL;
41127 l_ccid := NULL;
41128 l_adr_transaction_coa_id := NULL;
41129 l_adr_accounting_coa_id := NULL;
41130 l_adr_flexfield_segment_code := NULL;
41131 l_adr_flex_value_set_id := NULL;
41132 l_adr_value_type_code := NULL;
41133 l_adr_value_combination_id := NULL;
41134 l_adr_value_segment_code := NULL;
41135
41136 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
41137 l_bflow_class_code := ''; -- 4219869 Business Flow
41138 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
41139 l_budgetary_control_flag := 'N';
41140
41141 l_bflow_applied_to_amt_idx := NULL; -- 5132302
41142 l_bflow_applied_to_amt := NULL; -- 5132302
41143 l_entered_amt_idx := NULL; -- 4262811
41144 l_accted_amt_idx := NULL; -- 4262811
41145 l_acc_rev_flag := NULL; -- 4262811
41146 l_accrual_line_num := NULL; -- 4262811
41147 l_tmp_amt := NULL; -- 4262811
41148 --
41149
41150 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
41151 l_balance_type_code <> 'B' THEN
41152 IF NVL(p_source_97,'
41153 ') = 'ISSUE_ISSUE' AND
41154 (NVL(p_source_113,'
41155 ') = 'Y' AND
41156 NVL(p_source_15,'
41157 ') = 'BALANCING_SEGMENT') AND
41158 p_source_114 IS NULL AND
41159 NVL(p_source_98,'
41160 ') = 'CASH' AND
41161 NVL(p_source_122,'
41162 ') = 'R'
41163 THEN
41164
41165 --
41166 XLA_AE_LINES_PKG.SetNewLine;
41167
41168 p_balance_type_code := l_balance_type_code;
41169 -- set the flag so later we will know whether the gain loss line needs to be created
41170
41171 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
41172 p_actual_flag :='A';
41173 END IF;
41174
41175 --
41176 -- bulk performance
41177 --
41178 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
41179 p_header_num => 0); -- 4262811
41180 --
41181 -- set accounting line options
41182 --
41183 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
41184 p_natural_side_code => 'C'
41185 , p_gain_or_loss_flag => 'N'
41186 , p_gl_transfer_mode_code => 'S'
41187 , p_acct_entry_type_code => 'A'
41188 , p_switch_side_flag => 'Y'
41189 , p_merge_duplicate_code => 'A'
41190 );
41191 --
41192 l_acc_rev_natural_side_code := 'D'; -- 4262811
41193 --
41194 --
41195 -- set accounting line type info
41196 --
41197 xla_ae_lines_pkg.SetAcctLineType
41198 (p_component_type => l_component_type
41199 ,p_event_type_code => l_event_type_code
41200 ,p_line_definition_owner_code => l_line_definition_owner_code
41201 ,p_line_definition_code => l_line_definition_code
41202 ,p_accounting_line_code => l_component_code
41203 ,p_accounting_line_type_code => l_component_type_code
41204 ,p_accounting_line_appl_id => l_component_appl_id
41205 ,p_amb_context_code => l_amb_context_code
41206 ,p_entity_code => l_entity_code
41207 ,p_event_class_code => l_event_class_code);
41208 --
41209 -- set accounting class
41210 --
41211 xla_ae_lines_pkg.SetAcctClass(
41212 p_accounting_class_code => 'CASH'
41216 --
41213 , p_ae_header_id => l_ae_header_id
41214 );
41215
41217 -- set rounding class
41218 --
41219 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
41220 'CASH';
41221
41222 --
41223 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
41224 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
41225 --
41226 -- bulk performance
41227 --
41228 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
41229
41230 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
41231 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
41232
41233 -- 4955764
41234 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
41235 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
41236
41237 -- 4458381 Public Sector Enh
41238
41239 --
41240 -- set accounting attributes for the line type
41241 --
41242 l_entered_amt_idx := 9;
41243 l_accted_amt_idx := 14;
41244 l_bflow_applied_to_amt_idx := NULL; -- 5132302
41245 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
41246 l_rec_acct_attrs.array_char_value(1) := p_source_53;
41247 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
41248 l_rec_acct_attrs.array_num_value(2) := p_source_91;
41249 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
41250 l_rec_acct_attrs.array_char_value(3) := p_source_92;
41251 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
41252 l_rec_acct_attrs.array_char_value(4) := p_source_93;
41253 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
41254 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
41255 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
41256 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
41257 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
41258 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
41259 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
41260 l_rec_acct_attrs.array_char_value(8) := p_source_55;
41261 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
41262 l_rec_acct_attrs.array_num_value(9) := p_source_99;
41263 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
41264 l_rec_acct_attrs.array_char_value(10) := p_source_13;
41265 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
41266 l_rec_acct_attrs.array_date_value(11) := p_source_117;
41267 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
41268 l_rec_acct_attrs.array_num_value(12) := p_source_118;
41269 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
41270 l_rec_acct_attrs.array_char_value(13) := p_source_119;
41271 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
41272 l_rec_acct_attrs.array_num_value(14) := p_source_115;
41273 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
41274 l_rec_acct_attrs.array_char_value(15) := p_source_80;
41275 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
41276 l_rec_acct_attrs.array_num_value(16) := p_source_110;
41277 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
41278 l_rec_acct_attrs.array_num_value(17) := p_source_111;
41279 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
41280 l_rec_acct_attrs.array_char_value(18) := p_source_83;
41281 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
41282 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_112);
41283 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
41284 l_rec_acct_attrs.array_char_value(20) := p_source_55;
41285 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
41286 l_rec_acct_attrs.array_num_value(21) := p_source_86;
41287 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
41288 l_rec_acct_attrs.array_num_value(22) := p_source_87;
41289 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
41290 l_rec_acct_attrs.array_num_value(23) := p_source_88;
41291
41292 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
41293 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
41294
41295 ---------------------------------------------------------------------------------------------------------------
41296 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
41297 ---------------------------------------------------------------------------------------------------------------
41298 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
41299
41300 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
41301 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
41302
41303 IF xla_accounting_cache_pkg.GetValueChar
41304 (p_source_code => 'LEDGER_CATEGORY_CODE'
41308 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
41305 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
41306 AND l_bflow_method_code = 'PRIOR_ENTRY'
41307 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
41309 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
41310 )
41311 THEN
41312 xla_ae_lines_pkg.BflowUpgEntry
41313 (p_business_method_code => l_bflow_method_code
41314 ,p_business_class_code => l_bflow_class_code
41315 ,p_balance_type => l_balance_type_code);
41316 ELSE
41317 NULL;
41318 XLA_AE_LINES_PKG.business_flow_validation(
41319 p_business_method_code => l_bflow_method_code
41320 ,p_business_class_code => l_bflow_class_code
41321 ,p_inherit_description_flag => l_inherit_desc_flag);
41322 END IF;
41323
41324 --
41325 -- call analytical criteria
41326 --
41327
41328 --
41329 -- call description
41330 --
41331 -- No description or it is inherited.
41332 --
41333 -- call ADRs
41334 -- Bug 4922099
41335 --
41336 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
41337 (NVL(l_actual_upg_option, 'N') = 'O') OR
41338 (NVL(l_enc_upg_option, 'N') = 'O')
41339 )
41340 THEN
41341 NULL;
41342 --
41343 --
41344
41345 l_ccid := AcctDerRule_28(
41346 p_application_id => p_application_id
41347 , p_ae_header_id => l_ae_header_id
41348 , p_source_17 => p_source_17
41349 , x_transaction_coa_id => l_adr_transaction_coa_id
41350 , x_accounting_coa_id => l_adr_accounting_coa_id
41351 , x_value_type_code => l_adr_value_type_code
41352 , p_side => 'NA'
41353 );
41354
41355 xla_ae_lines_pkg.set_ccid(
41356 p_code_combination_id => l_ccid
41357 , p_value_type_code => l_adr_value_type_code
41358 , p_transaction_coa_id => l_adr_transaction_coa_id
41359 , p_accounting_coa_id => l_adr_accounting_coa_id
41360 , p_adr_code => 'AP_CASH'
41361 , p_adr_type_code => 'S'
41362 , p_component_type => l_component_type
41363 , p_component_code => l_component_code
41364 , p_component_type_code => l_component_type_code
41365 , p_component_appl_id => l_component_appl_id
41366 , p_amb_context_code => l_amb_context_code
41367 , p_side => 'NA'
41368 );
41369
41370
41371 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
41372 p_to_segment_code => 'GL_BALANCING'
41373 , p_segment_value => C_CHAR
41374 , p_from_segment_code => NULL
41375 , p_from_combination_id => NULL
41376 , p_value_type_code => NULL
41377 , p_transaction_coa_id => null
41378 , p_accounting_coa_id => null
41379 , p_flexfield_segment_code => NULL
41380 , p_flex_value_set_id => NULL
41381 , p_adr_code => NULL
41382 , p_adr_type_code => NULL
41383 , p_component_type => l_component_type
41384 , p_component_code => l_component_code
41385 , p_component_type_code => l_component_type_code
41386 , p_component_appl_id => l_component_appl_id
41387 , p_amb_context_code => l_amb_context_code
41388 , p_entity_code => 'AP_PAYMENTS'
41389 , p_event_class_code => 'REFUNDS'
41390 , p_side => 'NA'
41391 );
41392 --
41393
41394
41395 --
41396 --
41397 END IF;
41398 --
41399 -- Bug 4922099
41400 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
41401 (NVL(l_enc_upg_option, 'N') = 'O')
41402 ) AND
41403 (l_bflow_method_code = 'PRIOR_ENTRY')
41404 )
41405 THEN
41406 IF
41407 --
41408 1 = 2
41409 --
41410 THEN
41411 xla_accounting_err_pkg.build_message
41412 (p_appli_s_name => 'XLA'
41413 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
41414 ,p_token_1 => 'LINE_NUMBER'
41415 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
41416 ,p_token_2 => 'LINE_TYPE_NAME'
41417 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
41418 l_component_type
41419 ,l_component_code
41420 ,l_component_type_code
41421 ,l_component_appl_id
41422 ,l_amb_context_code
41423 ,l_entity_code
41424 ,l_event_class_code
41425 )
41429 ,p_lookup_code => l_component_type_code
41426 ,p_token_3 => 'OWNER'
41427 ,p_value_3 => xla_lookups_pkg.get_meaning(
41428 p_lookup_type => 'XLA_OWNER_TYPE'
41430 )
41431 ,p_token_4 => 'PRODUCT_NAME'
41432 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
41433 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
41434 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
41435 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
41436 ,p_ae_header_id => NULL
41437 );
41438
41439 IF (C_LEVEL_ERROR>= g_log_level) THEN
41440 trace
41441 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
41442 ,p_level => C_LEVEL_ERROR
41443 ,p_module => l_log_module);
41444 END IF;
41445 END IF;
41446 END IF;
41447 --
41448 --
41449 ------------------------------------------------------------------------------------------------
41450 -- 4219869 Business Flow
41451 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
41452 -- Prior Entry. Currently, the following code is always generated.
41453 ------------------------------------------------------------------------------------------------
41454 XLA_AE_LINES_PKG.ValidateCurrentLine;
41455
41456 ------------------------------------------------------------------------------------
41457 -- 4219869 Business Flow
41458 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
41459 ------------------------------------------------------------------------------------
41460 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
41461
41462 ----------------------------------------------------------------------------------
41463 -- 4219869 Business Flow
41464 -- Update journal entry status -- Need to generate this within IF <condition>
41465 ----------------------------------------------------------------------------------
41466 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
41467 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
41468 ,p_balance_type_code => l_balance_type_code
41469 );
41470
41471 -------------------------------------------------------------------------------------------
41472 -- 4262811 - Generate the Accrual Reversal lines
41473 -------------------------------------------------------------------------------------------
41474 BEGIN
41475 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
41476 (g_array_event(p_event_id).array_value_num('header_index'));
41477 IF l_acc_rev_flag IS NULL THEN
41478 l_acc_rev_flag := 'N';
41479 END IF;
41480 EXCEPTION
41481 WHEN OTHERS THEN
41482 l_acc_rev_flag := 'N';
41483 END;
41484 --
41485 IF (l_acc_rev_flag = 'Y') THEN
41486
41487 -- 4645092 ------------------------------------------------------------------------------
41488 -- To allow MPA report to determine if it should generate report process
41489 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
41490 ------------------------------------------------------------------------------------------
41491
41492 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
41493 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
41494 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
41495 -- call ADRs
41496 -- Bug 4922099
41497 --
41498 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
41499 (NVL(l_actual_upg_option, 'N') = 'O') OR
41500 (NVL(l_enc_upg_option, 'N') = 'O')
41501 )
41502 THEN
41503 NULL;
41504 --
41505 --
41506
41507 l_ccid := AcctDerRule_28(
41508 p_application_id => p_application_id
41509 , p_ae_header_id => l_ae_header_id
41510 , p_source_17 => p_source_17
41511 , x_transaction_coa_id => l_adr_transaction_coa_id
41512 , x_accounting_coa_id => l_adr_accounting_coa_id
41513 , x_value_type_code => l_adr_value_type_code
41514 , p_side => 'NA'
41515 );
41516
41517 xla_ae_lines_pkg.set_ccid(
41518 p_code_combination_id => l_ccid
41519 , p_value_type_code => l_adr_value_type_code
41520 , p_transaction_coa_id => l_adr_transaction_coa_id
41521 , p_accounting_coa_id => l_adr_accounting_coa_id
41522 , p_adr_code => 'AP_CASH'
41523 , p_adr_type_code => 'S'
41524 , p_component_type => l_component_type
41525 , p_component_code => l_component_code
41526 , p_component_type_code => l_component_type_code
41527 , p_component_appl_id => l_component_appl_id
41531
41528 , p_amb_context_code => l_amb_context_code
41529 , p_side => 'NA'
41530 );
41532
41533 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
41534 p_to_segment_code => 'GL_BALANCING'
41535 , p_segment_value => C_CHAR
41536 , p_from_segment_code => NULL
41537 , p_from_combination_id => NULL
41538 , p_value_type_code => NULL
41539 , p_transaction_coa_id => null
41540 , p_accounting_coa_id => null
41541 , p_flexfield_segment_code => NULL
41542 , p_flex_value_set_id => NULL
41543 , p_adr_code => NULL
41544 , p_adr_type_code => NULL
41545 , p_component_type => l_component_type
41546 , p_component_code => l_component_code
41547 , p_component_type_code => l_component_type_code
41548 , p_component_appl_id => l_component_appl_id
41549 , p_amb_context_code => l_amb_context_code
41550 , p_entity_code => 'AP_PAYMENTS'
41551 , p_event_class_code => 'REFUNDS'
41552 , p_side => 'NA'
41553 );
41554 --
41555
41556
41557 --
41558 --
41559 END IF;
41560
41561 --
41562 -- Update the line information that should be overwritten
41563 --
41564 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
41565 p_header_num => 1);
41566 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
41567
41568 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
41569
41570 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
41571 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
41572 END IF;
41573
41574 --
41575 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
41576 --
41577 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
41578 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
41579 ELSE
41580 ---------------------------------------------------------------------------------------------------
41581 -- 4262811a Switch Sign
41582 ---------------------------------------------------------------------------------------------------
41583 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
41584 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
41585 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41586 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
41587 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41588 -- 5132302
41589 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
41590 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41591
41592 END IF;
41593
41594 -- 4955764
41595 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
41596 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
41597
41598
41599 XLA_AE_LINES_PKG.ValidateCurrentLine;
41600 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
41601
41602 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
41603 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
41604 ,p_balance_type_code => l_balance_type_code);
41605
41606 END IF;
41607
41608 -----------------------------------------------------------------------------------------
41609 -- 4262811 Multiperiod Accounting
41610 -----------------------------------------------------------------------------------------
41611 -- No MPA option is assigned.
41612
41613
41614 END IF;
41615 END IF;
41616 --
41617
41618 --
41619 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
41620 trace
41621 (p_msg => 'END of AcctLineType_93'
41622 ,p_level => C_LEVEL_PROCEDURE
41623 ,p_module => l_log_module);
41624 END IF;
41625 --
41626 EXCEPTION
41627 WHEN xla_exceptions_pkg.application_exception THEN
41628 RAISE;
41629 WHEN OTHERS THEN
41630 xla_exceptions_pkg.raise_message
41631 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_93');
41632 END AcctLineType_93;
41633 --
41634
41635 ---------------------------------------
41636 --
41637 -- PRIVATE FUNCTION
41638 -- AcctLineType_94
41639 --
41640 ---------------------------------------
41641 PROCEDURE AcctLineType_94 (
41642 p_application_id IN NUMBER
41643 ,p_event_id IN NUMBER
41644 ,p_calculate_acctd_flag IN VARCHAR2
41645 ,p_calculate_g_l_flag IN VARCHAR2
41646 ,p_actual_flag IN OUT VARCHAR2
41647 ,p_balance_type_code OUT VARCHAR2
41648 ,p_gain_or_loss_ref OUT VARCHAR2
41649
41650 --Accounting Reversal Indicator
41651 , p_source_53 IN VARCHAR2
41652 --Distribution Link Type
41653 , p_source_55 IN VARCHAR2
41654 --Invoice Identifier
41658 --Payables Encumbrance Upgrade Credit Amount
41655 , p_source_58 IN NUMBER
41656 --Payables Encumbrance Upgrade Credit Account
41657 , p_source_65 IN NUMBER
41659 , p_source_66 IN NUMBER
41660 --Invoice Currency Code
41661 , p_source_67 IN VARCHAR2
41662 --Payables Encumbrance Upgrade Credit Base Amount
41663 , p_source_68 IN NUMBER
41664 --Payables Encumbrance Upgrade Debit Account
41665 , p_source_69 IN NUMBER
41666 --Payables Encumbrance Upgrade Debit Amount
41667 , p_source_70 IN NUMBER
41668 --Payables Encumbrance Upgrade Debit Base Amount
41669 , p_source_71 IN NUMBER
41670 --Payables Encumbrance Upgrade Option
41671 , p_source_72 IN VARCHAR2
41672 --Deferred Accounting End Date
41673 , p_source_77 IN DATE
41674 --Deferred Accounting Option
41675 , p_source_78 IN VARCHAR2
41676 --Deferred Accounting Start Date
41677 , p_source_79 IN DATE
41678 --Override Accounted Amount Indicator
41679 , p_source_80 IN VARCHAR2
41680 , p_source_80_meaning IN VARCHAR2
41681 --Third Party Type
41682 , p_source_83 IN VARCHAR2
41683 --Invoice Distribution Tax Line Identifier
41684 , p_source_86 IN NUMBER
41685 --Invoice Distribution Tax Distribution Identifier from Tax
41686 , p_source_87 IN NUMBER
41687 --Invoice Distribution Summary Tax Line Identifier
41688 , p_source_88 IN NUMBER
41689 --Payables Upgrade Credit Encumbrance Type Identifier
41690 , p_source_89 IN NUMBER
41691 --Payables Upgrade Debit Encumbrance Type Identifier
41692 , p_source_90 IN NUMBER
41693 --Business Flow Accounts Payable Application Identifier
41694 , p_source_91 IN NUMBER
41695 --Prepayment Distribution Type
41696 , p_source_125 IN VARCHAR2
41697 --Deferred Prepayment Settlement Option Code
41698 , p_source_126 IN VARCHAR2
41699 , p_source_126_meaning IN VARCHAR2
41700 --Prepayment Application Distribution Identifier
41701 , p_source_127 IN NUMBER
41702 --Business Flow Prepayment Payment Distribution Type
41703 , p_source_128 IN VARCHAR2
41704 --Business Flow Cash Basis Prepayment Entity Code
41705 , p_source_129 IN VARCHAR2
41706 --Business Flow Prepay Payment Distribution Id
41707 , p_source_130 IN NUMBER
41708 --Business Flow Prepay Payment Id
41709 , p_source_131 IN NUMBER
41710 --Upgrade Encumbrance Credit Account Class
41711 , p_source_132 IN VARCHAR2
41712 --Upgrade Encumbrance Debit Account Class
41713 , p_source_133 IN VARCHAR2
41714 --Prepayment Distribution Amount
41715 , p_source_134 IN NUMBER
41716 --Prepayment Distribution (Prepayment Rate) Ledger Amount
41717 , p_source_135 IN NUMBER
41718 --Identifier of the Prepayment Application Reversed
41719 , p_source_136 IN NUMBER
41720 )
41721 IS
41722
41723 l_component_type VARCHAR2(80);
41724 l_component_code VARCHAR2(30);
41725 l_component_type_code VARCHAR2(1);
41726 l_component_appl_id INTEGER;
41727 l_amb_context_code VARCHAR2(30);
41728 l_entity_code VARCHAR2(30);
41729 l_event_class_code VARCHAR2(30);
41730 l_ae_header_id NUMBER;
41731 l_event_type_code VARCHAR2(30);
41732 l_line_definition_code VARCHAR2(30);
41733 l_line_definition_owner_code VARCHAR2(1);
41734 --
41735 -- adr variables
41736 l_segment VARCHAR2(30);
41737 l_ccid NUMBER;
41738 l_adr_transaction_coa_id NUMBER;
41739 l_adr_accounting_coa_id NUMBER;
41740 l_adr_flexfield_segment_code VARCHAR2(30);
41741 l_adr_flex_value_set_id NUMBER;
41742 l_adr_value_type_code VARCHAR2(30);
41743 l_adr_value_combination_id NUMBER;
41744 l_adr_value_segment_code VARCHAR2(30);
41745
41746 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
41747 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
41748 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
41749 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
41750
41751 -- 4262811 Variables ------------------------------------------------------------------------------------------
41752 l_entered_amt_idx NUMBER;
41753 l_accted_amt_idx NUMBER;
41754 l_acc_rev_flag VARCHAR2(1);
41755 l_accrual_line_num NUMBER;
41756 l_tmp_amt NUMBER;
41757 l_acc_rev_natural_side_code VARCHAR2(1);
41758
41759 l_num_entries NUMBER;
41760 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
41761 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
41762 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
41763 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
41764 l_recog_line_1 NUMBER;
41765 l_recog_line_2 NUMBER;
41766
41767 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
41768 l_bflow_applied_to_amt NUMBER; -- 5132302
41769 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
41770
41771 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
41772
41776 ---------------------------------------------------------------------------------------------------------------
41773 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
41774 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
41775
41777
41778
41779 --
41780 -- bulk performance
41781 --
41782 l_balance_type_code VARCHAR2(1);
41783 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
41784 l_log_module VARCHAR2(240);
41785
41786 --
41787 -- Upgrade strategy
41788 --
41789 l_actual_upg_option VARCHAR2(1);
41790 l_enc_upg_option VARCHAR2(1);
41791
41792 --
41793 BEGIN
41794 --
41795 IF g_log_enabled THEN
41796 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_94';
41797 END IF;
41798 --
41799 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
41800
41801 trace
41802 (p_msg => 'BEGIN of AcctLineType_94'
41803 ,p_level => C_LEVEL_PROCEDURE
41804 ,p_module => l_log_module);
41805
41806 END IF;
41807 --
41808 l_component_type := 'AMB_JLT';
41809 l_component_code := 'AP_DEF_PP_EXP_ACCR';
41810 l_component_type_code := 'S';
41811 l_component_appl_id := 200;
41812 l_amb_context_code := 'DEFAULT';
41813 l_entity_code := 'AP_INVOICES';
41814 l_event_class_code := 'PREPAYMENT APPLICATIONS';
41815 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
41816 l_line_definition_owner_code := 'S';
41817 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
41818 --
41819 l_balance_type_code := 'A';
41820 l_segment := NULL;
41821 l_ccid := NULL;
41822 l_adr_transaction_coa_id := NULL;
41823 l_adr_accounting_coa_id := NULL;
41824 l_adr_flexfield_segment_code := NULL;
41825 l_adr_flex_value_set_id := NULL;
41826 l_adr_value_type_code := NULL;
41827 l_adr_value_combination_id := NULL;
41828 l_adr_value_segment_code := NULL;
41829
41830 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
41831 l_bflow_class_code := 'AP_PP_DEF_TAX'; -- 4219869 Business Flow
41832 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
41833 l_budgetary_control_flag := 'N';
41834
41835 l_bflow_applied_to_amt_idx := NULL; -- 5132302
41836 l_bflow_applied_to_amt := NULL; -- 5132302
41837 l_entered_amt_idx := NULL; -- 4262811
41838 l_accted_amt_idx := NULL; -- 4262811
41839 l_acc_rev_flag := NULL; -- 4262811
41840 l_accrual_line_num := NULL; -- 4262811
41841 l_tmp_amt := NULL; -- 4262811
41842 --
41843
41844 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
41845 l_balance_type_code <> 'B' THEN
41846 IF NVL(p_source_125,'
41847 ') = 'PREPAY APPL REC TAX' AND
41848 NVL(p_source_126,'
41849 ') = 'DEFERRED'
41850 THEN
41851
41852 --
41853 XLA_AE_LINES_PKG.SetNewLine;
41854
41855 p_balance_type_code := l_balance_type_code;
41856 -- set the flag so later we will know whether the gain loss line needs to be created
41857
41858 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
41859 p_actual_flag :='A';
41860 END IF;
41861
41862 --
41863 -- bulk performance
41864 --
41865 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
41866 p_header_num => 0); -- 4262811
41867 --
41868 -- set accounting line options
41869 --
41870 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
41871 p_natural_side_code => 'D'
41872 , p_gain_or_loss_flag => 'N'
41873 , p_gl_transfer_mode_code => 'S'
41874 , p_acct_entry_type_code => 'A'
41875 , p_switch_side_flag => 'Y'
41876 , p_merge_duplicate_code => 'A'
41877 );
41878 --
41879 l_acc_rev_natural_side_code := 'C'; -- 4262811
41880 --
41881 --
41882 -- set accounting line type info
41883 --
41884 xla_ae_lines_pkg.SetAcctLineType
41885 (p_component_type => l_component_type
41886 ,p_event_type_code => l_event_type_code
41887 ,p_line_definition_owner_code => l_line_definition_owner_code
41888 ,p_line_definition_code => l_line_definition_code
41889 ,p_accounting_line_code => l_component_code
41890 ,p_accounting_line_type_code => l_component_type_code
41891 ,p_accounting_line_appl_id => l_component_appl_id
41892 ,p_amb_context_code => l_amb_context_code
41893 ,p_entity_code => l_entity_code
41894 ,p_event_class_code => l_event_class_code);
41895 --
41896 -- set accounting class
41897 --
41898 xla_ae_lines_pkg.SetAcctClass(
41899 p_accounting_class_code => 'PREPAID_EXPENSE'
41900 , p_ae_header_id => l_ae_header_id
41901 );
41902
41903 --
41904 -- set rounding class
41905 --
41906 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
41907 'PREPAID_EXPENSE';
41911 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
41908
41909 --
41910 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
41912 --
41913 -- bulk performance
41914 --
41915 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
41916
41917 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
41918 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
41919
41920 -- 4955764
41921 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
41922 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
41923
41924 -- 4458381 Public Sector Enh
41925
41926 --
41927 -- set accounting attributes for the line type
41928 --
41929 l_entered_amt_idx := 25;
41930 l_accted_amt_idx := 27;
41931 l_bflow_applied_to_amt_idx := NULL; -- 5132302
41932 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
41933 l_rec_acct_attrs.array_char_value(1) := p_source_53;
41934 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
41935 l_rec_acct_attrs.array_num_value(2) :=
41936 xla_ae_sources_pkg.GetSystemSourceNum(
41937 p_source_code => 'XLA_EVENT_APPL_ID'
41938 , p_source_type_code => 'Y'
41939 , p_source_application_id => 602
41940 );
41941 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
41942 l_rec_acct_attrs.array_char_value(3) := p_source_55;
41943 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
41944 l_rec_acct_attrs.array_char_value(4) :=
41945 xla_ae_sources_pkg.GetSystemSourceChar(
41946 p_source_code => 'XLA_ENTITY_CODE'
41947 , p_source_type_code => 'Y'
41948 , p_source_application_id => 602
41949 );
41950 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
41951 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_127);
41952 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
41953 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
41954 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
41955 l_rec_acct_attrs.array_num_value(7) := p_source_91;
41956 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
41957 l_rec_acct_attrs.array_char_value(8) := p_source_128;
41958 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
41959 l_rec_acct_attrs.array_char_value(9) := p_source_129;
41960 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
41961 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_130);
41962 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
41963 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_131);
41964 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
41965 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_127);
41966 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
41967 l_rec_acct_attrs.array_char_value(13) := p_source_55;
41968 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
41969 l_rec_acct_attrs.array_char_value(14) := p_source_132;
41970 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
41971 l_rec_acct_attrs.array_num_value(15) := p_source_65;
41972 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
41973 l_rec_acct_attrs.array_num_value(16) := p_source_66;
41974 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
41975 l_rec_acct_attrs.array_char_value(17) := p_source_67;
41976 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
41977 l_rec_acct_attrs.array_num_value(18) := p_source_68;
41978 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
41979 l_rec_acct_attrs.array_char_value(19) := p_source_133;
41980 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
41981 l_rec_acct_attrs.array_num_value(20) := p_source_69;
41982 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
41983 l_rec_acct_attrs.array_num_value(21) := p_source_70;
41984 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
41985 l_rec_acct_attrs.array_char_value(22) := p_source_67;
41986 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
41987 l_rec_acct_attrs.array_num_value(23) := p_source_71;
41988 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
41989 l_rec_acct_attrs.array_char_value(24) := p_source_72;
41990 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
41991 l_rec_acct_attrs.array_num_value(25) := p_source_134;
41992 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
41993 l_rec_acct_attrs.array_char_value(26) := p_source_67;
41994 l_rec_acct_attrs.array_acct_attr_code(27) := 'LEDGER_AMOUNT';
41995 l_rec_acct_attrs.array_num_value(27) := p_source_135;
41996 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_END_DATE';
41997 l_rec_acct_attrs.array_date_value(28) := p_source_77;
41998 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_OPTION';
41999 l_rec_acct_attrs.array_char_value(29) := p_source_78;
42000 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_START_DATE';
42004 l_rec_acct_attrs.array_acct_attr_code(32) := 'PARTY_TYPE';
42001 l_rec_acct_attrs.array_date_value(30) := p_source_79;
42002 l_rec_acct_attrs.array_acct_attr_code(31) := 'OVERRIDE_ACCTD_AMT_FLAG';
42003 l_rec_acct_attrs.array_char_value(31) := p_source_80;
42005 l_rec_acct_attrs.array_char_value(32) := p_source_83;
42006 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_ID1';
42007 l_rec_acct_attrs.array_num_value(33) := to_char(p_source_136);
42008 l_rec_acct_attrs.array_acct_attr_code(34) := 'REVERSED_DISTRIBUTION_TYPE';
42009 l_rec_acct_attrs.array_char_value(34) := p_source_55;
42010 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
42011 l_rec_acct_attrs.array_num_value(35) := p_source_86;
42012 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
42013 l_rec_acct_attrs.array_num_value(36) := p_source_87;
42014 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
42015 l_rec_acct_attrs.array_num_value(37) := p_source_88;
42016 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
42017 l_rec_acct_attrs.array_num_value(38) := p_source_89;
42018 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
42019 l_rec_acct_attrs.array_num_value(39) := p_source_90;
42020
42021 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
42022 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
42023
42024 ---------------------------------------------------------------------------------------------------------------
42025 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
42026 ---------------------------------------------------------------------------------------------------------------
42027 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
42028
42029 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42030 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42031
42032 IF xla_accounting_cache_pkg.GetValueChar
42033 (p_source_code => 'LEDGER_CATEGORY_CODE'
42034 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
42035 AND l_bflow_method_code = 'PRIOR_ENTRY'
42036 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
42037 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
42038 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
42039 )
42040 THEN
42041 xla_ae_lines_pkg.BflowUpgEntry
42042 (p_business_method_code => l_bflow_method_code
42043 ,p_business_class_code => l_bflow_class_code
42044 ,p_balance_type => l_balance_type_code);
42045 ELSE
42046 NULL;
42047 XLA_AE_LINES_PKG.business_flow_validation(
42048 p_business_method_code => l_bflow_method_code
42049 ,p_business_class_code => l_bflow_class_code
42050 ,p_inherit_description_flag => l_inherit_desc_flag);
42051 END IF;
42052
42053 --
42054 -- call analytical criteria
42055 --
42056 -- Inherited Analytical Criteria for business flow method of Prior Entry.
42057 --
42058 -- call description
42059 --
42060 -- No description or it is inherited.
42061 --
42062 -- call ADRs
42063 -- Bug 4922099
42064 --
42065 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
42066 (NVL(l_actual_upg_option, 'N') = 'O') OR
42067 (NVL(l_enc_upg_option, 'N') = 'O')
42068 )
42069 THEN
42070 NULL;
42071 --
42072 --
42073
42074 --
42075 --
42076 END IF;
42077 --
42078 -- Bug 4922099
42079 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
42080 (NVL(l_enc_upg_option, 'N') = 'O')
42081 ) AND
42082 (l_bflow_method_code = 'PRIOR_ENTRY')
42083 )
42084 THEN
42085 IF
42086 --
42087 1 = 1
42088 --
42089 THEN
42090 xla_accounting_err_pkg.build_message
42091 (p_appli_s_name => 'XLA'
42092 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
42093 ,p_token_1 => 'LINE_NUMBER'
42094 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
42095 ,p_token_2 => 'LINE_TYPE_NAME'
42096 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
42097 l_component_type
42098 ,l_component_code
42099 ,l_component_type_code
42100 ,l_component_appl_id
42101 ,l_amb_context_code
42102 ,l_entity_code
42103 ,l_event_class_code
42104 )
42105 ,p_token_3 => 'OWNER'
42109 )
42106 ,p_value_3 => xla_lookups_pkg.get_meaning(
42107 p_lookup_type => 'XLA_OWNER_TYPE'
42108 ,p_lookup_code => l_component_type_code
42110 ,p_token_4 => 'PRODUCT_NAME'
42111 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
42112 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
42113 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
42114 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
42115 ,p_ae_header_id => NULL
42116 );
42117
42118 IF (C_LEVEL_ERROR>= g_log_level) THEN
42119 trace
42120 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
42121 ,p_level => C_LEVEL_ERROR
42122 ,p_module => l_log_module);
42123 END IF;
42124 END IF;
42125 END IF;
42126 --
42127 --
42128 ------------------------------------------------------------------------------------------------
42129 -- 4219869 Business Flow
42130 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
42131 -- Prior Entry. Currently, the following code is always generated.
42132 ------------------------------------------------------------------------------------------------
42133 -- No ValidateCurrentLine for business flow method of Prior Entry
42134
42135 ------------------------------------------------------------------------------------
42136 -- 4219869 Business Flow
42137 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
42138 ------------------------------------------------------------------------------------
42139 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
42140
42141 ----------------------------------------------------------------------------------
42142 -- 4219869 Business Flow
42143 -- Update journal entry status -- Need to generate this within IF <condition>
42144 ----------------------------------------------------------------------------------
42145 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
42146 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
42147 ,p_balance_type_code => l_balance_type_code
42148 );
42149
42150 -------------------------------------------------------------------------------------------
42151 -- 4262811 - Generate the Accrual Reversal lines
42152 -------------------------------------------------------------------------------------------
42153 BEGIN
42154 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
42155 (g_array_event(p_event_id).array_value_num('header_index'));
42156 IF l_acc_rev_flag IS NULL THEN
42157 l_acc_rev_flag := 'N';
42158 END IF;
42159 EXCEPTION
42160 WHEN OTHERS THEN
42161 l_acc_rev_flag := 'N';
42162 END;
42163 --
42164 IF (l_acc_rev_flag = 'Y') THEN
42165
42166 -- 4645092 ------------------------------------------------------------------------------
42167 -- To allow MPA report to determine if it should generate report process
42168 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
42169 ------------------------------------------------------------------------------------------
42170
42171 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
42172 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
42173 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
42174 -- call ADRs
42175 -- Bug 4922099
42176 --
42177 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
42178 (NVL(l_actual_upg_option, 'N') = 'O') OR
42179 (NVL(l_enc_upg_option, 'N') = 'O')
42180 )
42181 THEN
42182 NULL;
42183 --
42184 --
42185
42186 --
42187 --
42188 END IF;
42189
42190 --
42191 -- Update the line information that should be overwritten
42192 --
42193 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
42194 p_header_num => 1);
42195 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
42196
42197 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
42198
42199 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
42200 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
42201 END IF;
42202
42203 --
42204 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
42205 --
42206 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
42207 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
42208 ELSE
42212 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
42209 ---------------------------------------------------------------------------------------------------
42210 -- 4262811a Switch Sign
42211 ---------------------------------------------------------------------------------------------------
42213 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42214 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42215 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42216 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42217 -- 5132302
42218 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
42219 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42220
42221 END IF;
42222
42223 -- 4955764
42224 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
42225 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
42226
42227
42228 XLA_AE_LINES_PKG.ValidateCurrentLine;
42229 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
42230
42231 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
42232 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
42233 ,p_balance_type_code => l_balance_type_code);
42234
42235 END IF;
42236
42237 -----------------------------------------------------------------------------------------
42238 -- 4262811 Multiperiod Accounting
42239 -----------------------------------------------------------------------------------------
42240 -- No MPA option is assigned.
42241
42242
42243 END IF;
42244 END IF;
42245 --
42246
42247 --
42248 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
42249 trace
42250 (p_msg => 'END of AcctLineType_94'
42251 ,p_level => C_LEVEL_PROCEDURE
42252 ,p_module => l_log_module);
42253 END IF;
42254 --
42255 EXCEPTION
42256 WHEN xla_exceptions_pkg.application_exception THEN
42257 RAISE;
42258 WHEN OTHERS THEN
42259 xla_exceptions_pkg.raise_message
42260 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_94');
42261 END AcctLineType_94;
42262 --
42263
42264 ---------------------------------------
42265 --
42266 -- PRIVATE FUNCTION
42267 -- AcctLineType_95
42268 --
42269 ---------------------------------------
42270 PROCEDURE AcctLineType_95 (
42271 p_application_id IN NUMBER
42272 ,p_event_id IN NUMBER
42273 ,p_calculate_acctd_flag IN VARCHAR2
42274 ,p_calculate_g_l_flag IN VARCHAR2
42275 ,p_actual_flag IN OUT VARCHAR2
42276 ,p_balance_type_code OUT VARCHAR2
42277 ,p_gain_or_loss_ref OUT VARCHAR2
42278
42279 --Payment Currency Code
42280 , p_source_13 IN VARCHAR2
42281 --Invoice Distribution Type
42282 , p_source_33 IN VARCHAR2
42283 , p_source_33_meaning IN VARCHAR2
42284 --Recoverable Tax Account
42285 , p_source_52 IN NUMBER
42286 --Accounting Reversal Indicator
42287 , p_source_53 IN VARCHAR2
42288 --Distribution Link Type
42289 , p_source_55 IN VARCHAR2
42290 --Override Accounted Amount Indicator
42291 , p_source_80 IN VARCHAR2
42292 , p_source_80_meaning IN VARCHAR2
42293 --Third Party Type
42294 , p_source_83 IN VARCHAR2
42295 --Invoice Distribution Tax Line Identifier
42296 , p_source_86 IN NUMBER
42297 --Invoice Distribution Summary Tax Line Identifier
42298 , p_source_88 IN NUMBER
42299 --Business Flow Accounts Payable Application Identifier
42300 , p_source_91 IN NUMBER
42301 --When to Account for Payment Option
42302 , p_source_97 IN VARCHAR2
42303 --Payment Distribution Type
42304 , p_source_98 IN VARCHAR2
42305 , p_source_98_meaning IN VARCHAR2
42306 --Payment Distribution Amount
42307 , p_source_99 IN NUMBER
42308 --Business Flow Payment Distribution Type
42309 , p_source_100 IN VARCHAR2
42310 --Business Flow Payment Entity Code
42311 , p_source_101 IN VARCHAR2
42312 --Business Flow Payment Distribution Identifier
42313 , p_source_102 IN NUMBER
42314 --Business Flow Payment Identifier
42315 , p_source_103 IN NUMBER
42316 --Payment Distribution Identifier
42317 , p_source_104 IN NUMBER
42318 --Cleared Exchange Date
42319 , p_source_106 IN DATE
42320 --Cleared Exchange Rate
42321 , p_source_107 IN NUMBER
42322 --Cleared Exchange Rate Type
42323 , p_source_108 IN VARCHAR2
42324 --Payment Distribution (Cleared Rate) Ledger Amount
42325 , p_source_109 IN NUMBER
42326 --Payment Supplier Identifier
42327 , p_source_110 IN NUMBER
42328 --Payment Supplier Site Identifier
42329 , p_source_111 IN NUMBER
42330 --Payment Distribution Reversed Identifier
42331 , p_source_112 IN NUMBER
42332 --Payment Type
42333 , p_source_122 IN VARCHAR2
42334 , p_source_122_meaning IN VARCHAR2
42335 --Deferred Recoverable Tax Option
42336 , p_source_137 IN VARCHAR2
42337 , p_source_137_meaning IN VARCHAR2
42338 )
42339 IS
42340
42344 l_component_appl_id INTEGER;
42341 l_component_type VARCHAR2(80);
42342 l_component_code VARCHAR2(30);
42343 l_component_type_code VARCHAR2(1);
42345 l_amb_context_code VARCHAR2(30);
42346 l_entity_code VARCHAR2(30);
42347 l_event_class_code VARCHAR2(30);
42348 l_ae_header_id NUMBER;
42349 l_event_type_code VARCHAR2(30);
42350 l_line_definition_code VARCHAR2(30);
42351 l_line_definition_owner_code VARCHAR2(1);
42352 --
42353 -- adr variables
42354 l_segment VARCHAR2(30);
42355 l_ccid NUMBER;
42356 l_adr_transaction_coa_id NUMBER;
42357 l_adr_accounting_coa_id NUMBER;
42358 l_adr_flexfield_segment_code VARCHAR2(30);
42359 l_adr_flex_value_set_id NUMBER;
42360 l_adr_value_type_code VARCHAR2(30);
42361 l_adr_value_combination_id NUMBER;
42362 l_adr_value_segment_code VARCHAR2(30);
42363
42364 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
42365 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
42366 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
42367 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
42368
42369 -- 4262811 Variables ------------------------------------------------------------------------------------------
42370 l_entered_amt_idx NUMBER;
42371 l_accted_amt_idx NUMBER;
42372 l_acc_rev_flag VARCHAR2(1);
42373 l_accrual_line_num NUMBER;
42374 l_tmp_amt NUMBER;
42375 l_acc_rev_natural_side_code VARCHAR2(1);
42376
42377 l_num_entries NUMBER;
42378 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
42379 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
42380 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
42381 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
42382 l_recog_line_1 NUMBER;
42383 l_recog_line_2 NUMBER;
42384
42385 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
42386 l_bflow_applied_to_amt NUMBER; -- 5132302
42387 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
42388
42389 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
42390
42391 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
42392 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
42393
42394 ---------------------------------------------------------------------------------------------------------------
42395
42396
42397 --
42398 -- bulk performance
42399 --
42400 l_balance_type_code VARCHAR2(1);
42401 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
42402 l_log_module VARCHAR2(240);
42403
42404 --
42405 -- Upgrade strategy
42406 --
42407 l_actual_upg_option VARCHAR2(1);
42408 l_enc_upg_option VARCHAR2(1);
42409
42410 --
42411 BEGIN
42412 --
42413 IF g_log_enabled THEN
42414 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_95';
42415 END IF;
42416 --
42417 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
42418
42419 trace
42420 (p_msg => 'BEGIN of AcctLineType_95'
42421 ,p_level => C_LEVEL_PROCEDURE
42422 ,p_module => l_log_module);
42423
42424 END IF;
42425 --
42426 l_component_type := 'AMB_JLT';
42427 l_component_code := 'AP_DEF_RTAX_CLR';
42428 l_component_type_code := 'S';
42429 l_component_appl_id := 200;
42430 l_amb_context_code := 'DEFAULT';
42431 l_entity_code := 'AP_PAYMENTS';
42432 l_event_class_code := 'RECONCILED PAYMENTS';
42433 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
42434 l_line_definition_owner_code := 'S';
42435 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
42436 --
42437 l_balance_type_code := 'A';
42438 l_segment := NULL;
42439 l_ccid := NULL;
42440 l_adr_transaction_coa_id := NULL;
42441 l_adr_accounting_coa_id := NULL;
42442 l_adr_flexfield_segment_code := NULL;
42443 l_adr_flex_value_set_id := NULL;
42444 l_adr_value_type_code := NULL;
42445 l_adr_value_combination_id := NULL;
42446 l_adr_value_segment_code := NULL;
42447
42448 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
42449 l_bflow_class_code := ''; -- 4219869 Business Flow
42450 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
42451 l_budgetary_control_flag := 'N';
42452
42453 l_bflow_applied_to_amt_idx := NULL; -- 5132302
42454 l_bflow_applied_to_amt := NULL; -- 5132302
42455 l_entered_amt_idx := NULL; -- 4262811
42456 l_accted_amt_idx := NULL; -- 4262811
42457 l_acc_rev_flag := NULL; -- 4262811
42458 l_accrual_line_num := NULL; -- 4262811
42459 l_tmp_amt := NULL; -- 4262811
42460 --
42461
42462 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
42463 l_balance_type_code <> 'B' THEN
42464 IF NVL(p_source_97,'
42468 NVL(p_source_137,'
42465 ') = 'CLEAR_CLEAR' AND
42466 NVL(p_source_33,'
42467 ') = 'REC_TAX' AND
42469 ') = 'DEFERRED' AND
42470 (NVL(p_source_98,'
42471 ') = 'CASH' OR
42472 NVL(p_source_98,'
42473 ') = 'DISCOUNT') AND
42474 NVL(p_source_122,'
42475 ') <> 'R'
42476 THEN
42477
42478 --
42479 XLA_AE_LINES_PKG.SetNewLine;
42480
42481 p_balance_type_code := l_balance_type_code;
42482 -- set the flag so later we will know whether the gain loss line needs to be created
42483
42484 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
42485 p_actual_flag :='A';
42486 END IF;
42487
42488 --
42489 -- bulk performance
42490 --
42491 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
42492 p_header_num => 0); -- 4262811
42493 --
42494 -- set accounting line options
42495 --
42496 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
42497 p_natural_side_code => 'D'
42498 , p_gain_or_loss_flag => 'N'
42499 , p_gl_transfer_mode_code => 'S'
42500 , p_acct_entry_type_code => 'A'
42501 , p_switch_side_flag => 'Y'
42502 , p_merge_duplicate_code => 'A'
42503 );
42504 --
42505 l_acc_rev_natural_side_code := 'C'; -- 4262811
42506 --
42507 --
42508 -- set accounting line type info
42509 --
42510 xla_ae_lines_pkg.SetAcctLineType
42511 (p_component_type => l_component_type
42512 ,p_event_type_code => l_event_type_code
42513 ,p_line_definition_owner_code => l_line_definition_owner_code
42514 ,p_line_definition_code => l_line_definition_code
42515 ,p_accounting_line_code => l_component_code
42516 ,p_accounting_line_type_code => l_component_type_code
42517 ,p_accounting_line_appl_id => l_component_appl_id
42518 ,p_amb_context_code => l_amb_context_code
42519 ,p_entity_code => l_entity_code
42520 ,p_event_class_code => l_event_class_code);
42521 --
42522 -- set accounting class
42523 --
42524 xla_ae_lines_pkg.SetAcctClass(
42525 p_accounting_class_code => 'DEF_REC_TAX'
42526 , p_ae_header_id => l_ae_header_id
42527 );
42528
42529 --
42530 -- set rounding class
42531 --
42532 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
42533 'DEF_REC_TAX';
42534
42535 --
42536 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
42537 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
42538 --
42539 -- bulk performance
42540 --
42541 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
42542
42543 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
42544 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
42545
42546 -- 4955764
42547 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
42548 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
42549
42550 -- 4458381 Public Sector Enh
42551
42552 --
42553 -- set accounting attributes for the line type
42554 --
42555 l_entered_amt_idx := 10;
42556 l_accted_amt_idx := 15;
42557 l_bflow_applied_to_amt_idx := 2; -- 5132302
42558 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
42559 l_rec_acct_attrs.array_char_value(1) := p_source_53;
42560 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
42561 l_rec_acct_attrs.array_num_value(2) := p_source_99;
42562 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
42563 l_rec_acct_attrs.array_num_value(3) := p_source_91;
42564 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
42565 l_rec_acct_attrs.array_char_value(4) := p_source_100;
42566 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
42567 l_rec_acct_attrs.array_char_value(5) := p_source_101;
42568 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
42569 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
42570 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
42571 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
42572 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
42573 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
42574 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
42575 l_rec_acct_attrs.array_char_value(9) := p_source_55;
42576 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
42577 l_rec_acct_attrs.array_num_value(10) := p_source_99;
42578 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
42579 l_rec_acct_attrs.array_char_value(11) := p_source_13;
42580 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
42581 l_rec_acct_attrs.array_date_value(12) := p_source_106;
42582 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
42583 l_rec_acct_attrs.array_num_value(13) := p_source_107;
42587 l_rec_acct_attrs.array_num_value(15) := p_source_109;
42584 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
42585 l_rec_acct_attrs.array_char_value(14) := p_source_108;
42586 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
42588 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
42589 l_rec_acct_attrs.array_char_value(16) := p_source_80;
42590 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
42591 l_rec_acct_attrs.array_num_value(17) := p_source_110;
42592 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
42593 l_rec_acct_attrs.array_num_value(18) := p_source_111;
42594 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
42595 l_rec_acct_attrs.array_char_value(19) := p_source_83;
42596 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
42597 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
42598 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
42599 l_rec_acct_attrs.array_char_value(21) := p_source_55;
42600 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
42601 l_rec_acct_attrs.array_num_value(22) := p_source_86;
42602 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
42603 l_rec_acct_attrs.array_num_value(23) := p_source_86;
42604 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
42605 l_rec_acct_attrs.array_num_value(24) := p_source_88;
42606
42607 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
42608 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
42609
42610 ---------------------------------------------------------------------------------------------------------------
42611 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
42612 ---------------------------------------------------------------------------------------------------------------
42613 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
42614
42615 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42616 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42617
42618 IF xla_accounting_cache_pkg.GetValueChar
42619 (p_source_code => 'LEDGER_CATEGORY_CODE'
42620 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
42621 AND l_bflow_method_code = 'PRIOR_ENTRY'
42622 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
42623 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
42624 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
42625 )
42626 THEN
42627 xla_ae_lines_pkg.BflowUpgEntry
42628 (p_business_method_code => l_bflow_method_code
42629 ,p_business_class_code => l_bflow_class_code
42630 ,p_balance_type => l_balance_type_code);
42631 ELSE
42632 NULL;
42633 -- No business flow processing for business flow method of NONE.
42634 END IF;
42635
42636 --
42637 -- call analytical criteria
42638 --
42639
42640 --
42641 -- call description
42642 --
42643 -- No description or it is inherited.
42644 --
42645 -- call ADRs
42646 -- Bug 4922099
42647 --
42648 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
42649 (NVL(l_actual_upg_option, 'N') = 'O') OR
42650 (NVL(l_enc_upg_option, 'N') = 'O')
42651 )
42652 THEN
42653 NULL;
42654 --
42655 --
42656
42657 l_ccid := AcctDerRule_44(
42658 p_application_id => p_application_id
42659 , p_ae_header_id => l_ae_header_id
42660 , p_source_52 => p_source_52
42661 , x_transaction_coa_id => l_adr_transaction_coa_id
42662 , x_accounting_coa_id => l_adr_accounting_coa_id
42663 , x_value_type_code => l_adr_value_type_code
42664 , p_side => 'NA'
42665 );
42666
42667 xla_ae_lines_pkg.set_ccid(
42668 p_code_combination_id => l_ccid
42669 , p_value_type_code => l_adr_value_type_code
42670 , p_transaction_coa_id => l_adr_transaction_coa_id
42671 , p_accounting_coa_id => l_adr_accounting_coa_id
42672 , p_adr_code => 'AP_TAX_ACCOUNT'
42673 , p_adr_type_code => 'S'
42674 , p_component_type => l_component_type
42675 , p_component_code => l_component_code
42676 , p_component_type_code => l_component_type_code
42677 , p_component_appl_id => l_component_appl_id
42678 , p_amb_context_code => l_amb_context_code
42679 , p_side => 'NA'
42680 );
42681
42682
42683 --
42684 --
42685 END IF;
42686 --
42687 -- Bug 4922099
42688 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
42689 (NVL(l_enc_upg_option, 'N') = 'O')
42690 ) AND
42691 (l_bflow_method_code = 'PRIOR_ENTRY')
42692 )
42693 THEN
42694 IF
42695 --
42696 1 = 2
42697 --
42698 THEN
42699 xla_accounting_err_pkg.build_message
42700 (p_appli_s_name => 'XLA'
42704 ,p_token_2 => 'LINE_TYPE_NAME'
42701 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
42702 ,p_token_1 => 'LINE_NUMBER'
42703 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
42705 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
42706 l_component_type
42707 ,l_component_code
42708 ,l_component_type_code
42709 ,l_component_appl_id
42710 ,l_amb_context_code
42711 ,l_entity_code
42712 ,l_event_class_code
42713 )
42714 ,p_token_3 => 'OWNER'
42715 ,p_value_3 => xla_lookups_pkg.get_meaning(
42716 p_lookup_type => 'XLA_OWNER_TYPE'
42717 ,p_lookup_code => l_component_type_code
42718 )
42719 ,p_token_4 => 'PRODUCT_NAME'
42720 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
42721 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
42722 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
42723 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
42724 ,p_ae_header_id => NULL
42725 );
42726
42727 IF (C_LEVEL_ERROR>= g_log_level) THEN
42728 trace
42729 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
42730 ,p_level => C_LEVEL_ERROR
42731 ,p_module => l_log_module);
42732 END IF;
42733 END IF;
42734 END IF;
42735 --
42736 --
42737 ------------------------------------------------------------------------------------------------
42738 -- 4219869 Business Flow
42739 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
42740 -- Prior Entry. Currently, the following code is always generated.
42741 ------------------------------------------------------------------------------------------------
42742 XLA_AE_LINES_PKG.ValidateCurrentLine;
42743
42744 ------------------------------------------------------------------------------------
42745 -- 4219869 Business Flow
42746 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
42747 ------------------------------------------------------------------------------------
42748 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
42749
42750 ----------------------------------------------------------------------------------
42751 -- 4219869 Business Flow
42752 -- Update journal entry status -- Need to generate this within IF <condition>
42753 ----------------------------------------------------------------------------------
42754 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
42755 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
42756 ,p_balance_type_code => l_balance_type_code
42757 );
42758
42759 -------------------------------------------------------------------------------------------
42760 -- 4262811 - Generate the Accrual Reversal lines
42761 -------------------------------------------------------------------------------------------
42762 BEGIN
42763 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
42764 (g_array_event(p_event_id).array_value_num('header_index'));
42765 IF l_acc_rev_flag IS NULL THEN
42766 l_acc_rev_flag := 'N';
42767 END IF;
42768 EXCEPTION
42769 WHEN OTHERS THEN
42770 l_acc_rev_flag := 'N';
42771 END;
42772 --
42773 IF (l_acc_rev_flag = 'Y') THEN
42774
42775 -- 4645092 ------------------------------------------------------------------------------
42776 -- To allow MPA report to determine if it should generate report process
42777 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
42778 ------------------------------------------------------------------------------------------
42779
42780 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
42781 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
42782 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
42783 -- call ADRs
42784 -- Bug 4922099
42785 --
42786 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
42787 (NVL(l_actual_upg_option, 'N') = 'O') OR
42788 (NVL(l_enc_upg_option, 'N') = 'O')
42789 )
42790 THEN
42791 NULL;
42792 --
42793 --
42794
42795 l_ccid := AcctDerRule_44(
42799 , x_transaction_coa_id => l_adr_transaction_coa_id
42796 p_application_id => p_application_id
42797 , p_ae_header_id => l_ae_header_id
42798 , p_source_52 => p_source_52
42800 , x_accounting_coa_id => l_adr_accounting_coa_id
42801 , x_value_type_code => l_adr_value_type_code
42802 , p_side => 'NA'
42803 );
42804
42805 xla_ae_lines_pkg.set_ccid(
42806 p_code_combination_id => l_ccid
42807 , p_value_type_code => l_adr_value_type_code
42808 , p_transaction_coa_id => l_adr_transaction_coa_id
42809 , p_accounting_coa_id => l_adr_accounting_coa_id
42810 , p_adr_code => 'AP_TAX_ACCOUNT'
42811 , p_adr_type_code => 'S'
42812 , p_component_type => l_component_type
42813 , p_component_code => l_component_code
42814 , p_component_type_code => l_component_type_code
42815 , p_component_appl_id => l_component_appl_id
42816 , p_amb_context_code => l_amb_context_code
42817 , p_side => 'NA'
42818 );
42819
42820
42821 --
42822 --
42823 END IF;
42824
42825 --
42826 -- Update the line information that should be overwritten
42827 --
42828 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
42829 p_header_num => 1);
42830 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
42831
42832 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
42833
42834 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
42835 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
42836 END IF;
42837
42838 --
42839 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
42840 --
42841 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
42842 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
42843 ELSE
42844 ---------------------------------------------------------------------------------------------------
42845 -- 4262811a Switch Sign
42846 ---------------------------------------------------------------------------------------------------
42847 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
42848 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42849 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42850 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42851 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42852 -- 5132302
42853 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
42854 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42855
42856 END IF;
42857
42858 -- 4955764
42859 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
42860 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
42861
42862
42863 XLA_AE_LINES_PKG.ValidateCurrentLine;
42864 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
42865
42866 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
42867 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
42868 ,p_balance_type_code => l_balance_type_code);
42869
42870 END IF;
42871
42872 -----------------------------------------------------------------------------------------
42873 -- 4262811 Multiperiod Accounting
42874 -----------------------------------------------------------------------------------------
42875 -- No MPA option is assigned.
42876
42877
42878 END IF;
42879 END IF;
42880 --
42881
42882 --
42883 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
42884 trace
42885 (p_msg => 'END of AcctLineType_95'
42886 ,p_level => C_LEVEL_PROCEDURE
42887 ,p_module => l_log_module);
42888 END IF;
42889 --
42890 EXCEPTION
42891 WHEN xla_exceptions_pkg.application_exception THEN
42892 RAISE;
42893 WHEN OTHERS THEN
42894 xla_exceptions_pkg.raise_message
42895 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_95');
42896 END AcctLineType_95;
42897 --
42898
42899 ---------------------------------------
42900 --
42901 -- PRIVATE FUNCTION
42902 -- AcctLineType_96
42903 --
42904 ---------------------------------------
42905 PROCEDURE AcctLineType_96 (
42906 p_application_id IN NUMBER
42907 ,p_event_id IN NUMBER
42908 ,p_calculate_acctd_flag IN VARCHAR2
42909 ,p_calculate_g_l_flag IN VARCHAR2
42910 ,p_actual_flag IN OUT VARCHAR2
42911 ,p_balance_type_code OUT VARCHAR2
42912 ,p_gain_or_loss_ref OUT VARCHAR2
42913
42914 --Payment Currency Code
42915 , p_source_13 IN VARCHAR2
42916 --Invoice Distribution Type
42920 , p_source_53 IN VARCHAR2
42917 , p_source_33 IN VARCHAR2
42918 , p_source_33_meaning IN VARCHAR2
42919 --Accounting Reversal Indicator
42921 --Distribution Link Type
42922 , p_source_55 IN VARCHAR2
42923 --Override Accounted Amount Indicator
42924 , p_source_80 IN VARCHAR2
42925 , p_source_80_meaning IN VARCHAR2
42926 --Third Party Type
42927 , p_source_83 IN VARCHAR2
42928 --Invoice Distribution Tax Line Identifier
42929 , p_source_86 IN NUMBER
42930 --Invoice Distribution Summary Tax Line Identifier
42931 , p_source_88 IN NUMBER
42932 --Business Flow Accounts Payable Application Identifier
42933 , p_source_91 IN NUMBER
42934 --Business Flow Invoice Distribution Identifier
42935 , p_source_94 IN NUMBER
42936 --Business Flow Invoice Identifier
42937 , p_source_95 IN NUMBER
42938 --When to Account for Payment Option
42939 , p_source_97 IN VARCHAR2
42940 --Payment Distribution Type
42941 , p_source_98 IN VARCHAR2
42942 , p_source_98_meaning IN VARCHAR2
42943 --Payment Distribution Amount
42944 , p_source_99 IN NUMBER
42945 --Business Flow Payment Distribution Type
42946 , p_source_100 IN VARCHAR2
42947 --Business Flow Payment Entity Code
42948 , p_source_101 IN VARCHAR2
42949 --Payment Distribution Identifier
42950 , p_source_104 IN NUMBER
42951 --Payment Distribution Reversed Identifier
42952 , p_source_112 IN NUMBER
42953 --Payment Distribution (Invoice Rate) Ledger Amount
42954 , p_source_116 IN NUMBER
42955 --Payment Type
42956 , p_source_122 IN VARCHAR2
42957 , p_source_122_meaning IN VARCHAR2
42958 --Deferred Recoverable Tax Option
42959 , p_source_137 IN VARCHAR2
42960 , p_source_137_meaning IN VARCHAR2
42961 )
42962 IS
42963
42964 l_component_type VARCHAR2(80);
42965 l_component_code VARCHAR2(30);
42966 l_component_type_code VARCHAR2(1);
42967 l_component_appl_id INTEGER;
42968 l_amb_context_code VARCHAR2(30);
42969 l_entity_code VARCHAR2(30);
42970 l_event_class_code VARCHAR2(30);
42971 l_ae_header_id NUMBER;
42972 l_event_type_code VARCHAR2(30);
42973 l_line_definition_code VARCHAR2(30);
42974 l_line_definition_owner_code VARCHAR2(1);
42975 --
42976 -- adr variables
42977 l_segment VARCHAR2(30);
42978 l_ccid NUMBER;
42979 l_adr_transaction_coa_id NUMBER;
42980 l_adr_accounting_coa_id NUMBER;
42981 l_adr_flexfield_segment_code VARCHAR2(30);
42982 l_adr_flex_value_set_id NUMBER;
42983 l_adr_value_type_code VARCHAR2(30);
42984 l_adr_value_combination_id NUMBER;
42985 l_adr_value_segment_code VARCHAR2(30);
42986
42987 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
42988 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
42989 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
42990 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
42991
42992 -- 4262811 Variables ------------------------------------------------------------------------------------------
42993 l_entered_amt_idx NUMBER;
42994 l_accted_amt_idx NUMBER;
42995 l_acc_rev_flag VARCHAR2(1);
42996 l_accrual_line_num NUMBER;
42997 l_tmp_amt NUMBER;
42998 l_acc_rev_natural_side_code VARCHAR2(1);
42999
43000 l_num_entries NUMBER;
43001 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
43002 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
43003 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
43004 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
43005 l_recog_line_1 NUMBER;
43006 l_recog_line_2 NUMBER;
43007
43008 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
43009 l_bflow_applied_to_amt NUMBER; -- 5132302
43010 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
43011
43012 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
43013
43014 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
43015 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
43016
43017 ---------------------------------------------------------------------------------------------------------------
43018
43019
43020 --
43021 -- bulk performance
43022 --
43023 l_balance_type_code VARCHAR2(1);
43024 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
43025 l_log_module VARCHAR2(240);
43026
43027 --
43028 -- Upgrade strategy
43029 --
43030 l_actual_upg_option VARCHAR2(1);
43031 l_enc_upg_option VARCHAR2(1);
43032
43033 --
43034 BEGIN
43035 --
43036 IF g_log_enabled THEN
43037 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_96';
43038 END IF;
43039 --
43040 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
43041
43042 trace
43043 (p_msg => 'BEGIN of AcctLineType_96'
43044 ,p_level => C_LEVEL_PROCEDURE
43045 ,p_module => l_log_module);
43046
43047 END IF;
43048 --
43049 l_component_type := 'AMB_JLT';
43053 l_amb_context_code := 'DEFAULT';
43050 l_component_code := 'AP_DEF_RTAX_INTERIM_CLR';
43051 l_component_type_code := 'S';
43052 l_component_appl_id := 200;
43054 l_entity_code := 'AP_PAYMENTS';
43055 l_event_class_code := 'RECONCILED PAYMENTS';
43056 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
43057 l_line_definition_owner_code := 'S';
43058 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
43059 --
43060 l_balance_type_code := 'A';
43061 l_segment := NULL;
43062 l_ccid := NULL;
43063 l_adr_transaction_coa_id := NULL;
43064 l_adr_accounting_coa_id := NULL;
43065 l_adr_flexfield_segment_code := NULL;
43066 l_adr_flex_value_set_id := NULL;
43067 l_adr_value_type_code := NULL;
43068 l_adr_value_combination_id := NULL;
43069 l_adr_value_segment_code := NULL;
43070
43071 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
43072 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
43073 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
43074 l_budgetary_control_flag := 'N';
43075
43076 l_bflow_applied_to_amt_idx := NULL; -- 5132302
43077 l_bflow_applied_to_amt := NULL; -- 5132302
43078 l_entered_amt_idx := NULL; -- 4262811
43079 l_accted_amt_idx := NULL; -- 4262811
43080 l_acc_rev_flag := NULL; -- 4262811
43081 l_accrual_line_num := NULL; -- 4262811
43082 l_tmp_amt := NULL; -- 4262811
43083 --
43084
43085 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
43086 l_balance_type_code <> 'B' THEN
43087 IF NVL(p_source_97,'
43088 ') = 'CLEAR_CLEAR' AND
43089 NVL(p_source_33,'
43090 ') = 'REC_TAX' AND
43091 NVL(p_source_137,'
43092 ') = 'DEFERRED' AND
43093 (NVL(p_source_98,'
43094 ') = 'CASH' OR
43095 NVL(p_source_98,'
43096 ') = 'DISCOUNT') AND
43097 NVL(p_source_122,'
43098 ') <> 'R'
43099 THEN
43100
43101 --
43102 XLA_AE_LINES_PKG.SetNewLine;
43103
43104 p_balance_type_code := l_balance_type_code;
43105 -- set the flag so later we will know whether the gain loss line needs to be created
43106
43107 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
43108 p_actual_flag :='A';
43109 END IF;
43110
43111 --
43112 -- bulk performance
43113 --
43114 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
43115 p_header_num => 0); -- 4262811
43116 --
43117 -- set accounting line options
43118 --
43119 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
43120 p_natural_side_code => 'C'
43121 , p_gain_or_loss_flag => 'N'
43122 , p_gl_transfer_mode_code => 'S'
43123 , p_acct_entry_type_code => 'A'
43124 , p_switch_side_flag => 'Y'
43125 , p_merge_duplicate_code => 'A'
43126 );
43127 --
43128 l_acc_rev_natural_side_code := 'D'; -- 4262811
43129 --
43130 --
43131 -- set accounting line type info
43132 --
43133 xla_ae_lines_pkg.SetAcctLineType
43134 (p_component_type => l_component_type
43135 ,p_event_type_code => l_event_type_code
43136 ,p_line_definition_owner_code => l_line_definition_owner_code
43137 ,p_line_definition_code => l_line_definition_code
43138 ,p_accounting_line_code => l_component_code
43139 ,p_accounting_line_type_code => l_component_type_code
43140 ,p_accounting_line_appl_id => l_component_appl_id
43141 ,p_amb_context_code => l_amb_context_code
43142 ,p_entity_code => l_entity_code
43143 ,p_event_class_code => l_event_class_code);
43144 --
43145 -- set accounting class
43146 --
43147 xla_ae_lines_pkg.SetAcctClass(
43148 p_accounting_class_code => 'DEF_REC_TAX'
43149 , p_ae_header_id => l_ae_header_id
43150 );
43151
43152 --
43153 -- set rounding class
43154 --
43155 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
43156 'DEF_REC_TAX';
43157
43158 --
43159 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
43160 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
43161 --
43162 -- bulk performance
43163 --
43164 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
43165
43166 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
43167 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
43168
43169 -- 4955764
43170 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
43171 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
43172
43173 -- 4458381 Public Sector Enh
43174
43175 --
43176 -- set accounting attributes for the line type
43177 --
43178 l_entered_amt_idx := 10;
43182 l_rec_acct_attrs.array_char_value(1) := p_source_53;
43179 l_accted_amt_idx := 12;
43180 l_bflow_applied_to_amt_idx := 2; -- 5132302
43181 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
43183 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
43184 l_rec_acct_attrs.array_num_value(2) := p_source_99;
43185 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
43186 l_rec_acct_attrs.array_num_value(3) := p_source_91;
43187 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
43188 l_rec_acct_attrs.array_char_value(4) := p_source_100;
43189 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
43190 l_rec_acct_attrs.array_char_value(5) := p_source_101;
43191 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
43192 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
43193 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
43194 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
43195 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
43196 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
43197 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
43198 l_rec_acct_attrs.array_char_value(9) := p_source_55;
43199 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
43200 l_rec_acct_attrs.array_num_value(10) := p_source_99;
43201 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
43202 l_rec_acct_attrs.array_char_value(11) := p_source_13;
43203 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
43204 l_rec_acct_attrs.array_num_value(12) := p_source_116;
43205 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
43206 l_rec_acct_attrs.array_char_value(13) := p_source_80;
43207 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
43208 l_rec_acct_attrs.array_char_value(14) := p_source_83;
43209 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
43210 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_112);
43211 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
43212 l_rec_acct_attrs.array_char_value(16) := p_source_55;
43213 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
43214 l_rec_acct_attrs.array_num_value(17) := p_source_86;
43215 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
43216 l_rec_acct_attrs.array_num_value(18) := p_source_86;
43217 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
43218 l_rec_acct_attrs.array_num_value(19) := p_source_88;
43219
43220 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
43221 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
43222
43223 ---------------------------------------------------------------------------------------------------------------
43224 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
43225 ---------------------------------------------------------------------------------------------------------------
43226 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
43227
43228 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43229 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43230
43231 IF xla_accounting_cache_pkg.GetValueChar
43232 (p_source_code => 'LEDGER_CATEGORY_CODE'
43233 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
43234 AND l_bflow_method_code = 'PRIOR_ENTRY'
43235 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
43236 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
43237 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
43238 )
43239 THEN
43240 xla_ae_lines_pkg.BflowUpgEntry
43241 (p_business_method_code => l_bflow_method_code
43242 ,p_business_class_code => l_bflow_class_code
43243 ,p_balance_type => l_balance_type_code);
43244 ELSE
43245 NULL;
43246 XLA_AE_LINES_PKG.business_flow_validation(
43247 p_business_method_code => l_bflow_method_code
43248 ,p_business_class_code => l_bflow_class_code
43249 ,p_inherit_description_flag => l_inherit_desc_flag);
43250 END IF;
43251
43252 --
43253 -- call analytical criteria
43254 --
43255 -- Inherited Analytical Criteria for business flow method of Prior Entry.
43256 --
43257 -- call description
43258 --
43259 -- No description or it is inherited.
43260 --
43261 -- call ADRs
43262 -- Bug 4922099
43263 --
43264 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
43265 (NVL(l_actual_upg_option, 'N') = 'O') OR
43266 (NVL(l_enc_upg_option, 'N') = 'O')
43267 )
43268 THEN
43269 NULL;
43270 --
43271 --
43272
43273 --
43274 --
43275 END IF;
43276 --
43277 -- Bug 4922099
43278 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
43279 (NVL(l_enc_upg_option, 'N') = 'O')
43280 ) AND
43284 IF
43281 (l_bflow_method_code = 'PRIOR_ENTRY')
43282 )
43283 THEN
43285 --
43286 1 = 1
43287 --
43288 THEN
43289 xla_accounting_err_pkg.build_message
43290 (p_appli_s_name => 'XLA'
43291 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
43292 ,p_token_1 => 'LINE_NUMBER'
43293 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
43294 ,p_token_2 => 'LINE_TYPE_NAME'
43295 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
43296 l_component_type
43297 ,l_component_code
43298 ,l_component_type_code
43299 ,l_component_appl_id
43300 ,l_amb_context_code
43301 ,l_entity_code
43302 ,l_event_class_code
43303 )
43304 ,p_token_3 => 'OWNER'
43305 ,p_value_3 => xla_lookups_pkg.get_meaning(
43306 p_lookup_type => 'XLA_OWNER_TYPE'
43307 ,p_lookup_code => l_component_type_code
43308 )
43309 ,p_token_4 => 'PRODUCT_NAME'
43310 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
43311 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
43312 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
43313 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
43314 ,p_ae_header_id => NULL
43315 );
43316
43317 IF (C_LEVEL_ERROR>= g_log_level) THEN
43318 trace
43319 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
43320 ,p_level => C_LEVEL_ERROR
43321 ,p_module => l_log_module);
43322 END IF;
43323 END IF;
43324 END IF;
43325 --
43326 --
43327 ------------------------------------------------------------------------------------------------
43328 -- 4219869 Business Flow
43329 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
43330 -- Prior Entry. Currently, the following code is always generated.
43331 ------------------------------------------------------------------------------------------------
43332 -- No ValidateCurrentLine for business flow method of Prior Entry
43333
43334 ------------------------------------------------------------------------------------
43335 -- 4219869 Business Flow
43336 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
43337 ------------------------------------------------------------------------------------
43338 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
43339
43340 ----------------------------------------------------------------------------------
43341 -- 4219869 Business Flow
43342 -- Update journal entry status -- Need to generate this within IF <condition>
43343 ----------------------------------------------------------------------------------
43344 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
43345 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
43346 ,p_balance_type_code => l_balance_type_code
43347 );
43348
43349 -------------------------------------------------------------------------------------------
43350 -- 4262811 - Generate the Accrual Reversal lines
43351 -------------------------------------------------------------------------------------------
43352 BEGIN
43353 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
43354 (g_array_event(p_event_id).array_value_num('header_index'));
43355 IF l_acc_rev_flag IS NULL THEN
43356 l_acc_rev_flag := 'N';
43357 END IF;
43358 EXCEPTION
43359 WHEN OTHERS THEN
43360 l_acc_rev_flag := 'N';
43361 END;
43362 --
43363 IF (l_acc_rev_flag = 'Y') THEN
43364
43365 -- 4645092 ------------------------------------------------------------------------------
43366 -- To allow MPA report to determine if it should generate report process
43367 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
43368 ------------------------------------------------------------------------------------------
43369
43370 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
43371 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
43375 --
43372 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
43373 -- call ADRs
43374 -- Bug 4922099
43376 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
43377 (NVL(l_actual_upg_option, 'N') = 'O') OR
43378 (NVL(l_enc_upg_option, 'N') = 'O')
43379 )
43380 THEN
43381 NULL;
43382 --
43383 --
43384
43385 --
43386 --
43387 END IF;
43388
43389 --
43390 -- Update the line information that should be overwritten
43391 --
43392 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
43393 p_header_num => 1);
43394 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
43395
43396 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
43397
43398 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
43399 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
43400 END IF;
43401
43402 --
43403 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
43404 --
43405 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
43406 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
43407 ELSE
43408 ---------------------------------------------------------------------------------------------------
43409 -- 4262811a Switch Sign
43410 ---------------------------------------------------------------------------------------------------
43411 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
43412 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43413 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43414 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43415 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43416 -- 5132302
43417 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
43418 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43419
43420 END IF;
43421
43422 -- 4955764
43423 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
43424 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
43425
43426
43427 XLA_AE_LINES_PKG.ValidateCurrentLine;
43428 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
43429
43430 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
43431 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
43432 ,p_balance_type_code => l_balance_type_code);
43433
43434 END IF;
43435
43436 -----------------------------------------------------------------------------------------
43437 -- 4262811 Multiperiod Accounting
43438 -----------------------------------------------------------------------------------------
43439 -- No MPA option is assigned.
43440
43441
43442 END IF;
43443 END IF;
43444 --
43445
43446 --
43447 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
43448 trace
43449 (p_msg => 'END of AcctLineType_96'
43450 ,p_level => C_LEVEL_PROCEDURE
43451 ,p_module => l_log_module);
43452 END IF;
43453 --
43454 EXCEPTION
43455 WHEN xla_exceptions_pkg.application_exception THEN
43456 RAISE;
43457 WHEN OTHERS THEN
43458 xla_exceptions_pkg.raise_message
43459 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_96');
43460 END AcctLineType_96;
43461 --
43462
43463 ---------------------------------------
43464 --
43465 -- PRIVATE FUNCTION
43466 -- AcctLineType_97
43467 --
43468 ---------------------------------------
43469 PROCEDURE AcctLineType_97 (
43470 p_application_id IN NUMBER
43471 ,p_event_id IN NUMBER
43472 ,p_calculate_acctd_flag IN VARCHAR2
43473 ,p_calculate_g_l_flag IN VARCHAR2
43474 ,p_actual_flag IN OUT VARCHAR2
43475 ,p_balance_type_code OUT VARCHAR2
43476 ,p_gain_or_loss_ref OUT VARCHAR2
43477
43478 --Payment Currency Code
43479 , p_source_13 IN VARCHAR2
43480 --Invoice Distribution Type
43481 , p_source_33 IN VARCHAR2
43482 , p_source_33_meaning IN VARCHAR2
43483 --Accounting Reversal Indicator
43484 , p_source_53 IN VARCHAR2
43485 --Distribution Link Type
43486 , p_source_55 IN VARCHAR2
43487 --Override Accounted Amount Indicator
43488 , p_source_80 IN VARCHAR2
43489 , p_source_80_meaning IN VARCHAR2
43490 --Third Party Type
43491 , p_source_83 IN VARCHAR2
43492 --Business Flow Accounts Payable Application Identifier
43493 , p_source_91 IN NUMBER
43494 --Business Flow Invoice Distribution Type
43495 , p_source_92 IN VARCHAR2
43496 --Business Flow Invoice Entity Code
43497 , p_source_93 IN VARCHAR2
43498 --Business Flow Invoice Distribution Identifier
43499 , p_source_94 IN NUMBER
43500 --Business Flow Invoice Identifier
43504 --Payment Distribution Type
43501 , p_source_95 IN NUMBER
43502 --When to Account for Payment Option
43503 , p_source_97 IN VARCHAR2
43505 , p_source_98 IN VARCHAR2
43506 , p_source_98_meaning IN VARCHAR2
43507 --Payment Distribution Amount
43508 , p_source_99 IN NUMBER
43509 --Payment Distribution Identifier
43510 , p_source_104 IN NUMBER
43511 --Payment Distribution Reversed Identifier
43512 , p_source_112 IN NUMBER
43513 --Payment Maturity Date
43514 , p_source_114 IN DATE
43515 --Payment Distribution (Matured Rate) Ledger Amount
43516 , p_source_121 IN NUMBER
43517 --Deferred Recoverable Tax Option
43518 , p_source_137 IN VARCHAR2
43519 , p_source_137_meaning IN VARCHAR2
43520 )
43521 IS
43522
43523 l_component_type VARCHAR2(80);
43524 l_component_code VARCHAR2(30);
43525 l_component_type_code VARCHAR2(1);
43526 l_component_appl_id INTEGER;
43527 l_amb_context_code VARCHAR2(30);
43528 l_entity_code VARCHAR2(30);
43529 l_event_class_code VARCHAR2(30);
43530 l_ae_header_id NUMBER;
43531 l_event_type_code VARCHAR2(30);
43532 l_line_definition_code VARCHAR2(30);
43533 l_line_definition_owner_code VARCHAR2(1);
43534 --
43535 -- adr variables
43536 l_segment VARCHAR2(30);
43537 l_ccid NUMBER;
43538 l_adr_transaction_coa_id NUMBER;
43539 l_adr_accounting_coa_id NUMBER;
43540 l_adr_flexfield_segment_code VARCHAR2(30);
43541 l_adr_flex_value_set_id NUMBER;
43542 l_adr_value_type_code VARCHAR2(30);
43543 l_adr_value_combination_id NUMBER;
43544 l_adr_value_segment_code VARCHAR2(30);
43545
43546 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
43547 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
43548 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
43549 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
43550
43551 -- 4262811 Variables ------------------------------------------------------------------------------------------
43552 l_entered_amt_idx NUMBER;
43553 l_accted_amt_idx NUMBER;
43554 l_acc_rev_flag VARCHAR2(1);
43555 l_accrual_line_num NUMBER;
43556 l_tmp_amt NUMBER;
43557 l_acc_rev_natural_side_code VARCHAR2(1);
43558
43559 l_num_entries NUMBER;
43560 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
43561 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
43562 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
43563 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
43564 l_recog_line_1 NUMBER;
43565 l_recog_line_2 NUMBER;
43566
43567 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
43568 l_bflow_applied_to_amt NUMBER; -- 5132302
43569 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
43570
43571 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
43572
43573 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
43574 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
43575
43576 ---------------------------------------------------------------------------------------------------------------
43577
43578
43579 --
43580 -- bulk performance
43581 --
43582 l_balance_type_code VARCHAR2(1);
43583 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
43584 l_log_module VARCHAR2(240);
43585
43586 --
43587 -- Upgrade strategy
43588 --
43589 l_actual_upg_option VARCHAR2(1);
43590 l_enc_upg_option VARCHAR2(1);
43591
43592 --
43593 BEGIN
43594 --
43595 IF g_log_enabled THEN
43596 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_97';
43597 END IF;
43598 --
43599 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
43600
43601 trace
43602 (p_msg => 'BEGIN of AcctLineType_97'
43603 ,p_level => C_LEVEL_PROCEDURE
43604 ,p_module => l_log_module);
43605
43606 END IF;
43607 --
43608 l_component_type := 'AMB_JLT';
43609 l_component_code := 'AP_DEF_RTAX_INTERIM_MAT';
43610 l_component_type_code := 'S';
43611 l_component_appl_id := 200;
43612 l_amb_context_code := 'DEFAULT';
43613 l_entity_code := 'AP_PAYMENTS';
43614 l_event_class_code := 'FUTURE DATED PAYMENTS';
43615 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
43616 l_line_definition_owner_code := 'S';
43617 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
43618 --
43619 l_balance_type_code := 'A';
43620 l_segment := NULL;
43621 l_ccid := NULL;
43622 l_adr_transaction_coa_id := NULL;
43623 l_adr_accounting_coa_id := NULL;
43624 l_adr_flexfield_segment_code := NULL;
43625 l_adr_flex_value_set_id := NULL;
43626 l_adr_value_type_code := NULL;
43627 l_adr_value_combination_id := NULL;
43628 l_adr_value_segment_code := NULL;
43629
43633 l_budgetary_control_flag := 'N';
43630 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
43631 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
43632 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
43634
43635 l_bflow_applied_to_amt_idx := NULL; -- 5132302
43636 l_bflow_applied_to_amt := NULL; -- 5132302
43637 l_entered_amt_idx := NULL; -- 4262811
43638 l_accted_amt_idx := NULL; -- 4262811
43639 l_acc_rev_flag := NULL; -- 4262811
43640 l_accrual_line_num := NULL; -- 4262811
43641 l_tmp_amt := NULL; -- 4262811
43642 --
43643
43644 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
43645 l_balance_type_code <> 'B' THEN
43646 IF NVL(p_source_97,'
43647 ') <> 'CLEAR_CLEAR' AND
43648 NVL(p_source_33,'
43649 ') = 'REC_TAX' AND
43650 p_source_114 IS NOT NULL AND
43651 NVL(p_source_137,'
43652 ') = 'DEFERRED' AND
43653 (NVL(p_source_98,'
43654 ') = 'DISCOUNT' OR
43655 NVL(p_source_98,'
43656 ') = 'CASH')
43657 THEN
43658
43659 --
43660 XLA_AE_LINES_PKG.SetNewLine;
43661
43662 p_balance_type_code := l_balance_type_code;
43663 -- set the flag so later we will know whether the gain loss line needs to be created
43664
43665 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
43666 p_actual_flag :='A';
43667 END IF;
43668
43669 --
43670 -- bulk performance
43671 --
43672 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
43673 p_header_num => 0); -- 4262811
43674 --
43675 -- set accounting line options
43676 --
43677 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
43678 p_natural_side_code => 'C'
43679 , p_gain_or_loss_flag => 'N'
43680 , p_gl_transfer_mode_code => 'S'
43681 , p_acct_entry_type_code => 'A'
43682 , p_switch_side_flag => 'Y'
43683 , p_merge_duplicate_code => 'A'
43684 );
43685 --
43686 l_acc_rev_natural_side_code := 'D'; -- 4262811
43687 --
43688 --
43689 -- set accounting line type info
43690 --
43691 xla_ae_lines_pkg.SetAcctLineType
43692 (p_component_type => l_component_type
43693 ,p_event_type_code => l_event_type_code
43694 ,p_line_definition_owner_code => l_line_definition_owner_code
43695 ,p_line_definition_code => l_line_definition_code
43696 ,p_accounting_line_code => l_component_code
43697 ,p_accounting_line_type_code => l_component_type_code
43698 ,p_accounting_line_appl_id => l_component_appl_id
43699 ,p_amb_context_code => l_amb_context_code
43700 ,p_entity_code => l_entity_code
43701 ,p_event_class_code => l_event_class_code);
43702 --
43703 -- set accounting class
43704 --
43705 xla_ae_lines_pkg.SetAcctClass(
43706 p_accounting_class_code => 'DEF_REC_TAX'
43707 , p_ae_header_id => l_ae_header_id
43708 );
43709
43710 --
43711 -- set rounding class
43712 --
43713 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
43714 'DEF_REC_TAX';
43715
43716 --
43717 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
43718 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
43719 --
43720 -- bulk performance
43721 --
43722 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
43723
43724 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
43725 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
43726
43727 -- 4955764
43728 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
43729 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
43730
43731 -- 4458381 Public Sector Enh
43732
43733 --
43734 -- set accounting attributes for the line type
43735 --
43736 l_entered_amt_idx := 9;
43737 l_accted_amt_idx := 11;
43738 l_bflow_applied_to_amt_idx := NULL; -- 5132302
43739 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
43740 l_rec_acct_attrs.array_char_value(1) := p_source_53;
43741 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
43742 l_rec_acct_attrs.array_num_value(2) := p_source_91;
43743 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
43744 l_rec_acct_attrs.array_char_value(3) := p_source_92;
43745 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
43746 l_rec_acct_attrs.array_char_value(4) := p_source_93;
43747 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
43748 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
43749 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
43750 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
43751 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
43752 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
43756 l_rec_acct_attrs.array_num_value(9) := p_source_99;
43753 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
43754 l_rec_acct_attrs.array_char_value(8) := p_source_55;
43755 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
43757 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
43758 l_rec_acct_attrs.array_char_value(10) := p_source_13;
43759 l_rec_acct_attrs.array_acct_attr_code(11) := 'LEDGER_AMOUNT';
43760 l_rec_acct_attrs.array_num_value(11) := p_source_121;
43761 l_rec_acct_attrs.array_acct_attr_code(12) := 'OVERRIDE_ACCTD_AMT_FLAG';
43762 l_rec_acct_attrs.array_char_value(12) := p_source_80;
43763 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_TYPE';
43764 l_rec_acct_attrs.array_char_value(13) := p_source_83;
43765 l_rec_acct_attrs.array_acct_attr_code(14) := 'REVERSED_DISTRIBUTION_ID1';
43766 l_rec_acct_attrs.array_num_value(14) := to_char(p_source_112);
43767 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_TYPE';
43768 l_rec_acct_attrs.array_char_value(15) := p_source_55;
43769
43770 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
43771 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
43772
43773 ---------------------------------------------------------------------------------------------------------------
43774 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
43775 ---------------------------------------------------------------------------------------------------------------
43776 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
43777
43778 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43779 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43780
43781 IF xla_accounting_cache_pkg.GetValueChar
43782 (p_source_code => 'LEDGER_CATEGORY_CODE'
43783 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
43784 AND l_bflow_method_code = 'PRIOR_ENTRY'
43785 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
43786 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
43787 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
43788 )
43789 THEN
43790 xla_ae_lines_pkg.BflowUpgEntry
43791 (p_business_method_code => l_bflow_method_code
43792 ,p_business_class_code => l_bflow_class_code
43793 ,p_balance_type => l_balance_type_code);
43794 ELSE
43795 NULL;
43796 XLA_AE_LINES_PKG.business_flow_validation(
43797 p_business_method_code => l_bflow_method_code
43798 ,p_business_class_code => l_bflow_class_code
43799 ,p_inherit_description_flag => l_inherit_desc_flag);
43800 END IF;
43801
43802 --
43803 -- call analytical criteria
43804 --
43805 -- Inherited Analytical Criteria for business flow method of Prior Entry.
43806 --
43807 -- call description
43808 --
43809 -- No description or it is inherited.
43810 --
43811 -- call ADRs
43812 -- Bug 4922099
43813 --
43814 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
43815 (NVL(l_actual_upg_option, 'N') = 'O') OR
43816 (NVL(l_enc_upg_option, 'N') = 'O')
43817 )
43818 THEN
43819 NULL;
43820 --
43821 --
43822
43823 --
43824 --
43825 END IF;
43826 --
43827 -- Bug 4922099
43828 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
43829 (NVL(l_enc_upg_option, 'N') = 'O')
43830 ) AND
43831 (l_bflow_method_code = 'PRIOR_ENTRY')
43832 )
43833 THEN
43834 IF
43835 --
43836 1 = 1
43837 --
43838 THEN
43839 xla_accounting_err_pkg.build_message
43840 (p_appli_s_name => 'XLA'
43841 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
43842 ,p_token_1 => 'LINE_NUMBER'
43843 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
43844 ,p_token_2 => 'LINE_TYPE_NAME'
43845 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
43846 l_component_type
43847 ,l_component_code
43848 ,l_component_type_code
43849 ,l_component_appl_id
43850 ,l_amb_context_code
43851 ,l_entity_code
43852 ,l_event_class_code
43853 )
43854 ,p_token_3 => 'OWNER'
43858 )
43855 ,p_value_3 => xla_lookups_pkg.get_meaning(
43856 p_lookup_type => 'XLA_OWNER_TYPE'
43857 ,p_lookup_code => l_component_type_code
43859 ,p_token_4 => 'PRODUCT_NAME'
43860 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
43861 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
43862 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
43863 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
43864 ,p_ae_header_id => NULL
43865 );
43866
43867 IF (C_LEVEL_ERROR>= g_log_level) THEN
43868 trace
43869 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
43870 ,p_level => C_LEVEL_ERROR
43871 ,p_module => l_log_module);
43872 END IF;
43873 END IF;
43874 END IF;
43875 --
43876 --
43877 ------------------------------------------------------------------------------------------------
43878 -- 4219869 Business Flow
43879 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
43880 -- Prior Entry. Currently, the following code is always generated.
43881 ------------------------------------------------------------------------------------------------
43882 -- No ValidateCurrentLine for business flow method of Prior Entry
43883
43884 ------------------------------------------------------------------------------------
43885 -- 4219869 Business Flow
43886 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
43887 ------------------------------------------------------------------------------------
43888 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
43889
43890 ----------------------------------------------------------------------------------
43891 -- 4219869 Business Flow
43892 -- Update journal entry status -- Need to generate this within IF <condition>
43893 ----------------------------------------------------------------------------------
43894 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
43895 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
43896 ,p_balance_type_code => l_balance_type_code
43897 );
43898
43899 -------------------------------------------------------------------------------------------
43900 -- 4262811 - Generate the Accrual Reversal lines
43901 -------------------------------------------------------------------------------------------
43902 BEGIN
43903 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
43904 (g_array_event(p_event_id).array_value_num('header_index'));
43905 IF l_acc_rev_flag IS NULL THEN
43906 l_acc_rev_flag := 'N';
43907 END IF;
43908 EXCEPTION
43909 WHEN OTHERS THEN
43910 l_acc_rev_flag := 'N';
43911 END;
43912 --
43913 IF (l_acc_rev_flag = 'Y') THEN
43914
43915 -- 4645092 ------------------------------------------------------------------------------
43916 -- To allow MPA report to determine if it should generate report process
43917 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
43918 ------------------------------------------------------------------------------------------
43919
43920 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
43921 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
43922 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
43923 -- call ADRs
43924 -- Bug 4922099
43925 --
43926 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
43927 (NVL(l_actual_upg_option, 'N') = 'O') OR
43928 (NVL(l_enc_upg_option, 'N') = 'O')
43929 )
43930 THEN
43931 NULL;
43932 --
43933 --
43934
43935 --
43936 --
43937 END IF;
43938
43939 --
43940 -- Update the line information that should be overwritten
43941 --
43942 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
43943 p_header_num => 1);
43944 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
43945
43946 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
43947
43948 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
43949 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
43950 END IF;
43951
43952 --
43953 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
43954 --
43955 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
43956 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
43957 ELSE
43961 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
43958 ---------------------------------------------------------------------------------------------------
43959 -- 4262811a Switch Sign
43960 ---------------------------------------------------------------------------------------------------
43962 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43963 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43964 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43965 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43966 -- 5132302
43967 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
43968 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43969
43970 END IF;
43971
43972 -- 4955764
43973 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
43974 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
43975
43976
43977 XLA_AE_LINES_PKG.ValidateCurrentLine;
43978 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
43979
43980 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
43981 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
43982 ,p_balance_type_code => l_balance_type_code);
43983
43984 END IF;
43985
43986 -----------------------------------------------------------------------------------------
43987 -- 4262811 Multiperiod Accounting
43988 -----------------------------------------------------------------------------------------
43989 -- No MPA option is assigned.
43990
43991
43992 END IF;
43993 END IF;
43994 --
43995
43996 --
43997 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
43998 trace
43999 (p_msg => 'END of AcctLineType_97'
44000 ,p_level => C_LEVEL_PROCEDURE
44001 ,p_module => l_log_module);
44002 END IF;
44003 --
44004 EXCEPTION
44005 WHEN xla_exceptions_pkg.application_exception THEN
44006 RAISE;
44007 WHEN OTHERS THEN
44008 xla_exceptions_pkg.raise_message
44009 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_97');
44010 END AcctLineType_97;
44011 --
44012
44013 ---------------------------------------
44014 --
44015 -- PRIVATE FUNCTION
44016 -- AcctLineType_98
44017 --
44018 ---------------------------------------
44019 PROCEDURE AcctLineType_98 (
44020 p_application_id IN NUMBER
44021 ,p_event_id IN NUMBER
44022 ,p_calculate_acctd_flag IN VARCHAR2
44023 ,p_calculate_g_l_flag IN VARCHAR2
44024 ,p_actual_flag IN OUT VARCHAR2
44025 ,p_balance_type_code OUT VARCHAR2
44026 ,p_gain_or_loss_ref OUT VARCHAR2
44027
44028 --Payment Currency Code
44029 , p_source_13 IN VARCHAR2
44030 --Invoice Distribution Type
44031 , p_source_33 IN VARCHAR2
44032 , p_source_33_meaning IN VARCHAR2
44033 --Accounting Reversal Indicator
44034 , p_source_53 IN VARCHAR2
44035 --Distribution Link Type
44036 , p_source_55 IN VARCHAR2
44037 --Override Accounted Amount Indicator
44038 , p_source_80 IN VARCHAR2
44039 , p_source_80_meaning IN VARCHAR2
44040 --Third Party Type
44041 , p_source_83 IN VARCHAR2
44042 --Invoice Distribution Tax Line Identifier
44043 , p_source_86 IN NUMBER
44044 --Invoice Distribution Tax Distribution Identifier from Tax
44045 , p_source_87 IN NUMBER
44046 --Invoice Distribution Summary Tax Line Identifier
44047 , p_source_88 IN NUMBER
44048 --Business Flow Accounts Payable Application Identifier
44049 , p_source_91 IN NUMBER
44050 --Business Flow Invoice Distribution Type
44051 , p_source_92 IN VARCHAR2
44052 --Business Flow Invoice Entity Code
44053 , p_source_93 IN VARCHAR2
44054 --Business Flow Invoice Distribution Identifier
44055 , p_source_94 IN NUMBER
44056 --Business Flow Invoice Identifier
44057 , p_source_95 IN NUMBER
44058 --When to Account for Payment Option
44059 , p_source_97 IN VARCHAR2
44060 --Payment Distribution Type
44061 , p_source_98 IN VARCHAR2
44062 , p_source_98_meaning IN VARCHAR2
44063 --Payment Distribution Amount
44064 , p_source_99 IN NUMBER
44065 --Payment Distribution Identifier
44066 , p_source_104 IN NUMBER
44067 --Payment Distribution Reversed Identifier
44068 , p_source_112 IN NUMBER
44069 --Payment Maturity Date
44070 , p_source_114 IN DATE
44071 --Payment Distribution (Invoice Rate) Ledger Amount
44072 , p_source_116 IN NUMBER
44073 --Payment Type
44074 , p_source_122 IN VARCHAR2
44075 , p_source_122_meaning IN VARCHAR2
44076 --Payment Processing Type
44077 , p_source_123 IN VARCHAR2
44078 --Invoice Distribution Amount of the Payment Distribution
44079 , p_source_124 IN NUMBER
44080 --Deferred Recoverable Tax Option
44081 , p_source_137 IN VARCHAR2
44082 , p_source_137_meaning IN VARCHAR2
44086 IS
44083 --AWT Related Distribution Type Lookup code
44084 , p_source_138 IN VARCHAR2
44085 )
44087
44088 l_component_type VARCHAR2(80);
44089 l_component_code VARCHAR2(30);
44090 l_component_type_code VARCHAR2(1);
44091 l_component_appl_id INTEGER;
44092 l_amb_context_code VARCHAR2(30);
44093 l_entity_code VARCHAR2(30);
44094 l_event_class_code VARCHAR2(30);
44095 l_ae_header_id NUMBER;
44096 l_event_type_code VARCHAR2(30);
44097 l_line_definition_code VARCHAR2(30);
44098 l_line_definition_owner_code VARCHAR2(1);
44099 --
44100 -- adr variables
44101 l_segment VARCHAR2(30);
44102 l_ccid NUMBER;
44103 l_adr_transaction_coa_id NUMBER;
44104 l_adr_accounting_coa_id NUMBER;
44105 l_adr_flexfield_segment_code VARCHAR2(30);
44106 l_adr_flex_value_set_id NUMBER;
44107 l_adr_value_type_code VARCHAR2(30);
44108 l_adr_value_combination_id NUMBER;
44109 l_adr_value_segment_code VARCHAR2(30);
44110
44111 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
44112 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
44113 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
44114 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
44115
44116 -- 4262811 Variables ------------------------------------------------------------------------------------------
44117 l_entered_amt_idx NUMBER;
44118 l_accted_amt_idx NUMBER;
44119 l_acc_rev_flag VARCHAR2(1);
44120 l_accrual_line_num NUMBER;
44121 l_tmp_amt NUMBER;
44122 l_acc_rev_natural_side_code VARCHAR2(1);
44123
44124 l_num_entries NUMBER;
44125 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
44126 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
44127 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
44128 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
44129 l_recog_line_1 NUMBER;
44130 l_recog_line_2 NUMBER;
44131
44132 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
44133 l_bflow_applied_to_amt NUMBER; -- 5132302
44134 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
44135
44136 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
44137
44138 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
44139 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
44140
44141 ---------------------------------------------------------------------------------------------------------------
44142
44143
44144 --
44145 -- bulk performance
44146 --
44147 l_balance_type_code VARCHAR2(1);
44148 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
44149 l_log_module VARCHAR2(240);
44150
44151 --
44152 -- Upgrade strategy
44153 --
44154 l_actual_upg_option VARCHAR2(1);
44155 l_enc_upg_option VARCHAR2(1);
44156
44157 --
44158 BEGIN
44159 --
44160 IF g_log_enabled THEN
44161 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_98';
44162 END IF;
44163 --
44164 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
44165
44166 trace
44167 (p_msg => 'BEGIN of AcctLineType_98'
44168 ,p_level => C_LEVEL_PROCEDURE
44169 ,p_module => l_log_module);
44170
44171 END IF;
44172 --
44173 l_component_type := 'AMB_JLT';
44174 l_component_code := 'AP_DEF_RTAX_INTERIM_PMT';
44175 l_component_type_code := 'S';
44176 l_component_appl_id := 200;
44177 l_amb_context_code := 'DEFAULT';
44178 l_entity_code := 'AP_PAYMENTS';
44179 l_event_class_code := 'PAYMENTS';
44180 l_event_type_code := 'PAYMENTS_ALL';
44181 l_line_definition_owner_code := 'S';
44182 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
44183 --
44184 l_balance_type_code := 'A';
44185 l_segment := NULL;
44186 l_ccid := NULL;
44187 l_adr_transaction_coa_id := NULL;
44188 l_adr_accounting_coa_id := NULL;
44189 l_adr_flexfield_segment_code := NULL;
44190 l_adr_flex_value_set_id := NULL;
44191 l_adr_value_type_code := NULL;
44192 l_adr_value_combination_id := NULL;
44193 l_adr_value_segment_code := NULL;
44194
44195 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
44196 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
44197 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
44198 l_budgetary_control_flag := 'N';
44199
44200 l_bflow_applied_to_amt_idx := NULL; -- 5132302
44201 l_bflow_applied_to_amt := NULL; -- 5132302
44202 l_entered_amt_idx := NULL; -- 4262811
44203 l_accted_amt_idx := NULL; -- 4262811
44204 l_acc_rev_flag := NULL; -- 4262811
44205 l_accrual_line_num := NULL; -- 4262811
44206 l_tmp_amt := NULL; -- 4262811
44207 --
44208
44209 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
44210 l_balance_type_code <> 'B' THEN
44214 ') = 'REC_TAX' AND
44211 IF NVL(p_source_97,'
44212 ') <> 'CLEAR_CLEAR' AND
44213 ((NVL(p_source_33,'
44215 NVL(p_source_137,'
44216 ') = 'DEFERRED') OR
44217 (NVL(p_source_33,'
44218 ') = 'AWT' AND
44219 NVL(p_source_138,'
44220 ') = 'AWT_DEFERRED')
44221 ) AND (NVL(p_source_98,'
44222 ') = 'CASH' OR
44223 NVL(p_source_98,'
44224 ') = 'AWT' OR
44225 NVL(p_source_98,'
44226 ') = 'DISCOUNT') AND
44227 p_source_114 IS NULL AND
44228 NVL(p_source_122,'
44229 ') <> 'R' AND
44230 NVL(p_source_123,'
44231 ') <> 'PAYMENTCARD'
44232 THEN
44233
44234 --
44235 XLA_AE_LINES_PKG.SetNewLine;
44236
44237 p_balance_type_code := l_balance_type_code;
44238 -- set the flag so later we will know whether the gain loss line needs to be created
44239
44240 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
44241 p_actual_flag :='A';
44242 END IF;
44243
44244 --
44245 -- bulk performance
44246 --
44247 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
44248 p_header_num => 0); -- 4262811
44249 --
44250 -- set accounting line options
44251 --
44252 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
44253 p_natural_side_code => 'C'
44254 , p_gain_or_loss_flag => 'N'
44255 , p_gl_transfer_mode_code => 'S'
44256 , p_acct_entry_type_code => 'A'
44257 , p_switch_side_flag => 'Y'
44258 , p_merge_duplicate_code => 'A'
44259 );
44260 --
44261 l_acc_rev_natural_side_code := 'D'; -- 4262811
44262 --
44263 --
44264 -- set accounting line type info
44265 --
44266 xla_ae_lines_pkg.SetAcctLineType
44267 (p_component_type => l_component_type
44268 ,p_event_type_code => l_event_type_code
44269 ,p_line_definition_owner_code => l_line_definition_owner_code
44270 ,p_line_definition_code => l_line_definition_code
44271 ,p_accounting_line_code => l_component_code
44272 ,p_accounting_line_type_code => l_component_type_code
44273 ,p_accounting_line_appl_id => l_component_appl_id
44274 ,p_amb_context_code => l_amb_context_code
44275 ,p_entity_code => l_entity_code
44276 ,p_event_class_code => l_event_class_code);
44277 --
44278 -- set accounting class
44279 --
44280 xla_ae_lines_pkg.SetAcctClass(
44281 p_accounting_class_code => 'DEF_REC_TAX'
44282 , p_ae_header_id => l_ae_header_id
44283 );
44284
44285 --
44286 -- set rounding class
44287 --
44288 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
44289 'DEF_REC_TAX';
44290
44291 --
44292 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
44293 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
44294 --
44295 -- bulk performance
44296 --
44297 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
44298
44299 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
44300 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
44301
44302 -- 4955764
44303 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
44304 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
44305
44306 -- 4458381 Public Sector Enh
44307
44308 --
44309 -- set accounting attributes for the line type
44310 --
44311 l_entered_amt_idx := 10;
44312 l_accted_amt_idx := 12;
44313 l_bflow_applied_to_amt_idx := 2; -- 5132302
44314 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
44315 l_rec_acct_attrs.array_char_value(1) := p_source_53;
44316 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
44317 l_rec_acct_attrs.array_num_value(2) := p_source_124;
44318 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
44319 l_rec_acct_attrs.array_num_value(3) := p_source_91;
44320 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
44321 l_rec_acct_attrs.array_char_value(4) := p_source_92;
44322 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
44323 l_rec_acct_attrs.array_char_value(5) := p_source_93;
44324 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
44325 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
44326 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
44327 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
44328 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
44329 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
44330 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
44331 l_rec_acct_attrs.array_char_value(9) := p_source_55;
44332 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
44333 l_rec_acct_attrs.array_num_value(10) := p_source_99;
44334 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
44335 l_rec_acct_attrs.array_char_value(11) := p_source_13;
44339 l_rec_acct_attrs.array_char_value(13) := p_source_80;
44336 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
44337 l_rec_acct_attrs.array_num_value(12) := p_source_116;
44338 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
44340 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
44341 l_rec_acct_attrs.array_char_value(14) := p_source_83;
44342 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
44343 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_112);
44344 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
44345 l_rec_acct_attrs.array_char_value(16) := p_source_55;
44346 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
44347 l_rec_acct_attrs.array_num_value(17) := p_source_86;
44348 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
44349 l_rec_acct_attrs.array_num_value(18) := p_source_87;
44350 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
44351 l_rec_acct_attrs.array_num_value(19) := p_source_88;
44352
44353 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
44354 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
44355
44356 ---------------------------------------------------------------------------------------------------------------
44357 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
44358 ---------------------------------------------------------------------------------------------------------------
44359 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
44360
44361 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44362 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44363
44364 IF xla_accounting_cache_pkg.GetValueChar
44365 (p_source_code => 'LEDGER_CATEGORY_CODE'
44366 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
44367 AND l_bflow_method_code = 'PRIOR_ENTRY'
44368 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
44369 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
44370 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
44371 )
44372 THEN
44373 xla_ae_lines_pkg.BflowUpgEntry
44374 (p_business_method_code => l_bflow_method_code
44375 ,p_business_class_code => l_bflow_class_code
44376 ,p_balance_type => l_balance_type_code);
44377 ELSE
44378 NULL;
44379 XLA_AE_LINES_PKG.business_flow_validation(
44380 p_business_method_code => l_bflow_method_code
44381 ,p_business_class_code => l_bflow_class_code
44382 ,p_inherit_description_flag => l_inherit_desc_flag);
44383 END IF;
44384
44385 --
44386 -- call analytical criteria
44387 --
44388 -- Inherited Analytical Criteria for business flow method of Prior Entry.
44389 --
44390 -- call description
44391 --
44392 -- No description or it is inherited.
44393 --
44394 -- call ADRs
44395 -- Bug 4922099
44396 --
44397 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
44398 (NVL(l_actual_upg_option, 'N') = 'O') OR
44399 (NVL(l_enc_upg_option, 'N') = 'O')
44400 )
44401 THEN
44402 NULL;
44403 --
44404 --
44405
44406 --
44407 --
44408 END IF;
44409 --
44410 -- Bug 4922099
44411 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
44412 (NVL(l_enc_upg_option, 'N') = 'O')
44413 ) AND
44414 (l_bflow_method_code = 'PRIOR_ENTRY')
44415 )
44416 THEN
44417 IF
44418 --
44419 1 = 1
44420 --
44421 THEN
44422 xla_accounting_err_pkg.build_message
44423 (p_appli_s_name => 'XLA'
44424 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
44425 ,p_token_1 => 'LINE_NUMBER'
44426 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
44427 ,p_token_2 => 'LINE_TYPE_NAME'
44428 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
44429 l_component_type
44430 ,l_component_code
44431 ,l_component_type_code
44432 ,l_component_appl_id
44433 ,l_amb_context_code
44434 ,l_entity_code
44435 ,l_event_class_code
44436 )
44437 ,p_token_3 => 'OWNER'
44438 ,p_value_3 => xla_lookups_pkg.get_meaning(
44439 p_lookup_type => 'XLA_OWNER_TYPE'
44443 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
44440 ,p_lookup_code => l_component_type_code
44441 )
44442 ,p_token_4 => 'PRODUCT_NAME'
44444 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
44445 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
44446 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
44447 ,p_ae_header_id => NULL
44448 );
44449
44450 IF (C_LEVEL_ERROR>= g_log_level) THEN
44451 trace
44452 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
44453 ,p_level => C_LEVEL_ERROR
44454 ,p_module => l_log_module);
44455 END IF;
44456 END IF;
44457 END IF;
44458 --
44459 --
44460 ------------------------------------------------------------------------------------------------
44461 -- 4219869 Business Flow
44462 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
44463 -- Prior Entry. Currently, the following code is always generated.
44464 ------------------------------------------------------------------------------------------------
44465 -- No ValidateCurrentLine for business flow method of Prior Entry
44466
44467 ------------------------------------------------------------------------------------
44468 -- 4219869 Business Flow
44469 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
44470 ------------------------------------------------------------------------------------
44471 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
44472
44473 ----------------------------------------------------------------------------------
44474 -- 4219869 Business Flow
44475 -- Update journal entry status -- Need to generate this within IF <condition>
44476 ----------------------------------------------------------------------------------
44477 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
44478 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
44479 ,p_balance_type_code => l_balance_type_code
44480 );
44481
44482 -------------------------------------------------------------------------------------------
44483 -- 4262811 - Generate the Accrual Reversal lines
44484 -------------------------------------------------------------------------------------------
44485 BEGIN
44486 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
44487 (g_array_event(p_event_id).array_value_num('header_index'));
44488 IF l_acc_rev_flag IS NULL THEN
44489 l_acc_rev_flag := 'N';
44490 END IF;
44491 EXCEPTION
44492 WHEN OTHERS THEN
44493 l_acc_rev_flag := 'N';
44494 END;
44495 --
44496 IF (l_acc_rev_flag = 'Y') THEN
44497
44498 -- 4645092 ------------------------------------------------------------------------------
44499 -- To allow MPA report to determine if it should generate report process
44500 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
44501 ------------------------------------------------------------------------------------------
44502
44503 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
44504 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
44505 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
44506 -- call ADRs
44507 -- Bug 4922099
44508 --
44509 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
44510 (NVL(l_actual_upg_option, 'N') = 'O') OR
44511 (NVL(l_enc_upg_option, 'N') = 'O')
44512 )
44513 THEN
44514 NULL;
44515 --
44516 --
44517
44518 --
44519 --
44520 END IF;
44521
44522 --
44523 -- Update the line information that should be overwritten
44524 --
44525 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
44526 p_header_num => 1);
44527 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
44528
44529 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
44530
44531 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
44532 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
44533 END IF;
44534
44535 --
44536 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
44537 --
44538 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
44539 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
44540 ELSE
44541 ---------------------------------------------------------------------------------------------------
44542 -- 4262811a Switch Sign
44546 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44543 ---------------------------------------------------------------------------------------------------
44544 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
44545 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
44547 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
44548 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44549 -- 5132302
44550 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
44551 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44552
44553 END IF;
44554
44555 -- 4955764
44556 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
44557 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
44558
44559
44560 XLA_AE_LINES_PKG.ValidateCurrentLine;
44561 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
44562
44563 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
44564 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
44565 ,p_balance_type_code => l_balance_type_code);
44566
44567 END IF;
44568
44569 -----------------------------------------------------------------------------------------
44570 -- 4262811 Multiperiod Accounting
44571 -----------------------------------------------------------------------------------------
44572 -- No MPA option is assigned.
44573
44574
44575 END IF;
44576 END IF;
44577 --
44578
44579 --
44580 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
44581 trace
44582 (p_msg => 'END of AcctLineType_98'
44583 ,p_level => C_LEVEL_PROCEDURE
44584 ,p_module => l_log_module);
44585 END IF;
44586 --
44587 EXCEPTION
44588 WHEN xla_exceptions_pkg.application_exception THEN
44589 RAISE;
44590 WHEN OTHERS THEN
44591 xla_exceptions_pkg.raise_message
44592 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_98');
44593 END AcctLineType_98;
44594 --
44595
44596 ---------------------------------------
44597 --
44598 -- PRIVATE FUNCTION
44599 -- AcctLineType_99
44600 --
44601 ---------------------------------------
44602 PROCEDURE AcctLineType_99 (
44603 p_application_id IN NUMBER
44604 ,p_event_id IN NUMBER
44605 ,p_calculate_acctd_flag IN VARCHAR2
44606 ,p_calculate_g_l_flag IN VARCHAR2
44607 ,p_actual_flag IN OUT VARCHAR2
44608 ,p_balance_type_code OUT VARCHAR2
44609 ,p_gain_or_loss_ref OUT VARCHAR2
44610
44611 --Accounting Reversal Indicator
44612 , p_source_53 IN VARCHAR2
44613 --Distribution Link Type
44614 , p_source_55 IN VARCHAR2
44615 --Invoice Identifier
44616 , p_source_58 IN NUMBER
44617 --Payables Encumbrance Upgrade Credit Account
44618 , p_source_65 IN NUMBER
44619 --Payables Encumbrance Upgrade Credit Amount
44620 , p_source_66 IN NUMBER
44621 --Invoice Currency Code
44622 , p_source_67 IN VARCHAR2
44623 --Payables Encumbrance Upgrade Credit Base Amount
44624 , p_source_68 IN NUMBER
44625 --Payables Encumbrance Upgrade Debit Account
44626 , p_source_69 IN NUMBER
44627 --Payables Encumbrance Upgrade Debit Amount
44628 , p_source_70 IN NUMBER
44629 --Payables Encumbrance Upgrade Debit Base Amount
44630 , p_source_71 IN NUMBER
44631 --Payables Encumbrance Upgrade Option
44632 , p_source_72 IN VARCHAR2
44633 --Deferred Accounting End Date
44634 , p_source_77 IN DATE
44635 --Deferred Accounting Option
44636 , p_source_78 IN VARCHAR2
44637 --Deferred Accounting Start Date
44638 , p_source_79 IN DATE
44639 --Override Accounted Amount Indicator
44640 , p_source_80 IN VARCHAR2
44641 , p_source_80_meaning IN VARCHAR2
44642 --Third Party Type
44643 , p_source_83 IN VARCHAR2
44644 --Invoice Distribution Tax Line Identifier
44645 , p_source_86 IN NUMBER
44646 --Invoice Distribution Tax Distribution Identifier from Tax
44647 , p_source_87 IN NUMBER
44648 --Invoice Distribution Summary Tax Line Identifier
44649 , p_source_88 IN NUMBER
44650 --Payables Upgrade Credit Encumbrance Type Identifier
44651 , p_source_89 IN NUMBER
44652 --Payables Upgrade Debit Encumbrance Type Identifier
44653 , p_source_90 IN NUMBER
44654 --Business Flow Accounts Payable Application Identifier
44655 , p_source_91 IN NUMBER
44656 --Business Flow Invoice Distribution Type
44657 , p_source_92 IN VARCHAR2
44658 --Business Flow Invoice Entity Code
44659 , p_source_93 IN VARCHAR2
44660 --Prepayment Application Distribution Identifier
44661 , p_source_127 IN NUMBER
44662 --Upgrade Encumbrance Credit Account Class
44663 , p_source_132 IN VARCHAR2
44664 --Upgrade Encumbrance Debit Account Class
44665 , p_source_133 IN VARCHAR2
44666 --Prepayment Distribution Amount
44667 , p_source_134 IN NUMBER
44671 , p_source_137 IN VARCHAR2
44668 --Identifier of the Prepayment Application Reversed
44669 , p_source_136 IN NUMBER
44670 --Deferred Recoverable Tax Option
44672 , p_source_137_meaning IN VARCHAR2
44673 --Business Flow Recipient Invoice Distribution Identifier
44674 , p_source_139 IN NUMBER
44675 --Business Flow Recipient Invoice Identifier
44676 , p_source_140 IN NUMBER
44677 --Prepayment Distribution (Invoice Rate) Ledger Amount
44678 , p_source_141 IN NUMBER
44679 )
44680 IS
44681
44682 l_component_type VARCHAR2(80);
44683 l_component_code VARCHAR2(30);
44684 l_component_type_code VARCHAR2(1);
44685 l_component_appl_id INTEGER;
44686 l_amb_context_code VARCHAR2(30);
44687 l_entity_code VARCHAR2(30);
44688 l_event_class_code VARCHAR2(30);
44689 l_ae_header_id NUMBER;
44690 l_event_type_code VARCHAR2(30);
44691 l_line_definition_code VARCHAR2(30);
44692 l_line_definition_owner_code VARCHAR2(1);
44693 --
44694 -- adr variables
44695 l_segment VARCHAR2(30);
44696 l_ccid NUMBER;
44697 l_adr_transaction_coa_id NUMBER;
44698 l_adr_accounting_coa_id NUMBER;
44699 l_adr_flexfield_segment_code VARCHAR2(30);
44700 l_adr_flex_value_set_id NUMBER;
44701 l_adr_value_type_code VARCHAR2(30);
44702 l_adr_value_combination_id NUMBER;
44703 l_adr_value_segment_code VARCHAR2(30);
44704
44705 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
44706 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
44707 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
44708 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
44709
44710 -- 4262811 Variables ------------------------------------------------------------------------------------------
44711 l_entered_amt_idx NUMBER;
44712 l_accted_amt_idx NUMBER;
44713 l_acc_rev_flag VARCHAR2(1);
44714 l_accrual_line_num NUMBER;
44715 l_tmp_amt NUMBER;
44716 l_acc_rev_natural_side_code VARCHAR2(1);
44717
44718 l_num_entries NUMBER;
44719 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
44720 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
44721 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
44722 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
44723 l_recog_line_1 NUMBER;
44724 l_recog_line_2 NUMBER;
44725
44726 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
44727 l_bflow_applied_to_amt NUMBER; -- 5132302
44728 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
44729
44730 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
44731
44732 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
44733 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
44734
44735 ---------------------------------------------------------------------------------------------------------------
44736
44737
44738 --
44739 -- bulk performance
44740 --
44741 l_balance_type_code VARCHAR2(1);
44742 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
44743 l_log_module VARCHAR2(240);
44744
44745 --
44746 -- Upgrade strategy
44747 --
44748 l_actual_upg_option VARCHAR2(1);
44749 l_enc_upg_option VARCHAR2(1);
44750
44751 --
44752 BEGIN
44753 --
44754 IF g_log_enabled THEN
44755 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_99';
44756 END IF;
44757 --
44758 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
44759
44760 trace
44761 (p_msg => 'BEGIN of AcctLineType_99'
44762 ,p_level => C_LEVEL_PROCEDURE
44763 ,p_module => l_log_module);
44764
44765 END IF;
44766 --
44767 l_component_type := 'AMB_JLT';
44768 l_component_code := 'AP_DEF_RTAX_INTERIM_PREPAY';
44769 l_component_type_code := 'S';
44770 l_component_appl_id := 200;
44771 l_amb_context_code := 'DEFAULT';
44772 l_entity_code := 'AP_INVOICES';
44773 l_event_class_code := 'PREPAYMENT APPLICATIONS';
44774 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
44775 l_line_definition_owner_code := 'S';
44776 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
44777 --
44778 l_balance_type_code := 'A';
44779 l_segment := NULL;
44780 l_ccid := NULL;
44781 l_adr_transaction_coa_id := NULL;
44782 l_adr_accounting_coa_id := NULL;
44783 l_adr_flexfield_segment_code := NULL;
44784 l_adr_flex_value_set_id := NULL;
44785 l_adr_value_type_code := NULL;
44786 l_adr_value_combination_id := NULL;
44787 l_adr_value_segment_code := NULL;
44788
44789 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
44790 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
44791 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
44792 l_budgetary_control_flag := 'N';
44793
44794 l_bflow_applied_to_amt_idx := NULL; -- 5132302
44798 l_acc_rev_flag := NULL; -- 4262811
44795 l_bflow_applied_to_amt := NULL; -- 5132302
44796 l_entered_amt_idx := NULL; -- 4262811
44797 l_accted_amt_idx := NULL; -- 4262811
44799 l_accrual_line_num := NULL; -- 4262811
44800 l_tmp_amt := NULL; -- 4262811
44801 --
44802
44803 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
44804 l_balance_type_code <> 'B' THEN
44805 IF NVL(p_source_137,'
44806 ') = 'DEFERRED'
44807 THEN
44808
44809 --
44810 XLA_AE_LINES_PKG.SetNewLine;
44811
44812 p_balance_type_code := l_balance_type_code;
44813 -- set the flag so later we will know whether the gain loss line needs to be created
44814
44815 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
44816 p_actual_flag :='A';
44817 END IF;
44818
44819 --
44820 -- bulk performance
44821 --
44822 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
44823 p_header_num => 0); -- 4262811
44824 --
44825 -- set accounting line options
44826 --
44827 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
44828 p_natural_side_code => 'D'
44829 , p_gain_or_loss_flag => 'N'
44830 , p_gl_transfer_mode_code => 'S'
44831 , p_acct_entry_type_code => 'A'
44832 , p_switch_side_flag => 'Y'
44833 , p_merge_duplicate_code => 'A'
44834 );
44835 --
44836 l_acc_rev_natural_side_code := 'C'; -- 4262811
44837 --
44838 --
44839 -- set accounting line type info
44840 --
44841 xla_ae_lines_pkg.SetAcctLineType
44842 (p_component_type => l_component_type
44843 ,p_event_type_code => l_event_type_code
44844 ,p_line_definition_owner_code => l_line_definition_owner_code
44845 ,p_line_definition_code => l_line_definition_code
44846 ,p_accounting_line_code => l_component_code
44847 ,p_accounting_line_type_code => l_component_type_code
44848 ,p_accounting_line_appl_id => l_component_appl_id
44849 ,p_amb_context_code => l_amb_context_code
44850 ,p_entity_code => l_entity_code
44851 ,p_event_class_code => l_event_class_code);
44852 --
44853 -- set accounting class
44854 --
44855 xla_ae_lines_pkg.SetAcctClass(
44856 p_accounting_class_code => 'DEF_REC_TAX'
44857 , p_ae_header_id => l_ae_header_id
44858 );
44859
44860 --
44861 -- set rounding class
44862 --
44863 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
44864 'DEF_REC_TAX';
44865
44866 --
44867 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
44868 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
44869 --
44870 -- bulk performance
44871 --
44872 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
44873
44874 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
44875 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
44876
44877 -- 4955764
44878 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
44879 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
44880
44881 -- 4458381 Public Sector Enh
44882
44883 --
44884 -- set accounting attributes for the line type
44885 --
44886 l_entered_amt_idx := 25;
44887 l_accted_amt_idx := 27;
44888 l_bflow_applied_to_amt_idx := NULL; -- 5132302
44889 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
44890 l_rec_acct_attrs.array_char_value(1) := p_source_53;
44891 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
44892 l_rec_acct_attrs.array_num_value(2) :=
44893 xla_ae_sources_pkg.GetSystemSourceNum(
44894 p_source_code => 'XLA_EVENT_APPL_ID'
44895 , p_source_type_code => 'Y'
44896 , p_source_application_id => 602
44897 );
44898 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
44899 l_rec_acct_attrs.array_char_value(3) := p_source_55;
44900 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
44901 l_rec_acct_attrs.array_char_value(4) :=
44902 xla_ae_sources_pkg.GetSystemSourceChar(
44903 p_source_code => 'XLA_ENTITY_CODE'
44904 , p_source_type_code => 'Y'
44905 , p_source_application_id => 602
44906 );
44907 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
44908 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_127);
44909 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
44910 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
44911 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
44912 l_rec_acct_attrs.array_num_value(7) := p_source_91;
44913 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
44914 l_rec_acct_attrs.array_char_value(8) := p_source_92;
44915 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
44919 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
44916 l_rec_acct_attrs.array_char_value(9) := p_source_93;
44917 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
44918 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_139);
44920 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_140);
44921 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
44922 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_127);
44923 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
44924 l_rec_acct_attrs.array_char_value(13) := p_source_55;
44925 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
44926 l_rec_acct_attrs.array_char_value(14) := p_source_132;
44927 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
44928 l_rec_acct_attrs.array_num_value(15) := p_source_65;
44929 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
44930 l_rec_acct_attrs.array_num_value(16) := p_source_66;
44931 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
44932 l_rec_acct_attrs.array_char_value(17) := p_source_67;
44933 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
44934 l_rec_acct_attrs.array_num_value(18) := p_source_68;
44935 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
44936 l_rec_acct_attrs.array_char_value(19) := p_source_133;
44937 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
44938 l_rec_acct_attrs.array_num_value(20) := p_source_69;
44939 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
44940 l_rec_acct_attrs.array_num_value(21) := p_source_70;
44941 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
44942 l_rec_acct_attrs.array_char_value(22) := p_source_67;
44943 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
44944 l_rec_acct_attrs.array_num_value(23) := p_source_71;
44945 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
44946 l_rec_acct_attrs.array_char_value(24) := p_source_72;
44947 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
44948 l_rec_acct_attrs.array_num_value(25) := p_source_134;
44949 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
44950 l_rec_acct_attrs.array_char_value(26) := p_source_67;
44951 l_rec_acct_attrs.array_acct_attr_code(27) := 'LEDGER_AMOUNT';
44952 l_rec_acct_attrs.array_num_value(27) := p_source_141;
44953 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_END_DATE';
44954 l_rec_acct_attrs.array_date_value(28) := p_source_77;
44955 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_OPTION';
44956 l_rec_acct_attrs.array_char_value(29) := p_source_78;
44957 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_START_DATE';
44958 l_rec_acct_attrs.array_date_value(30) := p_source_79;
44959 l_rec_acct_attrs.array_acct_attr_code(31) := 'OVERRIDE_ACCTD_AMT_FLAG';
44960 l_rec_acct_attrs.array_char_value(31) := p_source_80;
44961 l_rec_acct_attrs.array_acct_attr_code(32) := 'PARTY_TYPE';
44962 l_rec_acct_attrs.array_char_value(32) := p_source_83;
44963 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_ID1';
44964 l_rec_acct_attrs.array_num_value(33) := to_char(p_source_136);
44965 l_rec_acct_attrs.array_acct_attr_code(34) := 'REVERSED_DISTRIBUTION_TYPE';
44966 l_rec_acct_attrs.array_char_value(34) := p_source_55;
44967 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
44968 l_rec_acct_attrs.array_num_value(35) := p_source_86;
44969 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
44970 l_rec_acct_attrs.array_num_value(36) := p_source_87;
44971 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
44972 l_rec_acct_attrs.array_num_value(37) := p_source_88;
44973 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
44974 l_rec_acct_attrs.array_num_value(38) := p_source_89;
44975 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
44976 l_rec_acct_attrs.array_num_value(39) := p_source_90;
44977
44978 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
44979 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
44980
44981 ---------------------------------------------------------------------------------------------------------------
44982 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
44983 ---------------------------------------------------------------------------------------------------------------
44984 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
44985
44986 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44987 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44988
44989 IF xla_accounting_cache_pkg.GetValueChar
44990 (p_source_code => 'LEDGER_CATEGORY_CODE'
44991 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
44992 AND l_bflow_method_code = 'PRIOR_ENTRY'
44993 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
44994 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
44995 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
44996 )
44997 THEN
44998 xla_ae_lines_pkg.BflowUpgEntry
44999 (p_business_method_code => l_bflow_method_code
45003 NULL;
45000 ,p_business_class_code => l_bflow_class_code
45001 ,p_balance_type => l_balance_type_code);
45002 ELSE
45004 XLA_AE_LINES_PKG.business_flow_validation(
45005 p_business_method_code => l_bflow_method_code
45006 ,p_business_class_code => l_bflow_class_code
45007 ,p_inherit_description_flag => l_inherit_desc_flag);
45008 END IF;
45009
45010 --
45011 -- call analytical criteria
45012 --
45013 -- Inherited Analytical Criteria for business flow method of Prior Entry.
45014 --
45015 -- call description
45016 --
45017 -- No description or it is inherited.
45018 --
45019 -- call ADRs
45020 -- Bug 4922099
45021 --
45022 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
45023 (NVL(l_actual_upg_option, 'N') = 'O') OR
45024 (NVL(l_enc_upg_option, 'N') = 'O')
45025 )
45026 THEN
45027 NULL;
45028 --
45029 --
45030
45031 --
45032 --
45033 END IF;
45034 --
45035 -- Bug 4922099
45036 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
45037 (NVL(l_enc_upg_option, 'N') = 'O')
45038 ) AND
45039 (l_bflow_method_code = 'PRIOR_ENTRY')
45040 )
45041 THEN
45042 IF
45043 --
45044 1 = 1
45045 --
45046 THEN
45047 xla_accounting_err_pkg.build_message
45048 (p_appli_s_name => 'XLA'
45049 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
45050 ,p_token_1 => 'LINE_NUMBER'
45051 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
45052 ,p_token_2 => 'LINE_TYPE_NAME'
45053 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
45054 l_component_type
45055 ,l_component_code
45056 ,l_component_type_code
45057 ,l_component_appl_id
45058 ,l_amb_context_code
45059 ,l_entity_code
45060 ,l_event_class_code
45061 )
45062 ,p_token_3 => 'OWNER'
45063 ,p_value_3 => xla_lookups_pkg.get_meaning(
45064 p_lookup_type => 'XLA_OWNER_TYPE'
45065 ,p_lookup_code => l_component_type_code
45066 )
45067 ,p_token_4 => 'PRODUCT_NAME'
45068 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
45069 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
45070 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
45071 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
45072 ,p_ae_header_id => NULL
45073 );
45074
45075 IF (C_LEVEL_ERROR>= g_log_level) THEN
45076 trace
45077 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
45078 ,p_level => C_LEVEL_ERROR
45079 ,p_module => l_log_module);
45080 END IF;
45081 END IF;
45082 END IF;
45083 --
45084 --
45085 ------------------------------------------------------------------------------------------------
45086 -- 4219869 Business Flow
45087 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
45088 -- Prior Entry. Currently, the following code is always generated.
45089 ------------------------------------------------------------------------------------------------
45090 -- No ValidateCurrentLine for business flow method of Prior Entry
45091
45092 ------------------------------------------------------------------------------------
45093 -- 4219869 Business Flow
45094 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
45095 ------------------------------------------------------------------------------------
45096 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
45097
45098 ----------------------------------------------------------------------------------
45099 -- 4219869 Business Flow
45100 -- Update journal entry status -- Need to generate this within IF <condition>
45101 ----------------------------------------------------------------------------------
45102 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
45103 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
45107 -------------------------------------------------------------------------------------------
45104 ,p_balance_type_code => l_balance_type_code
45105 );
45106
45108 -- 4262811 - Generate the Accrual Reversal lines
45109 -------------------------------------------------------------------------------------------
45110 BEGIN
45111 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
45112 (g_array_event(p_event_id).array_value_num('header_index'));
45113 IF l_acc_rev_flag IS NULL THEN
45114 l_acc_rev_flag := 'N';
45115 END IF;
45116 EXCEPTION
45117 WHEN OTHERS THEN
45118 l_acc_rev_flag := 'N';
45119 END;
45120 --
45121 IF (l_acc_rev_flag = 'Y') THEN
45122
45123 -- 4645092 ------------------------------------------------------------------------------
45124 -- To allow MPA report to determine if it should generate report process
45125 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
45126 ------------------------------------------------------------------------------------------
45127
45128 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
45129 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
45130 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
45131 -- call ADRs
45132 -- Bug 4922099
45133 --
45134 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
45135 (NVL(l_actual_upg_option, 'N') = 'O') OR
45136 (NVL(l_enc_upg_option, 'N') = 'O')
45137 )
45138 THEN
45139 NULL;
45140 --
45141 --
45142
45143 --
45144 --
45145 END IF;
45146
45147 --
45148 -- Update the line information that should be overwritten
45149 --
45150 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
45151 p_header_num => 1);
45152 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
45153
45154 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
45155
45156 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
45157 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
45158 END IF;
45159
45160 --
45161 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
45162 --
45163 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
45164 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
45165 ELSE
45166 ---------------------------------------------------------------------------------------------------
45167 -- 4262811a Switch Sign
45168 ---------------------------------------------------------------------------------------------------
45169 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
45170 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45171 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45172 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45173 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45174 -- 5132302
45175 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
45176 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45177
45178 END IF;
45179
45180 -- 4955764
45181 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
45182 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
45183
45184
45185 XLA_AE_LINES_PKG.ValidateCurrentLine;
45186 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
45187
45188 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
45189 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
45190 ,p_balance_type_code => l_balance_type_code);
45191
45192 END IF;
45193
45194 -----------------------------------------------------------------------------------------
45195 -- 4262811 Multiperiod Accounting
45196 -----------------------------------------------------------------------------------------
45197 -- No MPA option is assigned.
45198
45199
45200 END IF;
45201 END IF;
45202 --
45203
45204 --
45205 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
45206 trace
45207 (p_msg => 'END of AcctLineType_99'
45208 ,p_level => C_LEVEL_PROCEDURE
45209 ,p_module => l_log_module);
45210 END IF;
45211 --
45212 EXCEPTION
45213 WHEN xla_exceptions_pkg.application_exception THEN
45214 RAISE;
45215 WHEN OTHERS THEN
45216 xla_exceptions_pkg.raise_message
45217 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_99');
45218 END AcctLineType_99;
45219 --
45220
45221 ---------------------------------------
45222 --
45223 -- PRIVATE FUNCTION
45224 -- AcctLineType_100
45228 p_application_id IN NUMBER
45225 --
45226 ---------------------------------------
45227 PROCEDURE AcctLineType_100 (
45229 ,p_event_id IN NUMBER
45230 ,p_calculate_acctd_flag IN VARCHAR2
45231 ,p_calculate_g_l_flag IN VARCHAR2
45232 ,p_actual_flag IN OUT VARCHAR2
45233 ,p_balance_type_code OUT VARCHAR2
45234 ,p_gain_or_loss_ref OUT VARCHAR2
45235
45236 --Invoice Distribution Description
45237 , p_source_1 IN VARCHAR2
45238 --Invoice Distribution Ledger Amount
45239 , p_source_21 IN NUMBER
45240 --Invoice Distribution Account
45241 , p_source_30 IN NUMBER
45242 --Invoice Distribution Type
45243 , p_source_33 IN VARCHAR2
45244 , p_source_33_meaning IN VARCHAR2
45245 --Accounting Reversal Indicator
45246 , p_source_53 IN VARCHAR2
45247 --Distribution Link Type
45248 , p_source_55 IN VARCHAR2
45249 --Allocation to Main Distribution Identifier
45250 , p_source_57 IN NUMBER
45251 --Invoice Identifier
45252 , p_source_58 IN NUMBER
45253 --Invoice Distribution Identifier
45254 , p_source_64 IN NUMBER
45255 --Payables Encumbrance Upgrade Credit Account
45256 , p_source_65 IN NUMBER
45257 --Payables Encumbrance Upgrade Credit Amount
45258 , p_source_66 IN NUMBER
45259 --Invoice Currency Code
45260 , p_source_67 IN VARCHAR2
45261 --Payables Encumbrance Upgrade Credit Base Amount
45262 , p_source_68 IN NUMBER
45263 --Payables Encumbrance Upgrade Debit Account
45264 , p_source_69 IN NUMBER
45265 --Payables Encumbrance Upgrade Debit Amount
45266 , p_source_70 IN NUMBER
45267 --Payables Encumbrance Upgrade Debit Base Amount
45268 , p_source_71 IN NUMBER
45269 --Payables Encumbrance Upgrade Option
45270 , p_source_72 IN VARCHAR2
45271 --Invoice Distribution Amount
45272 , p_source_73 IN NUMBER
45273 --Deferred Accounting End Date
45274 , p_source_77 IN DATE
45275 --Deferred Accounting Option
45276 , p_source_78 IN VARCHAR2
45277 --Deferred Accounting Start Date
45278 , p_source_79 IN DATE
45279 --Override Accounted Amount Indicator
45280 , p_source_80 IN VARCHAR2
45281 , p_source_80_meaning IN VARCHAR2
45282 --Invoice Supplier Identifier
45283 , p_source_81 IN NUMBER
45284 --Invoice Supplier Site Identifier
45285 , p_source_82 IN NUMBER
45286 --Third Party Type
45287 , p_source_83 IN VARCHAR2
45288 --Parent Reversal Identifier
45289 , p_source_84 IN NUMBER
45290 --Invoice Distribution Statistical Amount
45291 , p_source_85 IN NUMBER
45292 --Invoice Distribution Tax Line Identifier
45293 , p_source_86 IN NUMBER
45294 --Invoice Distribution Tax Distribution Identifier from Tax
45295 , p_source_87 IN NUMBER
45296 --Invoice Distribution Summary Tax Line Identifier
45297 , p_source_88 IN NUMBER
45298 --Payables Upgrade Credit Encumbrance Type Identifier
45299 , p_source_89 IN NUMBER
45300 --Payables Upgrade Debit Encumbrance Type Identifier
45301 , p_source_90 IN NUMBER
45302 --Business Flow Accounts Payable Application Identifier
45303 , p_source_91 IN NUMBER
45304 --Business Flow Invoice Distribution Type
45305 , p_source_92 IN VARCHAR2
45306 --Business Flow Invoice Entity Code
45307 , p_source_93 IN VARCHAR2
45308 --Business Flow Invoice Distribution Identifier
45309 , p_source_94 IN NUMBER
45310 --Business Flow Invoice Identifier
45311 , p_source_95 IN NUMBER
45312 --Deferred Recoverable Tax Option
45313 , p_source_137 IN VARCHAR2
45314 , p_source_137_meaning IN VARCHAR2
45315 --Self-Assessed Tax Flag
45316 , p_source_142 IN VARCHAR2
45317 , p_source_142_meaning IN VARCHAR2
45318 --Invoice Exchange Date
45319 , p_source_143 IN DATE
45320 --Invoice Exchange Rate
45321 , p_source_144 IN NUMBER
45322 --Invoice Exchange Rate Type
45323 , p_source_145 IN VARCHAR2
45324 )
45325 IS
45326
45327 l_component_type VARCHAR2(80);
45328 l_component_code VARCHAR2(30);
45329 l_component_type_code VARCHAR2(1);
45330 l_component_appl_id INTEGER;
45331 l_amb_context_code VARCHAR2(30);
45332 l_entity_code VARCHAR2(30);
45333 l_event_class_code VARCHAR2(30);
45334 l_ae_header_id NUMBER;
45335 l_event_type_code VARCHAR2(30);
45336 l_line_definition_code VARCHAR2(30);
45337 l_line_definition_owner_code VARCHAR2(1);
45338 --
45339 -- adr variables
45340 l_segment VARCHAR2(30);
45341 l_ccid NUMBER;
45342 l_adr_transaction_coa_id NUMBER;
45343 l_adr_accounting_coa_id NUMBER;
45344 l_adr_flexfield_segment_code VARCHAR2(30);
45345 l_adr_flex_value_set_id NUMBER;
45346 l_adr_value_type_code VARCHAR2(30);
45347 l_adr_value_combination_id NUMBER;
45348 l_adr_value_segment_code VARCHAR2(30);
45349
45350 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
45351 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
45352 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
45356 l_entered_amt_idx NUMBER;
45353 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
45354
45355 -- 4262811 Variables ------------------------------------------------------------------------------------------
45357 l_accted_amt_idx NUMBER;
45358 l_acc_rev_flag VARCHAR2(1);
45359 l_accrual_line_num NUMBER;
45360 l_tmp_amt NUMBER;
45361 l_acc_rev_natural_side_code VARCHAR2(1);
45362
45363 l_num_entries NUMBER;
45364 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
45365 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
45366 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
45367 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
45368 l_recog_line_1 NUMBER;
45369 l_recog_line_2 NUMBER;
45370
45371 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
45372 l_bflow_applied_to_amt NUMBER; -- 5132302
45373 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
45374
45375 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
45376
45377 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
45378 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
45379
45380 ---------------------------------------------------------------------------------------------------------------
45381
45382
45383 --
45384 -- bulk performance
45385 --
45386 l_balance_type_code VARCHAR2(1);
45387 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
45388 l_log_module VARCHAR2(240);
45389
45390 --
45391 -- Upgrade strategy
45392 --
45393 l_actual_upg_option VARCHAR2(1);
45394 l_enc_upg_option VARCHAR2(1);
45395
45396 --
45397 BEGIN
45398 --
45399 IF g_log_enabled THEN
45400 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_100';
45401 END IF;
45402 --
45403 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
45404
45405 trace
45406 (p_msg => 'BEGIN of AcctLineType_100'
45407 ,p_level => C_LEVEL_PROCEDURE
45408 ,p_module => l_log_module);
45409
45410 END IF;
45411 --
45412 l_component_type := 'AMB_JLT';
45413 l_component_code := 'AP_DEF_RTAX_INTERIM_PREPAYMENT';
45414 l_component_type_code := 'S';
45415 l_component_appl_id := 200;
45416 l_amb_context_code := 'DEFAULT';
45417 l_entity_code := 'AP_INVOICES';
45418 l_event_class_code := 'PREPAYMENTS';
45419 l_event_type_code := 'PREPAYMENTS_ALL';
45420 l_line_definition_owner_code := 'S';
45421 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
45422 --
45423 l_balance_type_code := 'A';
45424 l_segment := NULL;
45425 l_ccid := NULL;
45426 l_adr_transaction_coa_id := NULL;
45427 l_adr_accounting_coa_id := NULL;
45428 l_adr_flexfield_segment_code := NULL;
45429 l_adr_flex_value_set_id := NULL;
45430 l_adr_value_type_code := NULL;
45431 l_adr_value_combination_id := NULL;
45432 l_adr_value_segment_code := NULL;
45433
45434 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
45435 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
45436 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
45437 l_budgetary_control_flag := 'N';
45438
45439 l_bflow_applied_to_amt_idx := NULL; -- 5132302
45440 l_bflow_applied_to_amt := NULL; -- 5132302
45441 l_entered_amt_idx := NULL; -- 4262811
45442 l_accted_amt_idx := NULL; -- 4262811
45443 l_acc_rev_flag := NULL; -- 4262811
45444 l_accrual_line_num := NULL; -- 4262811
45445 l_tmp_amt := NULL; -- 4262811
45446 --
45447
45448 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
45449 l_balance_type_code <> 'B' THEN
45450 IF NVL(p_source_33,'
45451 ') = 'REC_TAX' AND
45452 NVL(p_source_137,'
45453 ') = 'DEFERRED' AND
45454 NVL(p_source_142,'
45455 ') <> 'Y'
45456 THEN
45457
45458 --
45459 XLA_AE_LINES_PKG.SetNewLine;
45460
45461 p_balance_type_code := l_balance_type_code;
45462 -- set the flag so later we will know whether the gain loss line needs to be created
45463
45464 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
45465 p_actual_flag :='A';
45466 END IF;
45467
45468 --
45469 -- bulk performance
45470 --
45471 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
45472 p_header_num => 0); -- 4262811
45473 --
45474 -- set accounting line options
45475 --
45476 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
45477 p_natural_side_code => 'D'
45478 , p_gain_or_loss_flag => 'N'
45479 , p_gl_transfer_mode_code => 'S'
45480 , p_acct_entry_type_code => 'A'
45481 , p_switch_side_flag => 'Y'
45482 , p_merge_duplicate_code => 'A'
45483 );
45484 --
45485 l_acc_rev_natural_side_code := 'C'; -- 4262811
45486 --
45490 xla_ae_lines_pkg.SetAcctLineType
45487 --
45488 -- set accounting line type info
45489 --
45491 (p_component_type => l_component_type
45492 ,p_event_type_code => l_event_type_code
45493 ,p_line_definition_owner_code => l_line_definition_owner_code
45494 ,p_line_definition_code => l_line_definition_code
45495 ,p_accounting_line_code => l_component_code
45496 ,p_accounting_line_type_code => l_component_type_code
45497 ,p_accounting_line_appl_id => l_component_appl_id
45498 ,p_amb_context_code => l_amb_context_code
45499 ,p_entity_code => l_entity_code
45500 ,p_event_class_code => l_event_class_code);
45501 --
45502 -- set accounting class
45503 --
45504 xla_ae_lines_pkg.SetAcctClass(
45505 p_accounting_class_code => 'DEF_REC_TAX'
45506 , p_ae_header_id => l_ae_header_id
45507 );
45508
45509 --
45510 -- set rounding class
45511 --
45512 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
45513 'DEF_REC_TAX';
45514
45515 --
45516 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
45517 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
45518 --
45519 -- bulk performance
45520 --
45521 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
45522
45523 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
45524 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
45525
45526 -- 4955764
45527 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
45528 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
45529
45530 -- 4458381 Public Sector Enh
45531
45532 --
45533 -- set accounting attributes for the line type
45534 --
45535 l_entered_amt_idx := 23;
45536 l_accted_amt_idx := 28;
45537 l_bflow_applied_to_amt_idx := NULL; -- 5132302
45538 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
45539 l_rec_acct_attrs.array_char_value(1) := p_source_53;
45540 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
45541 l_rec_acct_attrs.array_num_value(2) :=
45542 xla_ae_sources_pkg.GetSystemSourceNum(
45543 p_source_code => 'XLA_EVENT_APPL_ID'
45544 , p_source_type_code => 'Y'
45545 , p_source_application_id => 602
45546 );
45547 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
45548 l_rec_acct_attrs.array_char_value(3) := p_source_55;
45549 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
45550 l_rec_acct_attrs.array_char_value(4) :=
45551 xla_ae_sources_pkg.GetSystemSourceChar(
45552 p_source_code => 'XLA_ENTITY_CODE'
45553 , p_source_type_code => 'Y'
45554 , p_source_application_id => 602
45555 );
45556 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
45557 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
45558 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
45559 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
45560 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
45561 l_rec_acct_attrs.array_num_value(7) := p_source_91;
45562 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
45563 l_rec_acct_attrs.array_char_value(8) := p_source_92;
45564 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
45565 l_rec_acct_attrs.array_char_value(9) := p_source_93;
45566 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
45567 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
45568 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
45569 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
45570 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
45571 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
45572 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
45573 l_rec_acct_attrs.array_char_value(13) := p_source_55;
45574 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
45575 l_rec_acct_attrs.array_num_value(14) := p_source_65;
45576 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
45577 l_rec_acct_attrs.array_num_value(15) := p_source_66;
45578 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
45579 l_rec_acct_attrs.array_char_value(16) := p_source_67;
45580 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
45581 l_rec_acct_attrs.array_num_value(17) := p_source_68;
45582 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
45583 l_rec_acct_attrs.array_num_value(18) := p_source_69;
45584 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
45585 l_rec_acct_attrs.array_num_value(19) := p_source_70;
45586 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
45587 l_rec_acct_attrs.array_char_value(20) := p_source_67;
45588 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
45589 l_rec_acct_attrs.array_num_value(21) := p_source_71;
45593 l_rec_acct_attrs.array_num_value(23) := p_source_73;
45590 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
45591 l_rec_acct_attrs.array_char_value(22) := p_source_72;
45592 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
45594 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
45595 l_rec_acct_attrs.array_char_value(24) := p_source_67;
45596 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
45597 l_rec_acct_attrs.array_date_value(25) := p_source_143;
45598 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
45599 l_rec_acct_attrs.array_num_value(26) := p_source_144;
45600 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
45601 l_rec_acct_attrs.array_char_value(27) := p_source_145;
45602 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
45603 l_rec_acct_attrs.array_num_value(28) := p_source_21;
45604 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
45605 l_rec_acct_attrs.array_date_value(29) := p_source_77;
45606 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
45607 l_rec_acct_attrs.array_char_value(30) := p_source_78;
45608 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
45609 l_rec_acct_attrs.array_date_value(31) := p_source_79;
45610 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
45611 l_rec_acct_attrs.array_char_value(32) := p_source_80;
45612 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
45613 l_rec_acct_attrs.array_num_value(33) := p_source_81;
45614 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
45615 l_rec_acct_attrs.array_num_value(34) := p_source_82;
45616 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
45617 l_rec_acct_attrs.array_char_value(35) := p_source_83;
45618 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
45619 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
45620 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
45621 l_rec_acct_attrs.array_char_value(37) := p_source_55;
45622 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
45623 l_rec_acct_attrs.array_num_value(38) := p_source_85;
45624 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
45625 l_rec_acct_attrs.array_num_value(39) := p_source_86;
45626 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
45627 l_rec_acct_attrs.array_num_value(40) := p_source_87;
45628 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
45629 l_rec_acct_attrs.array_num_value(41) := p_source_88;
45630 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
45631 l_rec_acct_attrs.array_num_value(42) := p_source_89;
45632 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
45633 l_rec_acct_attrs.array_num_value(43) := p_source_90;
45634
45635 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
45636 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
45637
45638 ---------------------------------------------------------------------------------------------------------------
45639 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
45640 ---------------------------------------------------------------------------------------------------------------
45641 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
45642
45643 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
45644 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
45645
45646 IF xla_accounting_cache_pkg.GetValueChar
45647 (p_source_code => 'LEDGER_CATEGORY_CODE'
45648 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
45649 AND l_bflow_method_code = 'PRIOR_ENTRY'
45650 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
45651 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
45652 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
45653 )
45654 THEN
45655 xla_ae_lines_pkg.BflowUpgEntry
45656 (p_business_method_code => l_bflow_method_code
45657 ,p_business_class_code => l_bflow_class_code
45658 ,p_balance_type => l_balance_type_code);
45659 ELSE
45660 NULL;
45661 -- No business flow processing for business flow method of NONE.
45662 END IF;
45663
45664 --
45665 -- call analytical criteria
45666 --
45667
45668 --
45669 -- call description
45670 --
45671
45672 xla_ae_lines_pkg.SetLineDescription(
45673 p_ae_header_id => l_ae_header_id
45674 ,p_description => Description_1 (
45675 p_application_id => p_application_id
45676 , p_ae_header_id => l_ae_header_id
45677 , p_source_1 => p_source_1
45678 )
45679 );
45680
45681
45682 --
45683 -- call ADRs
45684 -- Bug 4922099
45685 --
45686 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
45687 (NVL(l_actual_upg_option, 'N') = 'O') OR
45688 (NVL(l_enc_upg_option, 'N') = 'O')
45689 )
45690 THEN
45691 NULL;
45692 --
45693 --
45694
45695 l_ccid := AcctDerRule_33(
45696 p_application_id => p_application_id
45697 , p_ae_header_id => l_ae_header_id
45698 , p_source_30 => p_source_30
45702 , p_side => 'NA'
45699 , x_transaction_coa_id => l_adr_transaction_coa_id
45700 , x_accounting_coa_id => l_adr_accounting_coa_id
45701 , x_value_type_code => l_adr_value_type_code
45703 );
45704
45705 xla_ae_lines_pkg.set_ccid(
45706 p_code_combination_id => l_ccid
45707 , p_value_type_code => l_adr_value_type_code
45708 , p_transaction_coa_id => l_adr_transaction_coa_id
45709 , p_accounting_coa_id => l_adr_accounting_coa_id
45710 , p_adr_code => 'AP_INVOICE_DIST'
45711 , p_adr_type_code => 'S'
45712 , p_component_type => l_component_type
45713 , p_component_code => l_component_code
45714 , p_component_type_code => l_component_type_code
45715 , p_component_appl_id => l_component_appl_id
45716 , p_amb_context_code => l_amb_context_code
45717 , p_side => 'NA'
45718 );
45719
45720
45721 --
45722 --
45723 END IF;
45724 --
45725 -- Bug 4922099
45726 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
45727 (NVL(l_enc_upg_option, 'N') = 'O')
45728 ) AND
45729 (l_bflow_method_code = 'PRIOR_ENTRY')
45730 )
45731 THEN
45732 IF
45733 --
45734 1 = 2
45735 --
45736 THEN
45737 xla_accounting_err_pkg.build_message
45738 (p_appli_s_name => 'XLA'
45739 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
45740 ,p_token_1 => 'LINE_NUMBER'
45741 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
45742 ,p_token_2 => 'LINE_TYPE_NAME'
45743 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
45744 l_component_type
45745 ,l_component_code
45746 ,l_component_type_code
45747 ,l_component_appl_id
45748 ,l_amb_context_code
45749 ,l_entity_code
45750 ,l_event_class_code
45751 )
45752 ,p_token_3 => 'OWNER'
45753 ,p_value_3 => xla_lookups_pkg.get_meaning(
45754 p_lookup_type => 'XLA_OWNER_TYPE'
45755 ,p_lookup_code => l_component_type_code
45756 )
45757 ,p_token_4 => 'PRODUCT_NAME'
45758 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
45759 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
45760 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
45761 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
45762 ,p_ae_header_id => NULL
45763 );
45764
45765 IF (C_LEVEL_ERROR>= g_log_level) THEN
45766 trace
45767 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
45768 ,p_level => C_LEVEL_ERROR
45769 ,p_module => l_log_module);
45770 END IF;
45771 END IF;
45772 END IF;
45773 --
45774 --
45775 ------------------------------------------------------------------------------------------------
45776 -- 4219869 Business Flow
45777 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
45778 -- Prior Entry. Currently, the following code is always generated.
45779 ------------------------------------------------------------------------------------------------
45780 XLA_AE_LINES_PKG.ValidateCurrentLine;
45781
45782 ------------------------------------------------------------------------------------
45783 -- 4219869 Business Flow
45784 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
45785 ------------------------------------------------------------------------------------
45786 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
45787
45788 ----------------------------------------------------------------------------------
45789 -- 4219869 Business Flow
45790 -- Update journal entry status -- Need to generate this within IF <condition>
45791 ----------------------------------------------------------------------------------
45792 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
45793 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
45794 ,p_balance_type_code => l_balance_type_code
45795 );
45796
45800 BEGIN
45797 -------------------------------------------------------------------------------------------
45798 -- 4262811 - Generate the Accrual Reversal lines
45799 -------------------------------------------------------------------------------------------
45801 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
45802 (g_array_event(p_event_id).array_value_num('header_index'));
45803 IF l_acc_rev_flag IS NULL THEN
45804 l_acc_rev_flag := 'N';
45805 END IF;
45806 EXCEPTION
45807 WHEN OTHERS THEN
45808 l_acc_rev_flag := 'N';
45809 END;
45810 --
45811 IF (l_acc_rev_flag = 'Y') THEN
45812
45813 -- 4645092 ------------------------------------------------------------------------------
45814 -- To allow MPA report to determine if it should generate report process
45815 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
45816 ------------------------------------------------------------------------------------------
45817
45818 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
45819 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
45820 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
45821 -- call ADRs
45822 -- Bug 4922099
45823 --
45824 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
45825 (NVL(l_actual_upg_option, 'N') = 'O') OR
45826 (NVL(l_enc_upg_option, 'N') = 'O')
45827 )
45828 THEN
45829 NULL;
45830 --
45831 --
45832
45833 l_ccid := AcctDerRule_33(
45834 p_application_id => p_application_id
45835 , p_ae_header_id => l_ae_header_id
45836 , p_source_30 => p_source_30
45837 , x_transaction_coa_id => l_adr_transaction_coa_id
45838 , x_accounting_coa_id => l_adr_accounting_coa_id
45839 , x_value_type_code => l_adr_value_type_code
45840 , p_side => 'NA'
45841 );
45842
45843 xla_ae_lines_pkg.set_ccid(
45844 p_code_combination_id => l_ccid
45845 , p_value_type_code => l_adr_value_type_code
45846 , p_transaction_coa_id => l_adr_transaction_coa_id
45847 , p_accounting_coa_id => l_adr_accounting_coa_id
45848 , p_adr_code => 'AP_INVOICE_DIST'
45849 , p_adr_type_code => 'S'
45850 , p_component_type => l_component_type
45851 , p_component_code => l_component_code
45852 , p_component_type_code => l_component_type_code
45853 , p_component_appl_id => l_component_appl_id
45854 , p_amb_context_code => l_amb_context_code
45855 , p_side => 'NA'
45856 );
45857
45858
45859 --
45860 --
45861 END IF;
45862
45863 --
45864 -- Update the line information that should be overwritten
45865 --
45866 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
45867 p_header_num => 1);
45868 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
45869
45870 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
45871
45872 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
45873 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
45874 END IF;
45875
45876 --
45877 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
45878 --
45879 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
45880 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
45881 ELSE
45882 ---------------------------------------------------------------------------------------------------
45883 -- 4262811a Switch Sign
45884 ---------------------------------------------------------------------------------------------------
45885 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
45886 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45887 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45888 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45889 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45890 -- 5132302
45891 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
45892 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45893
45894 END IF;
45895
45896 -- 4955764
45897 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
45898 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
45899
45900
45901 XLA_AE_LINES_PKG.ValidateCurrentLine;
45902 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
45903
45904 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
45908 END IF;
45905 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
45906 ,p_balance_type_code => l_balance_type_code);
45907
45909
45910 -----------------------------------------------------------------------------------------
45911 -- 4262811 Multiperiod Accounting
45912 -----------------------------------------------------------------------------------------
45913 -- No MPA option is assigned.
45914
45915
45916 END IF;
45917 END IF;
45918 --
45919
45920 --
45921 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
45922 trace
45923 (p_msg => 'END of AcctLineType_100'
45924 ,p_level => C_LEVEL_PROCEDURE
45925 ,p_module => l_log_module);
45926 END IF;
45927 --
45928 EXCEPTION
45929 WHEN xla_exceptions_pkg.application_exception THEN
45930 RAISE;
45931 WHEN OTHERS THEN
45932 xla_exceptions_pkg.raise_message
45933 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_100');
45934 END AcctLineType_100;
45935 --
45936
45937 ---------------------------------------
45938 --
45939 -- PRIVATE FUNCTION
45940 -- AcctLineType_101
45941 --
45942 ---------------------------------------
45943 PROCEDURE AcctLineType_101 (
45944 p_application_id IN NUMBER
45945 ,p_event_id IN NUMBER
45946 ,p_calculate_acctd_flag IN VARCHAR2
45947 ,p_calculate_g_l_flag IN VARCHAR2
45948 ,p_actual_flag IN OUT VARCHAR2
45949 ,p_balance_type_code OUT VARCHAR2
45950 ,p_gain_or_loss_ref OUT VARCHAR2
45951
45952 --Payment Currency Code
45953 , p_source_13 IN VARCHAR2
45954 --Invoice Distribution Type
45955 , p_source_33 IN VARCHAR2
45956 , p_source_33_meaning IN VARCHAR2
45957 --Recoverable Tax Account
45958 , p_source_52 IN NUMBER
45959 --Accounting Reversal Indicator
45960 , p_source_53 IN VARCHAR2
45961 --Distribution Link Type
45962 , p_source_55 IN VARCHAR2
45963 --Override Accounted Amount Indicator
45964 , p_source_80 IN VARCHAR2
45965 , p_source_80_meaning IN VARCHAR2
45966 --Third Party Type
45967 , p_source_83 IN VARCHAR2
45968 --Business Flow Accounts Payable Application Identifier
45969 , p_source_91 IN NUMBER
45970 --When to Account for Payment Option
45971 , p_source_97 IN VARCHAR2
45972 --Payment Distribution Type
45973 , p_source_98 IN VARCHAR2
45974 , p_source_98_meaning IN VARCHAR2
45975 --Payment Distribution Amount
45976 , p_source_99 IN NUMBER
45977 --Business Flow Payment Distribution Type
45978 , p_source_100 IN VARCHAR2
45979 --Business Flow Payment Entity Code
45980 , p_source_101 IN VARCHAR2
45981 --Business Flow Payment Distribution Identifier
45982 , p_source_102 IN NUMBER
45983 --Business Flow Payment Identifier
45984 , p_source_103 IN NUMBER
45985 --Payment Distribution Identifier
45986 , p_source_104 IN NUMBER
45987 --Payment Supplier Identifier
45988 , p_source_110 IN NUMBER
45989 --Payment Supplier Site Identifier
45990 , p_source_111 IN NUMBER
45991 --Payment Distribution Reversed Identifier
45992 , p_source_112 IN NUMBER
45993 --Payment Maturity Date
45994 , p_source_114 IN DATE
45995 --Payment Exchange Date
45996 , p_source_117 IN DATE
45997 --Payment Exchange Rate
45998 , p_source_118 IN NUMBER
45999 --Payment Exchange Rate Type
46000 , p_source_119 IN VARCHAR2
46001 --Payment Distribution (Matured Rate) Ledger Amount
46002 , p_source_121 IN NUMBER
46003 --Deferred Recoverable Tax Option
46004 , p_source_137 IN VARCHAR2
46005 , p_source_137_meaning IN VARCHAR2
46006 )
46007 IS
46008
46009 l_component_type VARCHAR2(80);
46010 l_component_code VARCHAR2(30);
46011 l_component_type_code VARCHAR2(1);
46012 l_component_appl_id INTEGER;
46013 l_amb_context_code VARCHAR2(30);
46014 l_entity_code VARCHAR2(30);
46015 l_event_class_code VARCHAR2(30);
46016 l_ae_header_id NUMBER;
46017 l_event_type_code VARCHAR2(30);
46018 l_line_definition_code VARCHAR2(30);
46019 l_line_definition_owner_code VARCHAR2(1);
46020 --
46021 -- adr variables
46022 l_segment VARCHAR2(30);
46023 l_ccid NUMBER;
46024 l_adr_transaction_coa_id NUMBER;
46025 l_adr_accounting_coa_id NUMBER;
46026 l_adr_flexfield_segment_code VARCHAR2(30);
46027 l_adr_flex_value_set_id NUMBER;
46028 l_adr_value_type_code VARCHAR2(30);
46029 l_adr_value_combination_id NUMBER;
46030 l_adr_value_segment_code VARCHAR2(30);
46031
46032 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
46033 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
46034 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
46035 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
46036
46037 -- 4262811 Variables ------------------------------------------------------------------------------------------
46038 l_entered_amt_idx NUMBER;
46039 l_accted_amt_idx NUMBER;
46043 l_acc_rev_natural_side_code VARCHAR2(1);
46040 l_acc_rev_flag VARCHAR2(1);
46041 l_accrual_line_num NUMBER;
46042 l_tmp_amt NUMBER;
46044
46045 l_num_entries NUMBER;
46046 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
46047 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
46048 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
46049 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
46050 l_recog_line_1 NUMBER;
46051 l_recog_line_2 NUMBER;
46052
46053 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
46054 l_bflow_applied_to_amt NUMBER; -- 5132302
46055 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
46056
46057 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
46058
46059 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
46060 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
46061
46062 ---------------------------------------------------------------------------------------------------------------
46063
46064
46065 --
46066 -- bulk performance
46067 --
46068 l_balance_type_code VARCHAR2(1);
46069 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
46070 l_log_module VARCHAR2(240);
46071
46072 --
46073 -- Upgrade strategy
46074 --
46075 l_actual_upg_option VARCHAR2(1);
46076 l_enc_upg_option VARCHAR2(1);
46077
46078 --
46079 BEGIN
46080 --
46081 IF g_log_enabled THEN
46082 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_101';
46083 END IF;
46084 --
46085 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
46086
46087 trace
46088 (p_msg => 'BEGIN of AcctLineType_101'
46089 ,p_level => C_LEVEL_PROCEDURE
46090 ,p_module => l_log_module);
46091
46092 END IF;
46093 --
46094 l_component_type := 'AMB_JLT';
46095 l_component_code := 'AP_DEF_RTAX_MAT';
46096 l_component_type_code := 'S';
46097 l_component_appl_id := 200;
46098 l_amb_context_code := 'DEFAULT';
46099 l_entity_code := 'AP_PAYMENTS';
46100 l_event_class_code := 'FUTURE DATED PAYMENTS';
46101 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
46102 l_line_definition_owner_code := 'S';
46103 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
46104 --
46105 l_balance_type_code := 'A';
46106 l_segment := NULL;
46107 l_ccid := NULL;
46108 l_adr_transaction_coa_id := NULL;
46109 l_adr_accounting_coa_id := NULL;
46110 l_adr_flexfield_segment_code := NULL;
46111 l_adr_flex_value_set_id := NULL;
46112 l_adr_value_type_code := NULL;
46113 l_adr_value_combination_id := NULL;
46114 l_adr_value_segment_code := NULL;
46115
46116 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
46117 l_bflow_class_code := ''; -- 4219869 Business Flow
46118 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
46119 l_budgetary_control_flag := 'N';
46120
46121 l_bflow_applied_to_amt_idx := NULL; -- 5132302
46122 l_bflow_applied_to_amt := NULL; -- 5132302
46123 l_entered_amt_idx := NULL; -- 4262811
46124 l_accted_amt_idx := NULL; -- 4262811
46125 l_acc_rev_flag := NULL; -- 4262811
46126 l_accrual_line_num := NULL; -- 4262811
46127 l_tmp_amt := NULL; -- 4262811
46128 --
46129
46130 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
46131 l_balance_type_code <> 'B' THEN
46132 IF NVL(p_source_97,'
46133 ') <> 'CLEAR_CLEAR' AND
46134 NVL(p_source_33,'
46135 ') = 'REC_TAX' AND
46136 p_source_114 IS NOT NULL AND
46137 NVL(p_source_137,'
46138 ') = 'DEFERRED' AND
46139 (NVL(p_source_98,'
46140 ') = 'DISCOUNT' OR
46141 NVL(p_source_98,'
46142 ') = 'CASH')
46143 THEN
46144
46145 --
46146 XLA_AE_LINES_PKG.SetNewLine;
46147
46148 p_balance_type_code := l_balance_type_code;
46149 -- set the flag so later we will know whether the gain loss line needs to be created
46150
46151 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
46152 p_actual_flag :='A';
46153 END IF;
46154
46155 --
46156 -- bulk performance
46157 --
46158 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
46159 p_header_num => 0); -- 4262811
46160 --
46161 -- set accounting line options
46162 --
46163 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
46164 p_natural_side_code => 'D'
46165 , p_gain_or_loss_flag => 'N'
46166 , p_gl_transfer_mode_code => 'S'
46167 , p_acct_entry_type_code => 'A'
46168 , p_switch_side_flag => 'Y'
46169 , p_merge_duplicate_code => 'A'
46170 );
46171 --
46172 l_acc_rev_natural_side_code := 'C'; -- 4262811
46173 --
46174 --
46175 -- set accounting line type info
46176 --
46177 xla_ae_lines_pkg.SetAcctLineType
46181 ,p_line_definition_code => l_line_definition_code
46178 (p_component_type => l_component_type
46179 ,p_event_type_code => l_event_type_code
46180 ,p_line_definition_owner_code => l_line_definition_owner_code
46182 ,p_accounting_line_code => l_component_code
46183 ,p_accounting_line_type_code => l_component_type_code
46184 ,p_accounting_line_appl_id => l_component_appl_id
46185 ,p_amb_context_code => l_amb_context_code
46186 ,p_entity_code => l_entity_code
46187 ,p_event_class_code => l_event_class_code);
46188 --
46189 -- set accounting class
46190 --
46191 xla_ae_lines_pkg.SetAcctClass(
46192 p_accounting_class_code => 'DEF_REC_TAX'
46193 , p_ae_header_id => l_ae_header_id
46194 );
46195
46196 --
46197 -- set rounding class
46198 --
46199 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
46200 'DEF_REC_TAX';
46201
46202 --
46203 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
46204 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
46205 --
46206 -- bulk performance
46207 --
46208 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
46209
46210 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
46211 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
46212
46213 -- 4955764
46214 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
46215 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
46216
46217 -- 4458381 Public Sector Enh
46218
46219 --
46220 -- set accounting attributes for the line type
46221 --
46222 l_entered_amt_idx := 9;
46223 l_accted_amt_idx := 14;
46224 l_bflow_applied_to_amt_idx := NULL; -- 5132302
46225 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
46226 l_rec_acct_attrs.array_char_value(1) := p_source_53;
46227 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
46228 l_rec_acct_attrs.array_num_value(2) := p_source_91;
46229 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
46230 l_rec_acct_attrs.array_char_value(3) := p_source_100;
46231 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
46232 l_rec_acct_attrs.array_char_value(4) := p_source_101;
46233 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
46234 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_102);
46235 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
46236 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_103);
46237 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
46238 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
46239 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
46240 l_rec_acct_attrs.array_char_value(8) := p_source_55;
46241 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
46242 l_rec_acct_attrs.array_num_value(9) := p_source_99;
46243 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
46244 l_rec_acct_attrs.array_char_value(10) := p_source_13;
46245 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
46246 l_rec_acct_attrs.array_date_value(11) := p_source_117;
46247 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
46248 l_rec_acct_attrs.array_num_value(12) := p_source_118;
46249 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
46250 l_rec_acct_attrs.array_char_value(13) := p_source_119;
46251 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
46252 l_rec_acct_attrs.array_num_value(14) := p_source_121;
46253 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
46254 l_rec_acct_attrs.array_char_value(15) := p_source_80;
46255 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
46256 l_rec_acct_attrs.array_num_value(16) := p_source_110;
46257 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
46258 l_rec_acct_attrs.array_num_value(17) := p_source_111;
46259 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
46260 l_rec_acct_attrs.array_char_value(18) := p_source_83;
46261 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
46262 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_112);
46263 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
46264 l_rec_acct_attrs.array_char_value(20) := p_source_55;
46265
46266 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
46267 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
46268
46269 ---------------------------------------------------------------------------------------------------------------
46270 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
46271 ---------------------------------------------------------------------------------------------------------------
46272 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
46273
46274 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46278 (p_source_code => 'LEDGER_CATEGORY_CODE'
46275 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46276
46277 IF xla_accounting_cache_pkg.GetValueChar
46279 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
46280 AND l_bflow_method_code = 'PRIOR_ENTRY'
46281 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
46282 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
46283 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
46284 )
46285 THEN
46286 xla_ae_lines_pkg.BflowUpgEntry
46287 (p_business_method_code => l_bflow_method_code
46288 ,p_business_class_code => l_bflow_class_code
46289 ,p_balance_type => l_balance_type_code);
46290 ELSE
46291 NULL;
46292 -- No business flow processing for business flow method of NONE.
46293 END IF;
46294
46295 --
46296 -- call analytical criteria
46297 --
46298
46299 --
46300 -- call description
46301 --
46302 -- No description or it is inherited.
46303 --
46304 -- call ADRs
46305 -- Bug 4922099
46306 --
46307 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
46308 (NVL(l_actual_upg_option, 'N') = 'O') OR
46309 (NVL(l_enc_upg_option, 'N') = 'O')
46310 )
46311 THEN
46312 NULL;
46313 --
46314 --
46315
46316 l_ccid := AcctDerRule_44(
46317 p_application_id => p_application_id
46318 , p_ae_header_id => l_ae_header_id
46319 , p_source_52 => p_source_52
46320 , x_transaction_coa_id => l_adr_transaction_coa_id
46321 , x_accounting_coa_id => l_adr_accounting_coa_id
46322 , x_value_type_code => l_adr_value_type_code
46323 , p_side => 'NA'
46324 );
46325
46326 xla_ae_lines_pkg.set_ccid(
46327 p_code_combination_id => l_ccid
46328 , p_value_type_code => l_adr_value_type_code
46329 , p_transaction_coa_id => l_adr_transaction_coa_id
46330 , p_accounting_coa_id => l_adr_accounting_coa_id
46331 , p_adr_code => 'AP_TAX_ACCOUNT'
46332 , p_adr_type_code => 'S'
46333 , p_component_type => l_component_type
46334 , p_component_code => l_component_code
46335 , p_component_type_code => l_component_type_code
46336 , p_component_appl_id => l_component_appl_id
46337 , p_amb_context_code => l_amb_context_code
46338 , p_side => 'NA'
46339 );
46340
46341
46342 --
46343 --
46344 END IF;
46345 --
46346 -- Bug 4922099
46347 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
46348 (NVL(l_enc_upg_option, 'N') = 'O')
46349 ) AND
46350 (l_bflow_method_code = 'PRIOR_ENTRY')
46351 )
46352 THEN
46353 IF
46354 --
46355 1 = 2
46356 --
46357 THEN
46358 xla_accounting_err_pkg.build_message
46359 (p_appli_s_name => 'XLA'
46360 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
46361 ,p_token_1 => 'LINE_NUMBER'
46362 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
46363 ,p_token_2 => 'LINE_TYPE_NAME'
46364 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
46365 l_component_type
46366 ,l_component_code
46367 ,l_component_type_code
46368 ,l_component_appl_id
46369 ,l_amb_context_code
46370 ,l_entity_code
46371 ,l_event_class_code
46372 )
46373 ,p_token_3 => 'OWNER'
46374 ,p_value_3 => xla_lookups_pkg.get_meaning(
46375 p_lookup_type => 'XLA_OWNER_TYPE'
46376 ,p_lookup_code => l_component_type_code
46377 )
46378 ,p_token_4 => 'PRODUCT_NAME'
46379 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
46380 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
46381 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
46382 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
46383 ,p_ae_header_id => NULL
46384 );
46385
46386 IF (C_LEVEL_ERROR>= g_log_level) THEN
46390 ,p_module => l_log_module);
46387 trace
46388 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
46389 ,p_level => C_LEVEL_ERROR
46391 END IF;
46392 END IF;
46393 END IF;
46394 --
46395 --
46396 ------------------------------------------------------------------------------------------------
46397 -- 4219869 Business Flow
46398 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
46399 -- Prior Entry. Currently, the following code is always generated.
46400 ------------------------------------------------------------------------------------------------
46401 XLA_AE_LINES_PKG.ValidateCurrentLine;
46402
46403 ------------------------------------------------------------------------------------
46404 -- 4219869 Business Flow
46405 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
46406 ------------------------------------------------------------------------------------
46407 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
46408
46409 ----------------------------------------------------------------------------------
46410 -- 4219869 Business Flow
46411 -- Update journal entry status -- Need to generate this within IF <condition>
46412 ----------------------------------------------------------------------------------
46413 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
46414 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
46415 ,p_balance_type_code => l_balance_type_code
46416 );
46417
46418 -------------------------------------------------------------------------------------------
46419 -- 4262811 - Generate the Accrual Reversal lines
46420 -------------------------------------------------------------------------------------------
46421 BEGIN
46422 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
46423 (g_array_event(p_event_id).array_value_num('header_index'));
46424 IF l_acc_rev_flag IS NULL THEN
46425 l_acc_rev_flag := 'N';
46426 END IF;
46427 EXCEPTION
46428 WHEN OTHERS THEN
46429 l_acc_rev_flag := 'N';
46430 END;
46431 --
46432 IF (l_acc_rev_flag = 'Y') THEN
46433
46434 -- 4645092 ------------------------------------------------------------------------------
46435 -- To allow MPA report to determine if it should generate report process
46436 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
46437 ------------------------------------------------------------------------------------------
46438
46439 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
46440 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
46441 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
46442 -- call ADRs
46443 -- Bug 4922099
46444 --
46445 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
46446 (NVL(l_actual_upg_option, 'N') = 'O') OR
46447 (NVL(l_enc_upg_option, 'N') = 'O')
46448 )
46449 THEN
46450 NULL;
46451 --
46452 --
46453
46454 l_ccid := AcctDerRule_44(
46455 p_application_id => p_application_id
46456 , p_ae_header_id => l_ae_header_id
46457 , p_source_52 => p_source_52
46458 , x_transaction_coa_id => l_adr_transaction_coa_id
46459 , x_accounting_coa_id => l_adr_accounting_coa_id
46460 , x_value_type_code => l_adr_value_type_code
46461 , p_side => 'NA'
46462 );
46463
46464 xla_ae_lines_pkg.set_ccid(
46465 p_code_combination_id => l_ccid
46466 , p_value_type_code => l_adr_value_type_code
46467 , p_transaction_coa_id => l_adr_transaction_coa_id
46468 , p_accounting_coa_id => l_adr_accounting_coa_id
46469 , p_adr_code => 'AP_TAX_ACCOUNT'
46470 , p_adr_type_code => 'S'
46471 , p_component_type => l_component_type
46472 , p_component_code => l_component_code
46473 , p_component_type_code => l_component_type_code
46474 , p_component_appl_id => l_component_appl_id
46475 , p_amb_context_code => l_amb_context_code
46476 , p_side => 'NA'
46477 );
46478
46479
46480 --
46481 --
46482 END IF;
46483
46484 --
46485 -- Update the line information that should be overwritten
46486 --
46487 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
46488 p_header_num => 1);
46489 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
46490
46491 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
46492
46493 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
46494 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
46495 END IF;
46496
46497 --
46498 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
46499 --
46500 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
46504 -- 4262811a Switch Sign
46501 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
46502 ELSE
46503 ---------------------------------------------------------------------------------------------------
46505 ---------------------------------------------------------------------------------------------------
46506 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
46507 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
46508 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46509 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
46510 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46511 -- 5132302
46512 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
46513 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46514
46515 END IF;
46516
46517 -- 4955764
46518 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
46519 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
46520
46521
46522 XLA_AE_LINES_PKG.ValidateCurrentLine;
46523 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
46524
46525 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
46526 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
46527 ,p_balance_type_code => l_balance_type_code);
46528
46529 END IF;
46530
46531 -----------------------------------------------------------------------------------------
46532 -- 4262811 Multiperiod Accounting
46533 -----------------------------------------------------------------------------------------
46534 -- No MPA option is assigned.
46535
46536
46537 END IF;
46538 END IF;
46539 --
46540
46541 --
46542 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
46543 trace
46544 (p_msg => 'END of AcctLineType_101'
46545 ,p_level => C_LEVEL_PROCEDURE
46546 ,p_module => l_log_module);
46547 END IF;
46548 --
46549 EXCEPTION
46550 WHEN xla_exceptions_pkg.application_exception THEN
46551 RAISE;
46552 WHEN OTHERS THEN
46553 xla_exceptions_pkg.raise_message
46554 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_101');
46555 END AcctLineType_101;
46556 --
46557
46558 ---------------------------------------
46559 --
46560 -- PRIVATE FUNCTION
46561 -- AcctLineType_102
46562 --
46563 ---------------------------------------
46564 PROCEDURE AcctLineType_102 (
46565 p_application_id IN NUMBER
46566 ,p_event_id IN NUMBER
46567 ,p_calculate_acctd_flag IN VARCHAR2
46568 ,p_calculate_g_l_flag IN VARCHAR2
46569 ,p_actual_flag IN OUT VARCHAR2
46570 ,p_balance_type_code OUT VARCHAR2
46571 ,p_gain_or_loss_ref OUT VARCHAR2
46572
46573 --Payment Currency Code
46574 , p_source_13 IN VARCHAR2
46575 --Invoice Distribution Type
46576 , p_source_33 IN VARCHAR2
46577 , p_source_33_meaning IN VARCHAR2
46578 --Recoverable Tax Account
46579 , p_source_52 IN NUMBER
46580 --Accounting Reversal Indicator
46581 , p_source_53 IN VARCHAR2
46582 --Distribution Link Type
46583 , p_source_55 IN VARCHAR2
46584 --Override Accounted Amount Indicator
46585 , p_source_80 IN VARCHAR2
46586 , p_source_80_meaning IN VARCHAR2
46587 --Third Party Type
46588 , p_source_83 IN VARCHAR2
46589 --Invoice Distribution Tax Line Identifier
46590 , p_source_86 IN NUMBER
46591 --Invoice Distribution Tax Distribution Identifier from Tax
46592 , p_source_87 IN NUMBER
46593 --Invoice Distribution Summary Tax Line Identifier
46594 , p_source_88 IN NUMBER
46595 --Business Flow Accounts Payable Application Identifier
46596 , p_source_91 IN NUMBER
46597 --Business Flow Invoice Distribution Type
46598 , p_source_92 IN VARCHAR2
46599 --Business Flow Invoice Entity Code
46600 , p_source_93 IN VARCHAR2
46601 --Business Flow Invoice Distribution Identifier
46602 , p_source_94 IN NUMBER
46603 --Business Flow Invoice Identifier
46604 , p_source_95 IN NUMBER
46605 --When to Account for Payment Option
46606 , p_source_97 IN VARCHAR2
46607 --Payment Distribution Type
46608 , p_source_98 IN VARCHAR2
46609 , p_source_98_meaning IN VARCHAR2
46610 --Payment Distribution Amount
46611 , p_source_99 IN NUMBER
46612 --Payment Distribution Identifier
46613 , p_source_104 IN NUMBER
46614 --Payment Supplier Identifier
46615 , p_source_110 IN NUMBER
46616 --Payment Supplier Site Identifier
46617 , p_source_111 IN NUMBER
46618 --Payment Distribution Reversed Identifier
46619 , p_source_112 IN NUMBER
46620 --Payment Maturity Date
46621 , p_source_114 IN DATE
46622 --Payment Distribution (Invoice Rate) Ledger Amount
46623 , p_source_116 IN NUMBER
46624 --Payment Type
46628 , p_source_123 IN VARCHAR2
46625 , p_source_122 IN VARCHAR2
46626 , p_source_122_meaning IN VARCHAR2
46627 --Payment Processing Type
46629 --Invoice Distribution Amount of the Payment Distribution
46630 , p_source_124 IN NUMBER
46631 --Deferred Recoverable Tax Option
46632 , p_source_137 IN VARCHAR2
46633 , p_source_137_meaning IN VARCHAR2
46634 --AWT Related Distribution Type Lookup code
46635 , p_source_138 IN VARCHAR2
46636 --Invoice Exchange Date
46637 , p_source_143 IN DATE
46638 --Invoice Exchange Rate
46639 , p_source_144 IN NUMBER
46640 --Invoice Exchange Rate Type
46641 , p_source_145 IN VARCHAR2
46642 )
46643 IS
46644
46645 l_component_type VARCHAR2(80);
46646 l_component_code VARCHAR2(30);
46647 l_component_type_code VARCHAR2(1);
46648 l_component_appl_id INTEGER;
46649 l_amb_context_code VARCHAR2(30);
46650 l_entity_code VARCHAR2(30);
46651 l_event_class_code VARCHAR2(30);
46652 l_ae_header_id NUMBER;
46653 l_event_type_code VARCHAR2(30);
46654 l_line_definition_code VARCHAR2(30);
46655 l_line_definition_owner_code VARCHAR2(1);
46656 --
46657 -- adr variables
46658 l_segment VARCHAR2(30);
46659 l_ccid NUMBER;
46660 l_adr_transaction_coa_id NUMBER;
46661 l_adr_accounting_coa_id NUMBER;
46662 l_adr_flexfield_segment_code VARCHAR2(30);
46663 l_adr_flex_value_set_id NUMBER;
46664 l_adr_value_type_code VARCHAR2(30);
46665 l_adr_value_combination_id NUMBER;
46666 l_adr_value_segment_code VARCHAR2(30);
46667
46668 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
46669 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
46670 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
46671 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
46672
46673 -- 4262811 Variables ------------------------------------------------------------------------------------------
46674 l_entered_amt_idx NUMBER;
46675 l_accted_amt_idx NUMBER;
46676 l_acc_rev_flag VARCHAR2(1);
46677 l_accrual_line_num NUMBER;
46678 l_tmp_amt NUMBER;
46679 l_acc_rev_natural_side_code VARCHAR2(1);
46680
46681 l_num_entries NUMBER;
46682 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
46683 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
46684 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
46685 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
46686 l_recog_line_1 NUMBER;
46687 l_recog_line_2 NUMBER;
46688
46689 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
46690 l_bflow_applied_to_amt NUMBER; -- 5132302
46691 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
46692
46693 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
46694
46695 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
46696 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
46697
46698 ---------------------------------------------------------------------------------------------------------------
46699
46700
46701 --
46702 -- bulk performance
46703 --
46704 l_balance_type_code VARCHAR2(1);
46705 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
46706 l_log_module VARCHAR2(240);
46707
46708 --
46709 -- Upgrade strategy
46710 --
46711 l_actual_upg_option VARCHAR2(1);
46712 l_enc_upg_option VARCHAR2(1);
46713
46714 --
46715 BEGIN
46716 --
46717 IF g_log_enabled THEN
46718 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_102';
46719 END IF;
46720 --
46721 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
46722
46723 trace
46724 (p_msg => 'BEGIN of AcctLineType_102'
46725 ,p_level => C_LEVEL_PROCEDURE
46726 ,p_module => l_log_module);
46727
46728 END IF;
46729 --
46730 l_component_type := 'AMB_JLT';
46731 l_component_code := 'AP_DEF_RTAX_PMT';
46732 l_component_type_code := 'S';
46733 l_component_appl_id := 200;
46734 l_amb_context_code := 'DEFAULT';
46735 l_entity_code := 'AP_PAYMENTS';
46736 l_event_class_code := 'PAYMENTS';
46737 l_event_type_code := 'PAYMENTS_ALL';
46738 l_line_definition_owner_code := 'S';
46739 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
46740 --
46741 l_balance_type_code := 'A';
46742 l_segment := NULL;
46743 l_ccid := NULL;
46744 l_adr_transaction_coa_id := NULL;
46745 l_adr_accounting_coa_id := NULL;
46746 l_adr_flexfield_segment_code := NULL;
46747 l_adr_flex_value_set_id := NULL;
46748 l_adr_value_type_code := NULL;
46749 l_adr_value_combination_id := NULL;
46750 l_adr_value_segment_code := NULL;
46751
46752 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
46756
46753 l_bflow_class_code := 'AP_PP_DEF_TAX'; -- 4219869 Business Flow
46754 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
46755 l_budgetary_control_flag := 'N';
46757 l_bflow_applied_to_amt_idx := NULL; -- 5132302
46758 l_bflow_applied_to_amt := NULL; -- 5132302
46759 l_entered_amt_idx := NULL; -- 4262811
46760 l_accted_amt_idx := NULL; -- 4262811
46761 l_acc_rev_flag := NULL; -- 4262811
46762 l_accrual_line_num := NULL; -- 4262811
46763 l_tmp_amt := NULL; -- 4262811
46764 --
46765
46766 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
46767 l_balance_type_code <> 'B' THEN
46768 IF NVL(p_source_97,'
46769 ') <> 'CLEAR_CLEAR' AND
46770 ((NVL(p_source_33,'
46771 ') = 'REC_TAX' AND
46772 NVL(p_source_137,'
46773 ') = 'DEFERRED') OR
46774 (NVL(p_source_33,'
46775 ') = 'AWT' AND
46776 NVL(p_source_138,'
46777 ') = 'AWT_DEFERRED')
46778 ) AND (NVL(p_source_98,'
46779 ') = 'CASH' OR
46780 NVL(p_source_98,'
46781 ') = 'AWT' OR
46782 NVL(p_source_98,'
46783 ') = 'DISCOUNT') AND
46784 p_source_114 IS NULL AND
46785 NVL(p_source_122,'
46786 ') <> 'R' AND
46787 NVL(p_source_123,'
46788 ') <> 'PAYMENTCARD'
46789 THEN
46790
46791 --
46792 XLA_AE_LINES_PKG.SetNewLine;
46793
46794 p_balance_type_code := l_balance_type_code;
46795 -- set the flag so later we will know whether the gain loss line needs to be created
46796
46797 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
46798 p_actual_flag :='A';
46799 END IF;
46800
46801 --
46802 -- bulk performance
46803 --
46804 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
46805 p_header_num => 0); -- 4262811
46806 --
46807 -- set accounting line options
46808 --
46809 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
46810 p_natural_side_code => 'D'
46811 , p_gain_or_loss_flag => 'N'
46812 , p_gl_transfer_mode_code => 'S'
46813 , p_acct_entry_type_code => 'A'
46814 , p_switch_side_flag => 'Y'
46815 , p_merge_duplicate_code => 'A'
46816 );
46817 --
46818 l_acc_rev_natural_side_code := 'C'; -- 4262811
46819 --
46820 --
46821 -- set accounting line type info
46822 --
46823 xla_ae_lines_pkg.SetAcctLineType
46824 (p_component_type => l_component_type
46825 ,p_event_type_code => l_event_type_code
46826 ,p_line_definition_owner_code => l_line_definition_owner_code
46827 ,p_line_definition_code => l_line_definition_code
46828 ,p_accounting_line_code => l_component_code
46829 ,p_accounting_line_type_code => l_component_type_code
46830 ,p_accounting_line_appl_id => l_component_appl_id
46831 ,p_amb_context_code => l_amb_context_code
46832 ,p_entity_code => l_entity_code
46833 ,p_event_class_code => l_event_class_code);
46834 --
46835 -- set accounting class
46836 --
46837 xla_ae_lines_pkg.SetAcctClass(
46838 p_accounting_class_code => 'DEF_REC_TAX'
46839 , p_ae_header_id => l_ae_header_id
46840 );
46841
46842 --
46843 -- set rounding class
46844 --
46845 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
46846 'DEF_REC_TAX';
46847
46848 --
46849 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
46850 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
46851 --
46852 -- bulk performance
46853 --
46854 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
46855
46856 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
46857 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
46858
46859 -- 4955764
46860 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
46861 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
46862
46863 -- 4458381 Public Sector Enh
46864
46865 --
46866 -- set accounting attributes for the line type
46867 --
46868 l_entered_amt_idx := 10;
46869 l_accted_amt_idx := 15;
46870 l_bflow_applied_to_amt_idx := 2; -- 5132302
46871 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
46872 l_rec_acct_attrs.array_char_value(1) := p_source_53;
46873 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
46874 l_rec_acct_attrs.array_num_value(2) := p_source_124;
46875 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
46876 l_rec_acct_attrs.array_num_value(3) := p_source_91;
46877 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
46878 l_rec_acct_attrs.array_char_value(4) := p_source_92;
46879 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
46880 l_rec_acct_attrs.array_char_value(5) := p_source_93;
46881 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
46885 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
46882 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
46883 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
46884 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
46886 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
46887 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
46888 l_rec_acct_attrs.array_char_value(9) := p_source_55;
46889 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
46890 l_rec_acct_attrs.array_num_value(10) := p_source_99;
46891 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
46892 l_rec_acct_attrs.array_char_value(11) := p_source_13;
46893 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
46894 l_rec_acct_attrs.array_date_value(12) := p_source_143;
46895 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
46896 l_rec_acct_attrs.array_num_value(13) := p_source_144;
46897 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
46898 l_rec_acct_attrs.array_char_value(14) := p_source_145;
46899 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
46900 l_rec_acct_attrs.array_num_value(15) := p_source_116;
46901 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
46902 l_rec_acct_attrs.array_char_value(16) := p_source_80;
46903 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
46904 l_rec_acct_attrs.array_num_value(17) := p_source_110;
46905 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
46906 l_rec_acct_attrs.array_num_value(18) := p_source_111;
46907 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
46908 l_rec_acct_attrs.array_char_value(19) := p_source_83;
46909 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
46910 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
46911 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
46912 l_rec_acct_attrs.array_char_value(21) := p_source_55;
46913 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
46914 l_rec_acct_attrs.array_num_value(22) := p_source_86;
46915 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
46916 l_rec_acct_attrs.array_num_value(23) := p_source_87;
46917 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
46918 l_rec_acct_attrs.array_num_value(24) := p_source_88;
46919
46920 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
46921 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
46922
46923 ---------------------------------------------------------------------------------------------------------------
46924 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
46925 ---------------------------------------------------------------------------------------------------------------
46926 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
46927
46928 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46929 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46930
46931 IF xla_accounting_cache_pkg.GetValueChar
46932 (p_source_code => 'LEDGER_CATEGORY_CODE'
46933 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
46934 AND l_bflow_method_code = 'PRIOR_ENTRY'
46935 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
46936 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
46937 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
46938 )
46939 THEN
46940 xla_ae_lines_pkg.BflowUpgEntry
46941 (p_business_method_code => l_bflow_method_code
46942 ,p_business_class_code => l_bflow_class_code
46943 ,p_balance_type => l_balance_type_code);
46944 ELSE
46945 NULL;
46946 -- No business flow processing for business flow method of NONE.
46947 END IF;
46948
46949 --
46950 -- call analytical criteria
46951 --
46952
46953 --
46954 -- call description
46955 --
46956 -- No description or it is inherited.
46957 --
46958 -- call ADRs
46959 -- Bug 4922099
46960 --
46961 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
46962 (NVL(l_actual_upg_option, 'N') = 'O') OR
46963 (NVL(l_enc_upg_option, 'N') = 'O')
46964 )
46965 THEN
46966 NULL;
46967 --
46968 --
46969
46970 l_ccid := AcctDerRule_44(
46971 p_application_id => p_application_id
46972 , p_ae_header_id => l_ae_header_id
46973 , p_source_52 => p_source_52
46974 , x_transaction_coa_id => l_adr_transaction_coa_id
46975 , x_accounting_coa_id => l_adr_accounting_coa_id
46976 , x_value_type_code => l_adr_value_type_code
46977 , p_side => 'NA'
46978 );
46979
46980 xla_ae_lines_pkg.set_ccid(
46981 p_code_combination_id => l_ccid
46982 , p_value_type_code => l_adr_value_type_code
46983 , p_transaction_coa_id => l_adr_transaction_coa_id
46984 , p_accounting_coa_id => l_adr_accounting_coa_id
46985 , p_adr_code => 'AP_TAX_ACCOUNT'
46989 , p_component_type_code => l_component_type_code
46986 , p_adr_type_code => 'S'
46987 , p_component_type => l_component_type
46988 , p_component_code => l_component_code
46990 , p_component_appl_id => l_component_appl_id
46991 , p_amb_context_code => l_amb_context_code
46992 , p_side => 'NA'
46993 );
46994
46995
46996 --
46997 --
46998 END IF;
46999 --
47000 -- Bug 4922099
47001 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
47002 (NVL(l_enc_upg_option, 'N') = 'O')
47003 ) AND
47004 (l_bflow_method_code = 'PRIOR_ENTRY')
47005 )
47006 THEN
47007 IF
47008 --
47009 1 = 2
47010 --
47011 THEN
47012 xla_accounting_err_pkg.build_message
47013 (p_appli_s_name => 'XLA'
47014 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
47015 ,p_token_1 => 'LINE_NUMBER'
47016 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
47017 ,p_token_2 => 'LINE_TYPE_NAME'
47018 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
47019 l_component_type
47020 ,l_component_code
47021 ,l_component_type_code
47022 ,l_component_appl_id
47023 ,l_amb_context_code
47024 ,l_entity_code
47025 ,l_event_class_code
47026 )
47027 ,p_token_3 => 'OWNER'
47028 ,p_value_3 => xla_lookups_pkg.get_meaning(
47029 p_lookup_type => 'XLA_OWNER_TYPE'
47030 ,p_lookup_code => l_component_type_code
47031 )
47032 ,p_token_4 => 'PRODUCT_NAME'
47033 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
47034 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
47035 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
47036 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
47037 ,p_ae_header_id => NULL
47038 );
47039
47040 IF (C_LEVEL_ERROR>= g_log_level) THEN
47041 trace
47042 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
47043 ,p_level => C_LEVEL_ERROR
47044 ,p_module => l_log_module);
47045 END IF;
47046 END IF;
47047 END IF;
47048 --
47049 --
47050 ------------------------------------------------------------------------------------------------
47051 -- 4219869 Business Flow
47052 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
47053 -- Prior Entry. Currently, the following code is always generated.
47054 ------------------------------------------------------------------------------------------------
47055 XLA_AE_LINES_PKG.ValidateCurrentLine;
47056
47057 ------------------------------------------------------------------------------------
47058 -- 4219869 Business Flow
47059 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
47060 ------------------------------------------------------------------------------------
47061 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
47062
47063 ----------------------------------------------------------------------------------
47064 -- 4219869 Business Flow
47065 -- Update journal entry status -- Need to generate this within IF <condition>
47066 ----------------------------------------------------------------------------------
47067 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
47068 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
47069 ,p_balance_type_code => l_balance_type_code
47070 );
47071
47072 -------------------------------------------------------------------------------------------
47073 -- 4262811 - Generate the Accrual Reversal lines
47074 -------------------------------------------------------------------------------------------
47075 BEGIN
47076 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
47077 (g_array_event(p_event_id).array_value_num('header_index'));
47078 IF l_acc_rev_flag IS NULL THEN
47079 l_acc_rev_flag := 'N';
47080 END IF;
47081 EXCEPTION
47082 WHEN OTHERS THEN
47083 l_acc_rev_flag := 'N';
47084 END;
47085 --
47089 -- To allow MPA report to determine if it should generate report process
47086 IF (l_acc_rev_flag = 'Y') THEN
47087
47088 -- 4645092 ------------------------------------------------------------------------------
47090 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
47091 ------------------------------------------------------------------------------------------
47092
47093 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
47094 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
47095 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
47096 -- call ADRs
47097 -- Bug 4922099
47098 --
47099 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
47100 (NVL(l_actual_upg_option, 'N') = 'O') OR
47101 (NVL(l_enc_upg_option, 'N') = 'O')
47102 )
47103 THEN
47104 NULL;
47105 --
47106 --
47107
47108 l_ccid := AcctDerRule_44(
47109 p_application_id => p_application_id
47110 , p_ae_header_id => l_ae_header_id
47111 , p_source_52 => p_source_52
47112 , x_transaction_coa_id => l_adr_transaction_coa_id
47113 , x_accounting_coa_id => l_adr_accounting_coa_id
47114 , x_value_type_code => l_adr_value_type_code
47115 , p_side => 'NA'
47116 );
47117
47118 xla_ae_lines_pkg.set_ccid(
47119 p_code_combination_id => l_ccid
47120 , p_value_type_code => l_adr_value_type_code
47121 , p_transaction_coa_id => l_adr_transaction_coa_id
47122 , p_accounting_coa_id => l_adr_accounting_coa_id
47123 , p_adr_code => 'AP_TAX_ACCOUNT'
47124 , p_adr_type_code => 'S'
47125 , p_component_type => l_component_type
47126 , p_component_code => l_component_code
47127 , p_component_type_code => l_component_type_code
47128 , p_component_appl_id => l_component_appl_id
47129 , p_amb_context_code => l_amb_context_code
47130 , p_side => 'NA'
47131 );
47132
47133
47134 --
47135 --
47136 END IF;
47137
47138 --
47139 -- Update the line information that should be overwritten
47140 --
47141 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
47142 p_header_num => 1);
47143 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
47144
47145 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
47146
47147 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
47148 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
47149 END IF;
47150
47151 --
47152 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
47153 --
47154 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
47155 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
47156 ELSE
47157 ---------------------------------------------------------------------------------------------------
47158 -- 4262811a Switch Sign
47159 ---------------------------------------------------------------------------------------------------
47160 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
47161 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47162 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47163 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47164 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47165 -- 5132302
47166 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
47167 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47168
47169 END IF;
47170
47171 -- 4955764
47172 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
47173 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
47174
47175
47176 XLA_AE_LINES_PKG.ValidateCurrentLine;
47177 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
47178
47179 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
47180 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
47181 ,p_balance_type_code => l_balance_type_code);
47182
47183 END IF;
47184
47185 -----------------------------------------------------------------------------------------
47186 -- 4262811 Multiperiod Accounting
47187 -----------------------------------------------------------------------------------------
47188 -- No MPA option is assigned.
47189
47190
47191 END IF;
47192 END IF;
47193 --
47194
47195 --
47196 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
47197 trace
47198 (p_msg => 'END of AcctLineType_102'
47202 --
47199 ,p_level => C_LEVEL_PROCEDURE
47200 ,p_module => l_log_module);
47201 END IF;
47203 EXCEPTION
47204 WHEN xla_exceptions_pkg.application_exception THEN
47205 RAISE;
47206 WHEN OTHERS THEN
47207 xla_exceptions_pkg.raise_message
47208 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_102');
47209 END AcctLineType_102;
47210 --
47211
47212 ---------------------------------------
47213 --
47214 -- PRIVATE FUNCTION
47215 -- AcctLineType_103
47216 --
47217 ---------------------------------------
47218 PROCEDURE AcctLineType_103 (
47219 p_application_id IN NUMBER
47220 ,p_event_id IN NUMBER
47221 ,p_calculate_acctd_flag IN VARCHAR2
47222 ,p_calculate_g_l_flag IN VARCHAR2
47223 ,p_actual_flag IN OUT VARCHAR2
47224 ,p_balance_type_code OUT VARCHAR2
47225 ,p_gain_or_loss_ref OUT VARCHAR2
47226
47227 --Recoverable Tax Account
47228 , p_source_52 IN NUMBER
47229 --Accounting Reversal Indicator
47230 , p_source_53 IN VARCHAR2
47231 --Distribution Link Type
47232 , p_source_55 IN VARCHAR2
47233 --Invoice Identifier
47234 , p_source_58 IN NUMBER
47235 --Payables Encumbrance Upgrade Credit Account
47236 , p_source_65 IN NUMBER
47237 --Payables Encumbrance Upgrade Credit Amount
47238 , p_source_66 IN NUMBER
47239 --Invoice Currency Code
47240 , p_source_67 IN VARCHAR2
47241 --Payables Encumbrance Upgrade Credit Base Amount
47242 , p_source_68 IN NUMBER
47243 --Payables Encumbrance Upgrade Debit Account
47244 , p_source_69 IN NUMBER
47245 --Payables Encumbrance Upgrade Debit Amount
47246 , p_source_70 IN NUMBER
47247 --Payables Encumbrance Upgrade Debit Base Amount
47248 , p_source_71 IN NUMBER
47249 --Payables Encumbrance Upgrade Option
47250 , p_source_72 IN VARCHAR2
47251 --Deferred Accounting End Date
47252 , p_source_77 IN DATE
47253 --Deferred Accounting Option
47254 , p_source_78 IN VARCHAR2
47255 --Deferred Accounting Start Date
47256 , p_source_79 IN DATE
47257 --Override Accounted Amount Indicator
47258 , p_source_80 IN VARCHAR2
47259 , p_source_80_meaning IN VARCHAR2
47260 --Invoice Supplier Identifier
47261 , p_source_81 IN NUMBER
47262 --Invoice Supplier Site Identifier
47263 , p_source_82 IN NUMBER
47264 --Third Party Type
47265 , p_source_83 IN VARCHAR2
47266 --Invoice Distribution Tax Line Identifier
47267 , p_source_86 IN NUMBER
47268 --Invoice Distribution Tax Distribution Identifier from Tax
47269 , p_source_87 IN NUMBER
47270 --Invoice Distribution Summary Tax Line Identifier
47271 , p_source_88 IN NUMBER
47272 --Payables Upgrade Credit Encumbrance Type Identifier
47273 , p_source_89 IN NUMBER
47274 --Payables Upgrade Debit Encumbrance Type Identifier
47275 , p_source_90 IN NUMBER
47276 --Business Flow Accounts Payable Application Identifier
47277 , p_source_91 IN NUMBER
47278 --Prepayment Application Distribution Identifier
47279 , p_source_127 IN NUMBER
47280 --Upgrade Encumbrance Credit Account Class
47281 , p_source_132 IN VARCHAR2
47282 --Upgrade Encumbrance Debit Account Class
47283 , p_source_133 IN VARCHAR2
47284 --Prepayment Distribution Amount
47285 , p_source_134 IN NUMBER
47286 --Identifier of the Prepayment Application Reversed
47287 , p_source_136 IN NUMBER
47288 --Deferred Recoverable Tax Option
47289 , p_source_137 IN VARCHAR2
47290 , p_source_137_meaning IN VARCHAR2
47291 --Prepayment Distribution (Invoice Rate) Ledger Amount
47292 , p_source_141 IN NUMBER
47293 --Invoice Exchange Date
47294 , p_source_143 IN DATE
47295 --Invoice Exchange Rate
47296 , p_source_144 IN NUMBER
47297 --Invoice Exchange Rate Type
47298 , p_source_145 IN VARCHAR2
47299 --Business Flow Prepayment Invoice Distribution Type
47300 , p_source_146 IN VARCHAR2
47301 --Business Flow Prepayment Invoice Entity Code
47302 , p_source_147 IN VARCHAR2
47303 --Business Flow Prepayment Invoice Distribution Identifier
47304 , p_source_148 IN NUMBER
47305 --Business Flow Prepayment Invoice Identifier
47306 , p_source_149 IN NUMBER
47307 )
47308 IS
47309
47310 l_component_type VARCHAR2(80);
47311 l_component_code VARCHAR2(30);
47312 l_component_type_code VARCHAR2(1);
47313 l_component_appl_id INTEGER;
47314 l_amb_context_code VARCHAR2(30);
47315 l_entity_code VARCHAR2(30);
47316 l_event_class_code VARCHAR2(30);
47317 l_ae_header_id NUMBER;
47318 l_event_type_code VARCHAR2(30);
47319 l_line_definition_code VARCHAR2(30);
47320 l_line_definition_owner_code VARCHAR2(1);
47321 --
47322 -- adr variables
47323 l_segment VARCHAR2(30);
47324 l_ccid NUMBER;
47325 l_adr_transaction_coa_id NUMBER;
47326 l_adr_accounting_coa_id NUMBER;
47327 l_adr_flexfield_segment_code VARCHAR2(30);
47328 l_adr_flex_value_set_id NUMBER;
47329 l_adr_value_type_code VARCHAR2(30);
47330 l_adr_value_combination_id NUMBER;
47334 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
47331 l_adr_value_segment_code VARCHAR2(30);
47332
47333 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
47335 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
47336 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
47337
47338 -- 4262811 Variables ------------------------------------------------------------------------------------------
47339 l_entered_amt_idx NUMBER;
47340 l_accted_amt_idx NUMBER;
47341 l_acc_rev_flag VARCHAR2(1);
47342 l_accrual_line_num NUMBER;
47343 l_tmp_amt NUMBER;
47344 l_acc_rev_natural_side_code VARCHAR2(1);
47345
47346 l_num_entries NUMBER;
47347 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
47348 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
47349 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
47350 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
47351 l_recog_line_1 NUMBER;
47352 l_recog_line_2 NUMBER;
47353
47354 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
47355 l_bflow_applied_to_amt NUMBER; -- 5132302
47356 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
47357
47358 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
47359
47360 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
47361 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
47362
47363 ---------------------------------------------------------------------------------------------------------------
47364
47365
47366 --
47367 -- bulk performance
47368 --
47369 l_balance_type_code VARCHAR2(1);
47370 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
47371 l_log_module VARCHAR2(240);
47372
47373 --
47374 -- Upgrade strategy
47375 --
47376 l_actual_upg_option VARCHAR2(1);
47377 l_enc_upg_option VARCHAR2(1);
47378
47379 --
47380 BEGIN
47381 --
47382 IF g_log_enabled THEN
47383 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_103';
47384 END IF;
47385 --
47386 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
47387
47388 trace
47389 (p_msg => 'BEGIN of AcctLineType_103'
47390 ,p_level => C_LEVEL_PROCEDURE
47391 ,p_module => l_log_module);
47392
47393 END IF;
47394 --
47395 l_component_type := 'AMB_JLT';
47396 l_component_code := 'AP_DEF_RTAX_PREPAY';
47397 l_component_type_code := 'S';
47398 l_component_appl_id := 200;
47399 l_amb_context_code := 'DEFAULT';
47400 l_entity_code := 'AP_INVOICES';
47401 l_event_class_code := 'PREPAYMENT APPLICATIONS';
47402 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
47403 l_line_definition_owner_code := 'S';
47404 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
47405 --
47406 l_balance_type_code := 'A';
47407 l_segment := NULL;
47408 l_ccid := NULL;
47409 l_adr_transaction_coa_id := NULL;
47410 l_adr_accounting_coa_id := NULL;
47411 l_adr_flexfield_segment_code := NULL;
47412 l_adr_flex_value_set_id := NULL;
47413 l_adr_value_type_code := NULL;
47414 l_adr_value_combination_id := NULL;
47415 l_adr_value_segment_code := NULL;
47416
47417 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
47418 l_bflow_class_code := ''; -- 4219869 Business Flow
47419 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
47420 l_budgetary_control_flag := 'N';
47421
47422 l_bflow_applied_to_amt_idx := NULL; -- 5132302
47423 l_bflow_applied_to_amt := NULL; -- 5132302
47424 l_entered_amt_idx := NULL; -- 4262811
47425 l_accted_amt_idx := NULL; -- 4262811
47426 l_acc_rev_flag := NULL; -- 4262811
47427 l_accrual_line_num := NULL; -- 4262811
47428 l_tmp_amt := NULL; -- 4262811
47429 --
47430
47431 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
47432 l_balance_type_code <> 'B' THEN
47433 IF NVL(p_source_137,'
47434 ') = 'DEFERRED'
47435 THEN
47436
47437 --
47438 XLA_AE_LINES_PKG.SetNewLine;
47439
47440 p_balance_type_code := l_balance_type_code;
47441 -- set the flag so later we will know whether the gain loss line needs to be created
47442
47443 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
47444 p_actual_flag :='A';
47445 END IF;
47446
47447 --
47448 -- bulk performance
47449 --
47450 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
47451 p_header_num => 0); -- 4262811
47452 --
47453 -- set accounting line options
47454 --
47455 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
47456 p_natural_side_code => 'C'
47457 , p_gain_or_loss_flag => 'N'
47458 , p_gl_transfer_mode_code => 'S'
47462 );
47459 , p_acct_entry_type_code => 'A'
47460 , p_switch_side_flag => 'Y'
47461 , p_merge_duplicate_code => 'A'
47463 --
47464 l_acc_rev_natural_side_code := 'D'; -- 4262811
47465 --
47466 --
47467 -- set accounting line type info
47468 --
47469 xla_ae_lines_pkg.SetAcctLineType
47470 (p_component_type => l_component_type
47471 ,p_event_type_code => l_event_type_code
47472 ,p_line_definition_owner_code => l_line_definition_owner_code
47473 ,p_line_definition_code => l_line_definition_code
47474 ,p_accounting_line_code => l_component_code
47475 ,p_accounting_line_type_code => l_component_type_code
47476 ,p_accounting_line_appl_id => l_component_appl_id
47477 ,p_amb_context_code => l_amb_context_code
47478 ,p_entity_code => l_entity_code
47479 ,p_event_class_code => l_event_class_code);
47480 --
47481 -- set accounting class
47482 --
47483 xla_ae_lines_pkg.SetAcctClass(
47484 p_accounting_class_code => 'DEF_REC_TAX'
47485 , p_ae_header_id => l_ae_header_id
47486 );
47487
47488 --
47489 -- set rounding class
47490 --
47491 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
47492 'DEF_REC_TAX';
47493
47494 --
47495 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
47496 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
47497 --
47498 -- bulk performance
47499 --
47500 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
47501
47502 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
47503 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
47504
47505 -- 4955764
47506 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
47507 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
47508
47509 -- 4458381 Public Sector Enh
47510
47511 --
47512 -- set accounting attributes for the line type
47513 --
47514 l_entered_amt_idx := 25;
47515 l_accted_amt_idx := 30;
47516 l_bflow_applied_to_amt_idx := NULL; -- 5132302
47517 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
47518 l_rec_acct_attrs.array_char_value(1) := p_source_53;
47519 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
47520 l_rec_acct_attrs.array_num_value(2) :=
47521 xla_ae_sources_pkg.GetSystemSourceNum(
47522 p_source_code => 'XLA_EVENT_APPL_ID'
47523 , p_source_type_code => 'Y'
47524 , p_source_application_id => 602
47525 );
47526 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
47527 l_rec_acct_attrs.array_char_value(3) := p_source_55;
47528 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
47529 l_rec_acct_attrs.array_char_value(4) :=
47530 xla_ae_sources_pkg.GetSystemSourceChar(
47531 p_source_code => 'XLA_ENTITY_CODE'
47532 , p_source_type_code => 'Y'
47533 , p_source_application_id => 602
47534 );
47535 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
47536 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_127);
47537 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
47538 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
47539 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
47540 l_rec_acct_attrs.array_num_value(7) := p_source_91;
47541 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
47542 l_rec_acct_attrs.array_char_value(8) := p_source_146;
47543 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
47544 l_rec_acct_attrs.array_char_value(9) := p_source_147;
47545 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
47546 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_148);
47547 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
47548 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_149);
47549 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
47550 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_127);
47551 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
47552 l_rec_acct_attrs.array_char_value(13) := p_source_55;
47553 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
47554 l_rec_acct_attrs.array_char_value(14) := p_source_132;
47555 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
47556 l_rec_acct_attrs.array_num_value(15) := p_source_65;
47557 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
47558 l_rec_acct_attrs.array_num_value(16) := p_source_66;
47559 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
47560 l_rec_acct_attrs.array_char_value(17) := p_source_67;
47561 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
47562 l_rec_acct_attrs.array_num_value(18) := p_source_68;
47563 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
47564 l_rec_acct_attrs.array_char_value(19) := p_source_133;
47565 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
47566 l_rec_acct_attrs.array_num_value(20) := p_source_69;
47570 l_rec_acct_attrs.array_char_value(22) := p_source_67;
47567 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
47568 l_rec_acct_attrs.array_num_value(21) := p_source_70;
47569 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
47571 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
47572 l_rec_acct_attrs.array_num_value(23) := p_source_71;
47573 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
47574 l_rec_acct_attrs.array_char_value(24) := p_source_72;
47575 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
47576 l_rec_acct_attrs.array_num_value(25) := p_source_134;
47577 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
47578 l_rec_acct_attrs.array_char_value(26) := p_source_67;
47579 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_DATE';
47580 l_rec_acct_attrs.array_date_value(27) := p_source_143;
47581 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE';
47582 l_rec_acct_attrs.array_num_value(28) := p_source_144;
47583 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_RATE_TYPE';
47584 l_rec_acct_attrs.array_char_value(29) := p_source_145;
47585 l_rec_acct_attrs.array_acct_attr_code(30) := 'LEDGER_AMOUNT';
47586 l_rec_acct_attrs.array_num_value(30) := p_source_141;
47587 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_END_DATE';
47588 l_rec_acct_attrs.array_date_value(31) := p_source_77;
47589 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_OPTION';
47590 l_rec_acct_attrs.array_char_value(32) := p_source_78;
47591 l_rec_acct_attrs.array_acct_attr_code(33) := 'MULTIPERIOD_START_DATE';
47592 l_rec_acct_attrs.array_date_value(33) := p_source_79;
47593 l_rec_acct_attrs.array_acct_attr_code(34) := 'OVERRIDE_ACCTD_AMT_FLAG';
47594 l_rec_acct_attrs.array_char_value(34) := p_source_80;
47595 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_ID';
47596 l_rec_acct_attrs.array_num_value(35) := p_source_81;
47597 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_SITE_ID';
47598 l_rec_acct_attrs.array_num_value(36) := p_source_82;
47599 l_rec_acct_attrs.array_acct_attr_code(37) := 'PARTY_TYPE';
47600 l_rec_acct_attrs.array_char_value(37) := p_source_83;
47601 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_ID1';
47602 l_rec_acct_attrs.array_num_value(38) := to_char(p_source_136);
47603 l_rec_acct_attrs.array_acct_attr_code(39) := 'REVERSED_DISTRIBUTION_TYPE';
47604 l_rec_acct_attrs.array_char_value(39) := p_source_55;
47605 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
47606 l_rec_acct_attrs.array_num_value(40) := p_source_86;
47607 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
47608 l_rec_acct_attrs.array_num_value(41) := p_source_87;
47609 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
47610 l_rec_acct_attrs.array_num_value(42) := p_source_88;
47611 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
47612 l_rec_acct_attrs.array_num_value(43) := p_source_89;
47613 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
47614 l_rec_acct_attrs.array_num_value(44) := p_source_90;
47615
47616 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
47617 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
47618
47619 ---------------------------------------------------------------------------------------------------------------
47620 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
47621 ---------------------------------------------------------------------------------------------------------------
47622 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
47623
47624 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
47625 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
47626
47627 IF xla_accounting_cache_pkg.GetValueChar
47628 (p_source_code => 'LEDGER_CATEGORY_CODE'
47629 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
47630 AND l_bflow_method_code = 'PRIOR_ENTRY'
47631 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
47632 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
47633 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
47634 )
47635 THEN
47636 xla_ae_lines_pkg.BflowUpgEntry
47637 (p_business_method_code => l_bflow_method_code
47638 ,p_business_class_code => l_bflow_class_code
47639 ,p_balance_type => l_balance_type_code);
47640 ELSE
47641 NULL;
47642 -- No business flow processing for business flow method of NONE.
47643 END IF;
47644
47645 --
47646 -- call analytical criteria
47647 --
47648
47649 --
47650 -- call description
47651 --
47652 -- No description or it is inherited.
47653 --
47654 -- call ADRs
47655 -- Bug 4922099
47656 --
47657 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
47658 (NVL(l_actual_upg_option, 'N') = 'O') OR
47659 (NVL(l_enc_upg_option, 'N') = 'O')
47660 )
47661 THEN
47662 NULL;
47663 --
47664 --
47665
47666 l_ccid := AcctDerRule_44(
47667 p_application_id => p_application_id
47671 , x_accounting_coa_id => l_adr_accounting_coa_id
47668 , p_ae_header_id => l_ae_header_id
47669 , p_source_52 => p_source_52
47670 , x_transaction_coa_id => l_adr_transaction_coa_id
47672 , x_value_type_code => l_adr_value_type_code
47673 , p_side => 'NA'
47674 );
47675
47676 xla_ae_lines_pkg.set_ccid(
47677 p_code_combination_id => l_ccid
47678 , p_value_type_code => l_adr_value_type_code
47679 , p_transaction_coa_id => l_adr_transaction_coa_id
47680 , p_accounting_coa_id => l_adr_accounting_coa_id
47681 , p_adr_code => 'AP_TAX_ACCOUNT'
47682 , p_adr_type_code => 'S'
47683 , p_component_type => l_component_type
47684 , p_component_code => l_component_code
47685 , p_component_type_code => l_component_type_code
47686 , p_component_appl_id => l_component_appl_id
47687 , p_amb_context_code => l_amb_context_code
47688 , p_side => 'NA'
47689 );
47690
47691
47692 --
47693 --
47694 END IF;
47695 --
47696 -- Bug 4922099
47697 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
47698 (NVL(l_enc_upg_option, 'N') = 'O')
47699 ) AND
47700 (l_bflow_method_code = 'PRIOR_ENTRY')
47701 )
47702 THEN
47703 IF
47704 --
47705 1 = 2
47706 --
47707 THEN
47708 xla_accounting_err_pkg.build_message
47709 (p_appli_s_name => 'XLA'
47710 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
47711 ,p_token_1 => 'LINE_NUMBER'
47712 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
47713 ,p_token_2 => 'LINE_TYPE_NAME'
47714 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
47715 l_component_type
47716 ,l_component_code
47717 ,l_component_type_code
47718 ,l_component_appl_id
47719 ,l_amb_context_code
47720 ,l_entity_code
47721 ,l_event_class_code
47722 )
47723 ,p_token_3 => 'OWNER'
47724 ,p_value_3 => xla_lookups_pkg.get_meaning(
47725 p_lookup_type => 'XLA_OWNER_TYPE'
47726 ,p_lookup_code => l_component_type_code
47727 )
47728 ,p_token_4 => 'PRODUCT_NAME'
47729 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
47730 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
47731 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
47732 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
47733 ,p_ae_header_id => NULL
47734 );
47735
47736 IF (C_LEVEL_ERROR>= g_log_level) THEN
47737 trace
47738 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
47739 ,p_level => C_LEVEL_ERROR
47740 ,p_module => l_log_module);
47741 END IF;
47742 END IF;
47743 END IF;
47744 --
47745 --
47746 ------------------------------------------------------------------------------------------------
47747 -- 4219869 Business Flow
47748 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
47749 -- Prior Entry. Currently, the following code is always generated.
47750 ------------------------------------------------------------------------------------------------
47751 XLA_AE_LINES_PKG.ValidateCurrentLine;
47752
47753 ------------------------------------------------------------------------------------
47754 -- 4219869 Business Flow
47755 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
47756 ------------------------------------------------------------------------------------
47757 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
47758
47759 ----------------------------------------------------------------------------------
47760 -- 4219869 Business Flow
47761 -- Update journal entry status -- Need to generate this within IF <condition>
47762 ----------------------------------------------------------------------------------
47763 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
47764 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
47768 -------------------------------------------------------------------------------------------
47765 ,p_balance_type_code => l_balance_type_code
47766 );
47767
47769 -- 4262811 - Generate the Accrual Reversal lines
47770 -------------------------------------------------------------------------------------------
47771 BEGIN
47772 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
47773 (g_array_event(p_event_id).array_value_num('header_index'));
47774 IF l_acc_rev_flag IS NULL THEN
47775 l_acc_rev_flag := 'N';
47776 END IF;
47777 EXCEPTION
47778 WHEN OTHERS THEN
47779 l_acc_rev_flag := 'N';
47780 END;
47781 --
47782 IF (l_acc_rev_flag = 'Y') THEN
47783
47784 -- 4645092 ------------------------------------------------------------------------------
47785 -- To allow MPA report to determine if it should generate report process
47786 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
47787 ------------------------------------------------------------------------------------------
47788
47789 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
47790 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
47791 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
47792 -- call ADRs
47793 -- Bug 4922099
47794 --
47795 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
47796 (NVL(l_actual_upg_option, 'N') = 'O') OR
47797 (NVL(l_enc_upg_option, 'N') = 'O')
47798 )
47799 THEN
47800 NULL;
47801 --
47802 --
47803
47804 l_ccid := AcctDerRule_44(
47805 p_application_id => p_application_id
47806 , p_ae_header_id => l_ae_header_id
47807 , p_source_52 => p_source_52
47808 , x_transaction_coa_id => l_adr_transaction_coa_id
47809 , x_accounting_coa_id => l_adr_accounting_coa_id
47810 , x_value_type_code => l_adr_value_type_code
47811 , p_side => 'NA'
47812 );
47813
47814 xla_ae_lines_pkg.set_ccid(
47815 p_code_combination_id => l_ccid
47816 , p_value_type_code => l_adr_value_type_code
47817 , p_transaction_coa_id => l_adr_transaction_coa_id
47818 , p_accounting_coa_id => l_adr_accounting_coa_id
47819 , p_adr_code => 'AP_TAX_ACCOUNT'
47820 , p_adr_type_code => 'S'
47821 , p_component_type => l_component_type
47822 , p_component_code => l_component_code
47823 , p_component_type_code => l_component_type_code
47824 , p_component_appl_id => l_component_appl_id
47825 , p_amb_context_code => l_amb_context_code
47826 , p_side => 'NA'
47827 );
47828
47829
47830 --
47831 --
47832 END IF;
47833
47834 --
47835 -- Update the line information that should be overwritten
47836 --
47837 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
47838 p_header_num => 1);
47839 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
47840
47841 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
47842
47843 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
47844 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
47845 END IF;
47846
47847 --
47848 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
47849 --
47850 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
47851 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
47852 ELSE
47853 ---------------------------------------------------------------------------------------------------
47854 -- 4262811a Switch Sign
47855 ---------------------------------------------------------------------------------------------------
47856 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
47857 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47858 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47859 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47860 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47861 -- 5132302
47862 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
47863 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47864
47865 END IF;
47866
47867 -- 4955764
47868 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
47869 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
47870
47871
47872 XLA_AE_LINES_PKG.ValidateCurrentLine;
47873 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
47874
47878
47875 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
47876 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
47877 ,p_balance_type_code => l_balance_type_code);
47879 END IF;
47880
47881 -----------------------------------------------------------------------------------------
47882 -- 4262811 Multiperiod Accounting
47883 -----------------------------------------------------------------------------------------
47884 -- No MPA option is assigned.
47885
47886
47887 END IF;
47888 END IF;
47889 --
47890
47891 --
47892 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
47893 trace
47894 (p_msg => 'END of AcctLineType_103'
47895 ,p_level => C_LEVEL_PROCEDURE
47896 ,p_module => l_log_module);
47897 END IF;
47898 --
47899 EXCEPTION
47900 WHEN xla_exceptions_pkg.application_exception THEN
47901 RAISE;
47902 WHEN OTHERS THEN
47903 xla_exceptions_pkg.raise_message
47904 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_103');
47905 END AcctLineType_103;
47906 --
47907
47908 ---------------------------------------
47909 --
47910 -- PRIVATE FUNCTION
47911 -- AcctLineType_104
47912 --
47913 ---------------------------------------
47914 PROCEDURE AcctLineType_104 (
47915 p_application_id IN NUMBER
47916 ,p_event_id IN NUMBER
47917 ,p_calculate_acctd_flag IN VARCHAR2
47918 ,p_calculate_g_l_flag IN VARCHAR2
47919 ,p_actual_flag IN OUT VARCHAR2
47920 ,p_balance_type_code OUT VARCHAR2
47921 ,p_gain_or_loss_ref OUT VARCHAR2
47922
47923 --Automatic Offsets Value
47924 , p_source_15 IN VARCHAR2
47925 , p_source_15_meaning IN VARCHAR2
47926 --System Discount Account
47927 , p_source_18 IN NUMBER
47928 --Discount Distribution Method
47929 , p_source_19 IN VARCHAR2
47930 , p_source_19_meaning IN VARCHAR2
47931 --Invoice Distribution Account
47932 , p_source_30 IN NUMBER
47933 --Invoice Distribution Type
47934 , p_source_33 IN VARCHAR2
47935 , p_source_33_meaning IN VARCHAR2
47936 --Discount Account
47937 , p_source_44 IN NUMBER
47938 --Purchase Order Charge Account
47939 , p_source_45 IN NUMBER
47940 --Purchase Order Variance Account
47941 , p_source_46 IN NUMBER
47942 --Accounting Reversal Indicator
47943 , p_source_53 IN VARCHAR2
47944 --Distribution Link Type
47945 , p_source_55 IN VARCHAR2
47946 --Invoice Currency Code
47947 , p_source_67 IN VARCHAR2
47948 --Override Accounted Amount Indicator
47949 , p_source_80 IN VARCHAR2
47950 , p_source_80_meaning IN VARCHAR2
47951 --Third Party Type
47952 , p_source_83 IN VARCHAR2
47953 --Invoice Distribution Tax Line Identifier
47954 , p_source_86 IN NUMBER
47955 --Invoice Distribution Summary Tax Line Identifier
47956 , p_source_88 IN NUMBER
47957 --Business Flow Accounts Payable Application Identifier
47958 , p_source_91 IN NUMBER
47959 --When to Account for Payment Option
47960 , p_source_97 IN VARCHAR2
47961 --Payment Distribution Type
47962 , p_source_98 IN VARCHAR2
47963 , p_source_98_meaning IN VARCHAR2
47964 --Payment Distribution Amount
47965 , p_source_99 IN NUMBER
47966 --Business Flow Payment Distribution Type
47967 , p_source_100 IN VARCHAR2
47968 --Business Flow Payment Entity Code
47969 , p_source_101 IN VARCHAR2
47970 --Business Flow Payment Distribution Identifier
47971 , p_source_102 IN NUMBER
47972 --Business Flow Payment Identifier
47973 , p_source_103 IN NUMBER
47974 --Payment Distribution Identifier
47975 , p_source_104 IN NUMBER
47976 --Payment Distribution (Cleared Rate) Ledger Amount
47977 , p_source_109 IN NUMBER
47978 --Payment Supplier Identifier
47979 , p_source_110 IN NUMBER
47980 --Payment Supplier Site Identifier
47981 , p_source_111 IN NUMBER
47982 --Payment Distribution Reversed Identifier
47983 , p_source_112 IN NUMBER
47984 --Invoice Exchange Date
47985 , p_source_143 IN DATE
47986 --Invoice Exchange Rate
47987 , p_source_144 IN NUMBER
47988 --Invoice Exchange Rate Type
47989 , p_source_145 IN VARCHAR2
47990 )
47991 IS
47992
47993 l_component_type VARCHAR2(80);
47994 l_component_code VARCHAR2(30);
47995 l_component_type_code VARCHAR2(1);
47996 l_component_appl_id INTEGER;
47997 l_amb_context_code VARCHAR2(30);
47998 l_entity_code VARCHAR2(30);
47999 l_event_class_code VARCHAR2(30);
48000 l_ae_header_id NUMBER;
48001 l_event_type_code VARCHAR2(30);
48002 l_line_definition_code VARCHAR2(30);
48003 l_line_definition_owner_code VARCHAR2(1);
48004 --
48005 -- adr variables
48006 l_segment VARCHAR2(30);
48007 l_ccid NUMBER;
48008 l_adr_transaction_coa_id NUMBER;
48009 l_adr_accounting_coa_id NUMBER;
48010 l_adr_flexfield_segment_code VARCHAR2(30);
48011 l_adr_flex_value_set_id NUMBER;
48012 l_adr_value_type_code VARCHAR2(30);
48013 l_adr_value_combination_id NUMBER;
48017 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
48014 l_adr_value_segment_code VARCHAR2(30);
48015
48016 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
48018 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
48019 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
48020
48021 -- 4262811 Variables ------------------------------------------------------------------------------------------
48022 l_entered_amt_idx NUMBER;
48023 l_accted_amt_idx NUMBER;
48024 l_acc_rev_flag VARCHAR2(1);
48025 l_accrual_line_num NUMBER;
48026 l_tmp_amt NUMBER;
48027 l_acc_rev_natural_side_code VARCHAR2(1);
48028
48029 l_num_entries NUMBER;
48030 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
48031 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
48032 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
48033 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
48034 l_recog_line_1 NUMBER;
48035 l_recog_line_2 NUMBER;
48036
48037 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
48038 l_bflow_applied_to_amt NUMBER; -- 5132302
48039 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
48040
48041 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
48042
48043 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
48044 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
48045
48046 ---------------------------------------------------------------------------------------------------------------
48047
48048
48049 --
48050 -- bulk performance
48051 --
48052 l_balance_type_code VARCHAR2(1);
48053 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
48054 l_log_module VARCHAR2(240);
48055
48056 --
48057 -- Upgrade strategy
48058 --
48059 l_actual_upg_option VARCHAR2(1);
48060 l_enc_upg_option VARCHAR2(1);
48061
48062 --
48063 BEGIN
48064 --
48065 IF g_log_enabled THEN
48066 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_104';
48067 END IF;
48068 --
48069 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
48070
48071 trace
48072 (p_msg => 'BEGIN of AcctLineType_104'
48073 ,p_level => C_LEVEL_PROCEDURE
48074 ,p_module => l_log_module);
48075
48076 END IF;
48077 --
48078 l_component_type := 'AMB_JLT';
48079 l_component_code := 'AP_DISCOUNT_ACCR_CLEAR';
48080 l_component_type_code := 'S';
48081 l_component_appl_id := 200;
48082 l_amb_context_code := 'DEFAULT';
48083 l_entity_code := 'AP_PAYMENTS';
48084 l_event_class_code := 'RECONCILED PAYMENTS';
48085 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
48086 l_line_definition_owner_code := 'S';
48087 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
48088 --
48089 l_balance_type_code := 'A';
48090 l_segment := NULL;
48091 l_ccid := NULL;
48092 l_adr_transaction_coa_id := NULL;
48093 l_adr_accounting_coa_id := NULL;
48094 l_adr_flexfield_segment_code := NULL;
48095 l_adr_flex_value_set_id := NULL;
48096 l_adr_value_type_code := NULL;
48097 l_adr_value_combination_id := NULL;
48098 l_adr_value_segment_code := NULL;
48099
48100 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
48101 l_bflow_class_code := ''; -- 4219869 Business Flow
48102 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
48103 l_budgetary_control_flag := 'N';
48104
48105 l_bflow_applied_to_amt_idx := NULL; -- 5132302
48106 l_bflow_applied_to_amt := NULL; -- 5132302
48107 l_entered_amt_idx := NULL; -- 4262811
48108 l_accted_amt_idx := NULL; -- 4262811
48109 l_acc_rev_flag := NULL; -- 4262811
48110 l_accrual_line_num := NULL; -- 4262811
48111 l_tmp_amt := NULL; -- 4262811
48112 --
48113
48114 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
48115 l_balance_type_code <> 'B' THEN
48116 IF NVL(p_source_97,'
48117 ') = 'CLEAR_CLEAR' AND
48118 NVL(p_source_98,'
48119 ') = 'DISCOUNT' AND
48120 (NVL(p_source_33,'
48121 ') = 'ITEM' OR
48122 NVL(p_source_33,'
48123 ') = 'MISCELLANEOUS' OR
48124 NVL(p_source_33,'
48125 ') = 'FREIGHT' OR
48126 NVL(p_source_33,'
48127 ') = 'REC_TAX' OR
48128 NVL(p_source_33,'
48129 ') = 'NONREC_TAX' OR
48130 NVL(p_source_33,'
48131 ') = 'TIPV' OR
48132 NVL(p_source_33,'
48133 ') = 'TRV' OR
48134 NVL(p_source_33,'
48135 ') = 'IPV' OR
48136 NVL(p_source_33,'
48137 ') = 'ACCRUAL')
48138 THEN
48139
48140 --
48141 XLA_AE_LINES_PKG.SetNewLine;
48142
48143 p_balance_type_code := l_balance_type_code;
48144 -- set the flag so later we will know whether the gain loss line needs to be created
48145
48146 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
48147 p_actual_flag :='A';
48151 -- bulk performance
48148 END IF;
48149
48150 --
48152 --
48153 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
48154 p_header_num => 0); -- 4262811
48155 --
48156 -- set accounting line options
48157 --
48158 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
48159 p_natural_side_code => 'C'
48160 , p_gain_or_loss_flag => 'N'
48161 , p_gl_transfer_mode_code => 'S'
48162 , p_acct_entry_type_code => 'A'
48163 , p_switch_side_flag => 'Y'
48164 , p_merge_duplicate_code => 'A'
48165 );
48166 --
48167 l_acc_rev_natural_side_code := 'D'; -- 4262811
48168 --
48169 --
48170 -- set accounting line type info
48171 --
48172 xla_ae_lines_pkg.SetAcctLineType
48173 (p_component_type => l_component_type
48174 ,p_event_type_code => l_event_type_code
48175 ,p_line_definition_owner_code => l_line_definition_owner_code
48176 ,p_line_definition_code => l_line_definition_code
48177 ,p_accounting_line_code => l_component_code
48178 ,p_accounting_line_type_code => l_component_type_code
48179 ,p_accounting_line_appl_id => l_component_appl_id
48180 ,p_amb_context_code => l_amb_context_code
48181 ,p_entity_code => l_entity_code
48182 ,p_event_class_code => l_event_class_code);
48183 --
48184 -- set accounting class
48185 --
48186 xla_ae_lines_pkg.SetAcctClass(
48187 p_accounting_class_code => 'DISCOUNT'
48188 , p_ae_header_id => l_ae_header_id
48189 );
48190
48191 --
48192 -- set rounding class
48193 --
48194 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
48195 'DISCOUNT';
48196
48197 --
48198 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
48199 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
48200 --
48201 -- bulk performance
48202 --
48203 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
48204
48205 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
48206 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
48207
48208 -- 4955764
48209 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
48210 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
48211
48212 -- 4458381 Public Sector Enh
48213
48214 --
48215 -- set accounting attributes for the line type
48216 --
48217 l_entered_amt_idx := 10;
48218 l_accted_amt_idx := 15;
48219 l_bflow_applied_to_amt_idx := 2; -- 5132302
48220 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
48221 l_rec_acct_attrs.array_char_value(1) := p_source_53;
48222 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
48223 l_rec_acct_attrs.array_num_value(2) := p_source_99;
48224 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
48225 l_rec_acct_attrs.array_num_value(3) := p_source_91;
48226 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
48227 l_rec_acct_attrs.array_char_value(4) := p_source_100;
48228 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
48229 l_rec_acct_attrs.array_char_value(5) := p_source_101;
48230 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
48231 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
48232 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
48233 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
48234 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
48235 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
48236 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
48237 l_rec_acct_attrs.array_char_value(9) := p_source_55;
48238 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
48239 l_rec_acct_attrs.array_num_value(10) := p_source_99;
48240 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
48241 l_rec_acct_attrs.array_char_value(11) := p_source_67;
48242 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
48243 l_rec_acct_attrs.array_date_value(12) := p_source_143;
48244 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
48245 l_rec_acct_attrs.array_num_value(13) := p_source_144;
48246 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
48247 l_rec_acct_attrs.array_char_value(14) := p_source_145;
48248 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
48249 l_rec_acct_attrs.array_num_value(15) := p_source_109;
48250 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
48251 l_rec_acct_attrs.array_char_value(16) := p_source_80;
48252 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
48253 l_rec_acct_attrs.array_num_value(17) := p_source_110;
48254 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
48255 l_rec_acct_attrs.array_num_value(18) := p_source_111;
48256 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
48260 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
48257 l_rec_acct_attrs.array_char_value(19) := p_source_83;
48258 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
48259 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
48261 l_rec_acct_attrs.array_char_value(21) := p_source_55;
48262 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
48263 l_rec_acct_attrs.array_num_value(22) := p_source_86;
48264 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
48265 l_rec_acct_attrs.array_num_value(23) := p_source_86;
48266 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
48267 l_rec_acct_attrs.array_num_value(24) := p_source_88;
48268
48269 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
48270 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
48271
48272 ---------------------------------------------------------------------------------------------------------------
48273 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
48274 ---------------------------------------------------------------------------------------------------------------
48275 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
48276
48277 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
48278 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
48279
48280 IF xla_accounting_cache_pkg.GetValueChar
48281 (p_source_code => 'LEDGER_CATEGORY_CODE'
48282 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
48283 AND l_bflow_method_code = 'PRIOR_ENTRY'
48284 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
48285 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
48286 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
48287 )
48288 THEN
48289 xla_ae_lines_pkg.BflowUpgEntry
48290 (p_business_method_code => l_bflow_method_code
48291 ,p_business_class_code => l_bflow_class_code
48292 ,p_balance_type => l_balance_type_code);
48293 ELSE
48294 NULL;
48295 -- No business flow processing for business flow method of NONE.
48296 END IF;
48297
48298 --
48299 -- call analytical criteria
48300 --
48301
48302 --
48303 -- call description
48304 --
48305 -- No description or it is inherited.
48306 --
48307 -- call ADRs
48308 -- Bug 4922099
48309 --
48310 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
48311 (NVL(l_actual_upg_option, 'N') = 'O') OR
48312 (NVL(l_enc_upg_option, 'N') = 'O')
48313 )
48314 THEN
48315 NULL;
48316 --
48317 --
48318
48319 l_ccid := AcctDerRule_29(
48320 p_application_id => p_application_id
48321 , p_ae_header_id => l_ae_header_id
48322 , p_source_15 => p_source_15
48323 , p_source_15_meaning => p_source_15_meaning
48324 , p_source_18 => p_source_18
48325 , p_source_19 => p_source_19
48326 , p_source_19_meaning => p_source_19_meaning
48327 , p_source_30 => p_source_30
48328 , p_source_33 => p_source_33
48329 , p_source_33_meaning => p_source_33_meaning
48330 , p_source_44 => p_source_44
48331 , p_source_45 => p_source_45
48332 , p_source_46 => p_source_46
48333 , x_transaction_coa_id => l_adr_transaction_coa_id
48334 , x_accounting_coa_id => l_adr_accounting_coa_id
48335 , x_value_type_code => l_adr_value_type_code
48336 , p_side => 'NA'
48337 );
48338
48339 xla_ae_lines_pkg.set_ccid(
48340 p_code_combination_id => l_ccid
48341 , p_value_type_code => l_adr_value_type_code
48342 , p_transaction_coa_id => l_adr_transaction_coa_id
48343 , p_accounting_coa_id => l_adr_accounting_coa_id
48344 , p_adr_code => 'AP_DISCOUNT'
48345 , p_adr_type_code => 'S'
48346 , p_component_type => l_component_type
48347 , p_component_code => l_component_code
48348 , p_component_type_code => l_component_type_code
48349 , p_component_appl_id => l_component_appl_id
48350 , p_amb_context_code => l_amb_context_code
48351 , p_side => 'NA'
48352 );
48353
48354
48355 l_segment := AcctDerRule_21(
48356 p_application_id => p_application_id
48357 , p_ae_header_id => l_ae_header_id
48358 , p_source_15 => p_source_15
48359 , p_source_15_meaning => p_source_15_meaning
48360 , p_source_19 => p_source_19
48361 , p_source_19_meaning => p_source_19_meaning
48362 , p_source_30 => p_source_30
48363 , x_transaction_coa_id => l_adr_transaction_coa_id
48364 , x_accounting_coa_id => l_adr_accounting_coa_id
48365 , x_flexfield_segment_code => l_adr_flexfield_segment_code
48366 , x_flex_value_set_id => l_adr_flex_value_set_id
48367 , x_value_type_code => l_adr_value_type_code
48368 , x_value_combination_id => l_adr_value_combination_id
48369 , x_value_segment_code => l_adr_value_segment_code
48370 , p_side => 'NA'
48374 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
48371 , p_override_seg_flag => 'Y'
48372 );
48373
48375
48376 xla_ae_lines_pkg.set_segment(
48377 p_to_segment_code => 'GL_BALANCING'
48378 , p_segment_value => l_segment
48379 , p_from_segment_code => l_adr_value_segment_code
48380 , p_from_combination_id => l_adr_value_combination_id
48381 , p_value_type_code => l_adr_value_type_code
48382 , p_transaction_coa_id => l_adr_transaction_coa_id
48383 , p_accounting_coa_id => l_adr_accounting_coa_id
48384 , p_flexfield_segment_code => l_adr_flexfield_segment_code
48385 , p_flex_value_set_id => l_adr_flex_value_set_id
48386 , p_adr_code => 'AP_DISCOUNT_BAL_ACCT_SEG'
48387 , p_adr_type_code => 'S'
48388 , p_component_type => l_component_type
48389 , p_component_code => l_component_code
48390 , p_component_type_code => l_component_type_code
48391 , p_component_appl_id => l_component_appl_id
48392 , p_amb_context_code => l_amb_context_code
48393 , p_entity_code => 'AP_PAYMENTS'
48394 , p_event_class_code => 'RECONCILED PAYMENTS'
48395 , p_side => 'NA'
48396 );
48397
48398 END IF;
48399
48400 l_segment := AcctDerRule_7(
48401 p_application_id => p_application_id
48402 , p_ae_header_id => l_ae_header_id
48403 , p_source_15 => p_source_15
48404 , p_source_15_meaning => p_source_15_meaning
48405 , p_source_18 => p_source_18
48406 , p_source_19 => p_source_19
48407 , p_source_19_meaning => p_source_19_meaning
48408 , x_transaction_coa_id => l_adr_transaction_coa_id
48409 , x_accounting_coa_id => l_adr_accounting_coa_id
48410 , x_flexfield_segment_code => l_adr_flexfield_segment_code
48411 , x_flex_value_set_id => l_adr_flex_value_set_id
48412 , x_value_type_code => l_adr_value_type_code
48413 , x_value_combination_id => l_adr_value_combination_id
48414 , x_value_segment_code => l_adr_value_segment_code
48415 , p_side => 'NA'
48416 , p_override_seg_flag => 'Y'
48417 );
48418
48419 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
48420
48421 xla_ae_lines_pkg.set_segment(
48422 p_to_segment_code => 'GL_ACCOUNT'
48423 , p_segment_value => l_segment
48424 , p_from_segment_code => l_adr_value_segment_code
48425 , p_from_combination_id => l_adr_value_combination_id
48426 , p_value_type_code => l_adr_value_type_code
48427 , p_transaction_coa_id => l_adr_transaction_coa_id
48428 , p_accounting_coa_id => l_adr_accounting_coa_id
48429 , p_flexfield_segment_code => l_adr_flexfield_segment_code
48430 , p_flex_value_set_id => l_adr_flex_value_set_id
48431 , p_adr_code => 'AP_DISCOUNT_NAT_ACCT_SEG'
48432 , p_adr_type_code => 'S'
48433 , p_component_type => l_component_type
48434 , p_component_code => l_component_code
48435 , p_component_type_code => l_component_type_code
48436 , p_component_appl_id => l_component_appl_id
48437 , p_amb_context_code => l_amb_context_code
48438 , p_entity_code => 'AP_PAYMENTS'
48439 , p_event_class_code => 'RECONCILED PAYMENTS'
48440 , p_side => 'NA'
48441 );
48442
48443 END IF;
48444
48445 --
48446 --
48447 END IF;
48448 --
48449 -- Bug 4922099
48450 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
48451 (NVL(l_enc_upg_option, 'N') = 'O')
48452 ) AND
48453 (l_bflow_method_code = 'PRIOR_ENTRY')
48454 )
48455 THEN
48456 IF
48457 --
48458 1 = 2
48459 --
48460 THEN
48461 xla_accounting_err_pkg.build_message
48462 (p_appli_s_name => 'XLA'
48463 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
48464 ,p_token_1 => 'LINE_NUMBER'
48465 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
48466 ,p_token_2 => 'LINE_TYPE_NAME'
48467 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
48468 l_component_type
48469 ,l_component_code
48470 ,l_component_type_code
48471 ,l_component_appl_id
48472 ,l_amb_context_code
48473 ,l_entity_code
48474 ,l_event_class_code
48475 )
48476 ,p_token_3 => 'OWNER'
48477 ,p_value_3 => xla_lookups_pkg.get_meaning(
48481 ,p_token_4 => 'PRODUCT_NAME'
48478 p_lookup_type => 'XLA_OWNER_TYPE'
48479 ,p_lookup_code => l_component_type_code
48480 )
48482 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
48483 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
48484 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
48485 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
48486 ,p_ae_header_id => NULL
48487 );
48488
48489 IF (C_LEVEL_ERROR>= g_log_level) THEN
48490 trace
48491 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
48492 ,p_level => C_LEVEL_ERROR
48493 ,p_module => l_log_module);
48494 END IF;
48495 END IF;
48496 END IF;
48497 --
48498 --
48499 ------------------------------------------------------------------------------------------------
48500 -- 4219869 Business Flow
48501 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
48502 -- Prior Entry. Currently, the following code is always generated.
48503 ------------------------------------------------------------------------------------------------
48504 XLA_AE_LINES_PKG.ValidateCurrentLine;
48505
48506 ------------------------------------------------------------------------------------
48507 -- 4219869 Business Flow
48508 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
48509 ------------------------------------------------------------------------------------
48510 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
48511
48512 ----------------------------------------------------------------------------------
48513 -- 4219869 Business Flow
48514 -- Update journal entry status -- Need to generate this within IF <condition>
48515 ----------------------------------------------------------------------------------
48516 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
48517 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
48518 ,p_balance_type_code => l_balance_type_code
48519 );
48520
48521 -------------------------------------------------------------------------------------------
48522 -- 4262811 - Generate the Accrual Reversal lines
48523 -------------------------------------------------------------------------------------------
48524 BEGIN
48525 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
48526 (g_array_event(p_event_id).array_value_num('header_index'));
48527 IF l_acc_rev_flag IS NULL THEN
48528 l_acc_rev_flag := 'N';
48529 END IF;
48530 EXCEPTION
48531 WHEN OTHERS THEN
48532 l_acc_rev_flag := 'N';
48533 END;
48534 --
48535 IF (l_acc_rev_flag = 'Y') THEN
48536
48537 -- 4645092 ------------------------------------------------------------------------------
48538 -- To allow MPA report to determine if it should generate report process
48539 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
48540 ------------------------------------------------------------------------------------------
48541
48542 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
48543 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
48544 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
48545 -- call ADRs
48546 -- Bug 4922099
48547 --
48548 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
48549 (NVL(l_actual_upg_option, 'N') = 'O') OR
48550 (NVL(l_enc_upg_option, 'N') = 'O')
48551 )
48552 THEN
48553 NULL;
48554 --
48555 --
48556
48557 l_ccid := AcctDerRule_29(
48558 p_application_id => p_application_id
48559 , p_ae_header_id => l_ae_header_id
48560 , p_source_15 => p_source_15
48561 , p_source_15_meaning => p_source_15_meaning
48562 , p_source_18 => p_source_18
48563 , p_source_19 => p_source_19
48564 , p_source_19_meaning => p_source_19_meaning
48565 , p_source_30 => p_source_30
48566 , p_source_33 => p_source_33
48567 , p_source_33_meaning => p_source_33_meaning
48568 , p_source_44 => p_source_44
48569 , p_source_45 => p_source_45
48570 , p_source_46 => p_source_46
48571 , x_transaction_coa_id => l_adr_transaction_coa_id
48572 , x_accounting_coa_id => l_adr_accounting_coa_id
48573 , x_value_type_code => l_adr_value_type_code
48574 , p_side => 'NA'
48575 );
48576
48577 xla_ae_lines_pkg.set_ccid(
48578 p_code_combination_id => l_ccid
48579 , p_value_type_code => l_adr_value_type_code
48580 , p_transaction_coa_id => l_adr_transaction_coa_id
48581 , p_accounting_coa_id => l_adr_accounting_coa_id
48582 , p_adr_code => 'AP_DISCOUNT'
48583 , p_adr_type_code => 'S'
48587 , p_component_appl_id => l_component_appl_id
48584 , p_component_type => l_component_type
48585 , p_component_code => l_component_code
48586 , p_component_type_code => l_component_type_code
48588 , p_amb_context_code => l_amb_context_code
48589 , p_side => 'NA'
48590 );
48591
48592
48593 l_segment := AcctDerRule_21(
48594 p_application_id => p_application_id
48595 , p_ae_header_id => l_ae_header_id
48596 , p_source_15 => p_source_15
48597 , p_source_15_meaning => p_source_15_meaning
48598 , p_source_19 => p_source_19
48599 , p_source_19_meaning => p_source_19_meaning
48600 , p_source_30 => p_source_30
48601 , x_transaction_coa_id => l_adr_transaction_coa_id
48602 , x_accounting_coa_id => l_adr_accounting_coa_id
48603 , x_flexfield_segment_code => l_adr_flexfield_segment_code
48604 , x_flex_value_set_id => l_adr_flex_value_set_id
48605 , x_value_type_code => l_adr_value_type_code
48606 , x_value_combination_id => l_adr_value_combination_id
48607 , x_value_segment_code => l_adr_value_segment_code
48608 , p_side => 'NA'
48609 , p_override_seg_flag => 'Y'
48610 );
48611
48612 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
48613
48614 xla_ae_lines_pkg.set_segment(
48615 p_to_segment_code => 'GL_BALANCING'
48616 , p_segment_value => l_segment
48617 , p_from_segment_code => l_adr_value_segment_code
48618 , p_from_combination_id => l_adr_value_combination_id
48619 , p_value_type_code => l_adr_value_type_code
48620 , p_transaction_coa_id => l_adr_transaction_coa_id
48621 , p_accounting_coa_id => l_adr_accounting_coa_id
48622 , p_flexfield_segment_code => l_adr_flexfield_segment_code
48623 , p_flex_value_set_id => l_adr_flex_value_set_id
48624 , p_adr_code => 'AP_DISCOUNT_BAL_ACCT_SEG'
48625 , p_adr_type_code => 'S'
48626 , p_component_type => l_component_type
48627 , p_component_code => l_component_code
48628 , p_component_type_code => l_component_type_code
48629 , p_component_appl_id => l_component_appl_id
48630 , p_amb_context_code => l_amb_context_code
48631 , p_entity_code => 'AP_PAYMENTS'
48632 , p_event_class_code => 'RECONCILED PAYMENTS'
48633 , p_side => 'NA'
48634 );
48635
48636 END IF;
48637
48638 l_segment := AcctDerRule_7(
48639 p_application_id => p_application_id
48640 , p_ae_header_id => l_ae_header_id
48641 , p_source_15 => p_source_15
48642 , p_source_15_meaning => p_source_15_meaning
48643 , p_source_18 => p_source_18
48644 , p_source_19 => p_source_19
48645 , p_source_19_meaning => p_source_19_meaning
48646 , x_transaction_coa_id => l_adr_transaction_coa_id
48647 , x_accounting_coa_id => l_adr_accounting_coa_id
48648 , x_flexfield_segment_code => l_adr_flexfield_segment_code
48649 , x_flex_value_set_id => l_adr_flex_value_set_id
48650 , x_value_type_code => l_adr_value_type_code
48651 , x_value_combination_id => l_adr_value_combination_id
48652 , x_value_segment_code => l_adr_value_segment_code
48653 , p_side => 'NA'
48654 , p_override_seg_flag => 'Y'
48655 );
48656
48657 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
48658
48659 xla_ae_lines_pkg.set_segment(
48660 p_to_segment_code => 'GL_ACCOUNT'
48661 , p_segment_value => l_segment
48662 , p_from_segment_code => l_adr_value_segment_code
48663 , p_from_combination_id => l_adr_value_combination_id
48664 , p_value_type_code => l_adr_value_type_code
48665 , p_transaction_coa_id => l_adr_transaction_coa_id
48666 , p_accounting_coa_id => l_adr_accounting_coa_id
48667 , p_flexfield_segment_code => l_adr_flexfield_segment_code
48668 , p_flex_value_set_id => l_adr_flex_value_set_id
48669 , p_adr_code => 'AP_DISCOUNT_NAT_ACCT_SEG'
48670 , p_adr_type_code => 'S'
48671 , p_component_type => l_component_type
48672 , p_component_code => l_component_code
48673 , p_component_type_code => l_component_type_code
48674 , p_component_appl_id => l_component_appl_id
48675 , p_amb_context_code => l_amb_context_code
48676 , p_entity_code => 'AP_PAYMENTS'
48677 , p_event_class_code => 'RECONCILED PAYMENTS'
48678 , p_side => 'NA'
48679 );
48680
48681 END IF;
48682
48683 --
48684 --
48685 END IF;
48686
48687 --
48688 -- Update the line information that should be overwritten
48689 --
48690 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
48691 p_header_num => 1);
48692 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
48693
48697 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
48694 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
48695
48696 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
48698 END IF;
48699
48700 --
48701 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
48702 --
48703 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
48704 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
48705 ELSE
48706 ---------------------------------------------------------------------------------------------------
48707 -- 4262811a Switch Sign
48708 ---------------------------------------------------------------------------------------------------
48709 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
48710 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
48711 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
48712 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
48713 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
48714 -- 5132302
48715 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
48716 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
48717
48718 END IF;
48719
48720 -- 4955764
48721 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
48722 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
48723
48724
48725 XLA_AE_LINES_PKG.ValidateCurrentLine;
48726 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
48727
48728 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
48729 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
48730 ,p_balance_type_code => l_balance_type_code);
48731
48732 END IF;
48733
48734 -----------------------------------------------------------------------------------------
48735 -- 4262811 Multiperiod Accounting
48736 -----------------------------------------------------------------------------------------
48737 -- No MPA option is assigned.
48738
48739
48740 END IF;
48741 END IF;
48742 --
48743
48744 --
48745 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
48746 trace
48747 (p_msg => 'END of AcctLineType_104'
48748 ,p_level => C_LEVEL_PROCEDURE
48749 ,p_module => l_log_module);
48750 END IF;
48751 --
48752 EXCEPTION
48753 WHEN xla_exceptions_pkg.application_exception THEN
48754 RAISE;
48755 WHEN OTHERS THEN
48756 xla_exceptions_pkg.raise_message
48757 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_104');
48758 END AcctLineType_104;
48759 --
48760
48761 ---------------------------------------
48762 --
48763 -- PRIVATE FUNCTION
48764 -- AcctLineType_105
48765 --
48766 ---------------------------------------
48767 PROCEDURE AcctLineType_105 (
48768 p_application_id IN NUMBER
48769 ,p_event_id IN NUMBER
48770 ,p_calculate_acctd_flag IN VARCHAR2
48771 ,p_calculate_g_l_flag IN VARCHAR2
48772 ,p_actual_flag IN OUT VARCHAR2
48773 ,p_balance_type_code OUT VARCHAR2
48774 ,p_gain_or_loss_ref OUT VARCHAR2
48775
48776 --Payment Currency Code
48777 , p_source_13 IN VARCHAR2
48778 --Automatic Offsets Value
48779 , p_source_15 IN VARCHAR2
48780 , p_source_15_meaning IN VARCHAR2
48781 --System Discount Account
48782 , p_source_18 IN NUMBER
48783 --Discount Distribution Method
48784 , p_source_19 IN VARCHAR2
48785 , p_source_19_meaning IN VARCHAR2
48786 --Invoice Distribution Account
48787 , p_source_30 IN NUMBER
48788 --Invoice Distribution Type
48789 , p_source_33 IN VARCHAR2
48790 , p_source_33_meaning IN VARCHAR2
48791 --Discount Account
48792 , p_source_44 IN NUMBER
48793 --Purchase Order Charge Account
48794 , p_source_45 IN NUMBER
48795 --Purchase Order Variance Account
48796 , p_source_46 IN NUMBER
48797 --Accounting Reversal Indicator
48798 , p_source_53 IN VARCHAR2
48799 --Distribution Link Type
48800 , p_source_55 IN VARCHAR2
48801 --Override Accounted Amount Indicator
48802 , p_source_80 IN VARCHAR2
48803 , p_source_80_meaning IN VARCHAR2
48804 --Third Party Type
48805 , p_source_83 IN VARCHAR2
48806 --Invoice Distribution Tax Line Identifier
48807 , p_source_86 IN NUMBER
48808 --Invoice Distribution Tax Distribution Identifier from Tax
48809 , p_source_87 IN NUMBER
48810 --Invoice Distribution Summary Tax Line Identifier
48811 , p_source_88 IN NUMBER
48812 --Business Flow Accounts Payable Application Identifier
48813 , p_source_91 IN NUMBER
48814 --Business Flow Invoice Distribution Type
48815 , p_source_92 IN VARCHAR2
48819 , p_source_94 IN NUMBER
48816 --Business Flow Invoice Entity Code
48817 , p_source_93 IN VARCHAR2
48818 --Business Flow Invoice Distribution Identifier
48820 --Business Flow Invoice Identifier
48821 , p_source_95 IN NUMBER
48822 --When to Account for Payment Option
48823 , p_source_97 IN VARCHAR2
48824 --Payment Distribution Type
48825 , p_source_98 IN VARCHAR2
48826 , p_source_98_meaning IN VARCHAR2
48827 --Payment Distribution Amount
48828 , p_source_99 IN NUMBER
48829 --Payment Distribution Identifier
48830 , p_source_104 IN NUMBER
48831 --Payment Supplier Identifier
48832 , p_source_110 IN NUMBER
48833 --Payment Supplier Site Identifier
48834 , p_source_111 IN NUMBER
48835 --Payment Distribution Reversed Identifier
48836 , p_source_112 IN NUMBER
48837 --Payment Distribution (Payment Rate) Ledger Amount
48838 , p_source_115 IN NUMBER
48839 --Payment Type
48840 , p_source_122 IN VARCHAR2
48841 , p_source_122_meaning IN VARCHAR2
48842 --Payment Processing Type
48843 , p_source_123 IN VARCHAR2
48844 --Invoice Distribution Amount of the Payment Distribution
48845 , p_source_124 IN NUMBER
48846 --Invoice Exchange Date
48847 , p_source_143 IN DATE
48848 --Invoice Exchange Rate
48849 , p_source_144 IN NUMBER
48850 --Invoice Exchange Rate Type
48851 , p_source_145 IN VARCHAR2
48852 )
48853 IS
48854
48855 l_component_type VARCHAR2(80);
48856 l_component_code VARCHAR2(30);
48857 l_component_type_code VARCHAR2(1);
48858 l_component_appl_id INTEGER;
48859 l_amb_context_code VARCHAR2(30);
48860 l_entity_code VARCHAR2(30);
48861 l_event_class_code VARCHAR2(30);
48862 l_ae_header_id NUMBER;
48863 l_event_type_code VARCHAR2(30);
48864 l_line_definition_code VARCHAR2(30);
48865 l_line_definition_owner_code VARCHAR2(1);
48866 --
48867 -- adr variables
48868 l_segment VARCHAR2(30);
48869 l_ccid NUMBER;
48870 l_adr_transaction_coa_id NUMBER;
48871 l_adr_accounting_coa_id NUMBER;
48872 l_adr_flexfield_segment_code VARCHAR2(30);
48873 l_adr_flex_value_set_id NUMBER;
48874 l_adr_value_type_code VARCHAR2(30);
48875 l_adr_value_combination_id NUMBER;
48876 l_adr_value_segment_code VARCHAR2(30);
48877
48878 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
48879 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
48880 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
48881 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
48882
48883 -- 4262811 Variables ------------------------------------------------------------------------------------------
48884 l_entered_amt_idx NUMBER;
48885 l_accted_amt_idx NUMBER;
48886 l_acc_rev_flag VARCHAR2(1);
48887 l_accrual_line_num NUMBER;
48888 l_tmp_amt NUMBER;
48889 l_acc_rev_natural_side_code VARCHAR2(1);
48890
48891 l_num_entries NUMBER;
48892 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
48893 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
48894 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
48895 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
48896 l_recog_line_1 NUMBER;
48897 l_recog_line_2 NUMBER;
48898
48899 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
48900 l_bflow_applied_to_amt NUMBER; -- 5132302
48901 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
48902
48903 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
48904
48905 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
48906 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
48907
48908 ---------------------------------------------------------------------------------------------------------------
48909
48910
48911 --
48912 -- bulk performance
48913 --
48914 l_balance_type_code VARCHAR2(1);
48915 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
48916 l_log_module VARCHAR2(240);
48917
48918 --
48919 -- Upgrade strategy
48920 --
48921 l_actual_upg_option VARCHAR2(1);
48922 l_enc_upg_option VARCHAR2(1);
48923
48924 --
48925 BEGIN
48926 --
48927 IF g_log_enabled THEN
48928 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_105';
48929 END IF;
48930 --
48931 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
48932
48933 trace
48934 (p_msg => 'BEGIN of AcctLineType_105'
48935 ,p_level => C_LEVEL_PROCEDURE
48936 ,p_module => l_log_module);
48937
48938 END IF;
48939 --
48940 l_component_type := 'AMB_JLT';
48941 l_component_code := 'AP_DISCOUNT_ACCR_PMT';
48942 l_component_type_code := 'S';
48943 l_component_appl_id := 200;
48944 l_amb_context_code := 'DEFAULT';
48945 l_entity_code := 'AP_PAYMENTS';
48946 l_event_class_code := 'PAYMENTS';
48947 l_event_type_code := 'PAYMENTS_ALL';
48951 l_balance_type_code := 'A';
48948 l_line_definition_owner_code := 'S';
48949 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
48950 --
48952 l_segment := NULL;
48953 l_ccid := NULL;
48954 l_adr_transaction_coa_id := NULL;
48955 l_adr_accounting_coa_id := NULL;
48956 l_adr_flexfield_segment_code := NULL;
48957 l_adr_flex_value_set_id := NULL;
48958 l_adr_value_type_code := NULL;
48959 l_adr_value_combination_id := NULL;
48960 l_adr_value_segment_code := NULL;
48961
48962 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
48963 l_bflow_class_code := ''; -- 4219869 Business Flow
48964 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
48965 l_budgetary_control_flag := 'N';
48966
48967 l_bflow_applied_to_amt_idx := NULL; -- 5132302
48968 l_bflow_applied_to_amt := NULL; -- 5132302
48969 l_entered_amt_idx := NULL; -- 4262811
48970 l_accted_amt_idx := NULL; -- 4262811
48971 l_acc_rev_flag := NULL; -- 4262811
48972 l_accrual_line_num := NULL; -- 4262811
48973 l_tmp_amt := NULL; -- 4262811
48974 --
48975
48976 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
48977 l_balance_type_code <> 'B' THEN
48978 IF NVL(p_source_97,'
48979 ') <> 'CLEAR_CLEAR' AND
48980 NVL(p_source_98,'
48981 ') = 'DISCOUNT' AND
48982 NVL(p_source_122,'
48983 ') <> 'R' AND
48984 NVL(p_source_123,'
48985 ') <> 'PAYMENTCARD'
48986 THEN
48987
48988 --
48989 XLA_AE_LINES_PKG.SetNewLine;
48990
48991 p_balance_type_code := l_balance_type_code;
48992 -- set the flag so later we will know whether the gain loss line needs to be created
48993
48994 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
48995 p_actual_flag :='A';
48996 END IF;
48997
48998 --
48999 -- bulk performance
49000 --
49001 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
49002 p_header_num => 0); -- 4262811
49003 --
49004 -- set accounting line options
49005 --
49006 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
49007 p_natural_side_code => 'C'
49008 , p_gain_or_loss_flag => 'N'
49009 , p_gl_transfer_mode_code => 'S'
49010 , p_acct_entry_type_code => 'A'
49011 , p_switch_side_flag => 'Y'
49012 , p_merge_duplicate_code => 'A'
49013 );
49014 --
49015 l_acc_rev_natural_side_code := 'D'; -- 4262811
49016 --
49017 --
49018 -- set accounting line type info
49019 --
49020 xla_ae_lines_pkg.SetAcctLineType
49021 (p_component_type => l_component_type
49022 ,p_event_type_code => l_event_type_code
49023 ,p_line_definition_owner_code => l_line_definition_owner_code
49024 ,p_line_definition_code => l_line_definition_code
49025 ,p_accounting_line_code => l_component_code
49026 ,p_accounting_line_type_code => l_component_type_code
49027 ,p_accounting_line_appl_id => l_component_appl_id
49028 ,p_amb_context_code => l_amb_context_code
49029 ,p_entity_code => l_entity_code
49030 ,p_event_class_code => l_event_class_code);
49031 --
49032 -- set accounting class
49033 --
49034 xla_ae_lines_pkg.SetAcctClass(
49035 p_accounting_class_code => 'DISCOUNT'
49036 , p_ae_header_id => l_ae_header_id
49037 );
49038
49039 --
49040 -- set rounding class
49041 --
49042 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
49043 'DISCOUNT';
49044
49045 --
49046 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
49047 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
49048 --
49049 -- bulk performance
49050 --
49051 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
49052
49053 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
49054 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
49055
49056 -- 4955764
49057 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
49058 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
49059
49060 -- 4458381 Public Sector Enh
49061
49062 --
49063 -- set accounting attributes for the line type
49064 --
49065 l_entered_amt_idx := 10;
49066 l_accted_amt_idx := 15;
49067 l_bflow_applied_to_amt_idx := 2; -- 5132302
49068 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
49069 l_rec_acct_attrs.array_char_value(1) := p_source_53;
49070 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
49071 l_rec_acct_attrs.array_num_value(2) := p_source_124;
49072 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
49073 l_rec_acct_attrs.array_num_value(3) := p_source_91;
49074 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
49078 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
49075 l_rec_acct_attrs.array_char_value(4) := p_source_92;
49076 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
49077 l_rec_acct_attrs.array_char_value(5) := p_source_93;
49079 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
49080 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
49081 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
49082 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
49083 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
49084 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
49085 l_rec_acct_attrs.array_char_value(9) := p_source_55;
49086 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
49087 l_rec_acct_attrs.array_num_value(10) := p_source_99;
49088 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
49089 l_rec_acct_attrs.array_char_value(11) := p_source_13;
49090 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
49091 l_rec_acct_attrs.array_date_value(12) := p_source_143;
49092 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
49093 l_rec_acct_attrs.array_num_value(13) := p_source_144;
49094 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
49095 l_rec_acct_attrs.array_char_value(14) := p_source_145;
49096 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
49097 l_rec_acct_attrs.array_num_value(15) := p_source_115;
49098 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
49099 l_rec_acct_attrs.array_char_value(16) := p_source_80;
49100 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
49101 l_rec_acct_attrs.array_num_value(17) := p_source_110;
49102 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
49103 l_rec_acct_attrs.array_num_value(18) := p_source_111;
49104 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
49105 l_rec_acct_attrs.array_char_value(19) := p_source_83;
49106 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
49107 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
49108 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
49109 l_rec_acct_attrs.array_char_value(21) := p_source_55;
49110 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
49111 l_rec_acct_attrs.array_num_value(22) := p_source_86;
49112 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
49113 l_rec_acct_attrs.array_num_value(23) := p_source_87;
49114 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
49115 l_rec_acct_attrs.array_num_value(24) := p_source_88;
49116
49117 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
49118 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
49119
49120 ---------------------------------------------------------------------------------------------------------------
49121 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
49122 ---------------------------------------------------------------------------------------------------------------
49123 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
49124
49125 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
49126 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
49127
49128 IF xla_accounting_cache_pkg.GetValueChar
49129 (p_source_code => 'LEDGER_CATEGORY_CODE'
49130 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
49131 AND l_bflow_method_code = 'PRIOR_ENTRY'
49132 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
49133 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
49134 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
49135 )
49136 THEN
49137 xla_ae_lines_pkg.BflowUpgEntry
49138 (p_business_method_code => l_bflow_method_code
49139 ,p_business_class_code => l_bflow_class_code
49140 ,p_balance_type => l_balance_type_code);
49141 ELSE
49142 NULL;
49143 -- No business flow processing for business flow method of NONE.
49144 END IF;
49145
49146 --
49147 -- call analytical criteria
49148 --
49149
49150 --
49151 -- call description
49152 --
49153 -- No description or it is inherited.
49154 --
49155 -- call ADRs
49156 -- Bug 4922099
49157 --
49158 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
49159 (NVL(l_actual_upg_option, 'N') = 'O') OR
49160 (NVL(l_enc_upg_option, 'N') = 'O')
49161 )
49162 THEN
49163 NULL;
49164 --
49165 --
49166
49167 l_ccid := AcctDerRule_29(
49168 p_application_id => p_application_id
49169 , p_ae_header_id => l_ae_header_id
49170 , p_source_15 => p_source_15
49171 , p_source_15_meaning => p_source_15_meaning
49172 , p_source_18 => p_source_18
49173 , p_source_19 => p_source_19
49174 , p_source_19_meaning => p_source_19_meaning
49175 , p_source_30 => p_source_30
49176 , p_source_33 => p_source_33
49177 , p_source_33_meaning => p_source_33_meaning
49178 , p_source_44 => p_source_44
49179 , p_source_45 => p_source_45
49183 , x_value_type_code => l_adr_value_type_code
49180 , p_source_46 => p_source_46
49181 , x_transaction_coa_id => l_adr_transaction_coa_id
49182 , x_accounting_coa_id => l_adr_accounting_coa_id
49184 , p_side => 'NA'
49185 );
49186
49187 xla_ae_lines_pkg.set_ccid(
49188 p_code_combination_id => l_ccid
49189 , p_value_type_code => l_adr_value_type_code
49190 , p_transaction_coa_id => l_adr_transaction_coa_id
49191 , p_accounting_coa_id => l_adr_accounting_coa_id
49192 , p_adr_code => 'AP_DISCOUNT'
49193 , p_adr_type_code => 'S'
49194 , p_component_type => l_component_type
49195 , p_component_code => l_component_code
49196 , p_component_type_code => l_component_type_code
49197 , p_component_appl_id => l_component_appl_id
49198 , p_amb_context_code => l_amb_context_code
49199 , p_side => 'NA'
49200 );
49201
49202
49203 l_segment := AcctDerRule_21(
49204 p_application_id => p_application_id
49205 , p_ae_header_id => l_ae_header_id
49206 , p_source_15 => p_source_15
49207 , p_source_15_meaning => p_source_15_meaning
49208 , p_source_19 => p_source_19
49209 , p_source_19_meaning => p_source_19_meaning
49210 , p_source_30 => p_source_30
49211 , x_transaction_coa_id => l_adr_transaction_coa_id
49212 , x_accounting_coa_id => l_adr_accounting_coa_id
49213 , x_flexfield_segment_code => l_adr_flexfield_segment_code
49214 , x_flex_value_set_id => l_adr_flex_value_set_id
49215 , x_value_type_code => l_adr_value_type_code
49216 , x_value_combination_id => l_adr_value_combination_id
49217 , x_value_segment_code => l_adr_value_segment_code
49218 , p_side => 'NA'
49219 , p_override_seg_flag => 'Y'
49220 );
49221
49222 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
49223
49224 xla_ae_lines_pkg.set_segment(
49225 p_to_segment_code => 'GL_BALANCING'
49226 , p_segment_value => l_segment
49227 , p_from_segment_code => l_adr_value_segment_code
49228 , p_from_combination_id => l_adr_value_combination_id
49229 , p_value_type_code => l_adr_value_type_code
49230 , p_transaction_coa_id => l_adr_transaction_coa_id
49231 , p_accounting_coa_id => l_adr_accounting_coa_id
49232 , p_flexfield_segment_code => l_adr_flexfield_segment_code
49233 , p_flex_value_set_id => l_adr_flex_value_set_id
49234 , p_adr_code => 'AP_DISCOUNT_BAL_ACCT_SEG'
49235 , p_adr_type_code => 'S'
49236 , p_component_type => l_component_type
49237 , p_component_code => l_component_code
49238 , p_component_type_code => l_component_type_code
49239 , p_component_appl_id => l_component_appl_id
49240 , p_amb_context_code => l_amb_context_code
49241 , p_entity_code => 'AP_PAYMENTS'
49242 , p_event_class_code => 'PAYMENTS'
49243 , p_side => 'NA'
49244 );
49245
49246 END IF;
49247
49248 l_segment := AcctDerRule_7(
49249 p_application_id => p_application_id
49250 , p_ae_header_id => l_ae_header_id
49251 , p_source_15 => p_source_15
49252 , p_source_15_meaning => p_source_15_meaning
49253 , p_source_18 => p_source_18
49254 , p_source_19 => p_source_19
49255 , p_source_19_meaning => p_source_19_meaning
49256 , x_transaction_coa_id => l_adr_transaction_coa_id
49257 , x_accounting_coa_id => l_adr_accounting_coa_id
49258 , x_flexfield_segment_code => l_adr_flexfield_segment_code
49259 , x_flex_value_set_id => l_adr_flex_value_set_id
49260 , x_value_type_code => l_adr_value_type_code
49261 , x_value_combination_id => l_adr_value_combination_id
49262 , x_value_segment_code => l_adr_value_segment_code
49263 , p_side => 'NA'
49264 , p_override_seg_flag => 'Y'
49265 );
49266
49267 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
49268
49269 xla_ae_lines_pkg.set_segment(
49270 p_to_segment_code => 'GL_ACCOUNT'
49271 , p_segment_value => l_segment
49272 , p_from_segment_code => l_adr_value_segment_code
49273 , p_from_combination_id => l_adr_value_combination_id
49274 , p_value_type_code => l_adr_value_type_code
49275 , p_transaction_coa_id => l_adr_transaction_coa_id
49276 , p_accounting_coa_id => l_adr_accounting_coa_id
49277 , p_flexfield_segment_code => l_adr_flexfield_segment_code
49278 , p_flex_value_set_id => l_adr_flex_value_set_id
49279 , p_adr_code => 'AP_DISCOUNT_NAT_ACCT_SEG'
49280 , p_adr_type_code => 'S'
49281 , p_component_type => l_component_type
49282 , p_component_code => l_component_code
49283 , p_component_type_code => l_component_type_code
49284 , p_component_appl_id => l_component_appl_id
49288 , p_side => 'NA'
49285 , p_amb_context_code => l_amb_context_code
49286 , p_entity_code => 'AP_PAYMENTS'
49287 , p_event_class_code => 'PAYMENTS'
49289 );
49290
49291 END IF;
49292
49293 --
49294 --
49295 END IF;
49296 --
49297 -- Bug 4922099
49298 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
49299 (NVL(l_enc_upg_option, 'N') = 'O')
49300 ) AND
49301 (l_bflow_method_code = 'PRIOR_ENTRY')
49302 )
49303 THEN
49304 IF
49305 --
49306 1 = 2
49307 --
49308 THEN
49309 xla_accounting_err_pkg.build_message
49310 (p_appli_s_name => 'XLA'
49311 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
49312 ,p_token_1 => 'LINE_NUMBER'
49313 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
49314 ,p_token_2 => 'LINE_TYPE_NAME'
49315 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
49316 l_component_type
49317 ,l_component_code
49318 ,l_component_type_code
49319 ,l_component_appl_id
49320 ,l_amb_context_code
49321 ,l_entity_code
49322 ,l_event_class_code
49323 )
49324 ,p_token_3 => 'OWNER'
49325 ,p_value_3 => xla_lookups_pkg.get_meaning(
49326 p_lookup_type => 'XLA_OWNER_TYPE'
49327 ,p_lookup_code => l_component_type_code
49328 )
49329 ,p_token_4 => 'PRODUCT_NAME'
49330 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
49331 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
49332 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
49333 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
49334 ,p_ae_header_id => NULL
49335 );
49336
49337 IF (C_LEVEL_ERROR>= g_log_level) THEN
49338 trace
49339 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
49340 ,p_level => C_LEVEL_ERROR
49341 ,p_module => l_log_module);
49342 END IF;
49343 END IF;
49344 END IF;
49345 --
49346 --
49347 ------------------------------------------------------------------------------------------------
49348 -- 4219869 Business Flow
49349 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
49350 -- Prior Entry. Currently, the following code is always generated.
49351 ------------------------------------------------------------------------------------------------
49352 XLA_AE_LINES_PKG.ValidateCurrentLine;
49353
49354 ------------------------------------------------------------------------------------
49355 -- 4219869 Business Flow
49356 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
49357 ------------------------------------------------------------------------------------
49358 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
49359
49360 ----------------------------------------------------------------------------------
49361 -- 4219869 Business Flow
49362 -- Update journal entry status -- Need to generate this within IF <condition>
49363 ----------------------------------------------------------------------------------
49364 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
49365 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
49366 ,p_balance_type_code => l_balance_type_code
49367 );
49368
49369 -------------------------------------------------------------------------------------------
49370 -- 4262811 - Generate the Accrual Reversal lines
49371 -------------------------------------------------------------------------------------------
49372 BEGIN
49373 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
49374 (g_array_event(p_event_id).array_value_num('header_index'));
49375 IF l_acc_rev_flag IS NULL THEN
49376 l_acc_rev_flag := 'N';
49377 END IF;
49378 EXCEPTION
49379 WHEN OTHERS THEN
49380 l_acc_rev_flag := 'N';
49381 END;
49382 --
49386 -- To allow MPA report to determine if it should generate report process
49383 IF (l_acc_rev_flag = 'Y') THEN
49384
49385 -- 4645092 ------------------------------------------------------------------------------
49387 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
49388 ------------------------------------------------------------------------------------------
49389
49390 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
49391 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
49392 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
49393 -- call ADRs
49394 -- Bug 4922099
49395 --
49396 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
49397 (NVL(l_actual_upg_option, 'N') = 'O') OR
49398 (NVL(l_enc_upg_option, 'N') = 'O')
49399 )
49400 THEN
49401 NULL;
49402 --
49403 --
49404
49405 l_ccid := AcctDerRule_29(
49406 p_application_id => p_application_id
49407 , p_ae_header_id => l_ae_header_id
49408 , p_source_15 => p_source_15
49409 , p_source_15_meaning => p_source_15_meaning
49410 , p_source_18 => p_source_18
49411 , p_source_19 => p_source_19
49412 , p_source_19_meaning => p_source_19_meaning
49413 , p_source_30 => p_source_30
49414 , p_source_33 => p_source_33
49415 , p_source_33_meaning => p_source_33_meaning
49416 , p_source_44 => p_source_44
49417 , p_source_45 => p_source_45
49418 , p_source_46 => p_source_46
49419 , x_transaction_coa_id => l_adr_transaction_coa_id
49420 , x_accounting_coa_id => l_adr_accounting_coa_id
49421 , x_value_type_code => l_adr_value_type_code
49422 , p_side => 'NA'
49423 );
49424
49425 xla_ae_lines_pkg.set_ccid(
49426 p_code_combination_id => l_ccid
49427 , p_value_type_code => l_adr_value_type_code
49428 , p_transaction_coa_id => l_adr_transaction_coa_id
49429 , p_accounting_coa_id => l_adr_accounting_coa_id
49430 , p_adr_code => 'AP_DISCOUNT'
49431 , p_adr_type_code => 'S'
49432 , p_component_type => l_component_type
49433 , p_component_code => l_component_code
49434 , p_component_type_code => l_component_type_code
49435 , p_component_appl_id => l_component_appl_id
49436 , p_amb_context_code => l_amb_context_code
49437 , p_side => 'NA'
49438 );
49439
49440
49441 l_segment := AcctDerRule_21(
49442 p_application_id => p_application_id
49443 , p_ae_header_id => l_ae_header_id
49444 , p_source_15 => p_source_15
49445 , p_source_15_meaning => p_source_15_meaning
49446 , p_source_19 => p_source_19
49447 , p_source_19_meaning => p_source_19_meaning
49448 , p_source_30 => p_source_30
49449 , x_transaction_coa_id => l_adr_transaction_coa_id
49450 , x_accounting_coa_id => l_adr_accounting_coa_id
49451 , x_flexfield_segment_code => l_adr_flexfield_segment_code
49452 , x_flex_value_set_id => l_adr_flex_value_set_id
49453 , x_value_type_code => l_adr_value_type_code
49454 , x_value_combination_id => l_adr_value_combination_id
49455 , x_value_segment_code => l_adr_value_segment_code
49456 , p_side => 'NA'
49457 , p_override_seg_flag => 'Y'
49458 );
49459
49460 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
49461
49462 xla_ae_lines_pkg.set_segment(
49463 p_to_segment_code => 'GL_BALANCING'
49464 , p_segment_value => l_segment
49465 , p_from_segment_code => l_adr_value_segment_code
49466 , p_from_combination_id => l_adr_value_combination_id
49467 , p_value_type_code => l_adr_value_type_code
49468 , p_transaction_coa_id => l_adr_transaction_coa_id
49469 , p_accounting_coa_id => l_adr_accounting_coa_id
49470 , p_flexfield_segment_code => l_adr_flexfield_segment_code
49471 , p_flex_value_set_id => l_adr_flex_value_set_id
49472 , p_adr_code => 'AP_DISCOUNT_BAL_ACCT_SEG'
49473 , p_adr_type_code => 'S'
49474 , p_component_type => l_component_type
49475 , p_component_code => l_component_code
49476 , p_component_type_code => l_component_type_code
49477 , p_component_appl_id => l_component_appl_id
49478 , p_amb_context_code => l_amb_context_code
49479 , p_entity_code => 'AP_PAYMENTS'
49480 , p_event_class_code => 'PAYMENTS'
49481 , p_side => 'NA'
49482 );
49483
49484 END IF;
49485
49486 l_segment := AcctDerRule_7(
49487 p_application_id => p_application_id
49488 , p_ae_header_id => l_ae_header_id
49489 , p_source_15 => p_source_15
49490 , p_source_15_meaning => p_source_15_meaning
49491 , p_source_18 => p_source_18
49492 , p_source_19 => p_source_19
49493 , p_source_19_meaning => p_source_19_meaning
49494 , x_transaction_coa_id => l_adr_transaction_coa_id
49495 , x_accounting_coa_id => l_adr_accounting_coa_id
49496 , x_flexfield_segment_code => l_adr_flexfield_segment_code
49497 , x_flex_value_set_id => l_adr_flex_value_set_id
49501 , p_side => 'NA'
49498 , x_value_type_code => l_adr_value_type_code
49499 , x_value_combination_id => l_adr_value_combination_id
49500 , x_value_segment_code => l_adr_value_segment_code
49502 , p_override_seg_flag => 'Y'
49503 );
49504
49505 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
49506
49507 xla_ae_lines_pkg.set_segment(
49508 p_to_segment_code => 'GL_ACCOUNT'
49509 , p_segment_value => l_segment
49510 , p_from_segment_code => l_adr_value_segment_code
49511 , p_from_combination_id => l_adr_value_combination_id
49512 , p_value_type_code => l_adr_value_type_code
49513 , p_transaction_coa_id => l_adr_transaction_coa_id
49514 , p_accounting_coa_id => l_adr_accounting_coa_id
49515 , p_flexfield_segment_code => l_adr_flexfield_segment_code
49516 , p_flex_value_set_id => l_adr_flex_value_set_id
49517 , p_adr_code => 'AP_DISCOUNT_NAT_ACCT_SEG'
49518 , p_adr_type_code => 'S'
49519 , p_component_type => l_component_type
49520 , p_component_code => l_component_code
49521 , p_component_type_code => l_component_type_code
49522 , p_component_appl_id => l_component_appl_id
49523 , p_amb_context_code => l_amb_context_code
49524 , p_entity_code => 'AP_PAYMENTS'
49525 , p_event_class_code => 'PAYMENTS'
49526 , p_side => 'NA'
49527 );
49528
49529 END IF;
49530
49531 --
49532 --
49533 END IF;
49534
49535 --
49536 -- Update the line information that should be overwritten
49537 --
49538 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
49539 p_header_num => 1);
49540 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
49541
49542 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
49543
49544 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
49545 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
49546 END IF;
49547
49548 --
49549 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
49550 --
49551 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
49552 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
49553 ELSE
49554 ---------------------------------------------------------------------------------------------------
49555 -- 4262811a Switch Sign
49556 ---------------------------------------------------------------------------------------------------
49557 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
49558 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
49559 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
49560 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
49561 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
49562 -- 5132302
49563 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
49564 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
49565
49566 END IF;
49567
49568 -- 4955764
49569 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
49570 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
49571
49572
49573 XLA_AE_LINES_PKG.ValidateCurrentLine;
49574 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
49575
49576 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
49577 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
49578 ,p_balance_type_code => l_balance_type_code);
49579
49580 END IF;
49581
49582 -----------------------------------------------------------------------------------------
49583 -- 4262811 Multiperiod Accounting
49584 -----------------------------------------------------------------------------------------
49585 -- No MPA option is assigned.
49586
49587
49588 END IF;
49589 END IF;
49590 --
49591
49592 --
49593 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
49594 trace
49595 (p_msg => 'END of AcctLineType_105'
49596 ,p_level => C_LEVEL_PROCEDURE
49597 ,p_module => l_log_module);
49598 END IF;
49599 --
49600 EXCEPTION
49601 WHEN xla_exceptions_pkg.application_exception THEN
49602 RAISE;
49603 WHEN OTHERS THEN
49604 xla_exceptions_pkg.raise_message
49605 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_105');
49606 END AcctLineType_105;
49607 --
49608
49609 ---------------------------------------
49610 --
49611 -- PRIVATE FUNCTION
49612 -- AcctLineType_106
49613 --
49614 ---------------------------------------
49615 PROCEDURE AcctLineType_106 (
49619 ,p_calculate_g_l_flag IN VARCHAR2
49616 p_application_id IN NUMBER
49617 ,p_event_id IN NUMBER
49618 ,p_calculate_acctd_flag IN VARCHAR2
49620 ,p_actual_flag IN OUT VARCHAR2
49621 ,p_balance_type_code OUT VARCHAR2
49622 ,p_gain_or_loss_ref OUT VARCHAR2
49623
49624 --Payment Currency Code
49625 , p_source_13 IN VARCHAR2
49626 --Automatic Offsets Value
49627 , p_source_15 IN VARCHAR2
49628 , p_source_15_meaning IN VARCHAR2
49629 --System Discount Account
49630 , p_source_18 IN NUMBER
49631 --Discount Distribution Method
49632 , p_source_19 IN VARCHAR2
49633 , p_source_19_meaning IN VARCHAR2
49634 --Invoice Distribution Account
49635 , p_source_30 IN NUMBER
49636 --Invoice Distribution Type
49637 , p_source_33 IN VARCHAR2
49638 , p_source_33_meaning IN VARCHAR2
49639 --Discount Account
49640 , p_source_44 IN NUMBER
49641 --Purchase Order Charge Account
49642 , p_source_45 IN NUMBER
49643 --Purchase Order Variance Account
49644 , p_source_46 IN NUMBER
49645 --Accounting Reversal Indicator
49646 , p_source_53 IN VARCHAR2
49647 --Distribution Link Type
49648 , p_source_55 IN VARCHAR2
49649 --Override Accounted Amount Indicator
49650 , p_source_80 IN VARCHAR2
49651 , p_source_80_meaning IN VARCHAR2
49652 --Third Party Type
49653 , p_source_83 IN VARCHAR2
49654 --Invoice Distribution Tax Line Identifier
49655 , p_source_86 IN NUMBER
49656 --Invoice Distribution Tax Distribution Identifier from Tax
49657 , p_source_87 IN NUMBER
49658 --Invoice Distribution Summary Tax Line Identifier
49659 , p_source_88 IN NUMBER
49660 --Business Flow Accounts Payable Application Identifier
49661 , p_source_91 IN NUMBER
49662 --Business Flow Invoice Distribution Type
49663 , p_source_92 IN VARCHAR2
49664 --Business Flow Invoice Entity Code
49665 , p_source_93 IN VARCHAR2
49666 --Business Flow Invoice Distribution Identifier
49667 , p_source_94 IN NUMBER
49668 --Business Flow Invoice Identifier
49669 , p_source_95 IN NUMBER
49670 --When to Account for Payment Option
49671 , p_source_97 IN VARCHAR2
49672 --Payment Distribution Type
49673 , p_source_98 IN VARCHAR2
49674 , p_source_98_meaning IN VARCHAR2
49675 --Payment Distribution Amount
49676 , p_source_99 IN NUMBER
49677 --Payment Distribution Identifier
49678 , p_source_104 IN NUMBER
49679 --Payment Supplier Identifier
49680 , p_source_110 IN NUMBER
49681 --Payment Supplier Site Identifier
49682 , p_source_111 IN NUMBER
49683 --Payment Distribution Reversed Identifier
49684 , p_source_112 IN NUMBER
49685 --Payment Distribution (Invoice Rate) Ledger Amount
49686 , p_source_116 IN NUMBER
49687 --Payment Type
49688 , p_source_122 IN VARCHAR2
49689 , p_source_122_meaning IN VARCHAR2
49690 --Invoice Exchange Date
49691 , p_source_143 IN DATE
49692 --Invoice Exchange Rate
49693 , p_source_144 IN NUMBER
49694 --Invoice Exchange Rate Type
49695 , p_source_145 IN VARCHAR2
49696 )
49697 IS
49698
49699 l_component_type VARCHAR2(80);
49700 l_component_code VARCHAR2(30);
49701 l_component_type_code VARCHAR2(1);
49702 l_component_appl_id INTEGER;
49703 l_amb_context_code VARCHAR2(30);
49704 l_entity_code VARCHAR2(30);
49705 l_event_class_code VARCHAR2(30);
49706 l_ae_header_id NUMBER;
49707 l_event_type_code VARCHAR2(30);
49708 l_line_definition_code VARCHAR2(30);
49709 l_line_definition_owner_code VARCHAR2(1);
49710 --
49711 -- adr variables
49712 l_segment VARCHAR2(30);
49713 l_ccid NUMBER;
49714 l_adr_transaction_coa_id NUMBER;
49715 l_adr_accounting_coa_id NUMBER;
49716 l_adr_flexfield_segment_code VARCHAR2(30);
49717 l_adr_flex_value_set_id NUMBER;
49718 l_adr_value_type_code VARCHAR2(30);
49719 l_adr_value_combination_id NUMBER;
49720 l_adr_value_segment_code VARCHAR2(30);
49721
49722 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
49723 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
49724 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
49725 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
49726
49727 -- 4262811 Variables ------------------------------------------------------------------------------------------
49728 l_entered_amt_idx NUMBER;
49729 l_accted_amt_idx NUMBER;
49730 l_acc_rev_flag VARCHAR2(1);
49731 l_accrual_line_num NUMBER;
49732 l_tmp_amt NUMBER;
49733 l_acc_rev_natural_side_code VARCHAR2(1);
49734
49735 l_num_entries NUMBER;
49736 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
49737 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
49738 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
49739 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
49740 l_recog_line_1 NUMBER;
49741 l_recog_line_2 NUMBER;
49742
49743 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
49747 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
49744 l_bflow_applied_to_amt NUMBER; -- 5132302
49745 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
49746
49748
49749 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
49750 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
49751
49752 ---------------------------------------------------------------------------------------------------------------
49753
49754
49755 --
49756 -- bulk performance
49757 --
49758 l_balance_type_code VARCHAR2(1);
49759 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
49760 l_log_module VARCHAR2(240);
49761
49762 --
49763 -- Upgrade strategy
49764 --
49765 l_actual_upg_option VARCHAR2(1);
49766 l_enc_upg_option VARCHAR2(1);
49767
49768 --
49769 BEGIN
49770 --
49771 IF g_log_enabled THEN
49772 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_106';
49773 END IF;
49774 --
49775 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
49776
49777 trace
49778 (p_msg => 'BEGIN of AcctLineType_106'
49779 ,p_level => C_LEVEL_PROCEDURE
49780 ,p_module => l_log_module);
49781
49782 END IF;
49783 --
49784 l_component_type := 'AMB_JLT';
49785 l_component_code := 'AP_DISCOUNT_ACCR_REF';
49786 l_component_type_code := 'S';
49787 l_component_appl_id := 200;
49788 l_amb_context_code := 'DEFAULT';
49789 l_entity_code := 'AP_PAYMENTS';
49790 l_event_class_code := 'REFUNDS';
49791 l_event_type_code := 'REFUNDS_ALL';
49792 l_line_definition_owner_code := 'S';
49793 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
49794 --
49795 l_balance_type_code := 'A';
49796 l_segment := NULL;
49797 l_ccid := NULL;
49798 l_adr_transaction_coa_id := NULL;
49799 l_adr_accounting_coa_id := NULL;
49800 l_adr_flexfield_segment_code := NULL;
49801 l_adr_flex_value_set_id := NULL;
49802 l_adr_value_type_code := NULL;
49803 l_adr_value_combination_id := NULL;
49804 l_adr_value_segment_code := NULL;
49805
49806 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
49807 l_bflow_class_code := ''; -- 4219869 Business Flow
49808 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
49809 l_budgetary_control_flag := 'N';
49810
49811 l_bflow_applied_to_amt_idx := NULL; -- 5132302
49812 l_bflow_applied_to_amt := NULL; -- 5132302
49813 l_entered_amt_idx := NULL; -- 4262811
49814 l_accted_amt_idx := NULL; -- 4262811
49815 l_acc_rev_flag := NULL; -- 4262811
49816 l_accrual_line_num := NULL; -- 4262811
49817 l_tmp_amt := NULL; -- 4262811
49818 --
49819
49820 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
49821 l_balance_type_code <> 'B' THEN
49822 IF NVL(p_source_97,'
49823 ') <> 'CLEAR_CLEAR' AND
49824 NVL(p_source_98,'
49825 ') = 'DISCOUNT' AND
49826 NVL(p_source_122,'
49827 ') = 'R'
49828 THEN
49829
49830 --
49831 XLA_AE_LINES_PKG.SetNewLine;
49832
49833 p_balance_type_code := l_balance_type_code;
49834 -- set the flag so later we will know whether the gain loss line needs to be created
49835
49836 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
49837 p_actual_flag :='A';
49838 END IF;
49839
49840 --
49841 -- bulk performance
49842 --
49843 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
49844 p_header_num => 0); -- 4262811
49845 --
49846 -- set accounting line options
49847 --
49848 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
49849 p_natural_side_code => 'C'
49850 , p_gain_or_loss_flag => 'N'
49851 , p_gl_transfer_mode_code => 'S'
49852 , p_acct_entry_type_code => 'A'
49853 , p_switch_side_flag => 'Y'
49854 , p_merge_duplicate_code => 'A'
49855 );
49856 --
49857 l_acc_rev_natural_side_code := 'D'; -- 4262811
49858 --
49859 --
49860 -- set accounting line type info
49861 --
49862 xla_ae_lines_pkg.SetAcctLineType
49863 (p_component_type => l_component_type
49864 ,p_event_type_code => l_event_type_code
49865 ,p_line_definition_owner_code => l_line_definition_owner_code
49866 ,p_line_definition_code => l_line_definition_code
49867 ,p_accounting_line_code => l_component_code
49868 ,p_accounting_line_type_code => l_component_type_code
49869 ,p_accounting_line_appl_id => l_component_appl_id
49870 ,p_amb_context_code => l_amb_context_code
49871 ,p_entity_code => l_entity_code
49872 ,p_event_class_code => l_event_class_code);
49873 --
49874 -- set accounting class
49875 --
49876 xla_ae_lines_pkg.SetAcctClass(
49877 p_accounting_class_code => 'DISCOUNT'
49878 , p_ae_header_id => l_ae_header_id
49879 );
49883 --
49880
49881 --
49882 -- set rounding class
49884 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
49885 'DISCOUNT';
49886
49887 --
49888 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
49889 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
49890 --
49891 -- bulk performance
49892 --
49893 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
49894
49895 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
49896 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
49897
49898 -- 4955764
49899 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
49900 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
49901
49902 -- 4458381 Public Sector Enh
49903
49904 --
49905 -- set accounting attributes for the line type
49906 --
49907 l_entered_amt_idx := 9;
49908 l_accted_amt_idx := 14;
49909 l_bflow_applied_to_amt_idx := NULL; -- 5132302
49910 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
49911 l_rec_acct_attrs.array_char_value(1) := p_source_53;
49912 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
49913 l_rec_acct_attrs.array_num_value(2) := p_source_91;
49914 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
49915 l_rec_acct_attrs.array_char_value(3) := p_source_92;
49916 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
49917 l_rec_acct_attrs.array_char_value(4) := p_source_93;
49918 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
49919 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
49920 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
49921 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
49922 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
49923 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
49924 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
49925 l_rec_acct_attrs.array_char_value(8) := p_source_55;
49926 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
49927 l_rec_acct_attrs.array_num_value(9) := p_source_99;
49928 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
49929 l_rec_acct_attrs.array_char_value(10) := p_source_13;
49930 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
49931 l_rec_acct_attrs.array_date_value(11) := p_source_143;
49932 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
49933 l_rec_acct_attrs.array_num_value(12) := p_source_144;
49934 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
49935 l_rec_acct_attrs.array_char_value(13) := p_source_145;
49936 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
49937 l_rec_acct_attrs.array_num_value(14) := p_source_116;
49938 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
49939 l_rec_acct_attrs.array_char_value(15) := p_source_80;
49940 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
49941 l_rec_acct_attrs.array_num_value(16) := p_source_110;
49942 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
49943 l_rec_acct_attrs.array_num_value(17) := p_source_111;
49944 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
49945 l_rec_acct_attrs.array_char_value(18) := p_source_83;
49946 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
49947 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_112);
49948 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
49949 l_rec_acct_attrs.array_char_value(20) := p_source_55;
49950 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
49951 l_rec_acct_attrs.array_num_value(21) := p_source_86;
49952 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
49953 l_rec_acct_attrs.array_num_value(22) := p_source_87;
49954 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
49955 l_rec_acct_attrs.array_num_value(23) := p_source_88;
49956
49957 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
49958 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
49959
49960 ---------------------------------------------------------------------------------------------------------------
49961 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
49962 ---------------------------------------------------------------------------------------------------------------
49963 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
49964
49965 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
49966 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
49967
49968 IF xla_accounting_cache_pkg.GetValueChar
49969 (p_source_code => 'LEDGER_CATEGORY_CODE'
49970 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
49971 AND l_bflow_method_code = 'PRIOR_ENTRY'
49975 )
49972 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
49973 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
49974 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
49976 THEN
49977 xla_ae_lines_pkg.BflowUpgEntry
49978 (p_business_method_code => l_bflow_method_code
49979 ,p_business_class_code => l_bflow_class_code
49980 ,p_balance_type => l_balance_type_code);
49981 ELSE
49982 NULL;
49983 -- No business flow processing for business flow method of NONE.
49984 END IF;
49985
49986 --
49987 -- call analytical criteria
49988 --
49989
49990 --
49991 -- call description
49992 --
49993 -- No description or it is inherited.
49994 --
49995 -- call ADRs
49996 -- Bug 4922099
49997 --
49998 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
49999 (NVL(l_actual_upg_option, 'N') = 'O') OR
50000 (NVL(l_enc_upg_option, 'N') = 'O')
50001 )
50002 THEN
50003 NULL;
50004 --
50005 --
50006
50007 l_ccid := AcctDerRule_29(
50008 p_application_id => p_application_id
50009 , p_ae_header_id => l_ae_header_id
50010 , p_source_15 => p_source_15
50011 , p_source_15_meaning => p_source_15_meaning
50012 , p_source_18 => p_source_18
50013 , p_source_19 => p_source_19
50014 , p_source_19_meaning => p_source_19_meaning
50015 , p_source_30 => p_source_30
50016 , p_source_33 => p_source_33
50017 , p_source_33_meaning => p_source_33_meaning
50018 , p_source_44 => p_source_44
50019 , p_source_45 => p_source_45
50020 , p_source_46 => p_source_46
50021 , x_transaction_coa_id => l_adr_transaction_coa_id
50022 , x_accounting_coa_id => l_adr_accounting_coa_id
50023 , x_value_type_code => l_adr_value_type_code
50024 , p_side => 'NA'
50025 );
50026
50027 xla_ae_lines_pkg.set_ccid(
50028 p_code_combination_id => l_ccid
50029 , p_value_type_code => l_adr_value_type_code
50030 , p_transaction_coa_id => l_adr_transaction_coa_id
50031 , p_accounting_coa_id => l_adr_accounting_coa_id
50032 , p_adr_code => 'AP_DISCOUNT'
50033 , p_adr_type_code => 'S'
50034 , p_component_type => l_component_type
50035 , p_component_code => l_component_code
50036 , p_component_type_code => l_component_type_code
50037 , p_component_appl_id => l_component_appl_id
50038 , p_amb_context_code => l_amb_context_code
50039 , p_side => 'NA'
50040 );
50041
50042
50043 l_segment := AcctDerRule_21(
50044 p_application_id => p_application_id
50045 , p_ae_header_id => l_ae_header_id
50046 , p_source_15 => p_source_15
50047 , p_source_15_meaning => p_source_15_meaning
50048 , p_source_19 => p_source_19
50049 , p_source_19_meaning => p_source_19_meaning
50050 , p_source_30 => p_source_30
50051 , x_transaction_coa_id => l_adr_transaction_coa_id
50052 , x_accounting_coa_id => l_adr_accounting_coa_id
50053 , x_flexfield_segment_code => l_adr_flexfield_segment_code
50054 , x_flex_value_set_id => l_adr_flex_value_set_id
50055 , x_value_type_code => l_adr_value_type_code
50056 , x_value_combination_id => l_adr_value_combination_id
50057 , x_value_segment_code => l_adr_value_segment_code
50058 , p_side => 'NA'
50059 , p_override_seg_flag => 'Y'
50060 );
50061
50062 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
50063
50064 xla_ae_lines_pkg.set_segment(
50065 p_to_segment_code => 'GL_BALANCING'
50066 , p_segment_value => l_segment
50067 , p_from_segment_code => l_adr_value_segment_code
50068 , p_from_combination_id => l_adr_value_combination_id
50069 , p_value_type_code => l_adr_value_type_code
50070 , p_transaction_coa_id => l_adr_transaction_coa_id
50071 , p_accounting_coa_id => l_adr_accounting_coa_id
50072 , p_flexfield_segment_code => l_adr_flexfield_segment_code
50073 , p_flex_value_set_id => l_adr_flex_value_set_id
50074 , p_adr_code => 'AP_DISCOUNT_BAL_ACCT_SEG'
50075 , p_adr_type_code => 'S'
50076 , p_component_type => l_component_type
50077 , p_component_code => l_component_code
50078 , p_component_type_code => l_component_type_code
50079 , p_component_appl_id => l_component_appl_id
50080 , p_amb_context_code => l_amb_context_code
50081 , p_entity_code => 'AP_PAYMENTS'
50082 , p_event_class_code => 'REFUNDS'
50083 , p_side => 'NA'
50084 );
50085
50086 END IF;
50087
50088 l_segment := AcctDerRule_7(
50089 p_application_id => p_application_id
50090 , p_ae_header_id => l_ae_header_id
50091 , p_source_15 => p_source_15
50092 , p_source_15_meaning => p_source_15_meaning
50093 , p_source_18 => p_source_18
50094 , p_source_19 => p_source_19
50095 , p_source_19_meaning => p_source_19_meaning
50099 , x_flex_value_set_id => l_adr_flex_value_set_id
50096 , x_transaction_coa_id => l_adr_transaction_coa_id
50097 , x_accounting_coa_id => l_adr_accounting_coa_id
50098 , x_flexfield_segment_code => l_adr_flexfield_segment_code
50100 , x_value_type_code => l_adr_value_type_code
50101 , x_value_combination_id => l_adr_value_combination_id
50102 , x_value_segment_code => l_adr_value_segment_code
50103 , p_side => 'NA'
50104 , p_override_seg_flag => 'Y'
50105 );
50106
50107 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
50108
50109 xla_ae_lines_pkg.set_segment(
50110 p_to_segment_code => 'GL_ACCOUNT'
50111 , p_segment_value => l_segment
50112 , p_from_segment_code => l_adr_value_segment_code
50113 , p_from_combination_id => l_adr_value_combination_id
50114 , p_value_type_code => l_adr_value_type_code
50115 , p_transaction_coa_id => l_adr_transaction_coa_id
50116 , p_accounting_coa_id => l_adr_accounting_coa_id
50117 , p_flexfield_segment_code => l_adr_flexfield_segment_code
50118 , p_flex_value_set_id => l_adr_flex_value_set_id
50119 , p_adr_code => 'AP_DISCOUNT_NAT_ACCT_SEG'
50120 , p_adr_type_code => 'S'
50121 , p_component_type => l_component_type
50122 , p_component_code => l_component_code
50123 , p_component_type_code => l_component_type_code
50124 , p_component_appl_id => l_component_appl_id
50125 , p_amb_context_code => l_amb_context_code
50126 , p_entity_code => 'AP_PAYMENTS'
50127 , p_event_class_code => 'REFUNDS'
50128 , p_side => 'NA'
50129 );
50130
50131 END IF;
50132
50133 --
50134 --
50135 END IF;
50136 --
50137 -- Bug 4922099
50138 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
50139 (NVL(l_enc_upg_option, 'N') = 'O')
50140 ) AND
50141 (l_bflow_method_code = 'PRIOR_ENTRY')
50142 )
50143 THEN
50144 IF
50145 --
50146 1 = 2
50147 --
50148 THEN
50149 xla_accounting_err_pkg.build_message
50150 (p_appli_s_name => 'XLA'
50151 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
50152 ,p_token_1 => 'LINE_NUMBER'
50153 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
50154 ,p_token_2 => 'LINE_TYPE_NAME'
50155 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
50156 l_component_type
50157 ,l_component_code
50158 ,l_component_type_code
50159 ,l_component_appl_id
50160 ,l_amb_context_code
50161 ,l_entity_code
50162 ,l_event_class_code
50163 )
50164 ,p_token_3 => 'OWNER'
50165 ,p_value_3 => xla_lookups_pkg.get_meaning(
50166 p_lookup_type => 'XLA_OWNER_TYPE'
50167 ,p_lookup_code => l_component_type_code
50168 )
50169 ,p_token_4 => 'PRODUCT_NAME'
50170 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
50171 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
50172 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
50173 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
50174 ,p_ae_header_id => NULL
50175 );
50176
50177 IF (C_LEVEL_ERROR>= g_log_level) THEN
50178 trace
50179 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
50180 ,p_level => C_LEVEL_ERROR
50181 ,p_module => l_log_module);
50182 END IF;
50183 END IF;
50184 END IF;
50185 --
50186 --
50187 ------------------------------------------------------------------------------------------------
50188 -- 4219869 Business Flow
50189 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
50190 -- Prior Entry. Currently, the following code is always generated.
50191 ------------------------------------------------------------------------------------------------
50192 XLA_AE_LINES_PKG.ValidateCurrentLine;
50193
50197 ------------------------------------------------------------------------------------
50194 ------------------------------------------------------------------------------------
50195 -- 4219869 Business Flow
50196 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
50198 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
50199
50200 ----------------------------------------------------------------------------------
50201 -- 4219869 Business Flow
50202 -- Update journal entry status -- Need to generate this within IF <condition>
50203 ----------------------------------------------------------------------------------
50204 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
50205 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
50206 ,p_balance_type_code => l_balance_type_code
50207 );
50208
50209 -------------------------------------------------------------------------------------------
50210 -- 4262811 - Generate the Accrual Reversal lines
50211 -------------------------------------------------------------------------------------------
50212 BEGIN
50213 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
50214 (g_array_event(p_event_id).array_value_num('header_index'));
50215 IF l_acc_rev_flag IS NULL THEN
50216 l_acc_rev_flag := 'N';
50217 END IF;
50218 EXCEPTION
50219 WHEN OTHERS THEN
50220 l_acc_rev_flag := 'N';
50221 END;
50222 --
50223 IF (l_acc_rev_flag = 'Y') THEN
50224
50225 -- 4645092 ------------------------------------------------------------------------------
50226 -- To allow MPA report to determine if it should generate report process
50227 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
50228 ------------------------------------------------------------------------------------------
50229
50230 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
50231 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
50232 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
50233 -- call ADRs
50234 -- Bug 4922099
50235 --
50236 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
50237 (NVL(l_actual_upg_option, 'N') = 'O') OR
50238 (NVL(l_enc_upg_option, 'N') = 'O')
50239 )
50240 THEN
50241 NULL;
50242 --
50243 --
50244
50245 l_ccid := AcctDerRule_29(
50246 p_application_id => p_application_id
50247 , p_ae_header_id => l_ae_header_id
50248 , p_source_15 => p_source_15
50249 , p_source_15_meaning => p_source_15_meaning
50250 , p_source_18 => p_source_18
50251 , p_source_19 => p_source_19
50252 , p_source_19_meaning => p_source_19_meaning
50253 , p_source_30 => p_source_30
50254 , p_source_33 => p_source_33
50255 , p_source_33_meaning => p_source_33_meaning
50256 , p_source_44 => p_source_44
50257 , p_source_45 => p_source_45
50258 , p_source_46 => p_source_46
50259 , x_transaction_coa_id => l_adr_transaction_coa_id
50260 , x_accounting_coa_id => l_adr_accounting_coa_id
50261 , x_value_type_code => l_adr_value_type_code
50262 , p_side => 'NA'
50263 );
50264
50265 xla_ae_lines_pkg.set_ccid(
50266 p_code_combination_id => l_ccid
50267 , p_value_type_code => l_adr_value_type_code
50268 , p_transaction_coa_id => l_adr_transaction_coa_id
50269 , p_accounting_coa_id => l_adr_accounting_coa_id
50270 , p_adr_code => 'AP_DISCOUNT'
50271 , p_adr_type_code => 'S'
50272 , p_component_type => l_component_type
50273 , p_component_code => l_component_code
50274 , p_component_type_code => l_component_type_code
50275 , p_component_appl_id => l_component_appl_id
50276 , p_amb_context_code => l_amb_context_code
50277 , p_side => 'NA'
50278 );
50279
50280
50281 l_segment := AcctDerRule_21(
50282 p_application_id => p_application_id
50283 , p_ae_header_id => l_ae_header_id
50284 , p_source_15 => p_source_15
50285 , p_source_15_meaning => p_source_15_meaning
50286 , p_source_19 => p_source_19
50287 , p_source_19_meaning => p_source_19_meaning
50288 , p_source_30 => p_source_30
50289 , x_transaction_coa_id => l_adr_transaction_coa_id
50290 , x_accounting_coa_id => l_adr_accounting_coa_id
50291 , x_flexfield_segment_code => l_adr_flexfield_segment_code
50292 , x_flex_value_set_id => l_adr_flex_value_set_id
50293 , x_value_type_code => l_adr_value_type_code
50294 , x_value_combination_id => l_adr_value_combination_id
50295 , x_value_segment_code => l_adr_value_segment_code
50296 , p_side => 'NA'
50297 , p_override_seg_flag => 'Y'
50298 );
50299
50300 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
50301
50302 xla_ae_lines_pkg.set_segment(
50303 p_to_segment_code => 'GL_BALANCING'
50304 , p_segment_value => l_segment
50305 , p_from_segment_code => l_adr_value_segment_code
50306 , p_from_combination_id => l_adr_value_combination_id
50307 , p_value_type_code => l_adr_value_type_code
50311 , p_flex_value_set_id => l_adr_flex_value_set_id
50308 , p_transaction_coa_id => l_adr_transaction_coa_id
50309 , p_accounting_coa_id => l_adr_accounting_coa_id
50310 , p_flexfield_segment_code => l_adr_flexfield_segment_code
50312 , p_adr_code => 'AP_DISCOUNT_BAL_ACCT_SEG'
50313 , p_adr_type_code => 'S'
50314 , p_component_type => l_component_type
50315 , p_component_code => l_component_code
50316 , p_component_type_code => l_component_type_code
50317 , p_component_appl_id => l_component_appl_id
50318 , p_amb_context_code => l_amb_context_code
50319 , p_entity_code => 'AP_PAYMENTS'
50320 , p_event_class_code => 'REFUNDS'
50321 , p_side => 'NA'
50322 );
50323
50324 END IF;
50325
50326 l_segment := AcctDerRule_7(
50327 p_application_id => p_application_id
50328 , p_ae_header_id => l_ae_header_id
50329 , p_source_15 => p_source_15
50330 , p_source_15_meaning => p_source_15_meaning
50331 , p_source_18 => p_source_18
50332 , p_source_19 => p_source_19
50333 , p_source_19_meaning => p_source_19_meaning
50334 , x_transaction_coa_id => l_adr_transaction_coa_id
50335 , x_accounting_coa_id => l_adr_accounting_coa_id
50336 , x_flexfield_segment_code => l_adr_flexfield_segment_code
50337 , x_flex_value_set_id => l_adr_flex_value_set_id
50338 , x_value_type_code => l_adr_value_type_code
50339 , x_value_combination_id => l_adr_value_combination_id
50340 , x_value_segment_code => l_adr_value_segment_code
50341 , p_side => 'NA'
50342 , p_override_seg_flag => 'Y'
50343 );
50344
50345 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
50346
50347 xla_ae_lines_pkg.set_segment(
50348 p_to_segment_code => 'GL_ACCOUNT'
50349 , p_segment_value => l_segment
50350 , p_from_segment_code => l_adr_value_segment_code
50351 , p_from_combination_id => l_adr_value_combination_id
50352 , p_value_type_code => l_adr_value_type_code
50353 , p_transaction_coa_id => l_adr_transaction_coa_id
50354 , p_accounting_coa_id => l_adr_accounting_coa_id
50355 , p_flexfield_segment_code => l_adr_flexfield_segment_code
50356 , p_flex_value_set_id => l_adr_flex_value_set_id
50357 , p_adr_code => 'AP_DISCOUNT_NAT_ACCT_SEG'
50358 , p_adr_type_code => 'S'
50359 , p_component_type => l_component_type
50360 , p_component_code => l_component_code
50361 , p_component_type_code => l_component_type_code
50362 , p_component_appl_id => l_component_appl_id
50363 , p_amb_context_code => l_amb_context_code
50364 , p_entity_code => 'AP_PAYMENTS'
50365 , p_event_class_code => 'REFUNDS'
50366 , p_side => 'NA'
50367 );
50368
50369 END IF;
50370
50371 --
50372 --
50373 END IF;
50374
50375 --
50376 -- Update the line information that should be overwritten
50377 --
50378 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
50379 p_header_num => 1);
50380 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
50381
50382 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
50383
50384 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
50385 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
50386 END IF;
50387
50388 --
50389 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
50390 --
50391 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
50392 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
50393 ELSE
50394 ---------------------------------------------------------------------------------------------------
50395 -- 4262811a Switch Sign
50396 ---------------------------------------------------------------------------------------------------
50397 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
50398 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
50399 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
50400 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
50401 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
50402 -- 5132302
50403 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
50404 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
50405
50406 END IF;
50407
50408 -- 4955764
50409 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
50410 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
50411
50412
50416 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
50413 XLA_AE_LINES_PKG.ValidateCurrentLine;
50414 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
50415
50417 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
50418 ,p_balance_type_code => l_balance_type_code);
50419
50420 END IF;
50421
50422 -----------------------------------------------------------------------------------------
50423 -- 4262811 Multiperiod Accounting
50424 -----------------------------------------------------------------------------------------
50425 -- No MPA option is assigned.
50426
50427
50428 END IF;
50429 END IF;
50430 --
50431
50432 --
50433 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
50434 trace
50435 (p_msg => 'END of AcctLineType_106'
50436 ,p_level => C_LEVEL_PROCEDURE
50437 ,p_module => l_log_module);
50438 END IF;
50439 --
50440 EXCEPTION
50441 WHEN xla_exceptions_pkg.application_exception THEN
50442 RAISE;
50443 WHEN OTHERS THEN
50444 xla_exceptions_pkg.raise_message
50445 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_106');
50446 END AcctLineType_106;
50447 --
50448
50449 ---------------------------------------
50450 --
50451 -- PRIVATE FUNCTION
50452 -- AcctLineType_107
50453 --
50454 ---------------------------------------
50455 PROCEDURE AcctLineType_107 (
50456 p_application_id IN NUMBER
50457 ,p_event_id IN NUMBER
50458 ,p_calculate_acctd_flag IN VARCHAR2
50459 ,p_calculate_g_l_flag IN VARCHAR2
50460 ,p_actual_flag IN OUT VARCHAR2
50461 ,p_balance_type_code OUT VARCHAR2
50462 ,p_gain_or_loss_ref OUT VARCHAR2
50463
50464 --Invoice Distribution Description
50465 , p_source_1 IN VARCHAR2
50466 --Automatic Offsets Value
50467 , p_source_15 IN VARCHAR2
50468 , p_source_15_meaning IN VARCHAR2
50469 --Purchase Order Rate Variance Gain Account
50470 , p_source_20 IN NUMBER
50471 --Invoice Distribution Ledger Amount
50472 , p_source_21 IN NUMBER
50473 --Destination Type of the PO Distribution
50474 , p_source_22 IN VARCHAR2
50475 , p_source_22_meaning IN VARCHAR2
50476 --Purchase Order Rate Variance Loss Account
50477 , p_source_23 IN NUMBER
50478 --Invoice Distribution Account
50479 , p_source_30 IN NUMBER
50480 --Invoice Distribution Type
50481 , p_source_33 IN VARCHAR2
50482 , p_source_33_meaning IN VARCHAR2
50483 --Automatic Offsets Flag
50484 , p_source_47 IN VARCHAR2
50485 , p_source_47_meaning IN VARCHAR2
50486 --Accounting Reversal Indicator
50487 , p_source_53 IN VARCHAR2
50488 --Distribution Link Type
50489 , p_source_55 IN VARCHAR2
50490 --Allocation to Main Distribution Identifier
50491 , p_source_57 IN NUMBER
50492 --Invoice Identifier
50493 , p_source_58 IN NUMBER
50494 --Invoice Distribution Identifier
50495 , p_source_64 IN NUMBER
50496 --Payables Encumbrance Upgrade Credit Account
50497 , p_source_65 IN NUMBER
50498 --Payables Encumbrance Upgrade Credit Amount
50499 , p_source_66 IN NUMBER
50500 --Invoice Currency Code
50501 , p_source_67 IN VARCHAR2
50502 --Payables Encumbrance Upgrade Credit Base Amount
50503 , p_source_68 IN NUMBER
50504 --Payables Encumbrance Upgrade Debit Account
50505 , p_source_69 IN NUMBER
50506 --Payables Encumbrance Upgrade Debit Amount
50507 , p_source_70 IN NUMBER
50508 --Payables Encumbrance Upgrade Debit Base Amount
50509 , p_source_71 IN NUMBER
50510 --Payables Encumbrance Upgrade Option
50511 , p_source_72 IN VARCHAR2
50512 --Invoice Distribution Amount
50513 , p_source_73 IN NUMBER
50514 --Deferred Accounting End Date
50515 , p_source_77 IN DATE
50516 --Deferred Accounting Option
50517 , p_source_78 IN VARCHAR2
50518 --Deferred Accounting Start Date
50519 , p_source_79 IN DATE
50520 --Override Accounted Amount Indicator
50521 , p_source_80 IN VARCHAR2
50522 , p_source_80_meaning IN VARCHAR2
50523 --Invoice Supplier Identifier
50524 , p_source_81 IN NUMBER
50525 --Invoice Supplier Site Identifier
50526 , p_source_82 IN NUMBER
50527 --Third Party Type
50528 , p_source_83 IN VARCHAR2
50529 --Parent Reversal Identifier
50530 , p_source_84 IN NUMBER
50531 --Invoice Distribution Statistical Amount
50532 , p_source_85 IN NUMBER
50533 --Invoice Distribution Tax Line Identifier
50534 , p_source_86 IN NUMBER
50535 --Invoice Distribution Tax Distribution Identifier from Tax
50536 , p_source_87 IN NUMBER
50537 --Invoice Distribution Summary Tax Line Identifier
50538 , p_source_88 IN NUMBER
50539 --Payables Upgrade Credit Encumbrance Type Identifier
50540 , p_source_89 IN NUMBER
50541 --Payables Upgrade Debit Encumbrance Type Identifier
50542 , p_source_90 IN NUMBER
50543 --Business Flow Accounts Payable Application Identifier
50544 , p_source_91 IN NUMBER
50545 --Business Flow Invoice Distribution Type
50546 , p_source_92 IN VARCHAR2
50547 --Business Flow Invoice Entity Code
50551 --Business Flow Invoice Identifier
50548 , p_source_93 IN VARCHAR2
50549 --Business Flow Invoice Distribution Identifier
50550 , p_source_94 IN NUMBER
50552 , p_source_95 IN NUMBER
50553 --Accrue on Receipt Option
50554 , p_source_96 IN VARCHAR2
50555 , p_source_96_meaning IN VARCHAR2
50556 --Invoice Exchange Date
50557 , p_source_143 IN DATE
50558 --Invoice Exchange Rate
50559 , p_source_144 IN NUMBER
50560 --Invoice Exchange Rate Type
50561 , p_source_145 IN VARCHAR2
50562 )
50563 IS
50564
50565 l_component_type VARCHAR2(80);
50566 l_component_code VARCHAR2(30);
50567 l_component_type_code VARCHAR2(1);
50568 l_component_appl_id INTEGER;
50569 l_amb_context_code VARCHAR2(30);
50570 l_entity_code VARCHAR2(30);
50571 l_event_class_code VARCHAR2(30);
50572 l_ae_header_id NUMBER;
50573 l_event_type_code VARCHAR2(30);
50574 l_line_definition_code VARCHAR2(30);
50575 l_line_definition_owner_code VARCHAR2(1);
50576 --
50577 -- adr variables
50578 l_segment VARCHAR2(30);
50579 l_ccid NUMBER;
50580 l_adr_transaction_coa_id NUMBER;
50581 l_adr_accounting_coa_id NUMBER;
50582 l_adr_flexfield_segment_code VARCHAR2(30);
50583 l_adr_flex_value_set_id NUMBER;
50584 l_adr_value_type_code VARCHAR2(30);
50585 l_adr_value_combination_id NUMBER;
50586 l_adr_value_segment_code VARCHAR2(30);
50587
50588 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
50589 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
50590 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
50591 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
50592
50593 -- 4262811 Variables ------------------------------------------------------------------------------------------
50594 l_entered_amt_idx NUMBER;
50595 l_accted_amt_idx NUMBER;
50596 l_acc_rev_flag VARCHAR2(1);
50597 l_accrual_line_num NUMBER;
50598 l_tmp_amt NUMBER;
50599 l_acc_rev_natural_side_code VARCHAR2(1);
50600
50601 l_num_entries NUMBER;
50602 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
50603 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
50604 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
50605 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
50606 l_recog_line_1 NUMBER;
50607 l_recog_line_2 NUMBER;
50608
50609 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
50610 l_bflow_applied_to_amt NUMBER; -- 5132302
50611 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
50612
50613 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
50614
50615 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
50616 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
50617
50618 ---------------------------------------------------------------------------------------------------------------
50619
50620
50621 --
50622 -- bulk performance
50623 --
50624 l_balance_type_code VARCHAR2(1);
50625 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
50626 l_log_module VARCHAR2(240);
50627
50628 --
50629 -- Upgrade strategy
50630 --
50631 l_actual_upg_option VARCHAR2(1);
50632 l_enc_upg_option VARCHAR2(1);
50633
50634 --
50635 BEGIN
50636 --
50637 IF g_log_enabled THEN
50638 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_107';
50639 END IF;
50640 --
50641 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
50642
50643 trace
50644 (p_msg => 'BEGIN of AcctLineType_107'
50645 ,p_level => C_LEVEL_PROCEDURE
50646 ,p_module => l_log_module);
50647
50648 END IF;
50649 --
50650 l_component_type := 'AMB_JLT';
50651 l_component_code := 'AP_EX_RATE_VAR_CM';
50652 l_component_type_code := 'S';
50653 l_component_appl_id := 200;
50654 l_amb_context_code := 'DEFAULT';
50655 l_entity_code := 'AP_INVOICES';
50656 l_event_class_code := 'CREDIT MEMOS';
50657 l_event_type_code := 'CREDIT MEMOS_ALL';
50658 l_line_definition_owner_code := 'S';
50659 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
50660 --
50661 l_balance_type_code := 'A';
50662 l_segment := NULL;
50663 l_ccid := NULL;
50664 l_adr_transaction_coa_id := NULL;
50665 l_adr_accounting_coa_id := NULL;
50666 l_adr_flexfield_segment_code := NULL;
50667 l_adr_flex_value_set_id := NULL;
50668 l_adr_value_type_code := NULL;
50669 l_adr_value_combination_id := NULL;
50670 l_adr_value_segment_code := NULL;
50671
50672 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
50673 l_bflow_class_code := ''; -- 4219869 Business Flow
50674 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
50675 l_budgetary_control_flag := 'N';
50676
50680 l_accted_amt_idx := NULL; -- 4262811
50677 l_bflow_applied_to_amt_idx := NULL; -- 5132302
50678 l_bflow_applied_to_amt := NULL; -- 5132302
50679 l_entered_amt_idx := NULL; -- 4262811
50681 l_acc_rev_flag := NULL; -- 4262811
50682 l_accrual_line_num := NULL; -- 4262811
50683 l_tmp_amt := NULL; -- 4262811
50684 --
50685 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
50686 (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
50687 return;
50688 END IF;
50689
50690 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
50691 l_balance_type_code <> 'B' THEN
50692 IF NVL(p_source_33,'
50693 ') = 'ERV' AND
50694 NVL(p_source_96,'
50695 ') = 'Y'
50696 THEN
50697
50698 --
50699 XLA_AE_LINES_PKG.SetNewLine;
50700
50701 p_balance_type_code := l_balance_type_code;
50702 -- set the flag so later we will know whether the gain loss line needs to be created
50703
50704 IF(l_balance_type_code = 'A' ) THEN
50705 p_actual_flag :='G';
50706 END IF;
50707
50708 --
50709 -- bulk performance
50710 --
50711 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
50712 p_header_num => 0); -- 4262811
50713 --
50714 -- set accounting line options
50715 --
50716 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
50717 p_natural_side_code => 'D'
50718 , p_gain_or_loss_flag => 'Y'
50719 , p_gl_transfer_mode_code => 'S'
50720 , p_acct_entry_type_code => 'A'
50721 , p_switch_side_flag => 'Y'
50722 , p_merge_duplicate_code => 'A'
50723 );
50724 --
50725 l_acc_rev_natural_side_code := 'C'; -- 4262811
50726 --
50727 --
50728 -- set accounting line type info
50729 --
50730 xla_ae_lines_pkg.SetAcctLineType
50731 (p_component_type => l_component_type
50732 ,p_event_type_code => l_event_type_code
50733 ,p_line_definition_owner_code => l_line_definition_owner_code
50734 ,p_line_definition_code => l_line_definition_code
50735 ,p_accounting_line_code => l_component_code
50736 ,p_accounting_line_type_code => l_component_type_code
50737 ,p_accounting_line_appl_id => l_component_appl_id
50738 ,p_amb_context_code => l_amb_context_code
50739 ,p_entity_code => l_entity_code
50740 ,p_event_class_code => l_event_class_code);
50741 --
50742 -- set accounting class
50743 --
50744 xla_ae_lines_pkg.SetAcctClass(
50745 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
50746 , p_ae_header_id => l_ae_header_id
50747 );
50748
50749 --
50750 -- set rounding class
50751 --
50752 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
50753 'EXCHANGE_RATE_VARIANCE';
50754
50755 --
50756 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
50757 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
50758 --
50759 -- bulk performance
50760 --
50761 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
50762
50763 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
50764 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
50765
50766 -- 4955764
50767 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
50768 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
50769
50770 -- 4458381 Public Sector Enh
50771
50772 --
50773 -- set accounting attributes for the line type
50774 --
50775 l_entered_amt_idx := 23;
50776 l_accted_amt_idx := 28;
50777 l_bflow_applied_to_amt_idx := NULL; -- 5132302
50778 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
50779 l_rec_acct_attrs.array_char_value(1) := p_source_53;
50780 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
50781 l_rec_acct_attrs.array_num_value(2) :=
50782 xla_ae_sources_pkg.GetSystemSourceNum(
50783 p_source_code => 'XLA_EVENT_APPL_ID'
50784 , p_source_type_code => 'Y'
50785 , p_source_application_id => 602
50786 );
50787 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
50788 l_rec_acct_attrs.array_char_value(3) := p_source_55;
50789 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
50790 l_rec_acct_attrs.array_char_value(4) :=
50791 xla_ae_sources_pkg.GetSystemSourceChar(
50792 p_source_code => 'XLA_ENTITY_CODE'
50793 , p_source_type_code => 'Y'
50794 , p_source_application_id => 602
50795 );
50796 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
50797 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
50801 l_rec_acct_attrs.array_num_value(7) := p_source_91;
50798 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
50799 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
50800 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
50802 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
50803 l_rec_acct_attrs.array_char_value(8) := p_source_92;
50804 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
50805 l_rec_acct_attrs.array_char_value(9) := p_source_93;
50806 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
50807 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
50808 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
50809 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
50810 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
50811 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
50812 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
50813 l_rec_acct_attrs.array_char_value(13) := p_source_55;
50814 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
50815 l_rec_acct_attrs.array_num_value(14) := p_source_65;
50816 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
50817 l_rec_acct_attrs.array_num_value(15) := p_source_66;
50818 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
50819 l_rec_acct_attrs.array_char_value(16) := p_source_67;
50820 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
50821 l_rec_acct_attrs.array_num_value(17) := p_source_68;
50822 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
50823 l_rec_acct_attrs.array_num_value(18) := p_source_69;
50824 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
50825 l_rec_acct_attrs.array_num_value(19) := p_source_70;
50826 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
50827 l_rec_acct_attrs.array_char_value(20) := p_source_67;
50828 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
50829 l_rec_acct_attrs.array_num_value(21) := p_source_71;
50830 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
50831 l_rec_acct_attrs.array_char_value(22) := p_source_72;
50832 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
50833 l_rec_acct_attrs.array_num_value(23) := p_source_73;
50834 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
50835 l_rec_acct_attrs.array_char_value(24) := p_source_67;
50836 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
50837 l_rec_acct_attrs.array_date_value(25) := p_source_143;
50838 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
50839 l_rec_acct_attrs.array_num_value(26) := p_source_144;
50840 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
50841 l_rec_acct_attrs.array_char_value(27) := p_source_145;
50842 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
50843 l_rec_acct_attrs.array_num_value(28) := p_source_21;
50844 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
50845 l_rec_acct_attrs.array_date_value(29) := p_source_77;
50846 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
50847 l_rec_acct_attrs.array_char_value(30) := p_source_78;
50848 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
50849 l_rec_acct_attrs.array_date_value(31) := p_source_79;
50850 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
50851 l_rec_acct_attrs.array_char_value(32) := p_source_80;
50852 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
50853 l_rec_acct_attrs.array_num_value(33) := p_source_81;
50854 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
50855 l_rec_acct_attrs.array_num_value(34) := p_source_82;
50856 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
50857 l_rec_acct_attrs.array_char_value(35) := p_source_83;
50858 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
50859 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
50860 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
50861 l_rec_acct_attrs.array_char_value(37) := p_source_55;
50862 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
50863 l_rec_acct_attrs.array_num_value(38) := p_source_85;
50864 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
50865 l_rec_acct_attrs.array_num_value(39) := p_source_86;
50866 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
50867 l_rec_acct_attrs.array_num_value(40) := p_source_87;
50868 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
50869 l_rec_acct_attrs.array_num_value(41) := p_source_88;
50870 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
50871 l_rec_acct_attrs.array_num_value(42) := p_source_89;
50872 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
50873 l_rec_acct_attrs.array_num_value(43) := p_source_90;
50874
50875 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
50876 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
50877
50878 ---------------------------------------------------------------------------------------------------------------
50879 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
50880 ---------------------------------------------------------------------------------------------------------------
50884 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
50881 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
50882
50883 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
50885
50886 IF xla_accounting_cache_pkg.GetValueChar
50887 (p_source_code => 'LEDGER_CATEGORY_CODE'
50888 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
50889 AND l_bflow_method_code = 'PRIOR_ENTRY'
50890 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
50891 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
50892 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
50893 )
50894 THEN
50895 xla_ae_lines_pkg.BflowUpgEntry
50896 (p_business_method_code => l_bflow_method_code
50897 ,p_business_class_code => l_bflow_class_code
50898 ,p_balance_type => l_balance_type_code);
50899 ELSE
50900 NULL;
50901 -- No business flow processing for business flow method of NONE.
50902 END IF;
50903
50904 --
50905 -- call analytical criteria
50906 --
50907
50908 --
50909 -- call description
50910 --
50911
50912 xla_ae_lines_pkg.SetLineDescription(
50913 p_ae_header_id => l_ae_header_id
50914 ,p_description => Description_1 (
50915 p_application_id => p_application_id
50916 , p_ae_header_id => l_ae_header_id
50917 , p_source_1 => p_source_1
50918 )
50919 );
50920
50921
50922 --
50923 -- call ADRs
50924 -- Bug 4922099
50925 --
50926 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
50927 (NVL(l_actual_upg_option, 'N') = 'O') OR
50928 (NVL(l_enc_upg_option, 'N') = 'O')
50929 )
50930 THEN
50931 NULL;
50932 --
50933 --
50934
50935 l_ccid := AcctDerRule_30(
50936 p_application_id => p_application_id
50937 , p_ae_header_id => l_ae_header_id
50938 , p_source_15 => p_source_15
50939 , p_source_15_meaning => p_source_15_meaning
50940 , p_source_20 => p_source_20
50941 , p_source_21 => p_source_21
50942 , p_source_22 => p_source_22
50943 , p_source_22_meaning => p_source_22_meaning
50944 , p_source_23 => p_source_23
50945 , p_source_30 => p_source_30
50946 , p_source_47 => p_source_47
50947 , p_source_47_meaning => p_source_47_meaning
50948 , x_transaction_coa_id => l_adr_transaction_coa_id
50949 , x_accounting_coa_id => l_adr_accounting_coa_id
50950 , x_value_type_code => l_adr_value_type_code
50951 , p_side => 'NA'
50952 );
50953
50954 xla_ae_lines_pkg.set_ccid(
50955 p_code_combination_id => l_ccid
50956 , p_value_type_code => l_adr_value_type_code
50957 , p_transaction_coa_id => l_adr_transaction_coa_id
50958 , p_accounting_coa_id => l_adr_accounting_coa_id
50959 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
50960 , p_adr_type_code => 'S'
50961 , p_component_type => l_component_type
50962 , p_component_code => l_component_code
50963 , p_component_type_code => l_component_type_code
50964 , p_component_appl_id => l_component_appl_id
50965 , p_amb_context_code => l_amb_context_code
50966 , p_side => 'NA'
50967 );
50968
50969
50970 l_segment := AcctDerRule_8(
50971 p_application_id => p_application_id
50972 , p_ae_header_id => l_ae_header_id
50973 , p_source_15 => p_source_15
50974 , p_source_15_meaning => p_source_15_meaning
50975 , p_source_20 => p_source_20
50976 , p_source_21 => p_source_21
50977 , p_source_22 => p_source_22
50978 , p_source_22_meaning => p_source_22_meaning
50979 , p_source_23 => p_source_23
50980 , x_transaction_coa_id => l_adr_transaction_coa_id
50981 , x_accounting_coa_id => l_adr_accounting_coa_id
50982 , x_flexfield_segment_code => l_adr_flexfield_segment_code
50983 , x_flex_value_set_id => l_adr_flex_value_set_id
50984 , x_value_type_code => l_adr_value_type_code
50985 , x_value_combination_id => l_adr_value_combination_id
50986 , x_value_segment_code => l_adr_value_segment_code
50987 , p_side => 'NA'
50988 , p_override_seg_flag => 'Y'
50989 );
50990
50991 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
50992
50993 xla_ae_lines_pkg.set_segment(
50994 p_to_segment_code => 'GL_ACCOUNT'
50995 , p_segment_value => l_segment
50996 , p_from_segment_code => l_adr_value_segment_code
50997 , p_from_combination_id => l_adr_value_combination_id
50998 , p_value_type_code => l_adr_value_type_code
50999 , p_transaction_coa_id => l_adr_transaction_coa_id
51000 , p_accounting_coa_id => l_adr_accounting_coa_id
51001 , p_flexfield_segment_code => l_adr_flexfield_segment_code
51002 , p_flex_value_set_id => l_adr_flex_value_set_id
51003 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
51004 , p_adr_type_code => 'S'
51008 , p_component_appl_id => l_component_appl_id
51005 , p_component_type => l_component_type
51006 , p_component_code => l_component_code
51007 , p_component_type_code => l_component_type_code
51009 , p_amb_context_code => l_amb_context_code
51010 , p_entity_code => 'AP_INVOICES'
51011 , p_event_class_code => 'CREDIT MEMOS'
51012 , p_side => 'NA'
51013 );
51014
51015 END IF;
51016
51017 l_segment := AcctDerRule_23(
51018 p_application_id => p_application_id
51019 , p_ae_header_id => l_ae_header_id
51020 , p_source_15 => p_source_15
51021 , p_source_15_meaning => p_source_15_meaning
51022 , p_source_22 => p_source_22
51023 , p_source_22_meaning => p_source_22_meaning
51024 , p_source_30 => p_source_30
51025 , x_transaction_coa_id => l_adr_transaction_coa_id
51026 , x_accounting_coa_id => l_adr_accounting_coa_id
51027 , x_flexfield_segment_code => l_adr_flexfield_segment_code
51028 , x_flex_value_set_id => l_adr_flex_value_set_id
51029 , x_value_type_code => l_adr_value_type_code
51030 , x_value_combination_id => l_adr_value_combination_id
51031 , x_value_segment_code => l_adr_value_segment_code
51032 , p_side => 'NA'
51033 , p_override_seg_flag => 'Y'
51034 );
51035
51036 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
51037
51038 xla_ae_lines_pkg.set_segment(
51039 p_to_segment_code => 'GL_BALANCING'
51040 , p_segment_value => l_segment
51041 , p_from_segment_code => l_adr_value_segment_code
51042 , p_from_combination_id => l_adr_value_combination_id
51043 , p_value_type_code => l_adr_value_type_code
51044 , p_transaction_coa_id => l_adr_transaction_coa_id
51045 , p_accounting_coa_id => l_adr_accounting_coa_id
51046 , p_flexfield_segment_code => l_adr_flexfield_segment_code
51047 , p_flex_value_set_id => l_adr_flex_value_set_id
51048 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
51049 , p_adr_type_code => 'S'
51050 , p_component_type => l_component_type
51051 , p_component_code => l_component_code
51052 , p_component_type_code => l_component_type_code
51053 , p_component_appl_id => l_component_appl_id
51054 , p_amb_context_code => l_amb_context_code
51055 , p_entity_code => 'AP_INVOICES'
51056 , p_event_class_code => 'CREDIT MEMOS'
51057 , p_side => 'NA'
51058 );
51059
51060 END IF;
51061
51062 --
51063 --
51064 END IF;
51065 --
51066 -- Bug 4922099
51067 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
51068 (NVL(l_enc_upg_option, 'N') = 'O')
51069 ) AND
51070 (l_bflow_method_code = 'PRIOR_ENTRY')
51071 )
51072 THEN
51073 IF
51074 --
51075 1 = 2
51076 --
51077 THEN
51078 xla_accounting_err_pkg.build_message
51079 (p_appli_s_name => 'XLA'
51080 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
51081 ,p_token_1 => 'LINE_NUMBER'
51082 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
51083 ,p_token_2 => 'LINE_TYPE_NAME'
51084 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
51085 l_component_type
51086 ,l_component_code
51087 ,l_component_type_code
51088 ,l_component_appl_id
51089 ,l_amb_context_code
51090 ,l_entity_code
51091 ,l_event_class_code
51092 )
51093 ,p_token_3 => 'OWNER'
51094 ,p_value_3 => xla_lookups_pkg.get_meaning(
51095 p_lookup_type => 'XLA_OWNER_TYPE'
51096 ,p_lookup_code => l_component_type_code
51097 )
51098 ,p_token_4 => 'PRODUCT_NAME'
51099 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
51100 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
51101 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
51102 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
51106 IF (C_LEVEL_ERROR>= g_log_level) THEN
51103 ,p_ae_header_id => NULL
51104 );
51105
51107 trace
51108 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
51109 ,p_level => C_LEVEL_ERROR
51110 ,p_module => l_log_module);
51111 END IF;
51112 END IF;
51113 END IF;
51114 --
51115 --
51116 ------------------------------------------------------------------------------------------------
51117 -- 4219869 Business Flow
51118 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
51119 -- Prior Entry. Currently, the following code is always generated.
51120 ------------------------------------------------------------------------------------------------
51121 XLA_AE_LINES_PKG.ValidateCurrentLine;
51122
51123 ------------------------------------------------------------------------------------
51124 -- 4219869 Business Flow
51125 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
51126 ------------------------------------------------------------------------------------
51127 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
51128
51129 ----------------------------------------------------------------------------------
51130 -- 4219869 Business Flow
51131 -- Update journal entry status -- Need to generate this within IF <condition>
51132 ----------------------------------------------------------------------------------
51133 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
51134 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
51135 ,p_balance_type_code => l_balance_type_code
51136 );
51137
51138 -------------------------------------------------------------------------------------------
51139 -- 4262811 - Generate the Accrual Reversal lines
51140 -------------------------------------------------------------------------------------------
51141 BEGIN
51142 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
51143 (g_array_event(p_event_id).array_value_num('header_index'));
51144 IF l_acc_rev_flag IS NULL THEN
51145 l_acc_rev_flag := 'N';
51146 END IF;
51147 EXCEPTION
51148 WHEN OTHERS THEN
51149 l_acc_rev_flag := 'N';
51150 END;
51151 --
51152 IF (l_acc_rev_flag = 'Y') THEN
51153
51154 -- 4645092 ------------------------------------------------------------------------------
51155 -- To allow MPA report to determine if it should generate report process
51156 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
51157 ------------------------------------------------------------------------------------------
51158
51159 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
51160 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
51161 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
51162 -- call ADRs
51163 -- Bug 4922099
51164 --
51165 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
51166 (NVL(l_actual_upg_option, 'N') = 'O') OR
51167 (NVL(l_enc_upg_option, 'N') = 'O')
51168 )
51169 THEN
51170 NULL;
51171 --
51172 --
51173
51174 l_ccid := AcctDerRule_30(
51175 p_application_id => p_application_id
51176 , p_ae_header_id => l_ae_header_id
51177 , p_source_15 => p_source_15
51178 , p_source_15_meaning => p_source_15_meaning
51179 , p_source_20 => p_source_20
51180 , p_source_21 => p_source_21
51181 , p_source_22 => p_source_22
51182 , p_source_22_meaning => p_source_22_meaning
51183 , p_source_23 => p_source_23
51184 , p_source_30 => p_source_30
51185 , p_source_47 => p_source_47
51186 , p_source_47_meaning => p_source_47_meaning
51187 , x_transaction_coa_id => l_adr_transaction_coa_id
51188 , x_accounting_coa_id => l_adr_accounting_coa_id
51189 , x_value_type_code => l_adr_value_type_code
51190 , p_side => 'NA'
51191 );
51192
51193 xla_ae_lines_pkg.set_ccid(
51194 p_code_combination_id => l_ccid
51195 , p_value_type_code => l_adr_value_type_code
51196 , p_transaction_coa_id => l_adr_transaction_coa_id
51197 , p_accounting_coa_id => l_adr_accounting_coa_id
51198 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
51199 , p_adr_type_code => 'S'
51200 , p_component_type => l_component_type
51201 , p_component_code => l_component_code
51202 , p_component_type_code => l_component_type_code
51203 , p_component_appl_id => l_component_appl_id
51204 , p_amb_context_code => l_amb_context_code
51205 , p_side => 'NA'
51206 );
51207
51208
51209 l_segment := AcctDerRule_8(
51210 p_application_id => p_application_id
51211 , p_ae_header_id => l_ae_header_id
51212 , p_source_15 => p_source_15
51213 , p_source_15_meaning => p_source_15_meaning
51214 , p_source_20 => p_source_20
51215 , p_source_21 => p_source_21
51216 , p_source_22 => p_source_22
51217 , p_source_22_meaning => p_source_22_meaning
51218 , p_source_23 => p_source_23
51219 , x_transaction_coa_id => l_adr_transaction_coa_id
51223 , x_value_type_code => l_adr_value_type_code
51220 , x_accounting_coa_id => l_adr_accounting_coa_id
51221 , x_flexfield_segment_code => l_adr_flexfield_segment_code
51222 , x_flex_value_set_id => l_adr_flex_value_set_id
51224 , x_value_combination_id => l_adr_value_combination_id
51225 , x_value_segment_code => l_adr_value_segment_code
51226 , p_side => 'NA'
51227 , p_override_seg_flag => 'Y'
51228 );
51229
51230 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
51231
51232 xla_ae_lines_pkg.set_segment(
51233 p_to_segment_code => 'GL_ACCOUNT'
51234 , p_segment_value => l_segment
51235 , p_from_segment_code => l_adr_value_segment_code
51236 , p_from_combination_id => l_adr_value_combination_id
51237 , p_value_type_code => l_adr_value_type_code
51238 , p_transaction_coa_id => l_adr_transaction_coa_id
51239 , p_accounting_coa_id => l_adr_accounting_coa_id
51240 , p_flexfield_segment_code => l_adr_flexfield_segment_code
51241 , p_flex_value_set_id => l_adr_flex_value_set_id
51242 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
51243 , p_adr_type_code => 'S'
51244 , p_component_type => l_component_type
51245 , p_component_code => l_component_code
51246 , p_component_type_code => l_component_type_code
51247 , p_component_appl_id => l_component_appl_id
51248 , p_amb_context_code => l_amb_context_code
51249 , p_entity_code => 'AP_INVOICES'
51250 , p_event_class_code => 'CREDIT MEMOS'
51251 , p_side => 'NA'
51252 );
51253
51254 END IF;
51255
51256 l_segment := AcctDerRule_23(
51257 p_application_id => p_application_id
51258 , p_ae_header_id => l_ae_header_id
51259 , p_source_15 => p_source_15
51260 , p_source_15_meaning => p_source_15_meaning
51261 , p_source_22 => p_source_22
51262 , p_source_22_meaning => p_source_22_meaning
51263 , p_source_30 => p_source_30
51264 , x_transaction_coa_id => l_adr_transaction_coa_id
51265 , x_accounting_coa_id => l_adr_accounting_coa_id
51266 , x_flexfield_segment_code => l_adr_flexfield_segment_code
51267 , x_flex_value_set_id => l_adr_flex_value_set_id
51268 , x_value_type_code => l_adr_value_type_code
51269 , x_value_combination_id => l_adr_value_combination_id
51270 , x_value_segment_code => l_adr_value_segment_code
51271 , p_side => 'NA'
51272 , p_override_seg_flag => 'Y'
51273 );
51274
51275 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
51276
51277 xla_ae_lines_pkg.set_segment(
51278 p_to_segment_code => 'GL_BALANCING'
51279 , p_segment_value => l_segment
51280 , p_from_segment_code => l_adr_value_segment_code
51281 , p_from_combination_id => l_adr_value_combination_id
51282 , p_value_type_code => l_adr_value_type_code
51283 , p_transaction_coa_id => l_adr_transaction_coa_id
51284 , p_accounting_coa_id => l_adr_accounting_coa_id
51285 , p_flexfield_segment_code => l_adr_flexfield_segment_code
51286 , p_flex_value_set_id => l_adr_flex_value_set_id
51287 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
51288 , p_adr_type_code => 'S'
51289 , p_component_type => l_component_type
51290 , p_component_code => l_component_code
51291 , p_component_type_code => l_component_type_code
51292 , p_component_appl_id => l_component_appl_id
51293 , p_amb_context_code => l_amb_context_code
51294 , p_entity_code => 'AP_INVOICES'
51295 , p_event_class_code => 'CREDIT MEMOS'
51296 , p_side => 'NA'
51297 );
51298
51299 END IF;
51300
51301 --
51302 --
51303 END IF;
51304
51305 --
51306 -- Update the line information that should be overwritten
51307 --
51308 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
51309 p_header_num => 1);
51310 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
51311
51312 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
51313
51314 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
51315 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
51316 END IF;
51317
51318 --
51319 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
51320 --
51321 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
51322 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
51323 ELSE
51324 ---------------------------------------------------------------------------------------------------
51325 -- 4262811a Switch Sign
51329 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
51326 ---------------------------------------------------------------------------------------------------
51327 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
51328 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
51330 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
51331 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
51332 -- 5132302
51333 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
51334 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
51335
51336 END IF;
51337
51338 -- 4955764
51339 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
51340 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
51341
51342
51343 XLA_AE_LINES_PKG.ValidateCurrentLine;
51344 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
51345
51346 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
51347 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
51348 ,p_balance_type_code => l_balance_type_code);
51349
51350 END IF;
51351
51352 -----------------------------------------------------------------------------------------
51353 -- 4262811 Multiperiod Accounting
51354 -----------------------------------------------------------------------------------------
51355 -- No MPA option is assigned.
51356
51357
51358 END IF;
51359 END IF;
51360 --
51361
51362 --
51363 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
51364 trace
51365 (p_msg => 'END of AcctLineType_107'
51366 ,p_level => C_LEVEL_PROCEDURE
51367 ,p_module => l_log_module);
51368 END IF;
51369 --
51370 EXCEPTION
51371 WHEN xla_exceptions_pkg.application_exception THEN
51372 RAISE;
51373 WHEN OTHERS THEN
51374 xla_exceptions_pkg.raise_message
51375 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_107');
51376 END AcctLineType_107;
51377 --
51378
51379 ---------------------------------------
51380 --
51381 -- PRIVATE FUNCTION
51382 -- AcctLineType_108
51383 --
51384 ---------------------------------------
51385 PROCEDURE AcctLineType_108 (
51386 p_application_id IN NUMBER
51387 ,p_event_id IN NUMBER
51388 ,p_calculate_acctd_flag IN VARCHAR2
51389 ,p_calculate_g_l_flag IN VARCHAR2
51390 ,p_actual_flag IN OUT VARCHAR2
51391 ,p_balance_type_code OUT VARCHAR2
51392 ,p_gain_or_loss_ref OUT VARCHAR2
51393
51394 --Invoice Distribution Description
51395 , p_source_1 IN VARCHAR2
51396 --Automatic Offsets Value
51397 , p_source_15 IN VARCHAR2
51398 , p_source_15_meaning IN VARCHAR2
51399 --Purchase Order Rate Variance Gain Account
51400 , p_source_20 IN NUMBER
51401 --Invoice Distribution Ledger Amount
51402 , p_source_21 IN NUMBER
51403 --Destination Type of the PO Distribution
51404 , p_source_22 IN VARCHAR2
51405 , p_source_22_meaning IN VARCHAR2
51406 --Purchase Order Rate Variance Loss Account
51407 , p_source_23 IN NUMBER
51408 --Invoice Distribution Account
51409 , p_source_30 IN NUMBER
51410 --Invoice Distribution Type
51411 , p_source_33 IN VARCHAR2
51412 , p_source_33_meaning IN VARCHAR2
51413 --Automatic Offsets Flag
51414 , p_source_47 IN VARCHAR2
51415 , p_source_47_meaning IN VARCHAR2
51416 --Accounting Reversal Indicator
51417 , p_source_53 IN VARCHAR2
51418 --Distribution Link Type
51419 , p_source_55 IN VARCHAR2
51420 --Allocation to Main Distribution Identifier
51421 , p_source_57 IN NUMBER
51422 --Invoice Identifier
51423 , p_source_58 IN NUMBER
51424 --Invoice Distribution Identifier
51425 , p_source_64 IN NUMBER
51426 --Payables Encumbrance Upgrade Credit Account
51427 , p_source_65 IN NUMBER
51428 --Payables Encumbrance Upgrade Credit Amount
51429 , p_source_66 IN NUMBER
51430 --Invoice Currency Code
51431 , p_source_67 IN VARCHAR2
51432 --Payables Encumbrance Upgrade Credit Base Amount
51433 , p_source_68 IN NUMBER
51434 --Payables Encumbrance Upgrade Debit Account
51435 , p_source_69 IN NUMBER
51436 --Payables Encumbrance Upgrade Debit Amount
51437 , p_source_70 IN NUMBER
51438 --Payables Encumbrance Upgrade Debit Base Amount
51439 , p_source_71 IN NUMBER
51440 --Payables Encumbrance Upgrade Option
51441 , p_source_72 IN VARCHAR2
51442 --Invoice Distribution Amount
51443 , p_source_73 IN NUMBER
51444 --Deferred Accounting End Date
51445 , p_source_77 IN DATE
51446 --Deferred Accounting Option
51447 , p_source_78 IN VARCHAR2
51448 --Deferred Accounting Start Date
51449 , p_source_79 IN DATE
51450 --Override Accounted Amount Indicator
51451 , p_source_80 IN VARCHAR2
51452 , p_source_80_meaning IN VARCHAR2
51456 , p_source_82 IN NUMBER
51453 --Invoice Supplier Identifier
51454 , p_source_81 IN NUMBER
51455 --Invoice Supplier Site Identifier
51457 --Third Party Type
51458 , p_source_83 IN VARCHAR2
51459 --Parent Reversal Identifier
51460 , p_source_84 IN NUMBER
51461 --Invoice Distribution Tax Line Identifier
51462 , p_source_86 IN NUMBER
51463 --Invoice Distribution Tax Distribution Identifier from Tax
51464 , p_source_87 IN NUMBER
51465 --Invoice Distribution Summary Tax Line Identifier
51466 , p_source_88 IN NUMBER
51467 --Payables Upgrade Credit Encumbrance Type Identifier
51468 , p_source_89 IN NUMBER
51469 --Payables Upgrade Debit Encumbrance Type Identifier
51470 , p_source_90 IN NUMBER
51471 --Business Flow Accounts Payable Application Identifier
51472 , p_source_91 IN NUMBER
51473 --Business Flow Invoice Distribution Type
51474 , p_source_92 IN VARCHAR2
51475 --Business Flow Invoice Entity Code
51476 , p_source_93 IN VARCHAR2
51477 --Business Flow Invoice Distribution Identifier
51478 , p_source_94 IN NUMBER
51479 --Business Flow Invoice Identifier
51480 , p_source_95 IN NUMBER
51481 --Accrue on Receipt Option
51482 , p_source_96 IN VARCHAR2
51483 , p_source_96_meaning IN VARCHAR2
51484 --Invoice Exchange Date
51485 , p_source_143 IN DATE
51486 --Invoice Exchange Rate
51487 , p_source_144 IN NUMBER
51488 --Invoice Exchange Rate Type
51489 , p_source_145 IN VARCHAR2
51490 )
51491 IS
51492
51493 l_component_type VARCHAR2(80);
51494 l_component_code VARCHAR2(30);
51495 l_component_type_code VARCHAR2(1);
51496 l_component_appl_id INTEGER;
51497 l_amb_context_code VARCHAR2(30);
51498 l_entity_code VARCHAR2(30);
51499 l_event_class_code VARCHAR2(30);
51500 l_ae_header_id NUMBER;
51501 l_event_type_code VARCHAR2(30);
51502 l_line_definition_code VARCHAR2(30);
51503 l_line_definition_owner_code VARCHAR2(1);
51504 --
51505 -- adr variables
51506 l_segment VARCHAR2(30);
51507 l_ccid NUMBER;
51508 l_adr_transaction_coa_id NUMBER;
51509 l_adr_accounting_coa_id NUMBER;
51510 l_adr_flexfield_segment_code VARCHAR2(30);
51511 l_adr_flex_value_set_id NUMBER;
51512 l_adr_value_type_code VARCHAR2(30);
51513 l_adr_value_combination_id NUMBER;
51514 l_adr_value_segment_code VARCHAR2(30);
51515
51516 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
51517 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
51518 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
51519 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
51520
51521 -- 4262811 Variables ------------------------------------------------------------------------------------------
51522 l_entered_amt_idx NUMBER;
51523 l_accted_amt_idx NUMBER;
51524 l_acc_rev_flag VARCHAR2(1);
51525 l_accrual_line_num NUMBER;
51526 l_tmp_amt NUMBER;
51527 l_acc_rev_natural_side_code VARCHAR2(1);
51528
51529 l_num_entries NUMBER;
51530 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
51531 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
51532 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
51533 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
51534 l_recog_line_1 NUMBER;
51535 l_recog_line_2 NUMBER;
51536
51537 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
51538 l_bflow_applied_to_amt NUMBER; -- 5132302
51539 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
51540
51541 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
51542
51543 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
51544 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
51545
51546 ---------------------------------------------------------------------------------------------------------------
51547
51548
51549 --
51550 -- bulk performance
51551 --
51552 l_balance_type_code VARCHAR2(1);
51553 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
51554 l_log_module VARCHAR2(240);
51555
51556 --
51557 -- Upgrade strategy
51558 --
51559 l_actual_upg_option VARCHAR2(1);
51560 l_enc_upg_option VARCHAR2(1);
51561
51562 --
51563 BEGIN
51564 --
51565 IF g_log_enabled THEN
51566 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_108';
51567 END IF;
51568 --
51569 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
51570
51571 trace
51572 (p_msg => 'BEGIN of AcctLineType_108'
51573 ,p_level => C_LEVEL_PROCEDURE
51574 ,p_module => l_log_module);
51575
51576 END IF;
51577 --
51578 l_component_type := 'AMB_JLT';
51579 l_component_code := 'AP_EX_RATE_VAR_DM';
51580 l_component_type_code := 'S';
51581 l_component_appl_id := 200;
51582 l_amb_context_code := 'DEFAULT';
51586 l_line_definition_owner_code := 'S';
51583 l_entity_code := 'AP_INVOICES';
51584 l_event_class_code := 'DEBIT MEMOS';
51585 l_event_type_code := 'DEBIT MEMOS_ALL';
51587 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
51588 --
51589 l_balance_type_code := 'A';
51590 l_segment := NULL;
51591 l_ccid := NULL;
51592 l_adr_transaction_coa_id := NULL;
51593 l_adr_accounting_coa_id := NULL;
51594 l_adr_flexfield_segment_code := NULL;
51595 l_adr_flex_value_set_id := NULL;
51596 l_adr_value_type_code := NULL;
51597 l_adr_value_combination_id := NULL;
51598 l_adr_value_segment_code := NULL;
51599
51600 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
51601 l_bflow_class_code := ''; -- 4219869 Business Flow
51602 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
51603 l_budgetary_control_flag := 'N';
51604
51605 l_bflow_applied_to_amt_idx := NULL; -- 5132302
51606 l_bflow_applied_to_amt := NULL; -- 5132302
51607 l_entered_amt_idx := NULL; -- 4262811
51608 l_accted_amt_idx := NULL; -- 4262811
51609 l_acc_rev_flag := NULL; -- 4262811
51610 l_accrual_line_num := NULL; -- 4262811
51611 l_tmp_amt := NULL; -- 4262811
51612 --
51613 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
51614 (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
51615 return;
51616 END IF;
51617
51618 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
51619 l_balance_type_code <> 'B' THEN
51620 IF NVL(p_source_33,'
51621 ') = 'ERV' AND
51622 NVL(p_source_96,'
51623 ') = 'Y'
51624 THEN
51625
51626 --
51627 XLA_AE_LINES_PKG.SetNewLine;
51628
51629 p_balance_type_code := l_balance_type_code;
51630 -- set the flag so later we will know whether the gain loss line needs to be created
51631
51632 IF(l_balance_type_code = 'A' ) THEN
51633 p_actual_flag :='G';
51634 END IF;
51635
51636 --
51637 -- bulk performance
51638 --
51639 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
51640 p_header_num => 0); -- 4262811
51641 --
51642 -- set accounting line options
51643 --
51644 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
51645 p_natural_side_code => 'D'
51646 , p_gain_or_loss_flag => 'Y'
51647 , p_gl_transfer_mode_code => 'S'
51648 , p_acct_entry_type_code => 'A'
51649 , p_switch_side_flag => 'Y'
51650 , p_merge_duplicate_code => 'A'
51651 );
51652 --
51653 l_acc_rev_natural_side_code := 'C'; -- 4262811
51654 --
51655 --
51656 -- set accounting line type info
51657 --
51658 xla_ae_lines_pkg.SetAcctLineType
51659 (p_component_type => l_component_type
51660 ,p_event_type_code => l_event_type_code
51661 ,p_line_definition_owner_code => l_line_definition_owner_code
51662 ,p_line_definition_code => l_line_definition_code
51663 ,p_accounting_line_code => l_component_code
51664 ,p_accounting_line_type_code => l_component_type_code
51665 ,p_accounting_line_appl_id => l_component_appl_id
51666 ,p_amb_context_code => l_amb_context_code
51667 ,p_entity_code => l_entity_code
51668 ,p_event_class_code => l_event_class_code);
51669 --
51670 -- set accounting class
51671 --
51672 xla_ae_lines_pkg.SetAcctClass(
51673 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
51674 , p_ae_header_id => l_ae_header_id
51675 );
51676
51677 --
51678 -- set rounding class
51679 --
51680 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
51681 'EXCHANGE_RATE_VARIANCE';
51682
51683 --
51684 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
51685 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
51686 --
51687 -- bulk performance
51688 --
51689 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
51690
51691 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
51692 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
51693
51694 -- 4955764
51695 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
51696 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
51697
51698 -- 4458381 Public Sector Enh
51699
51700 --
51701 -- set accounting attributes for the line type
51702 --
51703 l_entered_amt_idx := 23;
51704 l_accted_amt_idx := 28;
51705 l_bflow_applied_to_amt_idx := NULL; -- 5132302
51706 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
51707 l_rec_acct_attrs.array_char_value(1) := p_source_53;
51711 p_source_code => 'XLA_EVENT_APPL_ID'
51708 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
51709 l_rec_acct_attrs.array_num_value(2) :=
51710 xla_ae_sources_pkg.GetSystemSourceNum(
51712 , p_source_type_code => 'Y'
51713 , p_source_application_id => 602
51714 );
51715 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
51716 l_rec_acct_attrs.array_char_value(3) := p_source_55;
51717 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
51718 l_rec_acct_attrs.array_char_value(4) :=
51719 xla_ae_sources_pkg.GetSystemSourceChar(
51720 p_source_code => 'XLA_ENTITY_CODE'
51721 , p_source_type_code => 'Y'
51722 , p_source_application_id => 602
51723 );
51724 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
51725 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
51726 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
51727 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
51728 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
51729 l_rec_acct_attrs.array_num_value(7) := p_source_91;
51730 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
51731 l_rec_acct_attrs.array_char_value(8) := p_source_92;
51732 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
51733 l_rec_acct_attrs.array_char_value(9) := p_source_93;
51734 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
51735 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
51736 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
51737 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
51738 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
51739 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
51740 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
51741 l_rec_acct_attrs.array_char_value(13) := p_source_55;
51742 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
51743 l_rec_acct_attrs.array_num_value(14) := p_source_65;
51744 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
51745 l_rec_acct_attrs.array_num_value(15) := p_source_66;
51746 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
51747 l_rec_acct_attrs.array_char_value(16) := p_source_67;
51748 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
51749 l_rec_acct_attrs.array_num_value(17) := p_source_68;
51750 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
51751 l_rec_acct_attrs.array_num_value(18) := p_source_69;
51752 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
51753 l_rec_acct_attrs.array_num_value(19) := p_source_70;
51754 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
51755 l_rec_acct_attrs.array_char_value(20) := p_source_67;
51756 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
51757 l_rec_acct_attrs.array_num_value(21) := p_source_71;
51758 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
51759 l_rec_acct_attrs.array_char_value(22) := p_source_72;
51760 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
51761 l_rec_acct_attrs.array_num_value(23) := p_source_73;
51762 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
51763 l_rec_acct_attrs.array_char_value(24) := p_source_67;
51764 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
51765 l_rec_acct_attrs.array_date_value(25) := p_source_143;
51766 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
51767 l_rec_acct_attrs.array_num_value(26) := p_source_144;
51768 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
51769 l_rec_acct_attrs.array_char_value(27) := p_source_145;
51770 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
51771 l_rec_acct_attrs.array_num_value(28) := p_source_21;
51772 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
51773 l_rec_acct_attrs.array_date_value(29) := p_source_77;
51774 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
51775 l_rec_acct_attrs.array_char_value(30) := p_source_78;
51776 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
51777 l_rec_acct_attrs.array_date_value(31) := p_source_79;
51778 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
51779 l_rec_acct_attrs.array_char_value(32) := p_source_80;
51780 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
51781 l_rec_acct_attrs.array_num_value(33) := p_source_81;
51782 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
51783 l_rec_acct_attrs.array_num_value(34) := p_source_82;
51784 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
51785 l_rec_acct_attrs.array_char_value(35) := p_source_83;
51786 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
51787 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
51788 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
51789 l_rec_acct_attrs.array_char_value(37) := p_source_55;
51790 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
51791 l_rec_acct_attrs.array_num_value(38) := p_source_86;
51792 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
51793 l_rec_acct_attrs.array_num_value(39) := p_source_87;
51797 l_rec_acct_attrs.array_num_value(41) := p_source_89;
51794 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
51795 l_rec_acct_attrs.array_num_value(40) := p_source_88;
51796 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
51798 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
51799 l_rec_acct_attrs.array_num_value(42) := p_source_90;
51800
51801 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
51802 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
51803
51804 ---------------------------------------------------------------------------------------------------------------
51805 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
51806 ---------------------------------------------------------------------------------------------------------------
51807 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
51808
51809 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
51810 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
51811
51812 IF xla_accounting_cache_pkg.GetValueChar
51813 (p_source_code => 'LEDGER_CATEGORY_CODE'
51814 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
51815 AND l_bflow_method_code = 'PRIOR_ENTRY'
51816 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
51817 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
51818 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
51819 )
51820 THEN
51821 xla_ae_lines_pkg.BflowUpgEntry
51822 (p_business_method_code => l_bflow_method_code
51823 ,p_business_class_code => l_bflow_class_code
51824 ,p_balance_type => l_balance_type_code);
51825 ELSE
51826 NULL;
51827 -- No business flow processing for business flow method of NONE.
51828 END IF;
51829
51830 --
51831 -- call analytical criteria
51832 --
51833
51834 --
51835 -- call description
51836 --
51837
51838 xla_ae_lines_pkg.SetLineDescription(
51839 p_ae_header_id => l_ae_header_id
51840 ,p_description => Description_1 (
51841 p_application_id => p_application_id
51842 , p_ae_header_id => l_ae_header_id
51843 , p_source_1 => p_source_1
51844 )
51845 );
51846
51847
51848 --
51849 -- call ADRs
51850 -- Bug 4922099
51851 --
51852 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
51853 (NVL(l_actual_upg_option, 'N') = 'O') OR
51854 (NVL(l_enc_upg_option, 'N') = 'O')
51855 )
51856 THEN
51857 NULL;
51858 --
51859 --
51860
51861 l_ccid := AcctDerRule_30(
51862 p_application_id => p_application_id
51863 , p_ae_header_id => l_ae_header_id
51864 , p_source_15 => p_source_15
51865 , p_source_15_meaning => p_source_15_meaning
51866 , p_source_20 => p_source_20
51867 , p_source_21 => p_source_21
51868 , p_source_22 => p_source_22
51869 , p_source_22_meaning => p_source_22_meaning
51870 , p_source_23 => p_source_23
51871 , p_source_30 => p_source_30
51872 , p_source_47 => p_source_47
51873 , p_source_47_meaning => p_source_47_meaning
51874 , x_transaction_coa_id => l_adr_transaction_coa_id
51875 , x_accounting_coa_id => l_adr_accounting_coa_id
51876 , x_value_type_code => l_adr_value_type_code
51877 , p_side => 'NA'
51878 );
51879
51880 xla_ae_lines_pkg.set_ccid(
51881 p_code_combination_id => l_ccid
51882 , p_value_type_code => l_adr_value_type_code
51883 , p_transaction_coa_id => l_adr_transaction_coa_id
51884 , p_accounting_coa_id => l_adr_accounting_coa_id
51885 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
51886 , p_adr_type_code => 'S'
51887 , p_component_type => l_component_type
51888 , p_component_code => l_component_code
51889 , p_component_type_code => l_component_type_code
51890 , p_component_appl_id => l_component_appl_id
51891 , p_amb_context_code => l_amb_context_code
51892 , p_side => 'NA'
51893 );
51894
51895
51896 l_segment := AcctDerRule_8(
51897 p_application_id => p_application_id
51898 , p_ae_header_id => l_ae_header_id
51899 , p_source_15 => p_source_15
51900 , p_source_15_meaning => p_source_15_meaning
51901 , p_source_20 => p_source_20
51902 , p_source_21 => p_source_21
51903 , p_source_22 => p_source_22
51904 , p_source_22_meaning => p_source_22_meaning
51905 , p_source_23 => p_source_23
51906 , x_transaction_coa_id => l_adr_transaction_coa_id
51907 , x_accounting_coa_id => l_adr_accounting_coa_id
51908 , x_flexfield_segment_code => l_adr_flexfield_segment_code
51909 , x_flex_value_set_id => l_adr_flex_value_set_id
51910 , x_value_type_code => l_adr_value_type_code
51911 , x_value_combination_id => l_adr_value_combination_id
51912 , x_value_segment_code => l_adr_value_segment_code
51913 , p_side => 'NA'
51914 , p_override_seg_flag => 'Y'
51915 );
51916
51920 p_to_segment_code => 'GL_ACCOUNT'
51917 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
51918
51919 xla_ae_lines_pkg.set_segment(
51921 , p_segment_value => l_segment
51922 , p_from_segment_code => l_adr_value_segment_code
51923 , p_from_combination_id => l_adr_value_combination_id
51924 , p_value_type_code => l_adr_value_type_code
51925 , p_transaction_coa_id => l_adr_transaction_coa_id
51926 , p_accounting_coa_id => l_adr_accounting_coa_id
51927 , p_flexfield_segment_code => l_adr_flexfield_segment_code
51928 , p_flex_value_set_id => l_adr_flex_value_set_id
51929 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
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_entity_code => 'AP_INVOICES'
51937 , p_event_class_code => 'DEBIT MEMOS'
51938 , p_side => 'NA'
51939 );
51940
51941 END IF;
51942
51943 l_segment := AcctDerRule_23(
51944 p_application_id => p_application_id
51945 , p_ae_header_id => l_ae_header_id
51946 , p_source_15 => p_source_15
51947 , p_source_15_meaning => p_source_15_meaning
51948 , p_source_22 => p_source_22
51949 , p_source_22_meaning => p_source_22_meaning
51950 , p_source_30 => p_source_30
51951 , x_transaction_coa_id => l_adr_transaction_coa_id
51952 , x_accounting_coa_id => l_adr_accounting_coa_id
51953 , x_flexfield_segment_code => l_adr_flexfield_segment_code
51954 , x_flex_value_set_id => l_adr_flex_value_set_id
51955 , x_value_type_code => l_adr_value_type_code
51956 , x_value_combination_id => l_adr_value_combination_id
51957 , x_value_segment_code => l_adr_value_segment_code
51958 , p_side => 'NA'
51959 , p_override_seg_flag => 'Y'
51960 );
51961
51962 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
51963
51964 xla_ae_lines_pkg.set_segment(
51965 p_to_segment_code => 'GL_BALANCING'
51966 , p_segment_value => l_segment
51967 , p_from_segment_code => l_adr_value_segment_code
51968 , p_from_combination_id => l_adr_value_combination_id
51969 , p_value_type_code => l_adr_value_type_code
51970 , p_transaction_coa_id => l_adr_transaction_coa_id
51971 , p_accounting_coa_id => l_adr_accounting_coa_id
51972 , p_flexfield_segment_code => l_adr_flexfield_segment_code
51973 , p_flex_value_set_id => l_adr_flex_value_set_id
51974 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
51975 , p_adr_type_code => 'S'
51976 , p_component_type => l_component_type
51977 , p_component_code => l_component_code
51978 , p_component_type_code => l_component_type_code
51979 , p_component_appl_id => l_component_appl_id
51980 , p_amb_context_code => l_amb_context_code
51981 , p_entity_code => 'AP_INVOICES'
51982 , p_event_class_code => 'DEBIT MEMOS'
51983 , p_side => 'NA'
51984 );
51985
51986 END IF;
51987
51988 --
51989 --
51990 END IF;
51991 --
51992 -- Bug 4922099
51993 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
51994 (NVL(l_enc_upg_option, 'N') = 'O')
51995 ) AND
51996 (l_bflow_method_code = 'PRIOR_ENTRY')
51997 )
51998 THEN
51999 IF
52000 --
52001 1 = 2
52002 --
52003 THEN
52004 xla_accounting_err_pkg.build_message
52005 (p_appli_s_name => 'XLA'
52006 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
52007 ,p_token_1 => 'LINE_NUMBER'
52008 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
52009 ,p_token_2 => 'LINE_TYPE_NAME'
52010 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
52011 l_component_type
52012 ,l_component_code
52013 ,l_component_type_code
52014 ,l_component_appl_id
52015 ,l_amb_context_code
52016 ,l_entity_code
52017 ,l_event_class_code
52018 )
52019 ,p_token_3 => 'OWNER'
52023 )
52020 ,p_value_3 => xla_lookups_pkg.get_meaning(
52021 p_lookup_type => 'XLA_OWNER_TYPE'
52022 ,p_lookup_code => l_component_type_code
52024 ,p_token_4 => 'PRODUCT_NAME'
52025 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
52026 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
52027 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
52028 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
52029 ,p_ae_header_id => NULL
52030 );
52031
52032 IF (C_LEVEL_ERROR>= g_log_level) THEN
52033 trace
52034 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
52035 ,p_level => C_LEVEL_ERROR
52036 ,p_module => l_log_module);
52037 END IF;
52038 END IF;
52039 END IF;
52040 --
52041 --
52042 ------------------------------------------------------------------------------------------------
52043 -- 4219869 Business Flow
52044 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
52045 -- Prior Entry. Currently, the following code is always generated.
52046 ------------------------------------------------------------------------------------------------
52047 XLA_AE_LINES_PKG.ValidateCurrentLine;
52048
52049 ------------------------------------------------------------------------------------
52050 -- 4219869 Business Flow
52051 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
52052 ------------------------------------------------------------------------------------
52053 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
52054
52055 ----------------------------------------------------------------------------------
52056 -- 4219869 Business Flow
52057 -- Update journal entry status -- Need to generate this within IF <condition>
52058 ----------------------------------------------------------------------------------
52059 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
52060 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
52061 ,p_balance_type_code => l_balance_type_code
52062 );
52063
52064 -------------------------------------------------------------------------------------------
52065 -- 4262811 - Generate the Accrual Reversal lines
52066 -------------------------------------------------------------------------------------------
52067 BEGIN
52068 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
52069 (g_array_event(p_event_id).array_value_num('header_index'));
52070 IF l_acc_rev_flag IS NULL THEN
52071 l_acc_rev_flag := 'N';
52072 END IF;
52073 EXCEPTION
52074 WHEN OTHERS THEN
52075 l_acc_rev_flag := 'N';
52076 END;
52077 --
52078 IF (l_acc_rev_flag = 'Y') THEN
52079
52080 -- 4645092 ------------------------------------------------------------------------------
52081 -- To allow MPA report to determine if it should generate report process
52082 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
52083 ------------------------------------------------------------------------------------------
52084
52085 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
52086 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
52087 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
52088 -- call ADRs
52089 -- Bug 4922099
52090 --
52091 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
52092 (NVL(l_actual_upg_option, 'N') = 'O') OR
52093 (NVL(l_enc_upg_option, 'N') = 'O')
52094 )
52095 THEN
52096 NULL;
52097 --
52098 --
52099
52100 l_ccid := AcctDerRule_30(
52101 p_application_id => p_application_id
52102 , p_ae_header_id => l_ae_header_id
52103 , p_source_15 => p_source_15
52104 , p_source_15_meaning => p_source_15_meaning
52105 , p_source_20 => p_source_20
52106 , p_source_21 => p_source_21
52107 , p_source_22 => p_source_22
52108 , p_source_22_meaning => p_source_22_meaning
52109 , p_source_23 => p_source_23
52110 , p_source_30 => p_source_30
52111 , p_source_47 => p_source_47
52112 , p_source_47_meaning => p_source_47_meaning
52113 , x_transaction_coa_id => l_adr_transaction_coa_id
52114 , x_accounting_coa_id => l_adr_accounting_coa_id
52115 , x_value_type_code => l_adr_value_type_code
52116 , p_side => 'NA'
52117 );
52118
52119 xla_ae_lines_pkg.set_ccid(
52120 p_code_combination_id => l_ccid
52121 , p_value_type_code => l_adr_value_type_code
52122 , p_transaction_coa_id => l_adr_transaction_coa_id
52123 , p_accounting_coa_id => l_adr_accounting_coa_id
52127 , p_component_code => l_component_code
52124 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
52125 , p_adr_type_code => 'S'
52126 , p_component_type => l_component_type
52128 , p_component_type_code => l_component_type_code
52129 , p_component_appl_id => l_component_appl_id
52130 , p_amb_context_code => l_amb_context_code
52131 , p_side => 'NA'
52132 );
52133
52134
52135 l_segment := AcctDerRule_8(
52136 p_application_id => p_application_id
52137 , p_ae_header_id => l_ae_header_id
52138 , p_source_15 => p_source_15
52139 , p_source_15_meaning => p_source_15_meaning
52140 , p_source_20 => p_source_20
52141 , p_source_21 => p_source_21
52142 , p_source_22 => p_source_22
52143 , p_source_22_meaning => p_source_22_meaning
52144 , p_source_23 => p_source_23
52145 , x_transaction_coa_id => l_adr_transaction_coa_id
52146 , x_accounting_coa_id => l_adr_accounting_coa_id
52147 , x_flexfield_segment_code => l_adr_flexfield_segment_code
52148 , x_flex_value_set_id => l_adr_flex_value_set_id
52149 , x_value_type_code => l_adr_value_type_code
52150 , x_value_combination_id => l_adr_value_combination_id
52151 , x_value_segment_code => l_adr_value_segment_code
52152 , p_side => 'NA'
52153 , p_override_seg_flag => 'Y'
52154 );
52155
52156 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
52157
52158 xla_ae_lines_pkg.set_segment(
52159 p_to_segment_code => 'GL_ACCOUNT'
52160 , p_segment_value => l_segment
52161 , p_from_segment_code => l_adr_value_segment_code
52162 , p_from_combination_id => l_adr_value_combination_id
52163 , p_value_type_code => l_adr_value_type_code
52164 , p_transaction_coa_id => l_adr_transaction_coa_id
52165 , p_accounting_coa_id => l_adr_accounting_coa_id
52166 , p_flexfield_segment_code => l_adr_flexfield_segment_code
52167 , p_flex_value_set_id => l_adr_flex_value_set_id
52168 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
52169 , p_adr_type_code => 'S'
52170 , p_component_type => l_component_type
52171 , p_component_code => l_component_code
52172 , p_component_type_code => l_component_type_code
52173 , p_component_appl_id => l_component_appl_id
52174 , p_amb_context_code => l_amb_context_code
52175 , p_entity_code => 'AP_INVOICES'
52176 , p_event_class_code => 'DEBIT MEMOS'
52177 , p_side => 'NA'
52178 );
52179
52180 END IF;
52181
52182 l_segment := AcctDerRule_23(
52183 p_application_id => p_application_id
52184 , p_ae_header_id => l_ae_header_id
52185 , p_source_15 => p_source_15
52186 , p_source_15_meaning => p_source_15_meaning
52187 , p_source_22 => p_source_22
52188 , p_source_22_meaning => p_source_22_meaning
52189 , p_source_30 => p_source_30
52190 , x_transaction_coa_id => l_adr_transaction_coa_id
52191 , x_accounting_coa_id => l_adr_accounting_coa_id
52192 , x_flexfield_segment_code => l_adr_flexfield_segment_code
52193 , x_flex_value_set_id => l_adr_flex_value_set_id
52194 , x_value_type_code => l_adr_value_type_code
52195 , x_value_combination_id => l_adr_value_combination_id
52196 , x_value_segment_code => l_adr_value_segment_code
52197 , p_side => 'NA'
52198 , p_override_seg_flag => 'Y'
52199 );
52200
52201 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
52202
52203 xla_ae_lines_pkg.set_segment(
52204 p_to_segment_code => 'GL_BALANCING'
52205 , p_segment_value => l_segment
52206 , p_from_segment_code => l_adr_value_segment_code
52207 , p_from_combination_id => l_adr_value_combination_id
52208 , p_value_type_code => l_adr_value_type_code
52209 , p_transaction_coa_id => l_adr_transaction_coa_id
52210 , p_accounting_coa_id => l_adr_accounting_coa_id
52211 , p_flexfield_segment_code => l_adr_flexfield_segment_code
52212 , p_flex_value_set_id => l_adr_flex_value_set_id
52213 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
52214 , p_adr_type_code => 'S'
52215 , p_component_type => l_component_type
52216 , p_component_code => l_component_code
52217 , p_component_type_code => l_component_type_code
52218 , p_component_appl_id => l_component_appl_id
52219 , p_amb_context_code => l_amb_context_code
52220 , p_entity_code => 'AP_INVOICES'
52221 , p_event_class_code => 'DEBIT MEMOS'
52222 , p_side => 'NA'
52223 );
52224
52225 END IF;
52226
52227 --
52228 --
52229 END IF;
52230
52231 --
52232 -- Update the line information that should be overwritten
52233 --
52234 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
52238 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
52235 p_header_num => 1);
52236 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
52237
52239
52240 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
52241 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
52242 END IF;
52243
52244 --
52245 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
52246 --
52247 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
52248 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
52249 ELSE
52250 ---------------------------------------------------------------------------------------------------
52251 -- 4262811a Switch Sign
52252 ---------------------------------------------------------------------------------------------------
52253 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
52254 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
52255 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
52256 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
52257 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
52258 -- 5132302
52259 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
52260 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
52261
52262 END IF;
52263
52264 -- 4955764
52265 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
52266 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
52267
52268
52269 XLA_AE_LINES_PKG.ValidateCurrentLine;
52270 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
52271
52272 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
52273 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
52274 ,p_balance_type_code => l_balance_type_code);
52275
52276 END IF;
52277
52278 -----------------------------------------------------------------------------------------
52279 -- 4262811 Multiperiod Accounting
52280 -----------------------------------------------------------------------------------------
52281 -- No MPA option is assigned.
52282
52283
52284 END IF;
52285 END IF;
52286 --
52287
52288 --
52289 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
52290 trace
52291 (p_msg => 'END of AcctLineType_108'
52292 ,p_level => C_LEVEL_PROCEDURE
52293 ,p_module => l_log_module);
52294 END IF;
52295 --
52296 EXCEPTION
52297 WHEN xla_exceptions_pkg.application_exception THEN
52298 RAISE;
52299 WHEN OTHERS THEN
52300 xla_exceptions_pkg.raise_message
52301 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_108');
52302 END AcctLineType_108;
52303 --
52304
52305 ---------------------------------------
52306 --
52307 -- PRIVATE FUNCTION
52308 -- AcctLineType_109
52309 --
52310 ---------------------------------------
52311 PROCEDURE AcctLineType_109 (
52312 p_application_id IN NUMBER
52313 ,p_event_id IN NUMBER
52314 ,p_calculate_acctd_flag IN VARCHAR2
52315 ,p_calculate_g_l_flag IN VARCHAR2
52316 ,p_actual_flag IN OUT VARCHAR2
52317 ,p_balance_type_code OUT VARCHAR2
52318 ,p_gain_or_loss_ref OUT VARCHAR2
52319
52320 --Invoice Distribution Description
52321 , p_source_1 IN VARCHAR2
52322 --Automatic Offsets Value
52323 , p_source_15 IN VARCHAR2
52324 , p_source_15_meaning IN VARCHAR2
52325 --Purchase Order Rate Variance Gain Account
52326 , p_source_20 IN NUMBER
52327 --Invoice Distribution Ledger Amount
52328 , p_source_21 IN NUMBER
52329 --Destination Type of the PO Distribution
52330 , p_source_22 IN VARCHAR2
52331 , p_source_22_meaning IN VARCHAR2
52332 --Purchase Order Rate Variance Loss Account
52333 , p_source_23 IN NUMBER
52334 --Invoice Distribution Account
52335 , p_source_30 IN NUMBER
52336 --Invoice Distribution Type
52337 , p_source_33 IN VARCHAR2
52338 , p_source_33_meaning IN VARCHAR2
52339 --Automatic Offsets Flag
52340 , p_source_47 IN VARCHAR2
52341 , p_source_47_meaning IN VARCHAR2
52342 --Accounting Reversal Indicator
52343 , p_source_53 IN VARCHAR2
52344 --Distribution Link Type
52345 , p_source_55 IN VARCHAR2
52346 --Allocation to Main Distribution Identifier
52347 , p_source_57 IN NUMBER
52348 --Invoice Identifier
52349 , p_source_58 IN NUMBER
52350 --Invoice Distribution Identifier
52351 , p_source_64 IN NUMBER
52352 --Payables Encumbrance Upgrade Credit Account
52353 , p_source_65 IN NUMBER
52354 --Payables Encumbrance Upgrade Credit Amount
52355 , p_source_66 IN NUMBER
52356 --Invoice Currency Code
52357 , p_source_67 IN VARCHAR2
52361 , p_source_69 IN NUMBER
52358 --Payables Encumbrance Upgrade Credit Base Amount
52359 , p_source_68 IN NUMBER
52360 --Payables Encumbrance Upgrade Debit Account
52362 --Payables Encumbrance Upgrade Debit Amount
52363 , p_source_70 IN NUMBER
52364 --Payables Encumbrance Upgrade Debit Base Amount
52365 , p_source_71 IN NUMBER
52366 --Payables Encumbrance Upgrade Option
52367 , p_source_72 IN VARCHAR2
52368 --Invoice Distribution Amount
52369 , p_source_73 IN NUMBER
52370 --Deferred Accounting End Date
52371 , p_source_77 IN DATE
52372 --Deferred Accounting Option
52373 , p_source_78 IN VARCHAR2
52374 --Deferred Accounting Start Date
52375 , p_source_79 IN DATE
52376 --Override Accounted Amount Indicator
52377 , p_source_80 IN VARCHAR2
52378 , p_source_80_meaning IN VARCHAR2
52379 --Invoice Supplier Identifier
52380 , p_source_81 IN NUMBER
52381 --Invoice Supplier Site Identifier
52382 , p_source_82 IN NUMBER
52383 --Third Party Type
52384 , p_source_83 IN VARCHAR2
52385 --Parent Reversal Identifier
52386 , p_source_84 IN NUMBER
52387 --Invoice Distribution Statistical Amount
52388 , p_source_85 IN NUMBER
52389 --Invoice Distribution Tax Line Identifier
52390 , p_source_86 IN NUMBER
52391 --Invoice Distribution Tax Distribution Identifier from Tax
52392 , p_source_87 IN NUMBER
52393 --Invoice Distribution Summary Tax Line Identifier
52394 , p_source_88 IN NUMBER
52395 --Payables Upgrade Credit Encumbrance Type Identifier
52396 , p_source_89 IN NUMBER
52397 --Payables Upgrade Debit Encumbrance Type Identifier
52398 , p_source_90 IN NUMBER
52399 --Business Flow Accounts Payable Application Identifier
52400 , p_source_91 IN NUMBER
52401 --Business Flow Invoice Distribution Type
52402 , p_source_92 IN VARCHAR2
52403 --Business Flow Invoice Entity Code
52404 , p_source_93 IN VARCHAR2
52405 --Business Flow Invoice Distribution Identifier
52406 , p_source_94 IN NUMBER
52407 --Business Flow Invoice Identifier
52408 , p_source_95 IN NUMBER
52409 --Accrue on Receipt Option
52410 , p_source_96 IN VARCHAR2
52411 , p_source_96_meaning IN VARCHAR2
52412 --Invoice Exchange Date
52413 , p_source_143 IN DATE
52414 --Invoice Exchange Rate
52415 , p_source_144 IN NUMBER
52416 --Invoice Exchange Rate Type
52417 , p_source_145 IN VARCHAR2
52418 )
52419 IS
52420
52421 l_component_type VARCHAR2(80);
52422 l_component_code VARCHAR2(30);
52423 l_component_type_code VARCHAR2(1);
52424 l_component_appl_id INTEGER;
52425 l_amb_context_code VARCHAR2(30);
52426 l_entity_code VARCHAR2(30);
52427 l_event_class_code VARCHAR2(30);
52428 l_ae_header_id NUMBER;
52429 l_event_type_code VARCHAR2(30);
52430 l_line_definition_code VARCHAR2(30);
52431 l_line_definition_owner_code VARCHAR2(1);
52432 --
52433 -- adr variables
52434 l_segment VARCHAR2(30);
52435 l_ccid NUMBER;
52436 l_adr_transaction_coa_id NUMBER;
52437 l_adr_accounting_coa_id NUMBER;
52438 l_adr_flexfield_segment_code VARCHAR2(30);
52439 l_adr_flex_value_set_id NUMBER;
52440 l_adr_value_type_code VARCHAR2(30);
52441 l_adr_value_combination_id NUMBER;
52442 l_adr_value_segment_code VARCHAR2(30);
52443
52444 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
52445 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
52446 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
52447 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
52448
52449 -- 4262811 Variables ------------------------------------------------------------------------------------------
52450 l_entered_amt_idx NUMBER;
52451 l_accted_amt_idx NUMBER;
52452 l_acc_rev_flag VARCHAR2(1);
52453 l_accrual_line_num NUMBER;
52454 l_tmp_amt NUMBER;
52455 l_acc_rev_natural_side_code VARCHAR2(1);
52456
52457 l_num_entries NUMBER;
52458 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
52459 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
52460 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
52461 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
52462 l_recog_line_1 NUMBER;
52463 l_recog_line_2 NUMBER;
52464
52465 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
52466 l_bflow_applied_to_amt NUMBER; -- 5132302
52467 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
52468
52469 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
52470
52471 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
52472 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
52473
52474 ---------------------------------------------------------------------------------------------------------------
52475
52476
52477 --
52478 -- bulk performance
52479 --
52480 l_balance_type_code VARCHAR2(1);
52484 --
52481 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
52482 l_log_module VARCHAR2(240);
52483
52485 -- Upgrade strategy
52486 --
52487 l_actual_upg_option VARCHAR2(1);
52488 l_enc_upg_option VARCHAR2(1);
52489
52490 --
52491 BEGIN
52492 --
52493 IF g_log_enabled THEN
52494 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_109';
52495 END IF;
52496 --
52497 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
52498
52499 trace
52500 (p_msg => 'BEGIN of AcctLineType_109'
52501 ,p_level => C_LEVEL_PROCEDURE
52502 ,p_module => l_log_module);
52503
52504 END IF;
52505 --
52506 l_component_type := 'AMB_JLT';
52507 l_component_code := 'AP_EX_RATE_VAR_INV';
52508 l_component_type_code := 'S';
52509 l_component_appl_id := 200;
52510 l_amb_context_code := 'DEFAULT';
52511 l_entity_code := 'AP_INVOICES';
52512 l_event_class_code := 'INVOICES';
52513 l_event_type_code := 'INVOICES_ALL';
52514 l_line_definition_owner_code := 'S';
52515 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
52516 --
52517 l_balance_type_code := 'A';
52518 l_segment := NULL;
52519 l_ccid := NULL;
52520 l_adr_transaction_coa_id := NULL;
52521 l_adr_accounting_coa_id := NULL;
52522 l_adr_flexfield_segment_code := NULL;
52523 l_adr_flex_value_set_id := NULL;
52524 l_adr_value_type_code := NULL;
52525 l_adr_value_combination_id := NULL;
52526 l_adr_value_segment_code := NULL;
52527
52528 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
52529 l_bflow_class_code := ''; -- 4219869 Business Flow
52530 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
52531 l_budgetary_control_flag := 'N';
52532
52533 l_bflow_applied_to_amt_idx := NULL; -- 5132302
52534 l_bflow_applied_to_amt := NULL; -- 5132302
52535 l_entered_amt_idx := NULL; -- 4262811
52536 l_accted_amt_idx := NULL; -- 4262811
52537 l_acc_rev_flag := NULL; -- 4262811
52538 l_accrual_line_num := NULL; -- 4262811
52539 l_tmp_amt := NULL; -- 4262811
52540 --
52541 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
52542 (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
52543 return;
52544 END IF;
52545
52546 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
52547 l_balance_type_code <> 'B' THEN
52548 IF NVL(p_source_33,'
52549 ') = 'ERV' AND
52550 NVL(p_source_96,'
52551 ') = 'Y'
52552 THEN
52553
52554 --
52555 XLA_AE_LINES_PKG.SetNewLine;
52556
52557 p_balance_type_code := l_balance_type_code;
52558 -- set the flag so later we will know whether the gain loss line needs to be created
52559
52560 IF(l_balance_type_code = 'A' ) THEN
52561 p_actual_flag :='G';
52562 END IF;
52563
52564 --
52565 -- bulk performance
52566 --
52567 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
52568 p_header_num => 0); -- 4262811
52569 --
52570 -- set accounting line options
52571 --
52572 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
52573 p_natural_side_code => 'D'
52574 , p_gain_or_loss_flag => 'Y'
52575 , p_gl_transfer_mode_code => 'S'
52576 , p_acct_entry_type_code => 'A'
52577 , p_switch_side_flag => 'Y'
52578 , p_merge_duplicate_code => 'A'
52579 );
52580 --
52581 l_acc_rev_natural_side_code := 'C'; -- 4262811
52582 --
52583 --
52584 -- set accounting line type info
52585 --
52586 xla_ae_lines_pkg.SetAcctLineType
52587 (p_component_type => l_component_type
52588 ,p_event_type_code => l_event_type_code
52589 ,p_line_definition_owner_code => l_line_definition_owner_code
52590 ,p_line_definition_code => l_line_definition_code
52591 ,p_accounting_line_code => l_component_code
52592 ,p_accounting_line_type_code => l_component_type_code
52593 ,p_accounting_line_appl_id => l_component_appl_id
52594 ,p_amb_context_code => l_amb_context_code
52595 ,p_entity_code => l_entity_code
52596 ,p_event_class_code => l_event_class_code);
52597 --
52598 -- set accounting class
52599 --
52600 xla_ae_lines_pkg.SetAcctClass(
52601 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
52602 , p_ae_header_id => l_ae_header_id
52603 );
52604
52605 --
52606 -- set rounding class
52607 --
52608 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
52609 'EXCHANGE_RATE_VARIANCE';
52610
52611 --
52612 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
52616 --
52613 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
52614 --
52615 -- bulk performance
52617 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
52618
52619 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
52620 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
52621
52622 -- 4955764
52623 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
52624 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
52625
52626 -- 4458381 Public Sector Enh
52627
52628 --
52629 -- set accounting attributes for the line type
52630 --
52631 l_entered_amt_idx := 24;
52632 l_accted_amt_idx := 29;
52633 l_bflow_applied_to_amt_idx := 7; -- 5132302
52634 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
52635 l_rec_acct_attrs.array_char_value(1) := p_source_53;
52636 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
52637 l_rec_acct_attrs.array_num_value(2) :=
52638 xla_ae_sources_pkg.GetSystemSourceNum(
52639 p_source_code => 'XLA_EVENT_APPL_ID'
52640 , p_source_type_code => 'Y'
52641 , p_source_application_id => 602
52642 );
52643 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
52644 l_rec_acct_attrs.array_char_value(3) := p_source_55;
52645 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
52646 l_rec_acct_attrs.array_char_value(4) :=
52647 xla_ae_sources_pkg.GetSystemSourceChar(
52648 p_source_code => 'XLA_ENTITY_CODE'
52649 , p_source_type_code => 'Y'
52650 , p_source_application_id => 602
52651 );
52652 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
52653 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
52654 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
52655 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
52656 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
52657 l_rec_acct_attrs.array_num_value(7) := p_source_73;
52658 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
52659 l_rec_acct_attrs.array_num_value(8) := p_source_91;
52660 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
52661 l_rec_acct_attrs.array_char_value(9) := p_source_92;
52662 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
52663 l_rec_acct_attrs.array_char_value(10) := p_source_93;
52664 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
52665 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
52666 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
52667 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_95);
52668 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
52669 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_64);
52670 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
52671 l_rec_acct_attrs.array_char_value(14) := p_source_55;
52672 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
52673 l_rec_acct_attrs.array_num_value(15) := p_source_65;
52674 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
52675 l_rec_acct_attrs.array_num_value(16) := p_source_66;
52676 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
52677 l_rec_acct_attrs.array_char_value(17) := p_source_67;
52678 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
52679 l_rec_acct_attrs.array_num_value(18) := p_source_68;
52680 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
52681 l_rec_acct_attrs.array_num_value(19) := p_source_69;
52682 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
52683 l_rec_acct_attrs.array_num_value(20) := p_source_70;
52684 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
52685 l_rec_acct_attrs.array_char_value(21) := p_source_67;
52686 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
52687 l_rec_acct_attrs.array_num_value(22) := p_source_71;
52688 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
52689 l_rec_acct_attrs.array_char_value(23) := p_source_72;
52690 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
52691 l_rec_acct_attrs.array_num_value(24) := p_source_73;
52692 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
52693 l_rec_acct_attrs.array_char_value(25) := p_source_67;
52694 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
52695 l_rec_acct_attrs.array_date_value(26) := p_source_143;
52696 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
52697 l_rec_acct_attrs.array_num_value(27) := p_source_144;
52698 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
52699 l_rec_acct_attrs.array_char_value(28) := p_source_145;
52700 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
52701 l_rec_acct_attrs.array_num_value(29) := p_source_21;
52702 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
52703 l_rec_acct_attrs.array_date_value(30) := p_source_77;
52704 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
52705 l_rec_acct_attrs.array_char_value(31) := p_source_78;
52706 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
52707 l_rec_acct_attrs.array_date_value(32) := p_source_79;
52711 l_rec_acct_attrs.array_num_value(34) := p_source_81;
52708 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
52709 l_rec_acct_attrs.array_char_value(33) := p_source_80;
52710 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
52712 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
52713 l_rec_acct_attrs.array_num_value(35) := p_source_82;
52714 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
52715 l_rec_acct_attrs.array_char_value(36) := p_source_83;
52716 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
52717 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_84);
52718 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
52719 l_rec_acct_attrs.array_char_value(38) := p_source_55;
52720 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
52721 l_rec_acct_attrs.array_num_value(39) := p_source_85;
52722 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
52723 l_rec_acct_attrs.array_num_value(40) := p_source_86;
52724 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
52725 l_rec_acct_attrs.array_num_value(41) := p_source_87;
52726 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
52727 l_rec_acct_attrs.array_num_value(42) := p_source_88;
52728 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
52729 l_rec_acct_attrs.array_num_value(43) := p_source_89;
52730 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
52731 l_rec_acct_attrs.array_num_value(44) := p_source_90;
52732
52733 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
52734 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
52735
52736 ---------------------------------------------------------------------------------------------------------------
52737 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
52738 ---------------------------------------------------------------------------------------------------------------
52739 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
52740
52741 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
52742 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
52743
52744 IF xla_accounting_cache_pkg.GetValueChar
52745 (p_source_code => 'LEDGER_CATEGORY_CODE'
52746 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
52747 AND l_bflow_method_code = 'PRIOR_ENTRY'
52748 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
52749 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
52750 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
52751 )
52752 THEN
52753 xla_ae_lines_pkg.BflowUpgEntry
52754 (p_business_method_code => l_bflow_method_code
52755 ,p_business_class_code => l_bflow_class_code
52756 ,p_balance_type => l_balance_type_code);
52757 ELSE
52758 NULL;
52759 -- No business flow processing for business flow method of NONE.
52760 END IF;
52761
52762 --
52763 -- call analytical criteria
52764 --
52765
52766 --
52767 -- call description
52768 --
52769
52770 xla_ae_lines_pkg.SetLineDescription(
52771 p_ae_header_id => l_ae_header_id
52772 ,p_description => Description_1 (
52773 p_application_id => p_application_id
52774 , p_ae_header_id => l_ae_header_id
52775 , p_source_1 => p_source_1
52776 )
52777 );
52778
52779
52780 --
52781 -- call ADRs
52782 -- Bug 4922099
52783 --
52784 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
52785 (NVL(l_actual_upg_option, 'N') = 'O') OR
52786 (NVL(l_enc_upg_option, 'N') = 'O')
52787 )
52788 THEN
52789 NULL;
52790 --
52791 --
52792
52793 l_ccid := AcctDerRule_30(
52794 p_application_id => p_application_id
52795 , p_ae_header_id => l_ae_header_id
52796 , p_source_15 => p_source_15
52797 , p_source_15_meaning => p_source_15_meaning
52798 , p_source_20 => p_source_20
52799 , p_source_21 => p_source_21
52800 , p_source_22 => p_source_22
52801 , p_source_22_meaning => p_source_22_meaning
52802 , p_source_23 => p_source_23
52803 , p_source_30 => p_source_30
52804 , p_source_47 => p_source_47
52805 , p_source_47_meaning => p_source_47_meaning
52806 , x_transaction_coa_id => l_adr_transaction_coa_id
52807 , x_accounting_coa_id => l_adr_accounting_coa_id
52808 , x_value_type_code => l_adr_value_type_code
52809 , p_side => 'NA'
52810 );
52811
52812 xla_ae_lines_pkg.set_ccid(
52813 p_code_combination_id => l_ccid
52814 , p_value_type_code => l_adr_value_type_code
52815 , p_transaction_coa_id => l_adr_transaction_coa_id
52816 , p_accounting_coa_id => l_adr_accounting_coa_id
52817 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
52818 , p_adr_type_code => 'S'
52819 , p_component_type => l_component_type
52820 , p_component_code => l_component_code
52824 , p_side => 'NA'
52821 , p_component_type_code => l_component_type_code
52822 , p_component_appl_id => l_component_appl_id
52823 , p_amb_context_code => l_amb_context_code
52825 );
52826
52827
52828 l_segment := AcctDerRule_8(
52829 p_application_id => p_application_id
52830 , p_ae_header_id => l_ae_header_id
52831 , p_source_15 => p_source_15
52832 , p_source_15_meaning => p_source_15_meaning
52833 , p_source_20 => p_source_20
52834 , p_source_21 => p_source_21
52835 , p_source_22 => p_source_22
52836 , p_source_22_meaning => p_source_22_meaning
52837 , p_source_23 => p_source_23
52838 , x_transaction_coa_id => l_adr_transaction_coa_id
52839 , x_accounting_coa_id => l_adr_accounting_coa_id
52840 , x_flexfield_segment_code => l_adr_flexfield_segment_code
52841 , x_flex_value_set_id => l_adr_flex_value_set_id
52842 , x_value_type_code => l_adr_value_type_code
52843 , x_value_combination_id => l_adr_value_combination_id
52844 , x_value_segment_code => l_adr_value_segment_code
52845 , p_side => 'NA'
52846 , p_override_seg_flag => 'Y'
52847 );
52848
52849 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
52850
52851 xla_ae_lines_pkg.set_segment(
52852 p_to_segment_code => 'GL_ACCOUNT'
52853 , p_segment_value => l_segment
52854 , p_from_segment_code => l_adr_value_segment_code
52855 , p_from_combination_id => l_adr_value_combination_id
52856 , p_value_type_code => l_adr_value_type_code
52857 , p_transaction_coa_id => l_adr_transaction_coa_id
52858 , p_accounting_coa_id => l_adr_accounting_coa_id
52859 , p_flexfield_segment_code => l_adr_flexfield_segment_code
52860 , p_flex_value_set_id => l_adr_flex_value_set_id
52861 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
52862 , p_adr_type_code => 'S'
52863 , p_component_type => l_component_type
52864 , p_component_code => l_component_code
52865 , p_component_type_code => l_component_type_code
52866 , p_component_appl_id => l_component_appl_id
52867 , p_amb_context_code => l_amb_context_code
52868 , p_entity_code => 'AP_INVOICES'
52869 , p_event_class_code => 'INVOICES'
52870 , p_side => 'NA'
52871 );
52872
52873 END IF;
52874
52875 l_segment := AcctDerRule_23(
52876 p_application_id => p_application_id
52877 , p_ae_header_id => l_ae_header_id
52878 , p_source_15 => p_source_15
52879 , p_source_15_meaning => p_source_15_meaning
52880 , p_source_22 => p_source_22
52881 , p_source_22_meaning => p_source_22_meaning
52882 , p_source_30 => p_source_30
52883 , x_transaction_coa_id => l_adr_transaction_coa_id
52884 , x_accounting_coa_id => l_adr_accounting_coa_id
52885 , x_flexfield_segment_code => l_adr_flexfield_segment_code
52886 , x_flex_value_set_id => l_adr_flex_value_set_id
52887 , x_value_type_code => l_adr_value_type_code
52888 , x_value_combination_id => l_adr_value_combination_id
52889 , x_value_segment_code => l_adr_value_segment_code
52890 , p_side => 'NA'
52891 , p_override_seg_flag => 'Y'
52892 );
52893
52894 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
52895
52896 xla_ae_lines_pkg.set_segment(
52897 p_to_segment_code => 'GL_BALANCING'
52898 , p_segment_value => l_segment
52899 , p_from_segment_code => l_adr_value_segment_code
52900 , p_from_combination_id => l_adr_value_combination_id
52901 , p_value_type_code => l_adr_value_type_code
52902 , p_transaction_coa_id => l_adr_transaction_coa_id
52903 , p_accounting_coa_id => l_adr_accounting_coa_id
52904 , p_flexfield_segment_code => l_adr_flexfield_segment_code
52905 , p_flex_value_set_id => l_adr_flex_value_set_id
52906 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
52907 , p_adr_type_code => 'S'
52908 , p_component_type => l_component_type
52909 , p_component_code => l_component_code
52910 , p_component_type_code => l_component_type_code
52911 , p_component_appl_id => l_component_appl_id
52912 , p_amb_context_code => l_amb_context_code
52913 , p_entity_code => 'AP_INVOICES'
52914 , p_event_class_code => 'INVOICES'
52915 , p_side => 'NA'
52916 );
52917
52918 END IF;
52919
52920 --
52921 --
52922 END IF;
52923 --
52924 -- Bug 4922099
52925 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
52926 (NVL(l_enc_upg_option, 'N') = 'O')
52927 ) AND
52928 (l_bflow_method_code = 'PRIOR_ENTRY')
52929 )
52930 THEN
52931 IF
52932 --
52933 1 = 2
52934 --
52935 THEN
52936 xla_accounting_err_pkg.build_message
52937 (p_appli_s_name => 'XLA'
52941 ,p_token_2 => 'LINE_TYPE_NAME'
52938 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
52939 ,p_token_1 => 'LINE_NUMBER'
52940 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
52942 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
52943 l_component_type
52944 ,l_component_code
52945 ,l_component_type_code
52946 ,l_component_appl_id
52947 ,l_amb_context_code
52948 ,l_entity_code
52949 ,l_event_class_code
52950 )
52951 ,p_token_3 => 'OWNER'
52952 ,p_value_3 => xla_lookups_pkg.get_meaning(
52953 p_lookup_type => 'XLA_OWNER_TYPE'
52954 ,p_lookup_code => l_component_type_code
52955 )
52956 ,p_token_4 => 'PRODUCT_NAME'
52957 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
52958 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
52959 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
52960 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
52961 ,p_ae_header_id => NULL
52962 );
52963
52964 IF (C_LEVEL_ERROR>= g_log_level) THEN
52965 trace
52966 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
52967 ,p_level => C_LEVEL_ERROR
52968 ,p_module => l_log_module);
52969 END IF;
52970 END IF;
52971 END IF;
52972 --
52973 --
52974 ------------------------------------------------------------------------------------------------
52975 -- 4219869 Business Flow
52976 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
52977 -- Prior Entry. Currently, the following code is always generated.
52978 ------------------------------------------------------------------------------------------------
52979 XLA_AE_LINES_PKG.ValidateCurrentLine;
52980
52981 ------------------------------------------------------------------------------------
52982 -- 4219869 Business Flow
52983 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
52984 ------------------------------------------------------------------------------------
52985 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
52986
52987 ----------------------------------------------------------------------------------
52988 -- 4219869 Business Flow
52989 -- Update journal entry status -- Need to generate this within IF <condition>
52990 ----------------------------------------------------------------------------------
52991 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
52992 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
52993 ,p_balance_type_code => l_balance_type_code
52994 );
52995
52996 -------------------------------------------------------------------------------------------
52997 -- 4262811 - Generate the Accrual Reversal lines
52998 -------------------------------------------------------------------------------------------
52999 BEGIN
53000 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
53001 (g_array_event(p_event_id).array_value_num('header_index'));
53002 IF l_acc_rev_flag IS NULL THEN
53003 l_acc_rev_flag := 'N';
53004 END IF;
53005 EXCEPTION
53006 WHEN OTHERS THEN
53007 l_acc_rev_flag := 'N';
53008 END;
53009 --
53010 IF (l_acc_rev_flag = 'Y') THEN
53011
53012 -- 4645092 ------------------------------------------------------------------------------
53013 -- To allow MPA report to determine if it should generate report process
53014 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
53015 ------------------------------------------------------------------------------------------
53016
53017 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
53018 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
53019 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
53020 -- call ADRs
53021 -- Bug 4922099
53022 --
53023 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
53024 (NVL(l_actual_upg_option, 'N') = 'O') OR
53025 (NVL(l_enc_upg_option, 'N') = 'O')
53026 )
53027 THEN
53028 NULL;
53032 l_ccid := AcctDerRule_30(
53029 --
53030 --
53031
53033 p_application_id => p_application_id
53034 , p_ae_header_id => l_ae_header_id
53035 , p_source_15 => p_source_15
53036 , p_source_15_meaning => p_source_15_meaning
53037 , p_source_20 => p_source_20
53038 , p_source_21 => p_source_21
53039 , p_source_22 => p_source_22
53040 , p_source_22_meaning => p_source_22_meaning
53041 , p_source_23 => p_source_23
53042 , p_source_30 => p_source_30
53043 , p_source_47 => p_source_47
53044 , p_source_47_meaning => p_source_47_meaning
53045 , x_transaction_coa_id => l_adr_transaction_coa_id
53046 , x_accounting_coa_id => l_adr_accounting_coa_id
53047 , x_value_type_code => l_adr_value_type_code
53048 , p_side => 'NA'
53049 );
53050
53051 xla_ae_lines_pkg.set_ccid(
53052 p_code_combination_id => l_ccid
53053 , p_value_type_code => l_adr_value_type_code
53054 , p_transaction_coa_id => l_adr_transaction_coa_id
53055 , p_accounting_coa_id => l_adr_accounting_coa_id
53056 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
53057 , p_adr_type_code => 'S'
53058 , p_component_type => l_component_type
53059 , p_component_code => l_component_code
53060 , p_component_type_code => l_component_type_code
53061 , p_component_appl_id => l_component_appl_id
53062 , p_amb_context_code => l_amb_context_code
53063 , p_side => 'NA'
53064 );
53065
53066
53067 l_segment := AcctDerRule_8(
53068 p_application_id => p_application_id
53069 , p_ae_header_id => l_ae_header_id
53070 , p_source_15 => p_source_15
53071 , p_source_15_meaning => p_source_15_meaning
53072 , p_source_20 => p_source_20
53073 , p_source_21 => p_source_21
53074 , p_source_22 => p_source_22
53075 , p_source_22_meaning => p_source_22_meaning
53076 , p_source_23 => p_source_23
53077 , x_transaction_coa_id => l_adr_transaction_coa_id
53078 , x_accounting_coa_id => l_adr_accounting_coa_id
53079 , x_flexfield_segment_code => l_adr_flexfield_segment_code
53080 , x_flex_value_set_id => l_adr_flex_value_set_id
53081 , x_value_type_code => l_adr_value_type_code
53082 , x_value_combination_id => l_adr_value_combination_id
53083 , x_value_segment_code => l_adr_value_segment_code
53084 , p_side => 'NA'
53085 , p_override_seg_flag => 'Y'
53086 );
53087
53088 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
53089
53090 xla_ae_lines_pkg.set_segment(
53091 p_to_segment_code => 'GL_ACCOUNT'
53092 , p_segment_value => l_segment
53093 , p_from_segment_code => l_adr_value_segment_code
53094 , p_from_combination_id => l_adr_value_combination_id
53095 , p_value_type_code => l_adr_value_type_code
53096 , p_transaction_coa_id => l_adr_transaction_coa_id
53097 , p_accounting_coa_id => l_adr_accounting_coa_id
53098 , p_flexfield_segment_code => l_adr_flexfield_segment_code
53099 , p_flex_value_set_id => l_adr_flex_value_set_id
53100 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
53101 , p_adr_type_code => 'S'
53102 , p_component_type => l_component_type
53103 , p_component_code => l_component_code
53104 , p_component_type_code => l_component_type_code
53105 , p_component_appl_id => l_component_appl_id
53106 , p_amb_context_code => l_amb_context_code
53107 , p_entity_code => 'AP_INVOICES'
53108 , p_event_class_code => 'INVOICES'
53109 , p_side => 'NA'
53110 );
53111
53112 END IF;
53113
53114 l_segment := AcctDerRule_23(
53115 p_application_id => p_application_id
53116 , p_ae_header_id => l_ae_header_id
53117 , p_source_15 => p_source_15
53118 , p_source_15_meaning => p_source_15_meaning
53119 , p_source_22 => p_source_22
53120 , p_source_22_meaning => p_source_22_meaning
53121 , p_source_30 => p_source_30
53122 , x_transaction_coa_id => l_adr_transaction_coa_id
53123 , x_accounting_coa_id => l_adr_accounting_coa_id
53124 , x_flexfield_segment_code => l_adr_flexfield_segment_code
53125 , x_flex_value_set_id => l_adr_flex_value_set_id
53126 , x_value_type_code => l_adr_value_type_code
53127 , x_value_combination_id => l_adr_value_combination_id
53128 , x_value_segment_code => l_adr_value_segment_code
53129 , p_side => 'NA'
53130 , p_override_seg_flag => 'Y'
53131 );
53132
53133 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
53134
53135 xla_ae_lines_pkg.set_segment(
53136 p_to_segment_code => 'GL_BALANCING'
53137 , p_segment_value => l_segment
53138 , p_from_segment_code => l_adr_value_segment_code
53139 , p_from_combination_id => l_adr_value_combination_id
53140 , p_value_type_code => l_adr_value_type_code
53141 , p_transaction_coa_id => l_adr_transaction_coa_id
53142 , p_accounting_coa_id => l_adr_accounting_coa_id
53146 , p_adr_type_code => 'S'
53143 , p_flexfield_segment_code => l_adr_flexfield_segment_code
53144 , p_flex_value_set_id => l_adr_flex_value_set_id
53145 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
53147 , p_component_type => l_component_type
53148 , p_component_code => l_component_code
53149 , p_component_type_code => l_component_type_code
53150 , p_component_appl_id => l_component_appl_id
53151 , p_amb_context_code => l_amb_context_code
53152 , p_entity_code => 'AP_INVOICES'
53153 , p_event_class_code => 'INVOICES'
53154 , p_side => 'NA'
53155 );
53156
53157 END IF;
53158
53159 --
53160 --
53161 END IF;
53162
53163 --
53164 -- Update the line information that should be overwritten
53165 --
53166 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
53167 p_header_num => 1);
53168 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
53169
53170 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
53171
53172 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
53173 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
53174 END IF;
53175
53176 --
53177 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
53178 --
53179 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
53180 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
53181 ELSE
53182 ---------------------------------------------------------------------------------------------------
53183 -- 4262811a Switch Sign
53184 ---------------------------------------------------------------------------------------------------
53185 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
53186 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
53187 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
53188 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
53189 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
53190 -- 5132302
53191 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
53192 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
53193
53194 END IF;
53195
53196 -- 4955764
53197 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
53198 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
53199
53200
53201 XLA_AE_LINES_PKG.ValidateCurrentLine;
53202 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
53203
53204 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
53205 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
53206 ,p_balance_type_code => l_balance_type_code);
53207
53208 END IF;
53209
53210 -----------------------------------------------------------------------------------------
53211 -- 4262811 Multiperiod Accounting
53212 -----------------------------------------------------------------------------------------
53213 -- No MPA option is assigned.
53214
53215
53216 END IF;
53217 END IF;
53218 --
53219
53220 --
53221 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
53222 trace
53223 (p_msg => 'END of AcctLineType_109'
53224 ,p_level => C_LEVEL_PROCEDURE
53225 ,p_module => l_log_module);
53226 END IF;
53227 --
53228 EXCEPTION
53229 WHEN xla_exceptions_pkg.application_exception THEN
53230 RAISE;
53231 WHEN OTHERS THEN
53232 xla_exceptions_pkg.raise_message
53233 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_109');
53234 END AcctLineType_109;
53235 --
53236
53237 ---------------------------------------
53238 --
53239 -- PRIVATE FUNCTION
53240 -- AcctLineType_110
53241 --
53242 ---------------------------------------
53243 PROCEDURE AcctLineType_110 (
53244 p_application_id IN NUMBER
53245 ,p_event_id IN NUMBER
53246 ,p_calculate_acctd_flag IN VARCHAR2
53247 ,p_calculate_g_l_flag IN VARCHAR2
53248 ,p_actual_flag IN OUT VARCHAR2
53249 ,p_balance_type_code OUT VARCHAR2
53250 ,p_gain_or_loss_ref OUT VARCHAR2
53251
53252 --Invoice Distribution Description
53253 , p_source_1 IN VARCHAR2
53254 --Automatic Offsets Value
53255 , p_source_15 IN VARCHAR2
53256 , p_source_15_meaning IN VARCHAR2
53257 --Purchase Order Rate Variance Gain Account
53258 , p_source_20 IN NUMBER
53259 --Invoice Distribution Ledger Amount
53260 , p_source_21 IN NUMBER
53261 --Destination Type of the PO Distribution
53262 , p_source_22 IN VARCHAR2
53266 --Invoice Distribution Account
53263 , p_source_22_meaning IN VARCHAR2
53264 --Purchase Order Rate Variance Loss Account
53265 , p_source_23 IN NUMBER
53267 , p_source_30 IN NUMBER
53268 --Invoice Distribution Type
53269 , p_source_33 IN VARCHAR2
53270 , p_source_33_meaning IN VARCHAR2
53271 --Automatic Offsets Flag
53272 , p_source_47 IN VARCHAR2
53273 , p_source_47_meaning IN VARCHAR2
53274 --Accounting Reversal Indicator
53275 , p_source_53 IN VARCHAR2
53276 --Distribution Link Type
53277 , p_source_55 IN VARCHAR2
53278 --Allocation to Main Distribution Identifier
53279 , p_source_57 IN NUMBER
53280 --Invoice Identifier
53281 , p_source_58 IN NUMBER
53282 --Invoice Distribution Identifier
53283 , p_source_64 IN NUMBER
53284 --Payables Encumbrance Upgrade Credit Account
53285 , p_source_65 IN NUMBER
53286 --Payables Encumbrance Upgrade Credit Amount
53287 , p_source_66 IN NUMBER
53288 --Invoice Currency Code
53289 , p_source_67 IN VARCHAR2
53290 --Payables Encumbrance Upgrade Credit Base Amount
53291 , p_source_68 IN NUMBER
53292 --Payables Encumbrance Upgrade Debit Account
53293 , p_source_69 IN NUMBER
53294 --Payables Encumbrance Upgrade Debit Amount
53295 , p_source_70 IN NUMBER
53296 --Payables Encumbrance Upgrade Debit Base Amount
53297 , p_source_71 IN NUMBER
53298 --Payables Encumbrance Upgrade Option
53299 , p_source_72 IN VARCHAR2
53300 --Invoice Distribution Amount
53301 , p_source_73 IN NUMBER
53302 --Deferred Accounting End Date
53303 , p_source_77 IN DATE
53304 --Deferred Accounting Option
53305 , p_source_78 IN VARCHAR2
53306 --Deferred Accounting Start Date
53307 , p_source_79 IN DATE
53308 --Override Accounted Amount Indicator
53309 , p_source_80 IN VARCHAR2
53310 , p_source_80_meaning IN VARCHAR2
53311 --Invoice Supplier Identifier
53312 , p_source_81 IN NUMBER
53313 --Invoice Supplier Site Identifier
53314 , p_source_82 IN NUMBER
53315 --Third Party Type
53316 , p_source_83 IN VARCHAR2
53317 --Parent Reversal Identifier
53318 , p_source_84 IN NUMBER
53319 --Invoice Distribution Statistical Amount
53320 , p_source_85 IN NUMBER
53321 --Invoice Distribution Tax Line Identifier
53322 , p_source_86 IN NUMBER
53323 --Invoice Distribution Tax Distribution Identifier from Tax
53324 , p_source_87 IN NUMBER
53325 --Invoice Distribution Summary Tax Line Identifier
53326 , p_source_88 IN NUMBER
53327 --Payables Upgrade Credit Encumbrance Type Identifier
53328 , p_source_89 IN NUMBER
53329 --Payables Upgrade Debit Encumbrance Type Identifier
53330 , p_source_90 IN NUMBER
53331 --Business Flow Accounts Payable Application Identifier
53332 , p_source_91 IN NUMBER
53333 --Business Flow Invoice Distribution Type
53334 , p_source_92 IN VARCHAR2
53335 --Business Flow Invoice Entity Code
53336 , p_source_93 IN VARCHAR2
53337 --Business Flow Invoice Distribution Identifier
53338 , p_source_94 IN NUMBER
53339 --Business Flow Invoice Identifier
53340 , p_source_95 IN NUMBER
53341 --Accrue on Receipt Option
53342 , p_source_96 IN VARCHAR2
53343 , p_source_96_meaning IN VARCHAR2
53344 --Invoice Exchange Date
53345 , p_source_143 IN DATE
53346 --Invoice Exchange Rate
53347 , p_source_144 IN NUMBER
53348 --Invoice Exchange Rate Type
53349 , p_source_145 IN VARCHAR2
53350 )
53351 IS
53352
53353 l_component_type VARCHAR2(80);
53354 l_component_code VARCHAR2(30);
53355 l_component_type_code VARCHAR2(1);
53356 l_component_appl_id INTEGER;
53357 l_amb_context_code VARCHAR2(30);
53358 l_entity_code VARCHAR2(30);
53359 l_event_class_code VARCHAR2(30);
53360 l_ae_header_id NUMBER;
53361 l_event_type_code VARCHAR2(30);
53362 l_line_definition_code VARCHAR2(30);
53363 l_line_definition_owner_code VARCHAR2(1);
53364 --
53365 -- adr variables
53366 l_segment VARCHAR2(30);
53367 l_ccid NUMBER;
53368 l_adr_transaction_coa_id NUMBER;
53369 l_adr_accounting_coa_id NUMBER;
53370 l_adr_flexfield_segment_code VARCHAR2(30);
53371 l_adr_flex_value_set_id NUMBER;
53372 l_adr_value_type_code VARCHAR2(30);
53373 l_adr_value_combination_id NUMBER;
53374 l_adr_value_segment_code VARCHAR2(30);
53375
53376 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
53377 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
53378 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
53379 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
53380
53381 -- 4262811 Variables ------------------------------------------------------------------------------------------
53382 l_entered_amt_idx NUMBER;
53383 l_accted_amt_idx NUMBER;
53384 l_acc_rev_flag VARCHAR2(1);
53385 l_accrual_line_num NUMBER;
53386 l_tmp_amt NUMBER;
53387 l_acc_rev_natural_side_code VARCHAR2(1);
53388
53389 l_num_entries NUMBER;
53390 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
53394 l_recog_line_1 NUMBER;
53391 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
53392 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
53393 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
53395 l_recog_line_2 NUMBER;
53396
53397 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
53398 l_bflow_applied_to_amt NUMBER; -- 5132302
53399 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
53400
53401 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
53402
53403 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
53404 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
53405
53406 ---------------------------------------------------------------------------------------------------------------
53407
53408
53409 --
53410 -- bulk performance
53411 --
53412 l_balance_type_code VARCHAR2(1);
53413 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
53414 l_log_module VARCHAR2(240);
53415
53416 --
53417 -- Upgrade strategy
53418 --
53419 l_actual_upg_option VARCHAR2(1);
53420 l_enc_upg_option VARCHAR2(1);
53421
53422 --
53423 BEGIN
53424 --
53425 IF g_log_enabled THEN
53426 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_110';
53427 END IF;
53428 --
53429 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
53430
53431 trace
53432 (p_msg => 'BEGIN of AcctLineType_110'
53433 ,p_level => C_LEVEL_PROCEDURE
53434 ,p_module => l_log_module);
53435
53436 END IF;
53437 --
53438 l_component_type := 'AMB_JLT';
53439 l_component_code := 'AP_EX_RATE_VAR_PREPAY';
53440 l_component_type_code := 'S';
53441 l_component_appl_id := 200;
53442 l_amb_context_code := 'DEFAULT';
53443 l_entity_code := 'AP_INVOICES';
53444 l_event_class_code := 'PREPAYMENTS';
53445 l_event_type_code := 'PREPAYMENTS_ALL';
53446 l_line_definition_owner_code := 'S';
53447 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
53448 --
53449 l_balance_type_code := 'A';
53450 l_segment := NULL;
53451 l_ccid := NULL;
53452 l_adr_transaction_coa_id := NULL;
53453 l_adr_accounting_coa_id := NULL;
53454 l_adr_flexfield_segment_code := NULL;
53455 l_adr_flex_value_set_id := NULL;
53456 l_adr_value_type_code := NULL;
53457 l_adr_value_combination_id := NULL;
53458 l_adr_value_segment_code := NULL;
53459
53460 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
53461 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
53462 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
53463 l_budgetary_control_flag := 'N';
53464
53465 l_bflow_applied_to_amt_idx := NULL; -- 5132302
53466 l_bflow_applied_to_amt := NULL; -- 5132302
53467 l_entered_amt_idx := NULL; -- 4262811
53468 l_accted_amt_idx := NULL; -- 4262811
53469 l_acc_rev_flag := NULL; -- 4262811
53470 l_accrual_line_num := NULL; -- 4262811
53471 l_tmp_amt := NULL; -- 4262811
53472 --
53473 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
53474 (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
53475 return;
53476 END IF;
53477
53478 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
53479 l_balance_type_code <> 'B' THEN
53480 IF NVL(p_source_33,'
53481 ') = 'ERV' AND
53482 NVL(p_source_96,'
53483 ') = 'Y'
53484 THEN
53485
53486 --
53487 XLA_AE_LINES_PKG.SetNewLine;
53488
53489 p_balance_type_code := l_balance_type_code;
53490 -- set the flag so later we will know whether the gain loss line needs to be created
53491
53492 IF(l_balance_type_code = 'A' ) THEN
53493 p_actual_flag :='G';
53494 END IF;
53495
53496 --
53497 -- bulk performance
53498 --
53499 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
53500 p_header_num => 0); -- 4262811
53501 --
53502 -- set accounting line options
53503 --
53504 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
53505 p_natural_side_code => 'D'
53506 , p_gain_or_loss_flag => 'Y'
53507 , p_gl_transfer_mode_code => 'S'
53508 , p_acct_entry_type_code => 'A'
53509 , p_switch_side_flag => 'Y'
53510 , p_merge_duplicate_code => 'A'
53511 );
53512 --
53513 l_acc_rev_natural_side_code := 'C'; -- 4262811
53514 --
53515 --
53516 -- set accounting line type info
53517 --
53518 xla_ae_lines_pkg.SetAcctLineType
53519 (p_component_type => l_component_type
53520 ,p_event_type_code => l_event_type_code
53524 ,p_accounting_line_type_code => l_component_type_code
53521 ,p_line_definition_owner_code => l_line_definition_owner_code
53522 ,p_line_definition_code => l_line_definition_code
53523 ,p_accounting_line_code => l_component_code
53525 ,p_accounting_line_appl_id => l_component_appl_id
53526 ,p_amb_context_code => l_amb_context_code
53527 ,p_entity_code => l_entity_code
53528 ,p_event_class_code => l_event_class_code);
53529 --
53530 -- set accounting class
53531 --
53532 xla_ae_lines_pkg.SetAcctClass(
53533 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
53534 , p_ae_header_id => l_ae_header_id
53535 );
53536
53537 --
53538 -- set rounding class
53539 --
53540 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
53541 'EXCHANGE_RATE_VARIANCE';
53542
53543 --
53544 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
53545 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
53546 --
53547 -- bulk performance
53548 --
53549 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
53550
53551 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
53552 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
53553
53554 -- 4955764
53555 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
53556 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
53557
53558 -- 4458381 Public Sector Enh
53559
53560 --
53561 -- set accounting attributes for the line type
53562 --
53563 l_entered_amt_idx := 23;
53564 l_accted_amt_idx := 28;
53565 l_bflow_applied_to_amt_idx := NULL; -- 5132302
53566 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
53567 l_rec_acct_attrs.array_char_value(1) := p_source_53;
53568 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
53569 l_rec_acct_attrs.array_num_value(2) :=
53570 xla_ae_sources_pkg.GetSystemSourceNum(
53571 p_source_code => 'XLA_EVENT_APPL_ID'
53572 , p_source_type_code => 'Y'
53573 , p_source_application_id => 602
53574 );
53575 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
53576 l_rec_acct_attrs.array_char_value(3) := p_source_55;
53577 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
53578 l_rec_acct_attrs.array_char_value(4) :=
53579 xla_ae_sources_pkg.GetSystemSourceChar(
53580 p_source_code => 'XLA_ENTITY_CODE'
53581 , p_source_type_code => 'Y'
53582 , p_source_application_id => 602
53583 );
53584 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
53585 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
53586 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
53587 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
53588 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
53589 l_rec_acct_attrs.array_num_value(7) := p_source_91;
53590 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
53591 l_rec_acct_attrs.array_char_value(8) := p_source_92;
53592 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
53593 l_rec_acct_attrs.array_char_value(9) := p_source_93;
53594 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
53595 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
53596 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
53597 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
53598 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
53599 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
53600 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
53601 l_rec_acct_attrs.array_char_value(13) := p_source_55;
53602 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
53603 l_rec_acct_attrs.array_num_value(14) := p_source_65;
53604 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
53605 l_rec_acct_attrs.array_num_value(15) := p_source_66;
53606 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
53607 l_rec_acct_attrs.array_char_value(16) := p_source_67;
53608 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
53609 l_rec_acct_attrs.array_num_value(17) := p_source_68;
53610 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
53611 l_rec_acct_attrs.array_num_value(18) := p_source_69;
53612 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
53613 l_rec_acct_attrs.array_num_value(19) := p_source_70;
53614 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
53615 l_rec_acct_attrs.array_char_value(20) := p_source_67;
53616 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
53617 l_rec_acct_attrs.array_num_value(21) := p_source_71;
53618 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
53619 l_rec_acct_attrs.array_char_value(22) := p_source_72;
53620 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
53624 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
53621 l_rec_acct_attrs.array_num_value(23) := p_source_73;
53622 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
53623 l_rec_acct_attrs.array_char_value(24) := p_source_67;
53625 l_rec_acct_attrs.array_date_value(25) := p_source_143;
53626 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
53627 l_rec_acct_attrs.array_num_value(26) := p_source_144;
53628 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
53629 l_rec_acct_attrs.array_char_value(27) := p_source_145;
53630 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
53631 l_rec_acct_attrs.array_num_value(28) := p_source_21;
53632 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
53633 l_rec_acct_attrs.array_date_value(29) := p_source_77;
53634 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
53635 l_rec_acct_attrs.array_char_value(30) := p_source_78;
53636 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
53637 l_rec_acct_attrs.array_date_value(31) := p_source_79;
53638 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
53639 l_rec_acct_attrs.array_char_value(32) := p_source_80;
53640 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
53641 l_rec_acct_attrs.array_num_value(33) := p_source_81;
53642 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
53643 l_rec_acct_attrs.array_num_value(34) := p_source_82;
53644 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
53645 l_rec_acct_attrs.array_char_value(35) := p_source_83;
53646 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
53647 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
53648 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
53649 l_rec_acct_attrs.array_char_value(37) := p_source_55;
53650 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
53651 l_rec_acct_attrs.array_num_value(38) := p_source_85;
53652 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
53653 l_rec_acct_attrs.array_num_value(39) := p_source_86;
53654 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
53655 l_rec_acct_attrs.array_num_value(40) := p_source_87;
53656 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
53657 l_rec_acct_attrs.array_num_value(41) := p_source_88;
53658 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
53659 l_rec_acct_attrs.array_num_value(42) := p_source_89;
53660 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
53661 l_rec_acct_attrs.array_num_value(43) := p_source_90;
53662
53663 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
53664 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
53665
53666 ---------------------------------------------------------------------------------------------------------------
53667 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
53668 ---------------------------------------------------------------------------------------------------------------
53669 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
53670
53671 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
53672 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
53673
53674 IF xla_accounting_cache_pkg.GetValueChar
53675 (p_source_code => 'LEDGER_CATEGORY_CODE'
53676 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
53677 AND l_bflow_method_code = 'PRIOR_ENTRY'
53678 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
53679 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
53680 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
53681 )
53682 THEN
53683 xla_ae_lines_pkg.BflowUpgEntry
53684 (p_business_method_code => l_bflow_method_code
53685 ,p_business_class_code => l_bflow_class_code
53686 ,p_balance_type => l_balance_type_code);
53687 ELSE
53688 NULL;
53689 -- No business flow processing for business flow method of NONE.
53690 END IF;
53691
53692 --
53693 -- call analytical criteria
53694 --
53695
53696 --
53697 -- call description
53698 --
53699
53700 xla_ae_lines_pkg.SetLineDescription(
53701 p_ae_header_id => l_ae_header_id
53702 ,p_description => Description_1 (
53703 p_application_id => p_application_id
53704 , p_ae_header_id => l_ae_header_id
53705 , p_source_1 => p_source_1
53706 )
53707 );
53708
53709
53710 --
53711 -- call ADRs
53712 -- Bug 4922099
53713 --
53714 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
53715 (NVL(l_actual_upg_option, 'N') = 'O') OR
53716 (NVL(l_enc_upg_option, 'N') = 'O')
53717 )
53718 THEN
53719 NULL;
53720 --
53721 --
53722
53723 l_ccid := AcctDerRule_30(
53724 p_application_id => p_application_id
53725 , p_ae_header_id => l_ae_header_id
53726 , p_source_15 => p_source_15
53727 , p_source_15_meaning => p_source_15_meaning
53728 , p_source_20 => p_source_20
53732 , p_source_23 => p_source_23
53729 , p_source_21 => p_source_21
53730 , p_source_22 => p_source_22
53731 , p_source_22_meaning => p_source_22_meaning
53733 , p_source_30 => p_source_30
53734 , p_source_47 => p_source_47
53735 , p_source_47_meaning => p_source_47_meaning
53736 , x_transaction_coa_id => l_adr_transaction_coa_id
53737 , x_accounting_coa_id => l_adr_accounting_coa_id
53738 , x_value_type_code => l_adr_value_type_code
53739 , p_side => 'NA'
53740 );
53741
53742 xla_ae_lines_pkg.set_ccid(
53743 p_code_combination_id => l_ccid
53744 , p_value_type_code => l_adr_value_type_code
53745 , p_transaction_coa_id => l_adr_transaction_coa_id
53746 , p_accounting_coa_id => l_adr_accounting_coa_id
53747 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
53748 , p_adr_type_code => 'S'
53749 , p_component_type => l_component_type
53750 , p_component_code => l_component_code
53751 , p_component_type_code => l_component_type_code
53752 , p_component_appl_id => l_component_appl_id
53753 , p_amb_context_code => l_amb_context_code
53754 , p_side => 'NA'
53755 );
53756
53757
53758 l_segment := AcctDerRule_8(
53759 p_application_id => p_application_id
53760 , p_ae_header_id => l_ae_header_id
53761 , p_source_15 => p_source_15
53762 , p_source_15_meaning => p_source_15_meaning
53763 , p_source_20 => p_source_20
53764 , p_source_21 => p_source_21
53765 , p_source_22 => p_source_22
53766 , p_source_22_meaning => p_source_22_meaning
53767 , p_source_23 => p_source_23
53768 , x_transaction_coa_id => l_adr_transaction_coa_id
53769 , x_accounting_coa_id => l_adr_accounting_coa_id
53770 , x_flexfield_segment_code => l_adr_flexfield_segment_code
53771 , x_flex_value_set_id => l_adr_flex_value_set_id
53772 , x_value_type_code => l_adr_value_type_code
53773 , x_value_combination_id => l_adr_value_combination_id
53774 , x_value_segment_code => l_adr_value_segment_code
53775 , p_side => 'NA'
53776 , p_override_seg_flag => 'Y'
53777 );
53778
53779 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
53780
53781 xla_ae_lines_pkg.set_segment(
53782 p_to_segment_code => 'GL_ACCOUNT'
53783 , p_segment_value => l_segment
53784 , p_from_segment_code => l_adr_value_segment_code
53785 , p_from_combination_id => l_adr_value_combination_id
53786 , p_value_type_code => l_adr_value_type_code
53787 , p_transaction_coa_id => l_adr_transaction_coa_id
53788 , p_accounting_coa_id => l_adr_accounting_coa_id
53789 , p_flexfield_segment_code => l_adr_flexfield_segment_code
53790 , p_flex_value_set_id => l_adr_flex_value_set_id
53791 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
53792 , p_adr_type_code => 'S'
53793 , p_component_type => l_component_type
53794 , p_component_code => l_component_code
53795 , p_component_type_code => l_component_type_code
53796 , p_component_appl_id => l_component_appl_id
53797 , p_amb_context_code => l_amb_context_code
53798 , p_entity_code => 'AP_INVOICES'
53799 , p_event_class_code => 'PREPAYMENTS'
53800 , p_side => 'NA'
53801 );
53802
53803 END IF;
53804
53805 l_segment := AcctDerRule_23(
53806 p_application_id => p_application_id
53807 , p_ae_header_id => l_ae_header_id
53808 , p_source_15 => p_source_15
53809 , p_source_15_meaning => p_source_15_meaning
53810 , p_source_22 => p_source_22
53811 , p_source_22_meaning => p_source_22_meaning
53812 , p_source_30 => p_source_30
53813 , x_transaction_coa_id => l_adr_transaction_coa_id
53814 , x_accounting_coa_id => l_adr_accounting_coa_id
53815 , x_flexfield_segment_code => l_adr_flexfield_segment_code
53816 , x_flex_value_set_id => l_adr_flex_value_set_id
53817 , x_value_type_code => l_adr_value_type_code
53818 , x_value_combination_id => l_adr_value_combination_id
53819 , x_value_segment_code => l_adr_value_segment_code
53820 , p_side => 'NA'
53821 , p_override_seg_flag => 'Y'
53822 );
53823
53824 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
53825
53826 xla_ae_lines_pkg.set_segment(
53827 p_to_segment_code => 'GL_BALANCING'
53828 , p_segment_value => l_segment
53829 , p_from_segment_code => l_adr_value_segment_code
53830 , p_from_combination_id => l_adr_value_combination_id
53831 , p_value_type_code => l_adr_value_type_code
53832 , p_transaction_coa_id => l_adr_transaction_coa_id
53833 , p_accounting_coa_id => l_adr_accounting_coa_id
53834 , p_flexfield_segment_code => l_adr_flexfield_segment_code
53835 , p_flex_value_set_id => l_adr_flex_value_set_id
53836 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
53837 , p_adr_type_code => 'S'
53838 , p_component_type => l_component_type
53842 , p_amb_context_code => l_amb_context_code
53839 , p_component_code => l_component_code
53840 , p_component_type_code => l_component_type_code
53841 , p_component_appl_id => l_component_appl_id
53843 , p_entity_code => 'AP_INVOICES'
53844 , p_event_class_code => 'PREPAYMENTS'
53845 , p_side => 'NA'
53846 );
53847
53848 END IF;
53849
53850 --
53851 --
53852 END IF;
53853 --
53854 -- Bug 4922099
53855 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
53856 (NVL(l_enc_upg_option, 'N') = 'O')
53857 ) AND
53858 (l_bflow_method_code = 'PRIOR_ENTRY')
53859 )
53860 THEN
53861 IF
53862 --
53863 1 = 2
53864 --
53865 THEN
53866 xla_accounting_err_pkg.build_message
53867 (p_appli_s_name => 'XLA'
53868 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
53869 ,p_token_1 => 'LINE_NUMBER'
53870 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
53871 ,p_token_2 => 'LINE_TYPE_NAME'
53872 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
53873 l_component_type
53874 ,l_component_code
53875 ,l_component_type_code
53876 ,l_component_appl_id
53877 ,l_amb_context_code
53878 ,l_entity_code
53879 ,l_event_class_code
53880 )
53881 ,p_token_3 => 'OWNER'
53882 ,p_value_3 => xla_lookups_pkg.get_meaning(
53883 p_lookup_type => 'XLA_OWNER_TYPE'
53884 ,p_lookup_code => l_component_type_code
53885 )
53886 ,p_token_4 => 'PRODUCT_NAME'
53887 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
53888 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
53889 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
53890 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
53891 ,p_ae_header_id => NULL
53892 );
53893
53894 IF (C_LEVEL_ERROR>= g_log_level) THEN
53895 trace
53896 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
53897 ,p_level => C_LEVEL_ERROR
53898 ,p_module => l_log_module);
53899 END IF;
53900 END IF;
53901 END IF;
53902 --
53903 --
53904 ------------------------------------------------------------------------------------------------
53905 -- 4219869 Business Flow
53906 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
53907 -- Prior Entry. Currently, the following code is always generated.
53908 ------------------------------------------------------------------------------------------------
53909 XLA_AE_LINES_PKG.ValidateCurrentLine;
53910
53911 ------------------------------------------------------------------------------------
53912 -- 4219869 Business Flow
53913 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
53914 ------------------------------------------------------------------------------------
53915 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
53916
53917 ----------------------------------------------------------------------------------
53918 -- 4219869 Business Flow
53919 -- Update journal entry status -- Need to generate this within IF <condition>
53920 ----------------------------------------------------------------------------------
53921 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
53922 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
53923 ,p_balance_type_code => l_balance_type_code
53924 );
53925
53926 -------------------------------------------------------------------------------------------
53927 -- 4262811 - Generate the Accrual Reversal lines
53928 -------------------------------------------------------------------------------------------
53929 BEGIN
53930 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
53931 (g_array_event(p_event_id).array_value_num('header_index'));
53932 IF l_acc_rev_flag IS NULL THEN
53933 l_acc_rev_flag := 'N';
53934 END IF;
53935 EXCEPTION
53939 --
53936 WHEN OTHERS THEN
53937 l_acc_rev_flag := 'N';
53938 END;
53940 IF (l_acc_rev_flag = 'Y') THEN
53941
53942 -- 4645092 ------------------------------------------------------------------------------
53943 -- To allow MPA report to determine if it should generate report process
53944 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
53945 ------------------------------------------------------------------------------------------
53946
53947 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
53948 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
53949 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
53950 -- call ADRs
53951 -- Bug 4922099
53952 --
53953 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
53954 (NVL(l_actual_upg_option, 'N') = 'O') OR
53955 (NVL(l_enc_upg_option, 'N') = 'O')
53956 )
53957 THEN
53958 NULL;
53959 --
53960 --
53961
53962 l_ccid := AcctDerRule_30(
53963 p_application_id => p_application_id
53964 , p_ae_header_id => l_ae_header_id
53965 , p_source_15 => p_source_15
53966 , p_source_15_meaning => p_source_15_meaning
53967 , p_source_20 => p_source_20
53968 , p_source_21 => p_source_21
53969 , p_source_22 => p_source_22
53970 , p_source_22_meaning => p_source_22_meaning
53971 , p_source_23 => p_source_23
53972 , p_source_30 => p_source_30
53973 , p_source_47 => p_source_47
53974 , p_source_47_meaning => p_source_47_meaning
53975 , x_transaction_coa_id => l_adr_transaction_coa_id
53976 , x_accounting_coa_id => l_adr_accounting_coa_id
53977 , x_value_type_code => l_adr_value_type_code
53978 , p_side => 'NA'
53979 );
53980
53981 xla_ae_lines_pkg.set_ccid(
53982 p_code_combination_id => l_ccid
53983 , p_value_type_code => l_adr_value_type_code
53984 , p_transaction_coa_id => l_adr_transaction_coa_id
53985 , p_accounting_coa_id => l_adr_accounting_coa_id
53986 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
53987 , p_adr_type_code => 'S'
53988 , p_component_type => l_component_type
53989 , p_component_code => l_component_code
53990 , p_component_type_code => l_component_type_code
53991 , p_component_appl_id => l_component_appl_id
53992 , p_amb_context_code => l_amb_context_code
53993 , p_side => 'NA'
53994 );
53995
53996
53997 l_segment := AcctDerRule_8(
53998 p_application_id => p_application_id
53999 , p_ae_header_id => l_ae_header_id
54000 , p_source_15 => p_source_15
54001 , p_source_15_meaning => p_source_15_meaning
54002 , p_source_20 => p_source_20
54003 , p_source_21 => p_source_21
54004 , p_source_22 => p_source_22
54005 , p_source_22_meaning => p_source_22_meaning
54006 , p_source_23 => p_source_23
54007 , x_transaction_coa_id => l_adr_transaction_coa_id
54008 , x_accounting_coa_id => l_adr_accounting_coa_id
54009 , x_flexfield_segment_code => l_adr_flexfield_segment_code
54010 , x_flex_value_set_id => l_adr_flex_value_set_id
54011 , x_value_type_code => l_adr_value_type_code
54012 , x_value_combination_id => l_adr_value_combination_id
54013 , x_value_segment_code => l_adr_value_segment_code
54014 , p_side => 'NA'
54015 , p_override_seg_flag => 'Y'
54016 );
54017
54018 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
54019
54020 xla_ae_lines_pkg.set_segment(
54021 p_to_segment_code => 'GL_ACCOUNT'
54022 , p_segment_value => l_segment
54023 , p_from_segment_code => l_adr_value_segment_code
54024 , p_from_combination_id => l_adr_value_combination_id
54025 , p_value_type_code => l_adr_value_type_code
54026 , p_transaction_coa_id => l_adr_transaction_coa_id
54027 , p_accounting_coa_id => l_adr_accounting_coa_id
54028 , p_flexfield_segment_code => l_adr_flexfield_segment_code
54029 , p_flex_value_set_id => l_adr_flex_value_set_id
54030 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
54031 , p_adr_type_code => 'S'
54032 , p_component_type => l_component_type
54033 , p_component_code => l_component_code
54034 , p_component_type_code => l_component_type_code
54035 , p_component_appl_id => l_component_appl_id
54036 , p_amb_context_code => l_amb_context_code
54037 , p_entity_code => 'AP_INVOICES'
54038 , p_event_class_code => 'PREPAYMENTS'
54039 , p_side => 'NA'
54040 );
54041
54042 END IF;
54043
54044 l_segment := AcctDerRule_23(
54045 p_application_id => p_application_id
54046 , p_ae_header_id => l_ae_header_id
54047 , p_source_15 => p_source_15
54048 , p_source_15_meaning => p_source_15_meaning
54049 , p_source_22 => p_source_22
54050 , p_source_22_meaning => p_source_22_meaning
54051 , p_source_30 => p_source_30
54052 , x_transaction_coa_id => l_adr_transaction_coa_id
54053 , x_accounting_coa_id => l_adr_accounting_coa_id
54057 , x_value_combination_id => l_adr_value_combination_id
54054 , x_flexfield_segment_code => l_adr_flexfield_segment_code
54055 , x_flex_value_set_id => l_adr_flex_value_set_id
54056 , x_value_type_code => l_adr_value_type_code
54058 , x_value_segment_code => l_adr_value_segment_code
54059 , p_side => 'NA'
54060 , p_override_seg_flag => 'Y'
54061 );
54062
54063 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
54064
54065 xla_ae_lines_pkg.set_segment(
54066 p_to_segment_code => 'GL_BALANCING'
54067 , p_segment_value => l_segment
54068 , p_from_segment_code => l_adr_value_segment_code
54069 , p_from_combination_id => l_adr_value_combination_id
54070 , p_value_type_code => l_adr_value_type_code
54071 , p_transaction_coa_id => l_adr_transaction_coa_id
54072 , p_accounting_coa_id => l_adr_accounting_coa_id
54073 , p_flexfield_segment_code => l_adr_flexfield_segment_code
54074 , p_flex_value_set_id => l_adr_flex_value_set_id
54075 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
54076 , p_adr_type_code => 'S'
54077 , p_component_type => l_component_type
54078 , p_component_code => l_component_code
54079 , p_component_type_code => l_component_type_code
54080 , p_component_appl_id => l_component_appl_id
54081 , p_amb_context_code => l_amb_context_code
54082 , p_entity_code => 'AP_INVOICES'
54083 , p_event_class_code => 'PREPAYMENTS'
54084 , p_side => 'NA'
54085 );
54086
54087 END IF;
54088
54089 --
54090 --
54091 END IF;
54092
54093 --
54094 -- Update the line information that should be overwritten
54095 --
54096 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
54097 p_header_num => 1);
54098 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
54099
54100 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
54101
54102 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
54103 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
54104 END IF;
54105
54106 --
54107 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
54108 --
54109 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
54110 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
54111 ELSE
54112 ---------------------------------------------------------------------------------------------------
54113 -- 4262811a Switch Sign
54114 ---------------------------------------------------------------------------------------------------
54115 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
54116 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
54117 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
54118 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
54119 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
54120 -- 5132302
54121 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
54122 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
54123
54124 END IF;
54125
54126 -- 4955764
54127 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
54128 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
54129
54130
54131 XLA_AE_LINES_PKG.ValidateCurrentLine;
54132 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
54133
54134 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
54135 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
54136 ,p_balance_type_code => l_balance_type_code);
54137
54138 END IF;
54139
54140 -----------------------------------------------------------------------------------------
54141 -- 4262811 Multiperiod Accounting
54142 -----------------------------------------------------------------------------------------
54143 -- No MPA option is assigned.
54144
54145
54146 END IF;
54147 END IF;
54148 --
54149
54150 --
54151 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
54152 trace
54153 (p_msg => 'END of AcctLineType_110'
54154 ,p_level => C_LEVEL_PROCEDURE
54155 ,p_module => l_log_module);
54156 END IF;
54157 --
54158 EXCEPTION
54159 WHEN xla_exceptions_pkg.application_exception THEN
54160 RAISE;
54161 WHEN OTHERS THEN
54162 xla_exceptions_pkg.raise_message
54163 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_110');
54164 END AcctLineType_110;
54165 --
54166
54170 -- AcctLineType_111
54167 ---------------------------------------
54168 --
54169 -- PRIVATE FUNCTION
54171 --
54172 ---------------------------------------
54173 PROCEDURE AcctLineType_111 (
54174 p_application_id IN NUMBER
54175 ,p_event_id IN NUMBER
54176 ,p_calculate_acctd_flag IN VARCHAR2
54177 ,p_calculate_g_l_flag IN VARCHAR2
54178 ,p_actual_flag IN OUT VARCHAR2
54179 ,p_balance_type_code OUT VARCHAR2
54180 ,p_gain_or_loss_ref OUT VARCHAR2
54181
54182 --Automatic Offsets Value
54183 , p_source_15 IN VARCHAR2
54184 , p_source_15_meaning IN VARCHAR2
54185 --Invoice Distribution Account
54186 , p_source_30 IN NUMBER
54187 --Payables Options Rounding Account
54188 , p_source_49 IN NUMBER
54189 --Accounting Reversal Indicator
54190 , p_source_53 IN VARCHAR2
54191 --Distribution Link Type
54192 , p_source_55 IN VARCHAR2
54193 --Invoice Identifier
54194 , p_source_58 IN NUMBER
54195 --Payables Encumbrance Upgrade Credit Account
54196 , p_source_65 IN NUMBER
54197 --Payables Encumbrance Upgrade Credit Amount
54198 , p_source_66 IN NUMBER
54199 --Invoice Currency Code
54200 , p_source_67 IN VARCHAR2
54201 --Payables Encumbrance Upgrade Credit Base Amount
54202 , p_source_68 IN NUMBER
54203 --Payables Encumbrance Upgrade Debit Account
54204 , p_source_69 IN NUMBER
54205 --Payables Encumbrance Upgrade Debit Amount
54206 , p_source_70 IN NUMBER
54207 --Payables Encumbrance Upgrade Debit Base Amount
54208 , p_source_71 IN NUMBER
54209 --Payables Encumbrance Upgrade Option
54210 , p_source_72 IN VARCHAR2
54211 --Deferred Accounting End Date
54212 , p_source_77 IN DATE
54213 --Deferred Accounting Option
54214 , p_source_78 IN VARCHAR2
54215 --Deferred Accounting Start Date
54216 , p_source_79 IN DATE
54217 --Override Accounted Amount Indicator
54218 , p_source_80 IN VARCHAR2
54219 , p_source_80_meaning IN VARCHAR2
54220 --Invoice Supplier Identifier
54221 , p_source_81 IN NUMBER
54222 --Invoice Supplier Site Identifier
54223 , p_source_82 IN NUMBER
54224 --Third Party Type
54225 , p_source_83 IN VARCHAR2
54226 --Invoice Distribution Tax Line Identifier
54227 , p_source_86 IN NUMBER
54228 --Invoice Distribution Tax Distribution Identifier from Tax
54229 , p_source_87 IN NUMBER
54230 --Invoice Distribution Summary Tax Line Identifier
54231 , p_source_88 IN NUMBER
54232 --Payables Upgrade Credit Encumbrance Type Identifier
54233 , p_source_89 IN NUMBER
54234 --Payables Upgrade Debit Encumbrance Type Identifier
54235 , p_source_90 IN NUMBER
54236 --Business Flow Accounts Payable Application Identifier
54237 , p_source_91 IN NUMBER
54238 --Prepayment Distribution Type
54239 , p_source_125 IN VARCHAR2
54240 --Prepayment Application Distribution Identifier
54241 , p_source_127 IN NUMBER
54242 --Upgrade Encumbrance Credit Account Class
54243 , p_source_132 IN VARCHAR2
54244 --Upgrade Encumbrance Debit Account Class
54245 , p_source_133 IN VARCHAR2
54246 --Prepayment Distribution Amount
54247 , p_source_134 IN NUMBER
54248 --Prepayment Distribution (Prepayment Rate) Ledger Amount
54249 , p_source_135 IN NUMBER
54250 --Identifier of the Prepayment Application Reversed
54251 , p_source_136 IN NUMBER
54252 --Invoice Exchange Date
54253 , p_source_143 IN DATE
54254 --Invoice Exchange Rate
54255 , p_source_144 IN NUMBER
54256 --Invoice Exchange Rate Type
54257 , p_source_145 IN VARCHAR2
54258 --Business Flow Prepayment Invoice Distribution Type
54259 , p_source_146 IN VARCHAR2
54260 --Business Flow Prepayment Invoice Entity Code
54261 , p_source_147 IN VARCHAR2
54262 --Business Flow Prepayment Invoice Distribution Identifier
54263 , p_source_148 IN NUMBER
54264 --Business Flow Prepayment Invoice Identifier
54265 , p_source_149 IN NUMBER
54266 )
54267 IS
54268
54269 l_component_type VARCHAR2(80);
54270 l_component_code VARCHAR2(30);
54271 l_component_type_code VARCHAR2(1);
54272 l_component_appl_id INTEGER;
54273 l_amb_context_code VARCHAR2(30);
54274 l_entity_code VARCHAR2(30);
54275 l_event_class_code VARCHAR2(30);
54276 l_ae_header_id NUMBER;
54277 l_event_type_code VARCHAR2(30);
54278 l_line_definition_code VARCHAR2(30);
54279 l_line_definition_owner_code VARCHAR2(1);
54280 --
54281 -- adr variables
54282 l_segment VARCHAR2(30);
54283 l_ccid NUMBER;
54284 l_adr_transaction_coa_id NUMBER;
54285 l_adr_accounting_coa_id NUMBER;
54286 l_adr_flexfield_segment_code VARCHAR2(30);
54287 l_adr_flex_value_set_id NUMBER;
54288 l_adr_value_type_code VARCHAR2(30);
54289 l_adr_value_combination_id NUMBER;
54290 l_adr_value_segment_code VARCHAR2(30);
54291
54292 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
54293 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
54294 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
54298 l_entered_amt_idx NUMBER;
54295 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
54296
54297 -- 4262811 Variables ------------------------------------------------------------------------------------------
54299 l_accted_amt_idx NUMBER;
54300 l_acc_rev_flag VARCHAR2(1);
54301 l_accrual_line_num NUMBER;
54302 l_tmp_amt NUMBER;
54303 l_acc_rev_natural_side_code VARCHAR2(1);
54304
54305 l_num_entries NUMBER;
54306 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
54307 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
54308 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
54309 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
54310 l_recog_line_1 NUMBER;
54311 l_recog_line_2 NUMBER;
54312
54313 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
54314 l_bflow_applied_to_amt NUMBER; -- 5132302
54315 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
54316
54317 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
54318
54319 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
54320 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
54321
54322 ---------------------------------------------------------------------------------------------------------------
54323
54324
54325 --
54326 -- bulk performance
54327 --
54328 l_balance_type_code VARCHAR2(1);
54329 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
54330 l_log_module VARCHAR2(240);
54331
54332 --
54333 -- Upgrade strategy
54334 --
54335 l_actual_upg_option VARCHAR2(1);
54336 l_enc_upg_option VARCHAR2(1);
54337
54338 --
54339 BEGIN
54340 --
54341 IF g_log_enabled THEN
54342 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_111';
54343 END IF;
54344 --
54345 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
54346
54347 trace
54348 (p_msg => 'BEGIN of AcctLineType_111'
54349 ,p_level => C_LEVEL_PROCEDURE
54350 ,p_module => l_log_module);
54351
54352 END IF;
54353 --
54354 l_component_type := 'AMB_JLT';
54355 l_component_code := 'AP_FINAL_APP_ROUND_ACCR';
54356 l_component_type_code := 'S';
54357 l_component_appl_id := 200;
54358 l_amb_context_code := 'DEFAULT';
54359 l_entity_code := 'AP_INVOICES';
54360 l_event_class_code := 'PREPAYMENT APPLICATIONS';
54361 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
54362 l_line_definition_owner_code := 'S';
54363 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
54364 --
54365 l_balance_type_code := 'A';
54366 l_segment := NULL;
54367 l_ccid := NULL;
54368 l_adr_transaction_coa_id := NULL;
54369 l_adr_accounting_coa_id := NULL;
54370 l_adr_flexfield_segment_code := NULL;
54371 l_adr_flex_value_set_id := NULL;
54372 l_adr_value_type_code := NULL;
54373 l_adr_value_combination_id := NULL;
54374 l_adr_value_segment_code := NULL;
54375
54376 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
54377 l_bflow_class_code := ''; -- 4219869 Business Flow
54378 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
54379 l_budgetary_control_flag := 'N';
54380
54381 l_bflow_applied_to_amt_idx := NULL; -- 5132302
54382 l_bflow_applied_to_amt := NULL; -- 5132302
54383 l_entered_amt_idx := NULL; -- 4262811
54384 l_accted_amt_idx := NULL; -- 4262811
54385 l_acc_rev_flag := NULL; -- 4262811
54386 l_accrual_line_num := NULL; -- 4262811
54387 l_tmp_amt := NULL; -- 4262811
54388 --
54389
54390 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
54391 l_balance_type_code <> 'B' THEN
54392 IF NVL(p_source_125,'
54393 ') = 'FINAL APPLICATION ROUNDING'
54394 THEN
54395
54396 --
54397 XLA_AE_LINES_PKG.SetNewLine;
54398
54399 p_balance_type_code := l_balance_type_code;
54400 -- set the flag so later we will know whether the gain loss line needs to be created
54401
54402 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
54403 p_actual_flag :='A';
54404 END IF;
54405
54406 --
54407 -- bulk performance
54408 --
54409 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
54410 p_header_num => 0); -- 4262811
54411 --
54412 -- set accounting line options
54413 --
54414 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
54415 p_natural_side_code => 'C'
54416 , p_gain_or_loss_flag => 'N'
54417 , p_gl_transfer_mode_code => 'S'
54418 , p_acct_entry_type_code => 'A'
54419 , p_switch_side_flag => 'Y'
54420 , p_merge_duplicate_code => 'A'
54421 );
54422 --
54423 l_acc_rev_natural_side_code := 'D'; -- 4262811
54424 --
54425 --
54429 (p_component_type => l_component_type
54426 -- set accounting line type info
54427 --
54428 xla_ae_lines_pkg.SetAcctLineType
54430 ,p_event_type_code => l_event_type_code
54431 ,p_line_definition_owner_code => l_line_definition_owner_code
54432 ,p_line_definition_code => l_line_definition_code
54433 ,p_accounting_line_code => l_component_code
54434 ,p_accounting_line_type_code => l_component_type_code
54435 ,p_accounting_line_appl_id => l_component_appl_id
54436 ,p_amb_context_code => l_amb_context_code
54437 ,p_entity_code => l_entity_code
54438 ,p_event_class_code => l_event_class_code);
54439 --
54440 -- set accounting class
54441 --
54442 xla_ae_lines_pkg.SetAcctClass(
54443 p_accounting_class_code => 'ROUNDING'
54444 , p_ae_header_id => l_ae_header_id
54445 );
54446
54447 --
54448 -- set rounding class
54449 --
54450 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
54451 'ROUNDING';
54452
54453 --
54454 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
54455 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
54456 --
54457 -- bulk performance
54458 --
54459 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
54460
54461 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
54462 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
54463
54464 -- 4955764
54465 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
54466 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
54467
54468 -- 4458381 Public Sector Enh
54469
54470 --
54471 -- set accounting attributes for the line type
54472 --
54473 l_entered_amt_idx := 25;
54474 l_accted_amt_idx := 30;
54475 l_bflow_applied_to_amt_idx := NULL; -- 5132302
54476 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
54477 l_rec_acct_attrs.array_char_value(1) := p_source_53;
54478 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
54479 l_rec_acct_attrs.array_num_value(2) :=
54480 xla_ae_sources_pkg.GetSystemSourceNum(
54481 p_source_code => 'XLA_EVENT_APPL_ID'
54482 , p_source_type_code => 'Y'
54483 , p_source_application_id => 602
54484 );
54485 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
54486 l_rec_acct_attrs.array_char_value(3) := p_source_55;
54487 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
54488 l_rec_acct_attrs.array_char_value(4) :=
54489 xla_ae_sources_pkg.GetSystemSourceChar(
54490 p_source_code => 'XLA_ENTITY_CODE'
54491 , p_source_type_code => 'Y'
54492 , p_source_application_id => 602
54493 );
54494 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
54495 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_127);
54496 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
54497 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
54498 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
54499 l_rec_acct_attrs.array_num_value(7) := p_source_91;
54500 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
54501 l_rec_acct_attrs.array_char_value(8) := p_source_146;
54502 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
54503 l_rec_acct_attrs.array_char_value(9) := p_source_147;
54504 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
54505 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_148);
54506 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
54507 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_149);
54508 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
54509 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_127);
54510 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
54511 l_rec_acct_attrs.array_char_value(13) := p_source_55;
54512 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
54513 l_rec_acct_attrs.array_char_value(14) := p_source_132;
54514 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
54515 l_rec_acct_attrs.array_num_value(15) := p_source_65;
54516 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
54517 l_rec_acct_attrs.array_num_value(16) := p_source_66;
54518 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
54519 l_rec_acct_attrs.array_char_value(17) := p_source_67;
54520 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
54521 l_rec_acct_attrs.array_num_value(18) := p_source_68;
54522 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
54523 l_rec_acct_attrs.array_char_value(19) := p_source_133;
54524 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
54525 l_rec_acct_attrs.array_num_value(20) := p_source_69;
54526 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
54527 l_rec_acct_attrs.array_num_value(21) := p_source_70;
54528 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
54529 l_rec_acct_attrs.array_char_value(22) := p_source_67;
54533 l_rec_acct_attrs.array_char_value(24) := p_source_72;
54530 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
54531 l_rec_acct_attrs.array_num_value(23) := p_source_71;
54532 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
54534 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
54535 l_rec_acct_attrs.array_num_value(25) := p_source_134;
54536 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
54537 l_rec_acct_attrs.array_char_value(26) := p_source_67;
54538 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_DATE';
54539 l_rec_acct_attrs.array_date_value(27) := p_source_143;
54540 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE';
54541 l_rec_acct_attrs.array_num_value(28) := p_source_144;
54542 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_RATE_TYPE';
54543 l_rec_acct_attrs.array_char_value(29) := p_source_145;
54544 l_rec_acct_attrs.array_acct_attr_code(30) := 'LEDGER_AMOUNT';
54545 l_rec_acct_attrs.array_num_value(30) := p_source_135;
54546 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_END_DATE';
54547 l_rec_acct_attrs.array_date_value(31) := p_source_77;
54548 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_OPTION';
54549 l_rec_acct_attrs.array_char_value(32) := p_source_78;
54550 l_rec_acct_attrs.array_acct_attr_code(33) := 'MULTIPERIOD_START_DATE';
54551 l_rec_acct_attrs.array_date_value(33) := p_source_79;
54552 l_rec_acct_attrs.array_acct_attr_code(34) := 'OVERRIDE_ACCTD_AMT_FLAG';
54553 l_rec_acct_attrs.array_char_value(34) := p_source_80;
54554 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_ID';
54555 l_rec_acct_attrs.array_num_value(35) := p_source_81;
54556 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_SITE_ID';
54557 l_rec_acct_attrs.array_num_value(36) := p_source_82;
54558 l_rec_acct_attrs.array_acct_attr_code(37) := 'PARTY_TYPE';
54559 l_rec_acct_attrs.array_char_value(37) := p_source_83;
54560 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_ID1';
54561 l_rec_acct_attrs.array_num_value(38) := to_char(p_source_136);
54562 l_rec_acct_attrs.array_acct_attr_code(39) := 'REVERSED_DISTRIBUTION_TYPE';
54563 l_rec_acct_attrs.array_char_value(39) := p_source_55;
54564 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
54565 l_rec_acct_attrs.array_num_value(40) := p_source_86;
54566 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
54567 l_rec_acct_attrs.array_num_value(41) := p_source_87;
54568 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
54569 l_rec_acct_attrs.array_num_value(42) := p_source_88;
54570 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
54571 l_rec_acct_attrs.array_num_value(43) := p_source_89;
54572 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
54573 l_rec_acct_attrs.array_num_value(44) := p_source_90;
54574
54575 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
54576 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
54577
54578 ---------------------------------------------------------------------------------------------------------------
54579 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
54580 ---------------------------------------------------------------------------------------------------------------
54581 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
54582
54583 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
54584 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
54585
54586 IF xla_accounting_cache_pkg.GetValueChar
54587 (p_source_code => 'LEDGER_CATEGORY_CODE'
54588 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
54589 AND l_bflow_method_code = 'PRIOR_ENTRY'
54590 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
54591 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
54592 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
54593 )
54594 THEN
54595 xla_ae_lines_pkg.BflowUpgEntry
54596 (p_business_method_code => l_bflow_method_code
54597 ,p_business_class_code => l_bflow_class_code
54598 ,p_balance_type => l_balance_type_code);
54599 ELSE
54600 NULL;
54601 -- No business flow processing for business flow method of NONE.
54602 END IF;
54603
54604 --
54605 -- call analytical criteria
54606 --
54607
54608 --
54609 -- call description
54610 --
54611 -- No description or it is inherited.
54612 --
54613 -- call ADRs
54614 -- Bug 4922099
54615 --
54616 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
54617 (NVL(l_actual_upg_option, 'N') = 'O') OR
54618 (NVL(l_enc_upg_option, 'N') = 'O')
54619 )
54620 THEN
54621 NULL;
54622 --
54623 --
54624
54625 l_ccid := AcctDerRule_41(
54626 p_application_id => p_application_id
54627 , p_ae_header_id => l_ae_header_id
54628 , p_source_15 => p_source_15
54629 , p_source_15_meaning => p_source_15_meaning
54630 , p_source_30 => p_source_30
54631 , p_source_49 => p_source_49
54635 , p_side => 'NA'
54632 , x_transaction_coa_id => l_adr_transaction_coa_id
54633 , x_accounting_coa_id => l_adr_accounting_coa_id
54634 , x_value_type_code => l_adr_value_type_code
54636 );
54637
54638 xla_ae_lines_pkg.set_ccid(
54639 p_code_combination_id => l_ccid
54640 , p_value_type_code => l_adr_value_type_code
54641 , p_transaction_coa_id => l_adr_transaction_coa_id
54642 , p_accounting_coa_id => l_adr_accounting_coa_id
54643 , p_adr_code => 'AP_ROUNDING'
54644 , p_adr_type_code => 'S'
54645 , p_component_type => l_component_type
54646 , p_component_code => l_component_code
54647 , p_component_type_code => l_component_type_code
54648 , p_component_appl_id => l_component_appl_id
54649 , p_amb_context_code => l_amb_context_code
54650 , p_side => 'NA'
54651 );
54652
54653
54654 --
54655 --
54656 END IF;
54657 --
54658 -- Bug 4922099
54659 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
54660 (NVL(l_enc_upg_option, 'N') = 'O')
54661 ) AND
54662 (l_bflow_method_code = 'PRIOR_ENTRY')
54663 )
54664 THEN
54665 IF
54666 --
54667 1 = 2
54668 --
54669 THEN
54670 xla_accounting_err_pkg.build_message
54671 (p_appli_s_name => 'XLA'
54672 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
54673 ,p_token_1 => 'LINE_NUMBER'
54674 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
54675 ,p_token_2 => 'LINE_TYPE_NAME'
54676 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
54677 l_component_type
54678 ,l_component_code
54679 ,l_component_type_code
54680 ,l_component_appl_id
54681 ,l_amb_context_code
54682 ,l_entity_code
54683 ,l_event_class_code
54684 )
54685 ,p_token_3 => 'OWNER'
54686 ,p_value_3 => xla_lookups_pkg.get_meaning(
54687 p_lookup_type => 'XLA_OWNER_TYPE'
54688 ,p_lookup_code => l_component_type_code
54689 )
54690 ,p_token_4 => 'PRODUCT_NAME'
54691 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
54692 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
54693 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
54694 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
54695 ,p_ae_header_id => NULL
54696 );
54697
54698 IF (C_LEVEL_ERROR>= g_log_level) THEN
54699 trace
54700 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
54701 ,p_level => C_LEVEL_ERROR
54702 ,p_module => l_log_module);
54703 END IF;
54704 END IF;
54705 END IF;
54706 --
54707 --
54708 ------------------------------------------------------------------------------------------------
54709 -- 4219869 Business Flow
54710 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
54711 -- Prior Entry. Currently, the following code is always generated.
54712 ------------------------------------------------------------------------------------------------
54713 XLA_AE_LINES_PKG.ValidateCurrentLine;
54714
54715 ------------------------------------------------------------------------------------
54716 -- 4219869 Business Flow
54717 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
54718 ------------------------------------------------------------------------------------
54719 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
54720
54721 ----------------------------------------------------------------------------------
54722 -- 4219869 Business Flow
54723 -- Update journal entry status -- Need to generate this within IF <condition>
54724 ----------------------------------------------------------------------------------
54725 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
54726 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
54727 ,p_balance_type_code => l_balance_type_code
54728 );
54732 -------------------------------------------------------------------------------------------
54729
54730 -------------------------------------------------------------------------------------------
54731 -- 4262811 - Generate the Accrual Reversal lines
54733 BEGIN
54734 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
54735 (g_array_event(p_event_id).array_value_num('header_index'));
54736 IF l_acc_rev_flag IS NULL THEN
54737 l_acc_rev_flag := 'N';
54738 END IF;
54739 EXCEPTION
54740 WHEN OTHERS THEN
54741 l_acc_rev_flag := 'N';
54742 END;
54743 --
54744 IF (l_acc_rev_flag = 'Y') THEN
54745
54746 -- 4645092 ------------------------------------------------------------------------------
54747 -- To allow MPA report to determine if it should generate report process
54748 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
54749 ------------------------------------------------------------------------------------------
54750
54751 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
54752 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
54753 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
54754 -- call ADRs
54755 -- Bug 4922099
54756 --
54757 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
54758 (NVL(l_actual_upg_option, 'N') = 'O') OR
54759 (NVL(l_enc_upg_option, 'N') = 'O')
54760 )
54761 THEN
54762 NULL;
54763 --
54764 --
54765
54766 l_ccid := AcctDerRule_41(
54767 p_application_id => p_application_id
54768 , p_ae_header_id => l_ae_header_id
54769 , p_source_15 => p_source_15
54770 , p_source_15_meaning => p_source_15_meaning
54771 , p_source_30 => p_source_30
54772 , p_source_49 => p_source_49
54773 , x_transaction_coa_id => l_adr_transaction_coa_id
54774 , x_accounting_coa_id => l_adr_accounting_coa_id
54775 , x_value_type_code => l_adr_value_type_code
54776 , p_side => 'NA'
54777 );
54778
54779 xla_ae_lines_pkg.set_ccid(
54780 p_code_combination_id => l_ccid
54781 , p_value_type_code => l_adr_value_type_code
54782 , p_transaction_coa_id => l_adr_transaction_coa_id
54783 , p_accounting_coa_id => l_adr_accounting_coa_id
54784 , p_adr_code => 'AP_ROUNDING'
54785 , p_adr_type_code => 'S'
54786 , p_component_type => l_component_type
54787 , p_component_code => l_component_code
54788 , p_component_type_code => l_component_type_code
54789 , p_component_appl_id => l_component_appl_id
54790 , p_amb_context_code => l_amb_context_code
54791 , p_side => 'NA'
54792 );
54793
54794
54795 --
54796 --
54797 END IF;
54798
54799 --
54800 -- Update the line information that should be overwritten
54801 --
54802 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
54803 p_header_num => 1);
54804 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
54805
54806 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
54807
54808 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
54809 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
54810 END IF;
54811
54812 --
54813 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
54814 --
54815 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
54816 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
54817 ELSE
54818 ---------------------------------------------------------------------------------------------------
54819 -- 4262811a Switch Sign
54820 ---------------------------------------------------------------------------------------------------
54821 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
54822 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
54823 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
54824 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
54825 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
54826 -- 5132302
54827 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
54828 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
54829
54830 END IF;
54831
54832 -- 4955764
54833 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
54834 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
54835
54836
54837 XLA_AE_LINES_PKG.ValidateCurrentLine;
54838 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
54839
54843
54840 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
54841 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
54842 ,p_balance_type_code => l_balance_type_code);
54844 END IF;
54845
54846 -----------------------------------------------------------------------------------------
54847 -- 4262811 Multiperiod Accounting
54848 -----------------------------------------------------------------------------------------
54849 -- No MPA option is assigned.
54850
54851
54852 END IF;
54853 END IF;
54854 --
54855
54856 --
54857 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
54858 trace
54859 (p_msg => 'END of AcctLineType_111'
54860 ,p_level => C_LEVEL_PROCEDURE
54861 ,p_module => l_log_module);
54862 END IF;
54863 --
54864 EXCEPTION
54865 WHEN xla_exceptions_pkg.application_exception THEN
54866 RAISE;
54867 WHEN OTHERS THEN
54868 xla_exceptions_pkg.raise_message
54869 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_111');
54870 END AcctLineType_111;
54871 --
54872
54873 ---------------------------------------
54874 --
54875 -- PRIVATE FUNCTION
54876 -- AcctLineType_112
54877 --
54878 ---------------------------------------
54879 PROCEDURE AcctLineType_112 (
54880 p_application_id IN NUMBER
54881 ,p_event_id IN NUMBER
54882 ,p_calculate_acctd_flag IN VARCHAR2
54883 ,p_calculate_g_l_flag IN VARCHAR2
54884 ,p_actual_flag IN OUT VARCHAR2
54885 ,p_balance_type_code OUT VARCHAR2
54886 ,p_gain_or_loss_ref OUT VARCHAR2
54887
54888 --Automatic Offsets Value
54889 , p_source_15 IN VARCHAR2
54890 , p_source_15_meaning IN VARCHAR2
54891 --Invoice Distribution Account
54892 , p_source_30 IN NUMBER
54893 --Payables Options Rounding Account
54894 , p_source_49 IN NUMBER
54895 --Accounting Reversal Indicator
54896 , p_source_53 IN VARCHAR2
54897 --Distribution Link Type
54898 , p_source_55 IN VARCHAR2
54899 --Invoice Currency Code
54900 , p_source_67 IN VARCHAR2
54901 --Override Accounted Amount Indicator
54902 , p_source_80 IN VARCHAR2
54903 , p_source_80_meaning IN VARCHAR2
54904 --Third Party Type
54905 , p_source_83 IN VARCHAR2
54906 --Invoice Distribution Tax Line Identifier
54907 , p_source_86 IN NUMBER
54908 --Invoice Distribution Summary Tax Line Identifier
54909 , p_source_88 IN NUMBER
54910 --Business Flow Accounts Payable Application Identifier
54911 , p_source_91 IN NUMBER
54912 --When to Account for Payment Option
54913 , p_source_97 IN VARCHAR2
54914 --Payment Distribution Type
54915 , p_source_98 IN VARCHAR2
54916 , p_source_98_meaning IN VARCHAR2
54917 --Payment Distribution Amount
54918 , p_source_99 IN NUMBER
54919 --Business Flow Payment Distribution Type
54920 , p_source_100 IN VARCHAR2
54921 --Business Flow Payment Entity Code
54922 , p_source_101 IN VARCHAR2
54923 --Business Flow Payment Distribution Identifier
54924 , p_source_102 IN NUMBER
54925 --Business Flow Payment Identifier
54926 , p_source_103 IN NUMBER
54927 --Payment Distribution Identifier
54928 , p_source_104 IN NUMBER
54929 --Payment Supplier Identifier
54930 , p_source_110 IN NUMBER
54931 --Payment Supplier Site Identifier
54932 , p_source_111 IN NUMBER
54933 --Payment Distribution Reversed Identifier
54934 , p_source_112 IN NUMBER
54935 --Payment Distribution (Invoice Rate) Ledger Amount
54936 , p_source_116 IN NUMBER
54937 --Invoice Exchange Date
54938 , p_source_143 IN DATE
54939 --Invoice Exchange Rate
54940 , p_source_144 IN NUMBER
54941 --Invoice Exchange Rate Type
54942 , p_source_145 IN VARCHAR2
54943 )
54944 IS
54945
54946 l_component_type VARCHAR2(80);
54947 l_component_code VARCHAR2(30);
54948 l_component_type_code VARCHAR2(1);
54949 l_component_appl_id INTEGER;
54950 l_amb_context_code VARCHAR2(30);
54951 l_entity_code VARCHAR2(30);
54952 l_event_class_code VARCHAR2(30);
54953 l_ae_header_id NUMBER;
54954 l_event_type_code VARCHAR2(30);
54955 l_line_definition_code VARCHAR2(30);
54956 l_line_definition_owner_code VARCHAR2(1);
54957 --
54958 -- adr variables
54959 l_segment VARCHAR2(30);
54960 l_ccid NUMBER;
54961 l_adr_transaction_coa_id NUMBER;
54962 l_adr_accounting_coa_id NUMBER;
54963 l_adr_flexfield_segment_code VARCHAR2(30);
54964 l_adr_flex_value_set_id NUMBER;
54965 l_adr_value_type_code VARCHAR2(30);
54966 l_adr_value_combination_id NUMBER;
54967 l_adr_value_segment_code VARCHAR2(30);
54968
54969 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
54970 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
54971 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
54972 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
54973
54977 l_acc_rev_flag VARCHAR2(1);
54974 -- 4262811 Variables ------------------------------------------------------------------------------------------
54975 l_entered_amt_idx NUMBER;
54976 l_accted_amt_idx NUMBER;
54978 l_accrual_line_num NUMBER;
54979 l_tmp_amt NUMBER;
54980 l_acc_rev_natural_side_code VARCHAR2(1);
54981
54982 l_num_entries NUMBER;
54983 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
54984 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
54985 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
54986 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
54987 l_recog_line_1 NUMBER;
54988 l_recog_line_2 NUMBER;
54989
54990 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
54991 l_bflow_applied_to_amt NUMBER; -- 5132302
54992 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
54993
54994 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
54995
54996 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
54997 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
54998
54999 ---------------------------------------------------------------------------------------------------------------
55000
55001
55002 --
55003 -- bulk performance
55004 --
55005 l_balance_type_code VARCHAR2(1);
55006 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
55007 l_log_module VARCHAR2(240);
55008
55009 --
55010 -- Upgrade strategy
55011 --
55012 l_actual_upg_option VARCHAR2(1);
55013 l_enc_upg_option VARCHAR2(1);
55014
55015 --
55016 BEGIN
55017 --
55018 IF g_log_enabled THEN
55019 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_112';
55020 END IF;
55021 --
55022 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
55023
55024 trace
55025 (p_msg => 'BEGIN of AcctLineType_112'
55026 ,p_level => C_LEVEL_PROCEDURE
55027 ,p_module => l_log_module);
55028
55029 END IF;
55030 --
55031 l_component_type := 'AMB_JLT';
55032 l_component_code := 'AP_FINAL_PMT_ROUNDING_CLEAR';
55033 l_component_type_code := 'S';
55034 l_component_appl_id := 200;
55035 l_amb_context_code := 'DEFAULT';
55036 l_entity_code := 'AP_PAYMENTS';
55037 l_event_class_code := 'RECONCILED PAYMENTS';
55038 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
55039 l_line_definition_owner_code := 'S';
55040 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
55041 --
55042 l_balance_type_code := 'A';
55043 l_segment := NULL;
55044 l_ccid := NULL;
55045 l_adr_transaction_coa_id := NULL;
55046 l_adr_accounting_coa_id := NULL;
55047 l_adr_flexfield_segment_code := NULL;
55048 l_adr_flex_value_set_id := NULL;
55049 l_adr_value_type_code := NULL;
55050 l_adr_value_combination_id := NULL;
55051 l_adr_value_segment_code := NULL;
55052
55053 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
55054 l_bflow_class_code := ''; -- 4219869 Business Flow
55055 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
55056 l_budgetary_control_flag := 'N';
55057
55058 l_bflow_applied_to_amt_idx := NULL; -- 5132302
55059 l_bflow_applied_to_amt := NULL; -- 5132302
55060 l_entered_amt_idx := NULL; -- 4262811
55061 l_accted_amt_idx := NULL; -- 4262811
55062 l_acc_rev_flag := NULL; -- 4262811
55063 l_accrual_line_num := NULL; -- 4262811
55064 l_tmp_amt := NULL; -- 4262811
55065 --
55066
55067 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
55068 l_balance_type_code <> 'B' THEN
55069 IF NVL(p_source_97,'
55070 ') = 'CLEAR_CLEAR' AND
55071 NVL(p_source_98,'
55072 ') = 'FINAL PAYMENT ROUNDING'
55073 THEN
55074
55075 --
55076 XLA_AE_LINES_PKG.SetNewLine;
55077
55078 p_balance_type_code := l_balance_type_code;
55079 -- set the flag so later we will know whether the gain loss line needs to be created
55080
55081 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
55082 p_actual_flag :='A';
55083 END IF;
55084
55085 --
55086 -- bulk performance
55087 --
55088 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
55089 p_header_num => 0); -- 4262811
55090 --
55091 -- set accounting line options
55092 --
55093 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
55094 p_natural_side_code => 'D'
55095 , p_gain_or_loss_flag => 'N'
55096 , p_gl_transfer_mode_code => 'S'
55097 , p_acct_entry_type_code => 'A'
55098 , p_switch_side_flag => 'Y'
55099 , p_merge_duplicate_code => 'A'
55100 );
55101 --
55102 l_acc_rev_natural_side_code := 'C'; -- 4262811
55103 --
55104 --
55105 -- set accounting line type info
55106 --
55110 ,p_line_definition_owner_code => l_line_definition_owner_code
55107 xla_ae_lines_pkg.SetAcctLineType
55108 (p_component_type => l_component_type
55109 ,p_event_type_code => l_event_type_code
55111 ,p_line_definition_code => l_line_definition_code
55112 ,p_accounting_line_code => l_component_code
55113 ,p_accounting_line_type_code => l_component_type_code
55114 ,p_accounting_line_appl_id => l_component_appl_id
55115 ,p_amb_context_code => l_amb_context_code
55116 ,p_entity_code => l_entity_code
55117 ,p_event_class_code => l_event_class_code);
55118 --
55119 -- set accounting class
55120 --
55121 xla_ae_lines_pkg.SetAcctClass(
55122 p_accounting_class_code => 'ROUNDING'
55123 , p_ae_header_id => l_ae_header_id
55124 );
55125
55126 --
55127 -- set rounding class
55128 --
55129 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
55130 'ROUNDING';
55131
55132 --
55133 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
55134 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
55135 --
55136 -- bulk performance
55137 --
55138 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
55139
55140 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
55141 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
55142
55143 -- 4955764
55144 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
55145 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
55146
55147 -- 4458381 Public Sector Enh
55148
55149 --
55150 -- set accounting attributes for the line type
55151 --
55152 l_entered_amt_idx := 10;
55153 l_accted_amt_idx := 15;
55154 l_bflow_applied_to_amt_idx := 2; -- 5132302
55155 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
55156 l_rec_acct_attrs.array_char_value(1) := p_source_53;
55157 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
55158 l_rec_acct_attrs.array_num_value(2) := p_source_99;
55159 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
55160 l_rec_acct_attrs.array_num_value(3) := p_source_91;
55161 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
55162 l_rec_acct_attrs.array_char_value(4) := p_source_100;
55163 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
55164 l_rec_acct_attrs.array_char_value(5) := p_source_101;
55165 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
55166 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
55167 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
55168 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
55169 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
55170 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
55171 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
55172 l_rec_acct_attrs.array_char_value(9) := p_source_55;
55173 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
55174 l_rec_acct_attrs.array_num_value(10) := p_source_99;
55175 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
55176 l_rec_acct_attrs.array_char_value(11) := p_source_67;
55177 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
55178 l_rec_acct_attrs.array_date_value(12) := p_source_143;
55179 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
55180 l_rec_acct_attrs.array_num_value(13) := p_source_144;
55181 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
55182 l_rec_acct_attrs.array_char_value(14) := p_source_145;
55183 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
55184 l_rec_acct_attrs.array_num_value(15) := p_source_116;
55185 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
55186 l_rec_acct_attrs.array_char_value(16) := p_source_80;
55187 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
55188 l_rec_acct_attrs.array_num_value(17) := p_source_110;
55189 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
55190 l_rec_acct_attrs.array_num_value(18) := p_source_111;
55191 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
55192 l_rec_acct_attrs.array_char_value(19) := p_source_83;
55193 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
55194 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
55195 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
55196 l_rec_acct_attrs.array_char_value(21) := p_source_55;
55197 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
55198 l_rec_acct_attrs.array_num_value(22) := p_source_86;
55199 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
55200 l_rec_acct_attrs.array_num_value(23) := p_source_86;
55201 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
55202 l_rec_acct_attrs.array_num_value(24) := p_source_88;
55203
55204 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
55205 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
55209 ---------------------------------------------------------------------------------------------------------------
55206
55207 ---------------------------------------------------------------------------------------------------------------
55208 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
55210 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
55211
55212 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
55213 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
55214
55215 IF xla_accounting_cache_pkg.GetValueChar
55216 (p_source_code => 'LEDGER_CATEGORY_CODE'
55217 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
55218 AND l_bflow_method_code = 'PRIOR_ENTRY'
55219 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
55220 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
55221 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
55222 )
55223 THEN
55224 xla_ae_lines_pkg.BflowUpgEntry
55225 (p_business_method_code => l_bflow_method_code
55226 ,p_business_class_code => l_bflow_class_code
55227 ,p_balance_type => l_balance_type_code);
55228 ELSE
55229 NULL;
55230 -- No business flow processing for business flow method of NONE.
55231 END IF;
55232
55233 --
55234 -- call analytical criteria
55235 --
55236
55237 --
55238 -- call description
55239 --
55240 -- No description or it is inherited.
55241 --
55242 -- call ADRs
55243 -- Bug 4922099
55244 --
55245 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
55246 (NVL(l_actual_upg_option, 'N') = 'O') OR
55247 (NVL(l_enc_upg_option, 'N') = 'O')
55248 )
55249 THEN
55250 NULL;
55251 --
55252 --
55253
55254 l_ccid := AcctDerRule_41(
55255 p_application_id => p_application_id
55256 , p_ae_header_id => l_ae_header_id
55257 , p_source_15 => p_source_15
55258 , p_source_15_meaning => p_source_15_meaning
55259 , p_source_30 => p_source_30
55260 , p_source_49 => p_source_49
55261 , x_transaction_coa_id => l_adr_transaction_coa_id
55262 , x_accounting_coa_id => l_adr_accounting_coa_id
55263 , x_value_type_code => l_adr_value_type_code
55264 , p_side => 'NA'
55265 );
55266
55267 xla_ae_lines_pkg.set_ccid(
55268 p_code_combination_id => l_ccid
55269 , p_value_type_code => l_adr_value_type_code
55270 , p_transaction_coa_id => l_adr_transaction_coa_id
55271 , p_accounting_coa_id => l_adr_accounting_coa_id
55272 , p_adr_code => 'AP_ROUNDING'
55273 , p_adr_type_code => 'S'
55274 , p_component_type => l_component_type
55275 , p_component_code => l_component_code
55276 , p_component_type_code => l_component_type_code
55277 , p_component_appl_id => l_component_appl_id
55278 , p_amb_context_code => l_amb_context_code
55279 , p_side => 'NA'
55280 );
55281
55282
55283 --
55284 --
55285 END IF;
55286 --
55287 -- Bug 4922099
55288 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
55289 (NVL(l_enc_upg_option, 'N') = 'O')
55290 ) AND
55291 (l_bflow_method_code = 'PRIOR_ENTRY')
55292 )
55293 THEN
55294 IF
55295 --
55296 1 = 2
55297 --
55298 THEN
55299 xla_accounting_err_pkg.build_message
55300 (p_appli_s_name => 'XLA'
55301 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
55302 ,p_token_1 => 'LINE_NUMBER'
55303 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
55304 ,p_token_2 => 'LINE_TYPE_NAME'
55305 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
55306 l_component_type
55307 ,l_component_code
55308 ,l_component_type_code
55309 ,l_component_appl_id
55310 ,l_amb_context_code
55311 ,l_entity_code
55312 ,l_event_class_code
55313 )
55314 ,p_token_3 => 'OWNER'
55315 ,p_value_3 => xla_lookups_pkg.get_meaning(
55316 p_lookup_type => 'XLA_OWNER_TYPE'
55317 ,p_lookup_code => l_component_type_code
55318 )
55322 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
55319 ,p_token_4 => 'PRODUCT_NAME'
55320 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
55321 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
55323 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
55324 ,p_ae_header_id => NULL
55325 );
55326
55327 IF (C_LEVEL_ERROR>= g_log_level) THEN
55328 trace
55329 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
55330 ,p_level => C_LEVEL_ERROR
55331 ,p_module => l_log_module);
55332 END IF;
55333 END IF;
55334 END IF;
55335 --
55336 --
55337 ------------------------------------------------------------------------------------------------
55338 -- 4219869 Business Flow
55339 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
55340 -- Prior Entry. Currently, the following code is always generated.
55341 ------------------------------------------------------------------------------------------------
55342 XLA_AE_LINES_PKG.ValidateCurrentLine;
55343
55344 ------------------------------------------------------------------------------------
55345 -- 4219869 Business Flow
55346 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
55347 ------------------------------------------------------------------------------------
55348 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
55349
55350 ----------------------------------------------------------------------------------
55351 -- 4219869 Business Flow
55352 -- Update journal entry status -- Need to generate this within IF <condition>
55353 ----------------------------------------------------------------------------------
55354 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
55355 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
55356 ,p_balance_type_code => l_balance_type_code
55357 );
55358
55359 -------------------------------------------------------------------------------------------
55360 -- 4262811 - Generate the Accrual Reversal lines
55361 -------------------------------------------------------------------------------------------
55362 BEGIN
55363 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
55364 (g_array_event(p_event_id).array_value_num('header_index'));
55365 IF l_acc_rev_flag IS NULL THEN
55366 l_acc_rev_flag := 'N';
55367 END IF;
55368 EXCEPTION
55369 WHEN OTHERS THEN
55370 l_acc_rev_flag := 'N';
55371 END;
55372 --
55373 IF (l_acc_rev_flag = 'Y') THEN
55374
55375 -- 4645092 ------------------------------------------------------------------------------
55376 -- To allow MPA report to determine if it should generate report process
55377 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
55378 ------------------------------------------------------------------------------------------
55379
55380 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
55381 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
55382 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
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 l_ccid := AcctDerRule_41(
55396 p_application_id => p_application_id
55397 , p_ae_header_id => l_ae_header_id
55398 , p_source_15 => p_source_15
55399 , p_source_15_meaning => p_source_15_meaning
55400 , p_source_30 => p_source_30
55401 , p_source_49 => p_source_49
55402 , x_transaction_coa_id => l_adr_transaction_coa_id
55403 , x_accounting_coa_id => l_adr_accounting_coa_id
55404 , x_value_type_code => l_adr_value_type_code
55405 , p_side => 'NA'
55406 );
55407
55408 xla_ae_lines_pkg.set_ccid(
55409 p_code_combination_id => l_ccid
55410 , p_value_type_code => l_adr_value_type_code
55411 , p_transaction_coa_id => l_adr_transaction_coa_id
55412 , p_accounting_coa_id => l_adr_accounting_coa_id
55413 , p_adr_code => 'AP_ROUNDING'
55414 , p_adr_type_code => 'S'
55415 , p_component_type => l_component_type
55416 , p_component_code => l_component_code
55417 , p_component_type_code => l_component_type_code
55418 , p_component_appl_id => l_component_appl_id
55419 , p_amb_context_code => l_amb_context_code
55420 , p_side => 'NA'
55421 );
55422
55423
55424 --
55425 --
55426 END IF;
55427
55428 --
55429 -- Update the line information that should be overwritten
55430 --
55434
55431 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
55432 p_header_num => 1);
55433 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
55435 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
55436
55437 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
55438 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
55439 END IF;
55440
55441 --
55442 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
55443 --
55444 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
55445 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
55446 ELSE
55447 ---------------------------------------------------------------------------------------------------
55448 -- 4262811a Switch Sign
55449 ---------------------------------------------------------------------------------------------------
55450 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
55451 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
55452 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
55453 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
55454 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
55455 -- 5132302
55456 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
55457 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
55458
55459 END IF;
55460
55461 -- 4955764
55462 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
55463 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
55464
55465
55466 XLA_AE_LINES_PKG.ValidateCurrentLine;
55467 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
55468
55469 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
55470 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
55471 ,p_balance_type_code => l_balance_type_code);
55472
55473 END IF;
55474
55475 -----------------------------------------------------------------------------------------
55476 -- 4262811 Multiperiod Accounting
55477 -----------------------------------------------------------------------------------------
55478 -- No MPA option is assigned.
55479
55480
55481 END IF;
55482 END IF;
55483 --
55484
55485 --
55486 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
55487 trace
55488 (p_msg => 'END of AcctLineType_112'
55489 ,p_level => C_LEVEL_PROCEDURE
55490 ,p_module => l_log_module);
55491 END IF;
55492 --
55493 EXCEPTION
55494 WHEN xla_exceptions_pkg.application_exception THEN
55495 RAISE;
55496 WHEN OTHERS THEN
55497 xla_exceptions_pkg.raise_message
55498 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_112');
55499 END AcctLineType_112;
55500 --
55501
55502 ---------------------------------------
55503 --
55504 -- PRIVATE FUNCTION
55505 -- AcctLineType_113
55506 --
55507 ---------------------------------------
55508 PROCEDURE AcctLineType_113 (
55509 p_application_id IN NUMBER
55510 ,p_event_id IN NUMBER
55511 ,p_calculate_acctd_flag IN VARCHAR2
55512 ,p_calculate_g_l_flag IN VARCHAR2
55513 ,p_actual_flag IN OUT VARCHAR2
55514 ,p_balance_type_code OUT VARCHAR2
55515 ,p_gain_or_loss_ref OUT VARCHAR2
55516
55517 --Automatic Offsets Value
55518 , p_source_15 IN VARCHAR2
55519 , p_source_15_meaning IN VARCHAR2
55520 --Invoice Distribution Account
55521 , p_source_30 IN NUMBER
55522 --Payables Options Rounding Account
55523 , p_source_49 IN NUMBER
55524 --Accounting Reversal Indicator
55525 , p_source_53 IN VARCHAR2
55526 --Distribution Link Type
55527 , p_source_55 IN VARCHAR2
55528 --Invoice Currency Code
55529 , p_source_67 IN VARCHAR2
55530 --Override Accounted Amount Indicator
55531 , p_source_80 IN VARCHAR2
55532 , p_source_80_meaning IN VARCHAR2
55533 --Third Party Type
55534 , p_source_83 IN VARCHAR2
55535 --Invoice Distribution Tax Line Identifier
55536 , p_source_86 IN NUMBER
55537 --Invoice Distribution Tax Distribution Identifier from Tax
55538 , p_source_87 IN NUMBER
55539 --Invoice Distribution Summary Tax Line Identifier
55540 , p_source_88 IN NUMBER
55541 --Business Flow Accounts Payable Application Identifier
55542 , p_source_91 IN NUMBER
55543 --Business Flow Invoice Distribution Type
55544 , p_source_92 IN VARCHAR2
55545 --Business Flow Invoice Entity Code
55546 , p_source_93 IN VARCHAR2
55547 --Business Flow Invoice Distribution Identifier
55548 , p_source_94 IN NUMBER
55549 --Business Flow Invoice Identifier
55553 --Payment Distribution Type
55550 , p_source_95 IN NUMBER
55551 --When to Account for Payment Option
55552 , p_source_97 IN VARCHAR2
55554 , p_source_98 IN VARCHAR2
55555 , p_source_98_meaning IN VARCHAR2
55556 --Payment Distribution Amount
55557 , p_source_99 IN NUMBER
55558 --Payment Distribution Identifier
55559 , p_source_104 IN NUMBER
55560 --Payment Supplier Identifier
55561 , p_source_110 IN NUMBER
55562 --Payment Supplier Site Identifier
55563 , p_source_111 IN NUMBER
55564 --Payment Distribution Reversed Identifier
55565 , p_source_112 IN NUMBER
55566 --Payment Distribution (Invoice Rate) Ledger Amount
55567 , p_source_116 IN NUMBER
55568 --Payment Type
55569 , p_source_122 IN VARCHAR2
55570 , p_source_122_meaning IN VARCHAR2
55571 --Payment Processing Type
55572 , p_source_123 IN VARCHAR2
55573 --Invoice Distribution Amount of the Payment Distribution
55574 , p_source_124 IN NUMBER
55575 --Invoice Exchange Date
55576 , p_source_143 IN DATE
55577 --Invoice Exchange Rate
55578 , p_source_144 IN NUMBER
55579 --Invoice Exchange Rate Type
55580 , p_source_145 IN VARCHAR2
55581 )
55582 IS
55583
55584 l_component_type VARCHAR2(80);
55585 l_component_code VARCHAR2(30);
55586 l_component_type_code VARCHAR2(1);
55587 l_component_appl_id INTEGER;
55588 l_amb_context_code VARCHAR2(30);
55589 l_entity_code VARCHAR2(30);
55590 l_event_class_code VARCHAR2(30);
55591 l_ae_header_id NUMBER;
55592 l_event_type_code VARCHAR2(30);
55593 l_line_definition_code VARCHAR2(30);
55594 l_line_definition_owner_code VARCHAR2(1);
55595 --
55596 -- adr variables
55597 l_segment VARCHAR2(30);
55598 l_ccid NUMBER;
55599 l_adr_transaction_coa_id NUMBER;
55600 l_adr_accounting_coa_id NUMBER;
55601 l_adr_flexfield_segment_code VARCHAR2(30);
55602 l_adr_flex_value_set_id NUMBER;
55603 l_adr_value_type_code VARCHAR2(30);
55604 l_adr_value_combination_id NUMBER;
55605 l_adr_value_segment_code VARCHAR2(30);
55606
55607 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
55608 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
55609 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
55610 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
55611
55612 -- 4262811 Variables ------------------------------------------------------------------------------------------
55613 l_entered_amt_idx NUMBER;
55614 l_accted_amt_idx NUMBER;
55615 l_acc_rev_flag VARCHAR2(1);
55616 l_accrual_line_num NUMBER;
55617 l_tmp_amt NUMBER;
55618 l_acc_rev_natural_side_code VARCHAR2(1);
55619
55620 l_num_entries NUMBER;
55621 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
55622 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
55623 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
55624 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
55625 l_recog_line_1 NUMBER;
55626 l_recog_line_2 NUMBER;
55627
55628 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
55629 l_bflow_applied_to_amt NUMBER; -- 5132302
55630 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
55631
55632 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
55633
55634 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
55635 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
55636
55637 ---------------------------------------------------------------------------------------------------------------
55638
55639
55640 --
55641 -- bulk performance
55642 --
55643 l_balance_type_code VARCHAR2(1);
55644 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
55645 l_log_module VARCHAR2(240);
55646
55647 --
55648 -- Upgrade strategy
55649 --
55650 l_actual_upg_option VARCHAR2(1);
55651 l_enc_upg_option VARCHAR2(1);
55652
55653 --
55654 BEGIN
55655 --
55656 IF g_log_enabled THEN
55657 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_113';
55658 END IF;
55659 --
55660 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
55661
55662 trace
55663 (p_msg => 'BEGIN of AcctLineType_113'
55664 ,p_level => C_LEVEL_PROCEDURE
55665 ,p_module => l_log_module);
55666
55667 END IF;
55668 --
55669 l_component_type := 'AMB_JLT';
55670 l_component_code := 'AP_FINAL_PMT_ROUNDING_PMT';
55671 l_component_type_code := 'S';
55672 l_component_appl_id := 200;
55673 l_amb_context_code := 'DEFAULT';
55674 l_entity_code := 'AP_PAYMENTS';
55675 l_event_class_code := 'PAYMENTS';
55676 l_event_type_code := 'PAYMENTS_ALL';
55677 l_line_definition_owner_code := 'S';
55681 l_segment := NULL;
55678 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
55679 --
55680 l_balance_type_code := 'A';
55682 l_ccid := NULL;
55683 l_adr_transaction_coa_id := NULL;
55684 l_adr_accounting_coa_id := NULL;
55685 l_adr_flexfield_segment_code := NULL;
55686 l_adr_flex_value_set_id := NULL;
55687 l_adr_value_type_code := NULL;
55688 l_adr_value_combination_id := NULL;
55689 l_adr_value_segment_code := NULL;
55690
55691 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
55692 l_bflow_class_code := ''; -- 4219869 Business Flow
55693 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
55694 l_budgetary_control_flag := 'N';
55695
55696 l_bflow_applied_to_amt_idx := NULL; -- 5132302
55697 l_bflow_applied_to_amt := NULL; -- 5132302
55698 l_entered_amt_idx := NULL; -- 4262811
55699 l_accted_amt_idx := NULL; -- 4262811
55700 l_acc_rev_flag := NULL; -- 4262811
55701 l_accrual_line_num := NULL; -- 4262811
55702 l_tmp_amt := NULL; -- 4262811
55703 --
55704
55705 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
55706 l_balance_type_code <> 'B' THEN
55707 IF NVL(p_source_97,'
55708 ') <> 'CLEAR_CLEAR' AND
55709 NVL(p_source_98,'
55710 ') = 'FINAL PAYMENT ROUNDING' AND
55711 NVL(p_source_122,'
55712 ') <> 'R' AND
55713 NVL(p_source_123,'
55714 ') <> 'PAYMENTCARD'
55715 THEN
55716
55717 --
55718 XLA_AE_LINES_PKG.SetNewLine;
55719
55720 p_balance_type_code := l_balance_type_code;
55721 -- set the flag so later we will know whether the gain loss line needs to be created
55722
55723 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
55724 p_actual_flag :='A';
55725 END IF;
55726
55727 --
55728 -- bulk performance
55729 --
55730 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
55731 p_header_num => 0); -- 4262811
55732 --
55733 -- set accounting line options
55734 --
55735 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
55736 p_natural_side_code => 'D'
55737 , p_gain_or_loss_flag => 'N'
55738 , p_gl_transfer_mode_code => 'S'
55739 , p_acct_entry_type_code => 'A'
55740 , p_switch_side_flag => 'Y'
55741 , p_merge_duplicate_code => 'A'
55742 );
55743 --
55744 l_acc_rev_natural_side_code := 'C'; -- 4262811
55745 --
55746 --
55747 -- set accounting line type info
55748 --
55749 xla_ae_lines_pkg.SetAcctLineType
55750 (p_component_type => l_component_type
55751 ,p_event_type_code => l_event_type_code
55752 ,p_line_definition_owner_code => l_line_definition_owner_code
55753 ,p_line_definition_code => l_line_definition_code
55754 ,p_accounting_line_code => l_component_code
55755 ,p_accounting_line_type_code => l_component_type_code
55756 ,p_accounting_line_appl_id => l_component_appl_id
55757 ,p_amb_context_code => l_amb_context_code
55758 ,p_entity_code => l_entity_code
55759 ,p_event_class_code => l_event_class_code);
55760 --
55761 -- set accounting class
55762 --
55763 xla_ae_lines_pkg.SetAcctClass(
55764 p_accounting_class_code => 'ROUNDING'
55765 , p_ae_header_id => l_ae_header_id
55766 );
55767
55768 --
55769 -- set rounding class
55770 --
55771 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
55772 'ROUNDING';
55773
55774 --
55775 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
55776 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
55777 --
55778 -- bulk performance
55779 --
55780 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
55781
55782 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
55783 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
55784
55785 -- 4955764
55786 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
55787 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
55788
55789 -- 4458381 Public Sector Enh
55790
55791 --
55792 -- set accounting attributes for the line type
55793 --
55794 l_entered_amt_idx := 10;
55795 l_accted_amt_idx := 15;
55796 l_bflow_applied_to_amt_idx := 2; -- 5132302
55797 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
55798 l_rec_acct_attrs.array_char_value(1) := p_source_53;
55799 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
55800 l_rec_acct_attrs.array_num_value(2) := p_source_124;
55801 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
55802 l_rec_acct_attrs.array_num_value(3) := p_source_91;
55803 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
55804 l_rec_acct_attrs.array_char_value(4) := p_source_92;
55808 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
55805 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
55806 l_rec_acct_attrs.array_char_value(5) := p_source_93;
55807 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
55809 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
55810 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
55811 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
55812 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
55813 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
55814 l_rec_acct_attrs.array_char_value(9) := p_source_55;
55815 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
55816 l_rec_acct_attrs.array_num_value(10) := p_source_99;
55817 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
55818 l_rec_acct_attrs.array_char_value(11) := p_source_67;
55819 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
55820 l_rec_acct_attrs.array_date_value(12) := p_source_143;
55821 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
55822 l_rec_acct_attrs.array_num_value(13) := p_source_144;
55823 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
55824 l_rec_acct_attrs.array_char_value(14) := p_source_145;
55825 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
55826 l_rec_acct_attrs.array_num_value(15) := p_source_116;
55827 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
55828 l_rec_acct_attrs.array_char_value(16) := p_source_80;
55829 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
55830 l_rec_acct_attrs.array_num_value(17) := p_source_110;
55831 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
55832 l_rec_acct_attrs.array_num_value(18) := p_source_111;
55833 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
55834 l_rec_acct_attrs.array_char_value(19) := p_source_83;
55835 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
55836 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
55837 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
55838 l_rec_acct_attrs.array_char_value(21) := p_source_55;
55839 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
55840 l_rec_acct_attrs.array_num_value(22) := p_source_86;
55841 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
55842 l_rec_acct_attrs.array_num_value(23) := p_source_87;
55843 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
55844 l_rec_acct_attrs.array_num_value(24) := p_source_88;
55845
55846 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
55847 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
55848
55849 ---------------------------------------------------------------------------------------------------------------
55850 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
55851 ---------------------------------------------------------------------------------------------------------------
55852 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
55853
55854 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
55855 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
55856
55857 IF xla_accounting_cache_pkg.GetValueChar
55858 (p_source_code => 'LEDGER_CATEGORY_CODE'
55859 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
55860 AND l_bflow_method_code = 'PRIOR_ENTRY'
55861 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
55862 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
55863 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
55864 )
55865 THEN
55866 xla_ae_lines_pkg.BflowUpgEntry
55867 (p_business_method_code => l_bflow_method_code
55868 ,p_business_class_code => l_bflow_class_code
55869 ,p_balance_type => l_balance_type_code);
55870 ELSE
55871 NULL;
55872 -- No business flow processing for business flow method of NONE.
55873 END IF;
55874
55875 --
55876 -- call analytical criteria
55877 --
55878
55879 --
55880 -- call description
55881 --
55882 -- No description or it is inherited.
55883 --
55884 -- call ADRs
55885 -- Bug 4922099
55886 --
55887 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
55888 (NVL(l_actual_upg_option, 'N') = 'O') OR
55889 (NVL(l_enc_upg_option, 'N') = 'O')
55890 )
55891 THEN
55892 NULL;
55893 --
55894 --
55895
55896 l_ccid := AcctDerRule_41(
55897 p_application_id => p_application_id
55898 , p_ae_header_id => l_ae_header_id
55899 , p_source_15 => p_source_15
55900 , p_source_15_meaning => p_source_15_meaning
55901 , p_source_30 => p_source_30
55902 , p_source_49 => p_source_49
55903 , x_transaction_coa_id => l_adr_transaction_coa_id
55904 , x_accounting_coa_id => l_adr_accounting_coa_id
55905 , x_value_type_code => l_adr_value_type_code
55906 , p_side => 'NA'
55907 );
55908
55909 xla_ae_lines_pkg.set_ccid(
55910 p_code_combination_id => l_ccid
55914 , p_adr_code => 'AP_ROUNDING'
55911 , p_value_type_code => l_adr_value_type_code
55912 , p_transaction_coa_id => l_adr_transaction_coa_id
55913 , p_accounting_coa_id => l_adr_accounting_coa_id
55915 , p_adr_type_code => 'S'
55916 , p_component_type => l_component_type
55917 , p_component_code => l_component_code
55918 , p_component_type_code => l_component_type_code
55919 , p_component_appl_id => l_component_appl_id
55920 , p_amb_context_code => l_amb_context_code
55921 , p_side => 'NA'
55922 );
55923
55924
55925 --
55926 --
55927 END IF;
55928 --
55929 -- Bug 4922099
55930 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
55931 (NVL(l_enc_upg_option, 'N') = 'O')
55932 ) AND
55933 (l_bflow_method_code = 'PRIOR_ENTRY')
55934 )
55935 THEN
55936 IF
55937 --
55938 1 = 2
55939 --
55940 THEN
55941 xla_accounting_err_pkg.build_message
55942 (p_appli_s_name => 'XLA'
55943 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
55944 ,p_token_1 => 'LINE_NUMBER'
55945 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
55946 ,p_token_2 => 'LINE_TYPE_NAME'
55947 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
55948 l_component_type
55949 ,l_component_code
55950 ,l_component_type_code
55951 ,l_component_appl_id
55952 ,l_amb_context_code
55953 ,l_entity_code
55954 ,l_event_class_code
55955 )
55956 ,p_token_3 => 'OWNER'
55957 ,p_value_3 => xla_lookups_pkg.get_meaning(
55958 p_lookup_type => 'XLA_OWNER_TYPE'
55959 ,p_lookup_code => l_component_type_code
55960 )
55961 ,p_token_4 => 'PRODUCT_NAME'
55962 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
55963 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
55964 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
55965 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
55966 ,p_ae_header_id => NULL
55967 );
55968
55969 IF (C_LEVEL_ERROR>= g_log_level) THEN
55970 trace
55971 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
55972 ,p_level => C_LEVEL_ERROR
55973 ,p_module => l_log_module);
55974 END IF;
55975 END IF;
55976 END IF;
55977 --
55978 --
55979 ------------------------------------------------------------------------------------------------
55980 -- 4219869 Business Flow
55981 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
55982 -- Prior Entry. Currently, the following code is always generated.
55983 ------------------------------------------------------------------------------------------------
55984 XLA_AE_LINES_PKG.ValidateCurrentLine;
55985
55986 ------------------------------------------------------------------------------------
55987 -- 4219869 Business Flow
55988 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
55989 ------------------------------------------------------------------------------------
55990 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
55991
55992 ----------------------------------------------------------------------------------
55993 -- 4219869 Business Flow
55994 -- Update journal entry status -- Need to generate this within IF <condition>
55995 ----------------------------------------------------------------------------------
55996 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
55997 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
55998 ,p_balance_type_code => l_balance_type_code
55999 );
56000
56001 -------------------------------------------------------------------------------------------
56002 -- 4262811 - Generate the Accrual Reversal lines
56003 -------------------------------------------------------------------------------------------
56004 BEGIN
56005 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
56009 END IF;
56006 (g_array_event(p_event_id).array_value_num('header_index'));
56007 IF l_acc_rev_flag IS NULL THEN
56008 l_acc_rev_flag := 'N';
56010 EXCEPTION
56011 WHEN OTHERS THEN
56012 l_acc_rev_flag := 'N';
56013 END;
56014 --
56015 IF (l_acc_rev_flag = 'Y') THEN
56016
56017 -- 4645092 ------------------------------------------------------------------------------
56018 -- To allow MPA report to determine if it should generate report process
56019 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
56020 ------------------------------------------------------------------------------------------
56021
56022 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
56023 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
56024 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
56025 -- call ADRs
56026 -- Bug 4922099
56027 --
56028 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
56029 (NVL(l_actual_upg_option, 'N') = 'O') OR
56030 (NVL(l_enc_upg_option, 'N') = 'O')
56031 )
56032 THEN
56033 NULL;
56034 --
56035 --
56036
56037 l_ccid := AcctDerRule_41(
56038 p_application_id => p_application_id
56039 , p_ae_header_id => l_ae_header_id
56040 , p_source_15 => p_source_15
56041 , p_source_15_meaning => p_source_15_meaning
56042 , p_source_30 => p_source_30
56043 , p_source_49 => p_source_49
56044 , x_transaction_coa_id => l_adr_transaction_coa_id
56045 , x_accounting_coa_id => l_adr_accounting_coa_id
56046 , x_value_type_code => l_adr_value_type_code
56047 , p_side => 'NA'
56048 );
56049
56050 xla_ae_lines_pkg.set_ccid(
56051 p_code_combination_id => l_ccid
56052 , p_value_type_code => l_adr_value_type_code
56053 , p_transaction_coa_id => l_adr_transaction_coa_id
56054 , p_accounting_coa_id => l_adr_accounting_coa_id
56055 , p_adr_code => 'AP_ROUNDING'
56056 , p_adr_type_code => 'S'
56057 , p_component_type => l_component_type
56058 , p_component_code => l_component_code
56059 , p_component_type_code => l_component_type_code
56060 , p_component_appl_id => l_component_appl_id
56061 , p_amb_context_code => l_amb_context_code
56062 , p_side => 'NA'
56063 );
56064
56065
56066 --
56067 --
56068 END IF;
56069
56070 --
56071 -- Update the line information that should be overwritten
56072 --
56073 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
56074 p_header_num => 1);
56075 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
56076
56077 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
56078
56079 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
56080 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
56081 END IF;
56082
56083 --
56084 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
56085 --
56086 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
56087 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
56088 ELSE
56089 ---------------------------------------------------------------------------------------------------
56090 -- 4262811a Switch Sign
56091 ---------------------------------------------------------------------------------------------------
56092 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
56093 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
56094 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
56095 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
56096 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
56097 -- 5132302
56098 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
56099 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
56100
56101 END IF;
56102
56103 -- 4955764
56104 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
56105 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
56106
56107
56108 XLA_AE_LINES_PKG.ValidateCurrentLine;
56109 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
56110
56111 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
56112 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
56113 ,p_balance_type_code => l_balance_type_code);
56114
56115 END IF;
56116
56120 -- No MPA option is assigned.
56117 -----------------------------------------------------------------------------------------
56118 -- 4262811 Multiperiod Accounting
56119 -----------------------------------------------------------------------------------------
56121
56122
56123 END IF;
56124 END IF;
56125 --
56126
56127 --
56128 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
56129 trace
56130 (p_msg => 'END of AcctLineType_113'
56131 ,p_level => C_LEVEL_PROCEDURE
56132 ,p_module => l_log_module);
56133 END IF;
56134 --
56135 EXCEPTION
56136 WHEN xla_exceptions_pkg.application_exception THEN
56137 RAISE;
56138 WHEN OTHERS THEN
56139 xla_exceptions_pkg.raise_message
56140 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_113');
56141 END AcctLineType_113;
56142 --
56143
56144 ---------------------------------------
56145 --
56146 -- PRIVATE FUNCTION
56147 -- AcctLineType_114
56148 --
56149 ---------------------------------------
56150 PROCEDURE AcctLineType_114 (
56151 p_application_id IN NUMBER
56152 ,p_event_id IN NUMBER
56153 ,p_calculate_acctd_flag IN VARCHAR2
56154 ,p_calculate_g_l_flag IN VARCHAR2
56155 ,p_actual_flag IN OUT VARCHAR2
56156 ,p_balance_type_code OUT VARCHAR2
56157 ,p_gain_or_loss_ref OUT VARCHAR2
56158
56159 --Automatic Offsets Value
56160 , p_source_15 IN VARCHAR2
56161 , p_source_15_meaning IN VARCHAR2
56162 --Invoice Distribution Account
56163 , p_source_30 IN NUMBER
56164 --Payables Options Rounding Account
56165 , p_source_49 IN NUMBER
56166 --Accounting Reversal Indicator
56167 , p_source_53 IN VARCHAR2
56168 --Distribution Link Type
56169 , p_source_55 IN VARCHAR2
56170 --Invoice Currency Code
56171 , p_source_67 IN VARCHAR2
56172 --Override Accounted Amount Indicator
56173 , p_source_80 IN VARCHAR2
56174 , p_source_80_meaning IN VARCHAR2
56175 --Third Party Type
56176 , p_source_83 IN VARCHAR2
56177 --Invoice Distribution Tax Line Identifier
56178 , p_source_86 IN NUMBER
56179 --Invoice Distribution Tax Distribution Identifier from Tax
56180 , p_source_87 IN NUMBER
56181 --Invoice Distribution Summary Tax Line Identifier
56182 , p_source_88 IN NUMBER
56183 --Business Flow Accounts Payable Application Identifier
56184 , p_source_91 IN NUMBER
56185 --Business Flow Invoice Distribution Type
56186 , p_source_92 IN VARCHAR2
56187 --Business Flow Invoice Entity Code
56188 , p_source_93 IN VARCHAR2
56189 --Business Flow Invoice Distribution Identifier
56190 , p_source_94 IN NUMBER
56191 --Business Flow Invoice Identifier
56192 , p_source_95 IN NUMBER
56193 --When to Account for Payment Option
56194 , p_source_97 IN VARCHAR2
56195 --Payment Distribution Type
56196 , p_source_98 IN VARCHAR2
56197 , p_source_98_meaning IN VARCHAR2
56198 --Payment Distribution Amount
56199 , p_source_99 IN NUMBER
56200 --Payment Distribution Identifier
56201 , p_source_104 IN NUMBER
56202 --Payment Supplier Identifier
56203 , p_source_110 IN NUMBER
56204 --Payment Supplier Site Identifier
56205 , p_source_111 IN NUMBER
56206 --Payment Distribution Reversed Identifier
56207 , p_source_112 IN NUMBER
56208 --Payment Distribution (Invoice Rate) Ledger Amount
56209 , p_source_116 IN NUMBER
56210 --Payment Type
56211 , p_source_122 IN VARCHAR2
56212 , p_source_122_meaning IN VARCHAR2
56213 --Invoice Exchange Date
56214 , p_source_143 IN DATE
56215 --Invoice Exchange Rate
56216 , p_source_144 IN NUMBER
56217 --Invoice Exchange Rate Type
56218 , p_source_145 IN VARCHAR2
56219 )
56220 IS
56221
56222 l_component_type VARCHAR2(80);
56223 l_component_code VARCHAR2(30);
56224 l_component_type_code VARCHAR2(1);
56225 l_component_appl_id INTEGER;
56226 l_amb_context_code VARCHAR2(30);
56227 l_entity_code VARCHAR2(30);
56228 l_event_class_code VARCHAR2(30);
56229 l_ae_header_id NUMBER;
56230 l_event_type_code VARCHAR2(30);
56231 l_line_definition_code VARCHAR2(30);
56232 l_line_definition_owner_code VARCHAR2(1);
56233 --
56234 -- adr variables
56235 l_segment VARCHAR2(30);
56236 l_ccid NUMBER;
56237 l_adr_transaction_coa_id NUMBER;
56238 l_adr_accounting_coa_id NUMBER;
56239 l_adr_flexfield_segment_code VARCHAR2(30);
56240 l_adr_flex_value_set_id NUMBER;
56241 l_adr_value_type_code VARCHAR2(30);
56242 l_adr_value_combination_id NUMBER;
56243 l_adr_value_segment_code VARCHAR2(30);
56244
56245 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
56246 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
56247 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
56248 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
56249
56250 -- 4262811 Variables ------------------------------------------------------------------------------------------
56251 l_entered_amt_idx NUMBER;
56255 l_tmp_amt NUMBER;
56252 l_accted_amt_idx NUMBER;
56253 l_acc_rev_flag VARCHAR2(1);
56254 l_accrual_line_num NUMBER;
56256 l_acc_rev_natural_side_code VARCHAR2(1);
56257
56258 l_num_entries NUMBER;
56259 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
56260 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
56261 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
56262 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
56263 l_recog_line_1 NUMBER;
56264 l_recog_line_2 NUMBER;
56265
56266 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
56267 l_bflow_applied_to_amt NUMBER; -- 5132302
56268 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
56269
56270 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
56271
56272 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
56273 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
56274
56275 ---------------------------------------------------------------------------------------------------------------
56276
56277
56278 --
56279 -- bulk performance
56280 --
56281 l_balance_type_code VARCHAR2(1);
56282 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
56283 l_log_module VARCHAR2(240);
56284
56285 --
56286 -- Upgrade strategy
56287 --
56288 l_actual_upg_option VARCHAR2(1);
56289 l_enc_upg_option VARCHAR2(1);
56290
56291 --
56292 BEGIN
56293 --
56294 IF g_log_enabled THEN
56295 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_114';
56296 END IF;
56297 --
56298 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
56299
56300 trace
56301 (p_msg => 'BEGIN of AcctLineType_114'
56302 ,p_level => C_LEVEL_PROCEDURE
56303 ,p_module => l_log_module);
56304
56305 END IF;
56306 --
56307 l_component_type := 'AMB_JLT';
56308 l_component_code := 'AP_FINAL_PMT_ROUNDING_REF';
56309 l_component_type_code := 'S';
56310 l_component_appl_id := 200;
56311 l_amb_context_code := 'DEFAULT';
56312 l_entity_code := 'AP_PAYMENTS';
56313 l_event_class_code := 'REFUNDS';
56314 l_event_type_code := 'REFUNDS_ALL';
56315 l_line_definition_owner_code := 'S';
56316 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
56317 --
56318 l_balance_type_code := 'A';
56319 l_segment := NULL;
56320 l_ccid := NULL;
56321 l_adr_transaction_coa_id := NULL;
56322 l_adr_accounting_coa_id := NULL;
56323 l_adr_flexfield_segment_code := NULL;
56324 l_adr_flex_value_set_id := NULL;
56325 l_adr_value_type_code := NULL;
56326 l_adr_value_combination_id := NULL;
56327 l_adr_value_segment_code := NULL;
56328
56329 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
56330 l_bflow_class_code := ''; -- 4219869 Business Flow
56331 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
56332 l_budgetary_control_flag := 'N';
56333
56334 l_bflow_applied_to_amt_idx := NULL; -- 5132302
56335 l_bflow_applied_to_amt := NULL; -- 5132302
56336 l_entered_amt_idx := NULL; -- 4262811
56337 l_accted_amt_idx := NULL; -- 4262811
56338 l_acc_rev_flag := NULL; -- 4262811
56339 l_accrual_line_num := NULL; -- 4262811
56340 l_tmp_amt := NULL; -- 4262811
56341 --
56342
56343 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
56344 l_balance_type_code <> 'B' THEN
56345 IF NVL(p_source_97,'
56346 ') <> 'CLEAR_CLEAR' AND
56347 NVL(p_source_98,'
56348 ') = 'FINAL PAYMENT ROUNDING' AND
56349 NVL(p_source_122,'
56350 ') = 'R'
56351 THEN
56352
56353 --
56354 XLA_AE_LINES_PKG.SetNewLine;
56355
56356 p_balance_type_code := l_balance_type_code;
56357 -- set the flag so later we will know whether the gain loss line needs to be created
56358
56359 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
56360 p_actual_flag :='A';
56361 END IF;
56362
56363 --
56364 -- bulk performance
56365 --
56366 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
56367 p_header_num => 0); -- 4262811
56368 --
56369 -- set accounting line options
56370 --
56371 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
56372 p_natural_side_code => 'D'
56373 , p_gain_or_loss_flag => 'N'
56374 , p_gl_transfer_mode_code => 'S'
56375 , p_acct_entry_type_code => 'A'
56376 , p_switch_side_flag => 'Y'
56377 , p_merge_duplicate_code => 'A'
56378 );
56379 --
56380 l_acc_rev_natural_side_code := 'C'; -- 4262811
56381 --
56382 --
56383 -- set accounting line type info
56384 --
56385 xla_ae_lines_pkg.SetAcctLineType
56386 (p_component_type => l_component_type
56390 ,p_accounting_line_code => l_component_code
56387 ,p_event_type_code => l_event_type_code
56388 ,p_line_definition_owner_code => l_line_definition_owner_code
56389 ,p_line_definition_code => l_line_definition_code
56391 ,p_accounting_line_type_code => l_component_type_code
56392 ,p_accounting_line_appl_id => l_component_appl_id
56393 ,p_amb_context_code => l_amb_context_code
56394 ,p_entity_code => l_entity_code
56395 ,p_event_class_code => l_event_class_code);
56396 --
56397 -- set accounting class
56398 --
56399 xla_ae_lines_pkg.SetAcctClass(
56400 p_accounting_class_code => 'ROUNDING'
56401 , p_ae_header_id => l_ae_header_id
56402 );
56403
56404 --
56405 -- set rounding class
56406 --
56407 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
56408 'ROUNDING';
56409
56410 --
56411 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
56412 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
56413 --
56414 -- bulk performance
56415 --
56416 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
56417
56418 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
56419 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
56420
56421 -- 4955764
56422 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
56423 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
56424
56425 -- 4458381 Public Sector Enh
56426
56427 --
56428 -- set accounting attributes for the line type
56429 --
56430 l_entered_amt_idx := 9;
56431 l_accted_amt_idx := 14;
56432 l_bflow_applied_to_amt_idx := NULL; -- 5132302
56433 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
56434 l_rec_acct_attrs.array_char_value(1) := p_source_53;
56435 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
56436 l_rec_acct_attrs.array_num_value(2) := p_source_91;
56437 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
56438 l_rec_acct_attrs.array_char_value(3) := p_source_92;
56439 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
56440 l_rec_acct_attrs.array_char_value(4) := p_source_93;
56441 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
56442 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
56443 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
56444 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
56445 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
56446 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
56447 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
56448 l_rec_acct_attrs.array_char_value(8) := p_source_55;
56449 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
56450 l_rec_acct_attrs.array_num_value(9) := p_source_99;
56451 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
56452 l_rec_acct_attrs.array_char_value(10) := p_source_67;
56453 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
56454 l_rec_acct_attrs.array_date_value(11) := p_source_143;
56455 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
56456 l_rec_acct_attrs.array_num_value(12) := p_source_144;
56457 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
56458 l_rec_acct_attrs.array_char_value(13) := p_source_145;
56459 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
56460 l_rec_acct_attrs.array_num_value(14) := p_source_116;
56461 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
56462 l_rec_acct_attrs.array_char_value(15) := p_source_80;
56463 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
56464 l_rec_acct_attrs.array_num_value(16) := p_source_110;
56465 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
56466 l_rec_acct_attrs.array_num_value(17) := p_source_111;
56467 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
56468 l_rec_acct_attrs.array_char_value(18) := p_source_83;
56469 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
56470 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_112);
56471 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
56472 l_rec_acct_attrs.array_char_value(20) := p_source_55;
56473 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
56474 l_rec_acct_attrs.array_num_value(21) := p_source_86;
56475 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
56476 l_rec_acct_attrs.array_num_value(22) := p_source_87;
56477 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
56478 l_rec_acct_attrs.array_num_value(23) := p_source_88;
56479
56480 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
56481 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
56482
56483 ---------------------------------------------------------------------------------------------------------------
56484 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
56488 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
56485 ---------------------------------------------------------------------------------------------------------------
56486 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
56487
56489 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
56490
56491 IF xla_accounting_cache_pkg.GetValueChar
56492 (p_source_code => 'LEDGER_CATEGORY_CODE'
56493 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
56494 AND l_bflow_method_code = 'PRIOR_ENTRY'
56495 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
56496 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
56497 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
56498 )
56499 THEN
56500 xla_ae_lines_pkg.BflowUpgEntry
56501 (p_business_method_code => l_bflow_method_code
56502 ,p_business_class_code => l_bflow_class_code
56503 ,p_balance_type => l_balance_type_code);
56504 ELSE
56505 NULL;
56506 -- No business flow processing for business flow method of NONE.
56507 END IF;
56508
56509 --
56510 -- call analytical criteria
56511 --
56512
56513 --
56514 -- call description
56515 --
56516 -- No description or it is inherited.
56517 --
56518 -- call ADRs
56519 -- Bug 4922099
56520 --
56521 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
56522 (NVL(l_actual_upg_option, 'N') = 'O') OR
56523 (NVL(l_enc_upg_option, 'N') = 'O')
56524 )
56525 THEN
56526 NULL;
56527 --
56528 --
56529
56530 l_ccid := AcctDerRule_41(
56531 p_application_id => p_application_id
56532 , p_ae_header_id => l_ae_header_id
56533 , p_source_15 => p_source_15
56534 , p_source_15_meaning => p_source_15_meaning
56535 , p_source_30 => p_source_30
56536 , p_source_49 => p_source_49
56537 , x_transaction_coa_id => l_adr_transaction_coa_id
56538 , x_accounting_coa_id => l_adr_accounting_coa_id
56539 , x_value_type_code => l_adr_value_type_code
56540 , p_side => 'NA'
56541 );
56542
56543 xla_ae_lines_pkg.set_ccid(
56544 p_code_combination_id => l_ccid
56545 , p_value_type_code => l_adr_value_type_code
56546 , p_transaction_coa_id => l_adr_transaction_coa_id
56547 , p_accounting_coa_id => l_adr_accounting_coa_id
56548 , p_adr_code => 'AP_ROUNDING'
56549 , p_adr_type_code => 'S'
56550 , p_component_type => l_component_type
56551 , p_component_code => l_component_code
56552 , p_component_type_code => l_component_type_code
56553 , p_component_appl_id => l_component_appl_id
56554 , p_amb_context_code => l_amb_context_code
56555 , p_side => 'NA'
56556 );
56557
56558
56559 --
56560 --
56561 END IF;
56562 --
56563 -- Bug 4922099
56564 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
56565 (NVL(l_enc_upg_option, 'N') = 'O')
56566 ) AND
56567 (l_bflow_method_code = 'PRIOR_ENTRY')
56568 )
56569 THEN
56570 IF
56571 --
56572 1 = 2
56573 --
56574 THEN
56575 xla_accounting_err_pkg.build_message
56576 (p_appli_s_name => 'XLA'
56577 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
56578 ,p_token_1 => 'LINE_NUMBER'
56579 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
56580 ,p_token_2 => 'LINE_TYPE_NAME'
56581 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
56582 l_component_type
56583 ,l_component_code
56584 ,l_component_type_code
56585 ,l_component_appl_id
56586 ,l_amb_context_code
56587 ,l_entity_code
56588 ,l_event_class_code
56589 )
56590 ,p_token_3 => 'OWNER'
56591 ,p_value_3 => xla_lookups_pkg.get_meaning(
56592 p_lookup_type => 'XLA_OWNER_TYPE'
56593 ,p_lookup_code => l_component_type_code
56594 )
56595 ,p_token_4 => 'PRODUCT_NAME'
56599 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
56596 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
56597 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
56598 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
56600 ,p_ae_header_id => NULL
56601 );
56602
56603 IF (C_LEVEL_ERROR>= g_log_level) THEN
56604 trace
56605 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
56606 ,p_level => C_LEVEL_ERROR
56607 ,p_module => l_log_module);
56608 END IF;
56609 END IF;
56610 END IF;
56611 --
56612 --
56613 ------------------------------------------------------------------------------------------------
56614 -- 4219869 Business Flow
56615 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
56616 -- Prior Entry. Currently, the following code is always generated.
56617 ------------------------------------------------------------------------------------------------
56618 XLA_AE_LINES_PKG.ValidateCurrentLine;
56619
56620 ------------------------------------------------------------------------------------
56621 -- 4219869 Business Flow
56622 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
56623 ------------------------------------------------------------------------------------
56624 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
56625
56626 ----------------------------------------------------------------------------------
56627 -- 4219869 Business Flow
56628 -- Update journal entry status -- Need to generate this within IF <condition>
56629 ----------------------------------------------------------------------------------
56630 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
56631 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
56632 ,p_balance_type_code => l_balance_type_code
56633 );
56634
56635 -------------------------------------------------------------------------------------------
56636 -- 4262811 - Generate the Accrual Reversal lines
56637 -------------------------------------------------------------------------------------------
56638 BEGIN
56639 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
56640 (g_array_event(p_event_id).array_value_num('header_index'));
56641 IF l_acc_rev_flag IS NULL THEN
56642 l_acc_rev_flag := 'N';
56643 END IF;
56644 EXCEPTION
56645 WHEN OTHERS THEN
56646 l_acc_rev_flag := 'N';
56647 END;
56648 --
56649 IF (l_acc_rev_flag = 'Y') THEN
56650
56651 -- 4645092 ------------------------------------------------------------------------------
56652 -- To allow MPA report to determine if it should generate report process
56653 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
56654 ------------------------------------------------------------------------------------------
56655
56656 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
56657 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
56658 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
56659 -- call ADRs
56660 -- Bug 4922099
56661 --
56662 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
56663 (NVL(l_actual_upg_option, 'N') = 'O') OR
56664 (NVL(l_enc_upg_option, 'N') = 'O')
56665 )
56666 THEN
56667 NULL;
56668 --
56669 --
56670
56671 l_ccid := AcctDerRule_41(
56672 p_application_id => p_application_id
56673 , p_ae_header_id => l_ae_header_id
56674 , p_source_15 => p_source_15
56675 , p_source_15_meaning => p_source_15_meaning
56676 , p_source_30 => p_source_30
56677 , p_source_49 => p_source_49
56678 , x_transaction_coa_id => l_adr_transaction_coa_id
56679 , x_accounting_coa_id => l_adr_accounting_coa_id
56680 , x_value_type_code => l_adr_value_type_code
56681 , p_side => 'NA'
56682 );
56683
56684 xla_ae_lines_pkg.set_ccid(
56685 p_code_combination_id => l_ccid
56686 , p_value_type_code => l_adr_value_type_code
56687 , p_transaction_coa_id => l_adr_transaction_coa_id
56688 , p_accounting_coa_id => l_adr_accounting_coa_id
56689 , p_adr_code => 'AP_ROUNDING'
56690 , p_adr_type_code => 'S'
56691 , p_component_type => l_component_type
56692 , p_component_code => l_component_code
56693 , p_component_type_code => l_component_type_code
56694 , p_component_appl_id => l_component_appl_id
56695 , p_amb_context_code => l_amb_context_code
56696 , p_side => 'NA'
56697 );
56698
56699
56700 --
56701 --
56702 END IF;
56703
56704 --
56705 -- Update the line information that should be overwritten
56706 --
56707 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
56708 p_header_num => 1);
56709 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
56710
56714 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
56711 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
56712
56713 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
56715 END IF;
56716
56717 --
56718 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
56719 --
56720 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
56721 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
56722 ELSE
56723 ---------------------------------------------------------------------------------------------------
56724 -- 4262811a Switch Sign
56725 ---------------------------------------------------------------------------------------------------
56726 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
56727 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
56728 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
56729 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
56730 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
56731 -- 5132302
56732 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
56733 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
56734
56735 END IF;
56736
56737 -- 4955764
56738 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
56739 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
56740
56741
56742 XLA_AE_LINES_PKG.ValidateCurrentLine;
56743 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
56744
56745 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
56746 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
56747 ,p_balance_type_code => l_balance_type_code);
56748
56749 END IF;
56750
56751 -----------------------------------------------------------------------------------------
56752 -- 4262811 Multiperiod Accounting
56753 -----------------------------------------------------------------------------------------
56754 -- No MPA option is assigned.
56755
56756
56757 END IF;
56758 END IF;
56759 --
56760
56761 --
56762 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
56763 trace
56764 (p_msg => 'END of AcctLineType_114'
56765 ,p_level => C_LEVEL_PROCEDURE
56766 ,p_module => l_log_module);
56767 END IF;
56768 --
56769 EXCEPTION
56770 WHEN xla_exceptions_pkg.application_exception THEN
56771 RAISE;
56772 WHEN OTHERS THEN
56773 xla_exceptions_pkg.raise_message
56774 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_114');
56775 END AcctLineType_114;
56776 --
56777
56778 ---------------------------------------
56779 --
56780 -- PRIVATE FUNCTION
56781 -- AcctLineType_115
56782 --
56783 ---------------------------------------
56784 PROCEDURE AcctLineType_115 (
56785 p_application_id IN NUMBER
56786 ,p_event_id IN NUMBER
56787 ,p_calculate_acctd_flag IN VARCHAR2
56788 ,p_calculate_g_l_flag IN VARCHAR2
56789 ,p_actual_flag IN OUT VARCHAR2
56790 ,p_balance_type_code OUT VARCHAR2
56791 ,p_gain_or_loss_ref OUT VARCHAR2
56792
56793 --Automatic Offsets Value
56794 , p_source_15 IN VARCHAR2
56795 , p_source_15_meaning IN VARCHAR2
56796 --Invoice Distribution Account
56797 , p_source_30 IN NUMBER
56798 --Payables Options Rounding Account
56799 , p_source_49 IN NUMBER
56800 --Accounting Reversal Indicator
56801 , p_source_53 IN VARCHAR2
56802 --Distribution Link Type
56803 , p_source_55 IN VARCHAR2
56804 --Invoice Identifier
56805 , p_source_58 IN NUMBER
56806 --Payables Encumbrance Upgrade Credit Account
56807 , p_source_65 IN NUMBER
56808 --Payables Encumbrance Upgrade Credit Amount
56809 , p_source_66 IN NUMBER
56810 --Invoice Currency Code
56811 , p_source_67 IN VARCHAR2
56812 --Payables Encumbrance Upgrade Credit Base Amount
56813 , p_source_68 IN NUMBER
56814 --Payables Encumbrance Upgrade Debit Account
56815 , p_source_69 IN NUMBER
56816 --Payables Encumbrance Upgrade Debit Amount
56817 , p_source_70 IN NUMBER
56818 --Payables Encumbrance Upgrade Debit Base Amount
56819 , p_source_71 IN NUMBER
56820 --Payables Encumbrance Upgrade Option
56821 , p_source_72 IN VARCHAR2
56822 --Deferred Accounting End Date
56823 , p_source_77 IN DATE
56824 --Deferred Accounting Option
56825 , p_source_78 IN VARCHAR2
56826 --Deferred Accounting Start Date
56827 , p_source_79 IN DATE
56828 --Override Accounted Amount Indicator
56829 , p_source_80 IN VARCHAR2
56830 , p_source_80_meaning IN VARCHAR2
56831 --Invoice Supplier Identifier
56832 , p_source_81 IN NUMBER
56836 , p_source_83 IN VARCHAR2
56833 --Invoice Supplier Site Identifier
56834 , p_source_82 IN NUMBER
56835 --Third Party Type
56837 --Invoice Distribution Tax Line Identifier
56838 , p_source_86 IN NUMBER
56839 --Invoice Distribution Tax Distribution Identifier from Tax
56840 , p_source_87 IN NUMBER
56841 --Invoice Distribution Summary Tax Line Identifier
56842 , p_source_88 IN NUMBER
56843 --Payables Upgrade Credit Encumbrance Type Identifier
56844 , p_source_89 IN NUMBER
56845 --Payables Upgrade Debit Encumbrance Type Identifier
56846 , p_source_90 IN NUMBER
56847 --Business Flow Accounts Payable Application Identifier
56848 , p_source_91 IN NUMBER
56849 --Prepayment Distribution Type
56850 , p_source_125 IN VARCHAR2
56851 --Prepayment Application Distribution Identifier
56852 , p_source_127 IN NUMBER
56853 --Upgrade Encumbrance Credit Account Class
56854 , p_source_132 IN VARCHAR2
56855 --Upgrade Encumbrance Debit Account Class
56856 , p_source_133 IN VARCHAR2
56857 --Prepayment Distribution Amount
56858 , p_source_134 IN NUMBER
56859 --Identifier of the Prepayment Application Reversed
56860 , p_source_136 IN NUMBER
56861 --Invoice Exchange Date
56862 , p_source_143 IN DATE
56863 --Invoice Exchange Rate
56864 , p_source_144 IN NUMBER
56865 --Invoice Exchange Rate Type
56866 , p_source_145 IN VARCHAR2
56867 --Business Flow Prepayment Invoice Distribution Type
56868 , p_source_146 IN VARCHAR2
56869 --Business Flow Prepayment Invoice Entity Code
56870 , p_source_147 IN VARCHAR2
56871 --Business Flow Prepayment Invoice Distribution Identifier
56872 , p_source_148 IN NUMBER
56873 --Business Flow Prepayment Invoice Identifier
56874 , p_source_149 IN NUMBER
56875 --Prepayment Distribution (Prepayment Payment Rate) Ledger Amount
56876 , p_source_150 IN NUMBER
56877 )
56878 IS
56879
56880 l_component_type VARCHAR2(80);
56881 l_component_code VARCHAR2(30);
56882 l_component_type_code VARCHAR2(1);
56883 l_component_appl_id INTEGER;
56884 l_amb_context_code VARCHAR2(30);
56885 l_entity_code VARCHAR2(30);
56886 l_event_class_code VARCHAR2(30);
56887 l_ae_header_id NUMBER;
56888 l_event_type_code VARCHAR2(30);
56889 l_line_definition_code VARCHAR2(30);
56890 l_line_definition_owner_code VARCHAR2(1);
56891 --
56892 -- adr variables
56893 l_segment VARCHAR2(30);
56894 l_ccid NUMBER;
56895 l_adr_transaction_coa_id NUMBER;
56896 l_adr_accounting_coa_id NUMBER;
56897 l_adr_flexfield_segment_code VARCHAR2(30);
56898 l_adr_flex_value_set_id NUMBER;
56899 l_adr_value_type_code VARCHAR2(30);
56900 l_adr_value_combination_id NUMBER;
56901 l_adr_value_segment_code VARCHAR2(30);
56902
56903 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
56904 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
56905 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
56906 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
56907
56908 -- 4262811 Variables ------------------------------------------------------------------------------------------
56909 l_entered_amt_idx NUMBER;
56910 l_accted_amt_idx NUMBER;
56911 l_acc_rev_flag VARCHAR2(1);
56912 l_accrual_line_num NUMBER;
56913 l_tmp_amt NUMBER;
56914 l_acc_rev_natural_side_code VARCHAR2(1);
56915
56916 l_num_entries NUMBER;
56917 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
56918 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
56919 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
56920 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
56921 l_recog_line_1 NUMBER;
56922 l_recog_line_2 NUMBER;
56923
56924 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
56925 l_bflow_applied_to_amt NUMBER; -- 5132302
56926 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
56927
56928 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
56929
56930 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
56931 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
56932
56933 ---------------------------------------------------------------------------------------------------------------
56934
56935
56936 --
56937 -- bulk performance
56938 --
56939 l_balance_type_code VARCHAR2(1);
56940 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
56941 l_log_module VARCHAR2(240);
56942
56943 --
56944 -- Upgrade strategy
56945 --
56946 l_actual_upg_option VARCHAR2(1);
56947 l_enc_upg_option VARCHAR2(1);
56948
56949 --
56950 BEGIN
56951 --
56952 IF g_log_enabled THEN
56953 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_115';
56954 END IF;
56955 --
56956 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
56957
56961 ,p_module => l_log_module);
56958 trace
56959 (p_msg => 'BEGIN of AcctLineType_115'
56960 ,p_level => C_LEVEL_PROCEDURE
56962
56963 END IF;
56964 --
56965 l_component_type := 'AMB_JLT';
56966 l_component_code := 'AP_FINAL_PMT_ROUND_PREPAY_APP';
56967 l_component_type_code := 'S';
56968 l_component_appl_id := 200;
56969 l_amb_context_code := 'DEFAULT';
56970 l_entity_code := 'AP_INVOICES';
56971 l_event_class_code := 'PREPAYMENT APPLICATIONS';
56972 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
56973 l_line_definition_owner_code := 'S';
56974 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
56975 --
56976 l_balance_type_code := 'A';
56977 l_segment := NULL;
56978 l_ccid := NULL;
56979 l_adr_transaction_coa_id := NULL;
56980 l_adr_accounting_coa_id := NULL;
56981 l_adr_flexfield_segment_code := NULL;
56982 l_adr_flex_value_set_id := NULL;
56983 l_adr_value_type_code := NULL;
56984 l_adr_value_combination_id := NULL;
56985 l_adr_value_segment_code := NULL;
56986
56987 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
56988 l_bflow_class_code := ''; -- 4219869 Business Flow
56989 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
56990 l_budgetary_control_flag := 'N';
56991
56992 l_bflow_applied_to_amt_idx := NULL; -- 5132302
56993 l_bflow_applied_to_amt := NULL; -- 5132302
56994 l_entered_amt_idx := NULL; -- 4262811
56995 l_accted_amt_idx := NULL; -- 4262811
56996 l_acc_rev_flag := NULL; -- 4262811
56997 l_accrual_line_num := NULL; -- 4262811
56998 l_tmp_amt := NULL; -- 4262811
56999 --
57000
57001 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
57002 l_balance_type_code <> 'B' THEN
57003 IF NVL(p_source_125,'
57004 ') = 'FINAL PAYMENT ROUNDING'
57005 THEN
57006
57007 --
57008 XLA_AE_LINES_PKG.SetNewLine;
57009
57010 p_balance_type_code := l_balance_type_code;
57011 -- set the flag so later we will know whether the gain loss line needs to be created
57012
57013 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
57014 p_actual_flag :='A';
57015 END IF;
57016
57017 --
57018 -- bulk performance
57019 --
57020 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
57021 p_header_num => 0); -- 4262811
57022 --
57023 -- set accounting line options
57024 --
57025 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
57026 p_natural_side_code => 'C'
57027 , p_gain_or_loss_flag => 'N'
57028 , p_gl_transfer_mode_code => 'S'
57029 , p_acct_entry_type_code => 'A'
57030 , p_switch_side_flag => 'Y'
57031 , p_merge_duplicate_code => 'A'
57032 );
57033 --
57034 l_acc_rev_natural_side_code := 'D'; -- 4262811
57035 --
57036 --
57037 -- set accounting line type info
57038 --
57039 xla_ae_lines_pkg.SetAcctLineType
57040 (p_component_type => l_component_type
57041 ,p_event_type_code => l_event_type_code
57042 ,p_line_definition_owner_code => l_line_definition_owner_code
57043 ,p_line_definition_code => l_line_definition_code
57044 ,p_accounting_line_code => l_component_code
57045 ,p_accounting_line_type_code => l_component_type_code
57046 ,p_accounting_line_appl_id => l_component_appl_id
57047 ,p_amb_context_code => l_amb_context_code
57048 ,p_entity_code => l_entity_code
57049 ,p_event_class_code => l_event_class_code);
57050 --
57051 -- set accounting class
57052 --
57053 xla_ae_lines_pkg.SetAcctClass(
57054 p_accounting_class_code => 'ROUNDING'
57055 , p_ae_header_id => l_ae_header_id
57056 );
57057
57058 --
57059 -- set rounding class
57060 --
57061 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
57062 'ROUNDING';
57063
57064 --
57065 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
57066 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
57067 --
57068 -- bulk performance
57069 --
57070 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
57071
57072 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
57073 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
57074
57075 -- 4955764
57076 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
57077 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
57078
57079 -- 4458381 Public Sector Enh
57080
57081 --
57082 -- set accounting attributes for the line type
57083 --
57084 l_entered_amt_idx := 25;
57085 l_accted_amt_idx := 30;
57089 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
57086 l_bflow_applied_to_amt_idx := NULL; -- 5132302
57087 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
57088 l_rec_acct_attrs.array_char_value(1) := p_source_53;
57090 l_rec_acct_attrs.array_num_value(2) :=
57091 xla_ae_sources_pkg.GetSystemSourceNum(
57092 p_source_code => 'XLA_EVENT_APPL_ID'
57093 , p_source_type_code => 'Y'
57094 , p_source_application_id => 602
57095 );
57096 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
57097 l_rec_acct_attrs.array_char_value(3) := p_source_55;
57098 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
57099 l_rec_acct_attrs.array_char_value(4) :=
57100 xla_ae_sources_pkg.GetSystemSourceChar(
57101 p_source_code => 'XLA_ENTITY_CODE'
57102 , p_source_type_code => 'Y'
57103 , p_source_application_id => 602
57104 );
57105 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
57106 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_127);
57107 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
57108 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
57109 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
57110 l_rec_acct_attrs.array_num_value(7) := p_source_91;
57111 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
57112 l_rec_acct_attrs.array_char_value(8) := p_source_146;
57113 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
57114 l_rec_acct_attrs.array_char_value(9) := p_source_147;
57115 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
57116 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_148);
57117 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
57118 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_149);
57119 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
57120 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_127);
57121 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
57122 l_rec_acct_attrs.array_char_value(13) := p_source_55;
57123 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
57124 l_rec_acct_attrs.array_char_value(14) := p_source_132;
57125 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
57126 l_rec_acct_attrs.array_num_value(15) := p_source_65;
57127 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
57128 l_rec_acct_attrs.array_num_value(16) := p_source_66;
57129 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
57130 l_rec_acct_attrs.array_char_value(17) := p_source_67;
57131 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
57132 l_rec_acct_attrs.array_num_value(18) := p_source_68;
57133 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
57134 l_rec_acct_attrs.array_char_value(19) := p_source_133;
57135 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
57136 l_rec_acct_attrs.array_num_value(20) := p_source_69;
57137 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
57138 l_rec_acct_attrs.array_num_value(21) := p_source_70;
57139 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
57140 l_rec_acct_attrs.array_char_value(22) := p_source_67;
57141 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
57142 l_rec_acct_attrs.array_num_value(23) := p_source_71;
57143 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
57144 l_rec_acct_attrs.array_char_value(24) := p_source_72;
57145 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
57146 l_rec_acct_attrs.array_num_value(25) := p_source_134;
57147 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
57148 l_rec_acct_attrs.array_char_value(26) := p_source_67;
57149 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_DATE';
57150 l_rec_acct_attrs.array_date_value(27) := p_source_143;
57151 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE';
57152 l_rec_acct_attrs.array_num_value(28) := p_source_144;
57153 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_RATE_TYPE';
57154 l_rec_acct_attrs.array_char_value(29) := p_source_145;
57155 l_rec_acct_attrs.array_acct_attr_code(30) := 'LEDGER_AMOUNT';
57156 l_rec_acct_attrs.array_num_value(30) := p_source_150;
57157 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_END_DATE';
57158 l_rec_acct_attrs.array_date_value(31) := p_source_77;
57159 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_OPTION';
57160 l_rec_acct_attrs.array_char_value(32) := p_source_78;
57161 l_rec_acct_attrs.array_acct_attr_code(33) := 'MULTIPERIOD_START_DATE';
57162 l_rec_acct_attrs.array_date_value(33) := p_source_79;
57163 l_rec_acct_attrs.array_acct_attr_code(34) := 'OVERRIDE_ACCTD_AMT_FLAG';
57164 l_rec_acct_attrs.array_char_value(34) := p_source_80;
57165 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_ID';
57166 l_rec_acct_attrs.array_num_value(35) := p_source_81;
57167 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_SITE_ID';
57168 l_rec_acct_attrs.array_num_value(36) := p_source_82;
57169 l_rec_acct_attrs.array_acct_attr_code(37) := 'PARTY_TYPE';
57170 l_rec_acct_attrs.array_char_value(37) := p_source_83;
57171 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_ID1';
57172 l_rec_acct_attrs.array_num_value(38) := to_char(p_source_136);
57173 l_rec_acct_attrs.array_acct_attr_code(39) := 'REVERSED_DISTRIBUTION_TYPE';
57177 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
57174 l_rec_acct_attrs.array_char_value(39) := p_source_55;
57175 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
57176 l_rec_acct_attrs.array_num_value(40) := p_source_86;
57178 l_rec_acct_attrs.array_num_value(41) := p_source_87;
57179 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
57180 l_rec_acct_attrs.array_num_value(42) := p_source_88;
57181 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
57182 l_rec_acct_attrs.array_num_value(43) := p_source_89;
57183 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
57184 l_rec_acct_attrs.array_num_value(44) := p_source_90;
57185
57186 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
57187 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
57188
57189 ---------------------------------------------------------------------------------------------------------------
57190 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
57191 ---------------------------------------------------------------------------------------------------------------
57192 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
57193
57194 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
57195 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
57196
57197 IF xla_accounting_cache_pkg.GetValueChar
57198 (p_source_code => 'LEDGER_CATEGORY_CODE'
57199 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
57200 AND l_bflow_method_code = 'PRIOR_ENTRY'
57201 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
57202 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
57203 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
57204 )
57205 THEN
57206 xla_ae_lines_pkg.BflowUpgEntry
57207 (p_business_method_code => l_bflow_method_code
57208 ,p_business_class_code => l_bflow_class_code
57209 ,p_balance_type => l_balance_type_code);
57210 ELSE
57211 NULL;
57212 -- No business flow processing for business flow method of NONE.
57213 END IF;
57214
57215 --
57216 -- call analytical criteria
57217 --
57218
57219 --
57220 -- call description
57221 --
57222 -- No description or it is inherited.
57223 --
57224 -- call ADRs
57225 -- Bug 4922099
57226 --
57227 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
57228 (NVL(l_actual_upg_option, 'N') = 'O') OR
57229 (NVL(l_enc_upg_option, 'N') = 'O')
57230 )
57231 THEN
57232 NULL;
57233 --
57234 --
57235
57236 l_ccid := AcctDerRule_41(
57237 p_application_id => p_application_id
57238 , p_ae_header_id => l_ae_header_id
57239 , p_source_15 => p_source_15
57240 , p_source_15_meaning => p_source_15_meaning
57241 , p_source_30 => p_source_30
57242 , p_source_49 => p_source_49
57243 , x_transaction_coa_id => l_adr_transaction_coa_id
57244 , x_accounting_coa_id => l_adr_accounting_coa_id
57245 , x_value_type_code => l_adr_value_type_code
57246 , p_side => 'NA'
57247 );
57248
57249 xla_ae_lines_pkg.set_ccid(
57250 p_code_combination_id => l_ccid
57251 , p_value_type_code => l_adr_value_type_code
57252 , p_transaction_coa_id => l_adr_transaction_coa_id
57253 , p_accounting_coa_id => l_adr_accounting_coa_id
57254 , p_adr_code => 'AP_ROUNDING'
57255 , p_adr_type_code => 'S'
57256 , p_component_type => l_component_type
57257 , p_component_code => l_component_code
57258 , p_component_type_code => l_component_type_code
57259 , p_component_appl_id => l_component_appl_id
57260 , p_amb_context_code => l_amb_context_code
57261 , p_side => 'NA'
57262 );
57263
57264
57265 --
57266 --
57267 END IF;
57268 --
57269 -- Bug 4922099
57270 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
57271 (NVL(l_enc_upg_option, 'N') = 'O')
57272 ) AND
57273 (l_bflow_method_code = 'PRIOR_ENTRY')
57274 )
57275 THEN
57276 IF
57277 --
57278 1 = 2
57279 --
57280 THEN
57281 xla_accounting_err_pkg.build_message
57282 (p_appli_s_name => 'XLA'
57283 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
57284 ,p_token_1 => 'LINE_NUMBER'
57285 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
57286 ,p_token_2 => 'LINE_TYPE_NAME'
57287 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
57288 l_component_type
57289 ,l_component_code
57293 ,l_entity_code
57290 ,l_component_type_code
57291 ,l_component_appl_id
57292 ,l_amb_context_code
57294 ,l_event_class_code
57295 )
57296 ,p_token_3 => 'OWNER'
57297 ,p_value_3 => xla_lookups_pkg.get_meaning(
57298 p_lookup_type => 'XLA_OWNER_TYPE'
57299 ,p_lookup_code => l_component_type_code
57300 )
57301 ,p_token_4 => 'PRODUCT_NAME'
57302 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
57303 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
57304 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
57305 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
57306 ,p_ae_header_id => NULL
57307 );
57308
57309 IF (C_LEVEL_ERROR>= g_log_level) THEN
57310 trace
57311 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
57312 ,p_level => C_LEVEL_ERROR
57313 ,p_module => l_log_module);
57314 END IF;
57315 END IF;
57316 END IF;
57317 --
57318 --
57319 ------------------------------------------------------------------------------------------------
57320 -- 4219869 Business Flow
57321 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
57322 -- Prior Entry. Currently, the following code is always generated.
57323 ------------------------------------------------------------------------------------------------
57324 XLA_AE_LINES_PKG.ValidateCurrentLine;
57325
57326 ------------------------------------------------------------------------------------
57327 -- 4219869 Business Flow
57328 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
57329 ------------------------------------------------------------------------------------
57330 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
57331
57332 ----------------------------------------------------------------------------------
57333 -- 4219869 Business Flow
57334 -- Update journal entry status -- Need to generate this within IF <condition>
57335 ----------------------------------------------------------------------------------
57336 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
57337 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
57338 ,p_balance_type_code => l_balance_type_code
57339 );
57340
57341 -------------------------------------------------------------------------------------------
57342 -- 4262811 - Generate the Accrual Reversal lines
57343 -------------------------------------------------------------------------------------------
57344 BEGIN
57345 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
57346 (g_array_event(p_event_id).array_value_num('header_index'));
57347 IF l_acc_rev_flag IS NULL THEN
57348 l_acc_rev_flag := 'N';
57349 END IF;
57350 EXCEPTION
57351 WHEN OTHERS THEN
57352 l_acc_rev_flag := 'N';
57353 END;
57354 --
57355 IF (l_acc_rev_flag = 'Y') THEN
57356
57357 -- 4645092 ------------------------------------------------------------------------------
57358 -- To allow MPA report to determine if it should generate report process
57359 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
57360 ------------------------------------------------------------------------------------------
57361
57362 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
57363 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
57364 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
57365 -- call ADRs
57366 -- Bug 4922099
57367 --
57368 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
57369 (NVL(l_actual_upg_option, 'N') = 'O') OR
57370 (NVL(l_enc_upg_option, 'N') = 'O')
57371 )
57372 THEN
57373 NULL;
57374 --
57375 --
57376
57377 l_ccid := AcctDerRule_41(
57378 p_application_id => p_application_id
57379 , p_ae_header_id => l_ae_header_id
57380 , p_source_15 => p_source_15
57381 , p_source_15_meaning => p_source_15_meaning
57382 , p_source_30 => p_source_30
57383 , p_source_49 => p_source_49
57384 , x_transaction_coa_id => l_adr_transaction_coa_id
57385 , x_accounting_coa_id => l_adr_accounting_coa_id
57386 , x_value_type_code => l_adr_value_type_code
57387 , p_side => 'NA'
57388 );
57389
57393 , p_transaction_coa_id => l_adr_transaction_coa_id
57390 xla_ae_lines_pkg.set_ccid(
57391 p_code_combination_id => l_ccid
57392 , p_value_type_code => l_adr_value_type_code
57394 , p_accounting_coa_id => l_adr_accounting_coa_id
57395 , p_adr_code => 'AP_ROUNDING'
57396 , p_adr_type_code => 'S'
57397 , p_component_type => l_component_type
57398 , p_component_code => l_component_code
57399 , p_component_type_code => l_component_type_code
57400 , p_component_appl_id => l_component_appl_id
57401 , p_amb_context_code => l_amb_context_code
57402 , p_side => 'NA'
57403 );
57404
57405
57406 --
57407 --
57408 END IF;
57409
57410 --
57411 -- Update the line information that should be overwritten
57412 --
57413 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
57414 p_header_num => 1);
57415 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
57416
57417 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
57418
57419 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
57420 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
57421 END IF;
57422
57423 --
57424 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
57425 --
57426 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
57427 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
57428 ELSE
57429 ---------------------------------------------------------------------------------------------------
57430 -- 4262811a Switch Sign
57431 ---------------------------------------------------------------------------------------------------
57432 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
57433 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
57434 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
57435 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
57436 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
57437 -- 5132302
57438 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
57439 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
57440
57441 END IF;
57442
57443 -- 4955764
57444 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
57445 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
57446
57447
57448 XLA_AE_LINES_PKG.ValidateCurrentLine;
57449 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
57450
57451 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
57452 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
57453 ,p_balance_type_code => l_balance_type_code);
57454
57455 END IF;
57456
57457 -----------------------------------------------------------------------------------------
57458 -- 4262811 Multiperiod Accounting
57459 -----------------------------------------------------------------------------------------
57460 -- No MPA option is assigned.
57461
57462
57463 END IF;
57464 END IF;
57465 --
57466
57467 --
57468 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
57469 trace
57470 (p_msg => 'END of AcctLineType_115'
57471 ,p_level => C_LEVEL_PROCEDURE
57472 ,p_module => l_log_module);
57473 END IF;
57474 --
57475 EXCEPTION
57476 WHEN xla_exceptions_pkg.application_exception THEN
57477 RAISE;
57478 WHEN OTHERS THEN
57479 xla_exceptions_pkg.raise_message
57480 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_115');
57481 END AcctLineType_115;
57482 --
57483
57484 ---------------------------------------
57485 --
57486 -- PRIVATE FUNCTION
57487 -- AcctLineType_116
57488 --
57489 ---------------------------------------
57490 PROCEDURE AcctLineType_116 (
57491 p_application_id IN NUMBER
57492 ,p_event_id IN NUMBER
57493 ,p_calculate_acctd_flag IN VARCHAR2
57494 ,p_calculate_g_l_flag IN VARCHAR2
57495 ,p_actual_flag IN OUT VARCHAR2
57496 ,p_balance_type_code OUT VARCHAR2
57497 ,p_gain_or_loss_ref OUT VARCHAR2
57498
57499 --Invoice Distribution Description
57500 , p_source_1 IN VARCHAR2
57501 --Invoice Distribution Ledger Amount
57502 , p_source_21 IN NUMBER
57503 --Invoice Distribution Account
57504 , p_source_30 IN NUMBER
57505 --Invoice Distribution Type
57506 , p_source_33 IN VARCHAR2
57507 , p_source_33_meaning IN VARCHAR2
57508 --Accounting Reversal Indicator
57509 , p_source_53 IN VARCHAR2
57510 --Distribution Link Type
57514 --Invoice Identifier
57511 , p_source_55 IN VARCHAR2
57512 --Allocation to Main Distribution Identifier
57513 , p_source_57 IN NUMBER
57515 , p_source_58 IN NUMBER
57516 --Invoice Distribution Identifier
57517 , p_source_64 IN NUMBER
57518 --Payables Encumbrance Upgrade Credit Account
57519 , p_source_65 IN NUMBER
57520 --Payables Encumbrance Upgrade Credit Amount
57521 , p_source_66 IN NUMBER
57522 --Invoice Currency Code
57523 , p_source_67 IN VARCHAR2
57524 --Payables Encumbrance Upgrade Credit Base Amount
57525 , p_source_68 IN NUMBER
57526 --Payables Encumbrance Upgrade Debit Account
57527 , p_source_69 IN NUMBER
57528 --Payables Encumbrance Upgrade Debit Amount
57529 , p_source_70 IN NUMBER
57530 --Payables Encumbrance Upgrade Debit Base Amount
57531 , p_source_71 IN NUMBER
57532 --Payables Encumbrance Upgrade Option
57533 , p_source_72 IN VARCHAR2
57534 --Invoice Distribution Amount
57535 , p_source_73 IN NUMBER
57536 --Deferred Accounting End Date
57537 , p_source_77 IN DATE
57538 --Deferred Accounting Option
57539 , p_source_78 IN VARCHAR2
57540 --Deferred Accounting Start Date
57541 , p_source_79 IN DATE
57542 --Override Accounted Amount Indicator
57543 , p_source_80 IN VARCHAR2
57544 , p_source_80_meaning IN VARCHAR2
57545 --Invoice Supplier Identifier
57546 , p_source_81 IN NUMBER
57547 --Invoice Supplier Site Identifier
57548 , p_source_82 IN NUMBER
57549 --Third Party Type
57550 , p_source_83 IN VARCHAR2
57551 --Parent Reversal Identifier
57552 , p_source_84 IN NUMBER
57553 --Invoice Distribution Statistical Amount
57554 , p_source_85 IN NUMBER
57555 --Invoice Distribution Tax Line Identifier
57556 , p_source_86 IN NUMBER
57557 --Invoice Distribution Tax Distribution Identifier from Tax
57558 , p_source_87 IN NUMBER
57559 --Invoice Distribution Summary Tax Line Identifier
57560 , p_source_88 IN NUMBER
57561 --Payables Upgrade Credit Encumbrance Type Identifier
57562 , p_source_89 IN NUMBER
57563 --Payables Upgrade Debit Encumbrance Type Identifier
57564 , p_source_90 IN NUMBER
57565 --Business Flow Accounts Payable Application Identifier
57566 , p_source_91 IN NUMBER
57567 --Business Flow Invoice Distribution Type
57568 , p_source_92 IN VARCHAR2
57569 --Business Flow Invoice Entity Code
57570 , p_source_93 IN VARCHAR2
57571 --Business Flow Invoice Distribution Identifier
57572 , p_source_94 IN NUMBER
57573 --Business Flow Invoice Identifier
57574 , p_source_95 IN NUMBER
57575 --Invoice Exchange Date
57576 , p_source_143 IN DATE
57577 --Invoice Exchange Rate
57578 , p_source_144 IN NUMBER
57579 --Invoice Exchange Rate Type
57580 , p_source_145 IN VARCHAR2
57581 )
57582 IS
57583
57584 l_component_type VARCHAR2(80);
57585 l_component_code VARCHAR2(30);
57586 l_component_type_code VARCHAR2(1);
57587 l_component_appl_id INTEGER;
57588 l_amb_context_code VARCHAR2(30);
57589 l_entity_code VARCHAR2(30);
57590 l_event_class_code VARCHAR2(30);
57591 l_ae_header_id NUMBER;
57592 l_event_type_code VARCHAR2(30);
57593 l_line_definition_code VARCHAR2(30);
57594 l_line_definition_owner_code VARCHAR2(1);
57595 --
57596 -- adr variables
57597 l_segment VARCHAR2(30);
57598 l_ccid NUMBER;
57599 l_adr_transaction_coa_id NUMBER;
57600 l_adr_accounting_coa_id NUMBER;
57601 l_adr_flexfield_segment_code VARCHAR2(30);
57602 l_adr_flex_value_set_id NUMBER;
57603 l_adr_value_type_code VARCHAR2(30);
57604 l_adr_value_combination_id NUMBER;
57605 l_adr_value_segment_code VARCHAR2(30);
57606
57607 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
57608 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
57609 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
57610 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
57611
57612 -- 4262811 Variables ------------------------------------------------------------------------------------------
57613 l_entered_amt_idx NUMBER;
57614 l_accted_amt_idx NUMBER;
57615 l_acc_rev_flag VARCHAR2(1);
57616 l_accrual_line_num NUMBER;
57617 l_tmp_amt NUMBER;
57618 l_acc_rev_natural_side_code VARCHAR2(1);
57619
57620 l_num_entries NUMBER;
57621 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
57622 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
57623 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
57624 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
57625 l_recog_line_1 NUMBER;
57626 l_recog_line_2 NUMBER;
57627
57628 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
57629 l_bflow_applied_to_amt NUMBER; -- 5132302
57630 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
57631
57635 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
57632 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
57633
57634 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
57636
57637 ---------------------------------------------------------------------------------------------------------------
57638
57639
57640 --
57641 -- bulk performance
57642 --
57643 l_balance_type_code VARCHAR2(1);
57644 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
57645 l_log_module VARCHAR2(240);
57646
57647 --
57648 -- Upgrade strategy
57649 --
57650 l_actual_upg_option VARCHAR2(1);
57651 l_enc_upg_option VARCHAR2(1);
57652
57653 --
57654 BEGIN
57655 --
57656 IF g_log_enabled THEN
57657 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_116';
57658 END IF;
57659 --
57660 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
57661
57662 trace
57663 (p_msg => 'BEGIN of AcctLineType_116'
57664 ,p_level => C_LEVEL_PROCEDURE
57665 ,p_module => l_log_module);
57666
57667 END IF;
57668 --
57669 l_component_type := 'AMB_JLT';
57670 l_component_code := 'AP_FREIGHT_EXPENSE_CM';
57671 l_component_type_code := 'S';
57672 l_component_appl_id := 200;
57673 l_amb_context_code := 'DEFAULT';
57674 l_entity_code := 'AP_INVOICES';
57675 l_event_class_code := 'CREDIT MEMOS';
57676 l_event_type_code := 'CREDIT MEMOS_ALL';
57677 l_line_definition_owner_code := 'S';
57678 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
57679 --
57680 l_balance_type_code := 'A';
57681 l_segment := NULL;
57682 l_ccid := NULL;
57683 l_adr_transaction_coa_id := NULL;
57684 l_adr_accounting_coa_id := NULL;
57685 l_adr_flexfield_segment_code := NULL;
57686 l_adr_flex_value_set_id := NULL;
57687 l_adr_value_type_code := NULL;
57688 l_adr_value_combination_id := NULL;
57689 l_adr_value_segment_code := NULL;
57690
57691 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
57692 l_bflow_class_code := ''; -- 4219869 Business Flow
57693 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
57694 l_budgetary_control_flag := 'N';
57695
57696 l_bflow_applied_to_amt_idx := NULL; -- 5132302
57697 l_bflow_applied_to_amt := NULL; -- 5132302
57698 l_entered_amt_idx := NULL; -- 4262811
57699 l_accted_amt_idx := NULL; -- 4262811
57700 l_acc_rev_flag := NULL; -- 4262811
57701 l_accrual_line_num := NULL; -- 4262811
57702 l_tmp_amt := NULL; -- 4262811
57703 --
57704
57705 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
57706 l_balance_type_code <> 'B' THEN
57707 IF NVL(p_source_33,'
57708 ') = 'FREIGHT'
57709 THEN
57710
57711 --
57712 XLA_AE_LINES_PKG.SetNewLine;
57713
57714 p_balance_type_code := l_balance_type_code;
57715 -- set the flag so later we will know whether the gain loss line needs to be created
57716
57717 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
57718 p_actual_flag :='A';
57719 END IF;
57720
57721 --
57722 -- bulk performance
57723 --
57724 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
57725 p_header_num => 0); -- 4262811
57726 --
57727 -- set accounting line options
57728 --
57729 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
57730 p_natural_side_code => 'D'
57731 , p_gain_or_loss_flag => 'N'
57732 , p_gl_transfer_mode_code => 'S'
57733 , p_acct_entry_type_code => 'A'
57734 , p_switch_side_flag => 'Y'
57735 , p_merge_duplicate_code => 'A'
57736 );
57737 --
57738 l_acc_rev_natural_side_code := 'C'; -- 4262811
57739 --
57740 --
57741 -- set accounting line type info
57742 --
57743 xla_ae_lines_pkg.SetAcctLineType
57744 (p_component_type => l_component_type
57745 ,p_event_type_code => l_event_type_code
57746 ,p_line_definition_owner_code => l_line_definition_owner_code
57747 ,p_line_definition_code => l_line_definition_code
57748 ,p_accounting_line_code => l_component_code
57749 ,p_accounting_line_type_code => l_component_type_code
57750 ,p_accounting_line_appl_id => l_component_appl_id
57751 ,p_amb_context_code => l_amb_context_code
57752 ,p_entity_code => l_entity_code
57753 ,p_event_class_code => l_event_class_code);
57754 --
57755 -- set accounting class
57756 --
57757 xla_ae_lines_pkg.SetAcctClass(
57758 p_accounting_class_code => 'FREIGHT'
57759 , p_ae_header_id => l_ae_header_id
57760 );
57761
57762 --
57763 -- set rounding class
57764 --
57765 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
57766 'FREIGHT';
57767
57768 --
57772 -- bulk performance
57769 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
57770 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
57771 --
57773 --
57774 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
57775
57776 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
57777 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
57778
57779 -- 4955764
57780 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
57781 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
57782
57783 -- 4458381 Public Sector Enh
57784
57785 --
57786 -- set accounting attributes for the line type
57787 --
57788 l_entered_amt_idx := 23;
57789 l_accted_amt_idx := 28;
57790 l_bflow_applied_to_amt_idx := NULL; -- 5132302
57791 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
57792 l_rec_acct_attrs.array_char_value(1) := p_source_53;
57793 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
57794 l_rec_acct_attrs.array_num_value(2) :=
57795 xla_ae_sources_pkg.GetSystemSourceNum(
57796 p_source_code => 'XLA_EVENT_APPL_ID'
57797 , p_source_type_code => 'Y'
57798 , p_source_application_id => 602
57799 );
57800 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
57801 l_rec_acct_attrs.array_char_value(3) := p_source_55;
57802 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
57803 l_rec_acct_attrs.array_char_value(4) :=
57804 xla_ae_sources_pkg.GetSystemSourceChar(
57805 p_source_code => 'XLA_ENTITY_CODE'
57806 , p_source_type_code => 'Y'
57807 , p_source_application_id => 602
57808 );
57809 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
57810 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
57811 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
57812 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
57813 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
57814 l_rec_acct_attrs.array_num_value(7) := p_source_91;
57815 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
57816 l_rec_acct_attrs.array_char_value(8) := p_source_92;
57817 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
57818 l_rec_acct_attrs.array_char_value(9) := p_source_93;
57819 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
57820 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
57821 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
57822 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
57823 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
57824 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
57825 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
57826 l_rec_acct_attrs.array_char_value(13) := p_source_55;
57827 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
57828 l_rec_acct_attrs.array_num_value(14) := p_source_65;
57829 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
57830 l_rec_acct_attrs.array_num_value(15) := p_source_66;
57831 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
57832 l_rec_acct_attrs.array_char_value(16) := p_source_67;
57833 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
57834 l_rec_acct_attrs.array_num_value(17) := p_source_68;
57835 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
57836 l_rec_acct_attrs.array_num_value(18) := p_source_69;
57837 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
57838 l_rec_acct_attrs.array_num_value(19) := p_source_70;
57839 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
57840 l_rec_acct_attrs.array_char_value(20) := p_source_67;
57841 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
57842 l_rec_acct_attrs.array_num_value(21) := p_source_71;
57843 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
57844 l_rec_acct_attrs.array_char_value(22) := p_source_72;
57845 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
57846 l_rec_acct_attrs.array_num_value(23) := p_source_73;
57847 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
57848 l_rec_acct_attrs.array_char_value(24) := p_source_67;
57849 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
57850 l_rec_acct_attrs.array_date_value(25) := p_source_143;
57851 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
57852 l_rec_acct_attrs.array_num_value(26) := p_source_144;
57853 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
57854 l_rec_acct_attrs.array_char_value(27) := p_source_145;
57855 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
57856 l_rec_acct_attrs.array_num_value(28) := p_source_21;
57857 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
57858 l_rec_acct_attrs.array_date_value(29) := p_source_77;
57859 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
57860 l_rec_acct_attrs.array_char_value(30) := p_source_78;
57861 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
57865 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
57862 l_rec_acct_attrs.array_date_value(31) := p_source_79;
57863 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
57864 l_rec_acct_attrs.array_char_value(32) := p_source_80;
57866 l_rec_acct_attrs.array_num_value(33) := p_source_81;
57867 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
57868 l_rec_acct_attrs.array_num_value(34) := p_source_82;
57869 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
57870 l_rec_acct_attrs.array_char_value(35) := p_source_83;
57871 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
57872 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
57873 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
57874 l_rec_acct_attrs.array_char_value(37) := p_source_55;
57875 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
57876 l_rec_acct_attrs.array_num_value(38) := p_source_85;
57877 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
57878 l_rec_acct_attrs.array_num_value(39) := p_source_86;
57879 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
57880 l_rec_acct_attrs.array_num_value(40) := p_source_87;
57881 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
57882 l_rec_acct_attrs.array_num_value(41) := p_source_88;
57883 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
57884 l_rec_acct_attrs.array_num_value(42) := p_source_89;
57885 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
57886 l_rec_acct_attrs.array_num_value(43) := p_source_90;
57887
57888 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
57889 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
57890
57891 ---------------------------------------------------------------------------------------------------------------
57892 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
57893 ---------------------------------------------------------------------------------------------------------------
57894 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
57895
57896 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
57897 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
57898
57899 IF xla_accounting_cache_pkg.GetValueChar
57900 (p_source_code => 'LEDGER_CATEGORY_CODE'
57901 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
57902 AND l_bflow_method_code = 'PRIOR_ENTRY'
57903 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
57904 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
57905 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
57906 )
57907 THEN
57908 xla_ae_lines_pkg.BflowUpgEntry
57909 (p_business_method_code => l_bflow_method_code
57910 ,p_business_class_code => l_bflow_class_code
57911 ,p_balance_type => l_balance_type_code);
57912 ELSE
57913 NULL;
57914 -- No business flow processing for business flow method of NONE.
57915 END IF;
57916
57917 --
57918 -- call analytical criteria
57919 --
57920
57921 --
57922 -- call description
57923 --
57924
57925 xla_ae_lines_pkg.SetLineDescription(
57926 p_ae_header_id => l_ae_header_id
57927 ,p_description => Description_1 (
57928 p_application_id => p_application_id
57929 , p_ae_header_id => l_ae_header_id
57930 , p_source_1 => p_source_1
57931 )
57932 );
57933
57934
57935 --
57936 -- call ADRs
57937 -- Bug 4922099
57938 --
57939 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
57940 (NVL(l_actual_upg_option, 'N') = 'O') OR
57941 (NVL(l_enc_upg_option, 'N') = 'O')
57942 )
57943 THEN
57944 NULL;
57945 --
57946 --
57947
57948 l_ccid := AcctDerRule_33(
57949 p_application_id => p_application_id
57950 , p_ae_header_id => l_ae_header_id
57951 , p_source_30 => p_source_30
57952 , x_transaction_coa_id => l_adr_transaction_coa_id
57953 , x_accounting_coa_id => l_adr_accounting_coa_id
57954 , x_value_type_code => l_adr_value_type_code
57955 , p_side => 'NA'
57956 );
57957
57958 xla_ae_lines_pkg.set_ccid(
57959 p_code_combination_id => l_ccid
57960 , p_value_type_code => l_adr_value_type_code
57961 , p_transaction_coa_id => l_adr_transaction_coa_id
57962 , p_accounting_coa_id => l_adr_accounting_coa_id
57963 , p_adr_code => 'AP_INVOICE_DIST'
57964 , p_adr_type_code => 'S'
57965 , p_component_type => l_component_type
57966 , p_component_code => l_component_code
57967 , p_component_type_code => l_component_type_code
57968 , p_component_appl_id => l_component_appl_id
57969 , p_amb_context_code => l_amb_context_code
57970 , p_side => 'NA'
57971 );
57972
57973
57974 --
57975 --
57976 END IF;
57977 --
57978 -- Bug 4922099
57979 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
57983 )
57980 (NVL(l_enc_upg_option, 'N') = 'O')
57981 ) AND
57982 (l_bflow_method_code = 'PRIOR_ENTRY')
57984 THEN
57985 IF
57986 --
57987 1 = 2
57988 --
57989 THEN
57990 xla_accounting_err_pkg.build_message
57991 (p_appli_s_name => 'XLA'
57992 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
57993 ,p_token_1 => 'LINE_NUMBER'
57994 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
57995 ,p_token_2 => 'LINE_TYPE_NAME'
57996 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
57997 l_component_type
57998 ,l_component_code
57999 ,l_component_type_code
58000 ,l_component_appl_id
58001 ,l_amb_context_code
58002 ,l_entity_code
58003 ,l_event_class_code
58004 )
58005 ,p_token_3 => 'OWNER'
58006 ,p_value_3 => xla_lookups_pkg.get_meaning(
58007 p_lookup_type => 'XLA_OWNER_TYPE'
58008 ,p_lookup_code => l_component_type_code
58009 )
58010 ,p_token_4 => 'PRODUCT_NAME'
58011 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
58012 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
58013 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
58014 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
58015 ,p_ae_header_id => NULL
58016 );
58017
58018 IF (C_LEVEL_ERROR>= g_log_level) THEN
58019 trace
58020 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
58021 ,p_level => C_LEVEL_ERROR
58022 ,p_module => l_log_module);
58023 END IF;
58024 END IF;
58025 END IF;
58026 --
58027 --
58028 ------------------------------------------------------------------------------------------------
58029 -- 4219869 Business Flow
58030 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
58031 -- Prior Entry. Currently, the following code is always generated.
58032 ------------------------------------------------------------------------------------------------
58033 XLA_AE_LINES_PKG.ValidateCurrentLine;
58034
58035 ------------------------------------------------------------------------------------
58036 -- 4219869 Business Flow
58037 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
58038 ------------------------------------------------------------------------------------
58039 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
58040
58041 ----------------------------------------------------------------------------------
58042 -- 4219869 Business Flow
58043 -- Update journal entry status -- Need to generate this within IF <condition>
58044 ----------------------------------------------------------------------------------
58045 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
58046 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
58047 ,p_balance_type_code => l_balance_type_code
58048 );
58049
58050 -------------------------------------------------------------------------------------------
58051 -- 4262811 - Generate the Accrual Reversal lines
58052 -------------------------------------------------------------------------------------------
58053 BEGIN
58054 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
58055 (g_array_event(p_event_id).array_value_num('header_index'));
58056 IF l_acc_rev_flag IS NULL THEN
58057 l_acc_rev_flag := 'N';
58058 END IF;
58059 EXCEPTION
58060 WHEN OTHERS THEN
58061 l_acc_rev_flag := 'N';
58062 END;
58063 --
58064 IF (l_acc_rev_flag = 'Y') THEN
58065
58066 -- 4645092 ------------------------------------------------------------------------------
58067 -- To allow MPA report to determine if it should generate report process
58068 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
58069 ------------------------------------------------------------------------------------------
58070
58071 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
58075 -- Bug 4922099
58072 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
58073 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
58074 -- call ADRs
58076 --
58077 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
58078 (NVL(l_actual_upg_option, 'N') = 'O') OR
58079 (NVL(l_enc_upg_option, 'N') = 'O')
58080 )
58081 THEN
58082 NULL;
58083 --
58084 --
58085
58086 l_ccid := AcctDerRule_33(
58087 p_application_id => p_application_id
58088 , p_ae_header_id => l_ae_header_id
58089 , p_source_30 => p_source_30
58090 , x_transaction_coa_id => l_adr_transaction_coa_id
58091 , x_accounting_coa_id => l_adr_accounting_coa_id
58092 , x_value_type_code => l_adr_value_type_code
58093 , p_side => 'NA'
58094 );
58095
58096 xla_ae_lines_pkg.set_ccid(
58097 p_code_combination_id => l_ccid
58098 , p_value_type_code => l_adr_value_type_code
58099 , p_transaction_coa_id => l_adr_transaction_coa_id
58100 , p_accounting_coa_id => l_adr_accounting_coa_id
58101 , p_adr_code => 'AP_INVOICE_DIST'
58102 , p_adr_type_code => 'S'
58103 , p_component_type => l_component_type
58104 , p_component_code => l_component_code
58105 , p_component_type_code => l_component_type_code
58106 , p_component_appl_id => l_component_appl_id
58107 , p_amb_context_code => l_amb_context_code
58108 , p_side => 'NA'
58109 );
58110
58111
58112 --
58113 --
58114 END IF;
58115
58116 --
58117 -- Update the line information that should be overwritten
58118 --
58119 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
58120 p_header_num => 1);
58121 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
58122
58123 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
58124
58125 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
58126 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
58127 END IF;
58128
58129 --
58130 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
58131 --
58132 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
58133 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
58134 ELSE
58135 ---------------------------------------------------------------------------------------------------
58136 -- 4262811a Switch Sign
58137 ---------------------------------------------------------------------------------------------------
58138 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
58139 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
58140 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
58141 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
58142 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
58143 -- 5132302
58144 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
58145 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
58146
58147 END IF;
58148
58149 -- 4955764
58150 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
58151 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
58152
58153
58154 XLA_AE_LINES_PKG.ValidateCurrentLine;
58155 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
58156
58157 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
58158 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
58159 ,p_balance_type_code => l_balance_type_code);
58160
58161 END IF;
58162
58163 -----------------------------------------------------------------------------------------
58164 -- 4262811 Multiperiod Accounting
58165 -----------------------------------------------------------------------------------------
58166 -- No MPA option is assigned.
58167
58168
58169 END IF;
58170 END IF;
58171 --
58172
58173 --
58174 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
58175 trace
58176 (p_msg => 'END of AcctLineType_116'
58177 ,p_level => C_LEVEL_PROCEDURE
58178 ,p_module => l_log_module);
58179 END IF;
58180 --
58181 EXCEPTION
58182 WHEN xla_exceptions_pkg.application_exception THEN
58183 RAISE;
58184 WHEN OTHERS THEN
58185 xla_exceptions_pkg.raise_message
58186 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_116');
58187 END AcctLineType_116;
58188 --
58189
58190 ---------------------------------------
58191 --
58192 -- PRIVATE FUNCTION
58196 PROCEDURE AcctLineType_117 (
58193 -- AcctLineType_117
58194 --
58195 ---------------------------------------
58197 p_application_id IN NUMBER
58198 ,p_event_id IN NUMBER
58199 ,p_calculate_acctd_flag IN VARCHAR2
58200 ,p_calculate_g_l_flag IN VARCHAR2
58201 ,p_actual_flag IN OUT VARCHAR2
58202 ,p_balance_type_code OUT VARCHAR2
58203 ,p_gain_or_loss_ref OUT VARCHAR2
58204
58205 --Invoice Distribution Description
58206 , p_source_1 IN VARCHAR2
58207 --Invoice Distribution Ledger Amount
58208 , p_source_21 IN NUMBER
58209 --Invoice Distribution Account
58210 , p_source_30 IN NUMBER
58211 --Invoice Distribution Type
58212 , p_source_33 IN VARCHAR2
58213 , p_source_33_meaning IN VARCHAR2
58214 --Accounting Reversal Indicator
58215 , p_source_53 IN VARCHAR2
58216 --Distribution Link Type
58217 , p_source_55 IN VARCHAR2
58218 --Allocation to Main Distribution Identifier
58219 , p_source_57 IN NUMBER
58220 --Invoice Identifier
58221 , p_source_58 IN NUMBER
58222 --Invoice Distribution Identifier
58223 , p_source_64 IN NUMBER
58224 --Payables Encumbrance Upgrade Credit Account
58225 , p_source_65 IN NUMBER
58226 --Payables Encumbrance Upgrade Credit Amount
58227 , p_source_66 IN NUMBER
58228 --Invoice Currency Code
58229 , p_source_67 IN VARCHAR2
58230 --Payables Encumbrance Upgrade Credit Base Amount
58231 , p_source_68 IN NUMBER
58232 --Payables Encumbrance Upgrade Debit Account
58233 , p_source_69 IN NUMBER
58234 --Payables Encumbrance Upgrade Debit Amount
58235 , p_source_70 IN NUMBER
58236 --Payables Encumbrance Upgrade Debit Base Amount
58237 , p_source_71 IN NUMBER
58238 --Payables Encumbrance Upgrade Option
58239 , p_source_72 IN VARCHAR2
58240 --Invoice Distribution Amount
58241 , p_source_73 IN NUMBER
58242 --Deferred Accounting End Date
58243 , p_source_77 IN DATE
58244 --Deferred Accounting Option
58245 , p_source_78 IN VARCHAR2
58246 --Deferred Accounting Start Date
58247 , p_source_79 IN DATE
58248 --Override Accounted Amount Indicator
58249 , p_source_80 IN VARCHAR2
58250 , p_source_80_meaning IN VARCHAR2
58251 --Invoice Supplier Identifier
58252 , p_source_81 IN NUMBER
58253 --Invoice Supplier Site Identifier
58254 , p_source_82 IN NUMBER
58255 --Third Party Type
58256 , p_source_83 IN VARCHAR2
58257 --Parent Reversal Identifier
58258 , p_source_84 IN NUMBER
58259 --Invoice Distribution Tax Line Identifier
58260 , p_source_86 IN NUMBER
58261 --Invoice Distribution Tax Distribution Identifier from Tax
58262 , p_source_87 IN NUMBER
58263 --Invoice Distribution Summary Tax Line Identifier
58264 , p_source_88 IN NUMBER
58265 --Payables Upgrade Credit Encumbrance Type Identifier
58266 , p_source_89 IN NUMBER
58267 --Payables Upgrade Debit Encumbrance Type Identifier
58268 , p_source_90 IN NUMBER
58269 --Business Flow Accounts Payable Application Identifier
58270 , p_source_91 IN NUMBER
58271 --Business Flow Invoice Distribution Type
58272 , p_source_92 IN VARCHAR2
58273 --Business Flow Invoice Entity Code
58274 , p_source_93 IN VARCHAR2
58275 --Business Flow Invoice Distribution Identifier
58276 , p_source_94 IN NUMBER
58277 --Business Flow Invoice Identifier
58278 , p_source_95 IN NUMBER
58279 --Invoice Exchange Date
58280 , p_source_143 IN DATE
58281 --Invoice Exchange Rate
58282 , p_source_144 IN NUMBER
58283 --Invoice Exchange Rate Type
58284 , p_source_145 IN VARCHAR2
58285 )
58286 IS
58287
58288 l_component_type VARCHAR2(80);
58289 l_component_code VARCHAR2(30);
58290 l_component_type_code VARCHAR2(1);
58291 l_component_appl_id INTEGER;
58292 l_amb_context_code VARCHAR2(30);
58293 l_entity_code VARCHAR2(30);
58294 l_event_class_code VARCHAR2(30);
58295 l_ae_header_id NUMBER;
58296 l_event_type_code VARCHAR2(30);
58297 l_line_definition_code VARCHAR2(30);
58298 l_line_definition_owner_code VARCHAR2(1);
58299 --
58300 -- adr variables
58301 l_segment VARCHAR2(30);
58302 l_ccid NUMBER;
58303 l_adr_transaction_coa_id NUMBER;
58304 l_adr_accounting_coa_id NUMBER;
58305 l_adr_flexfield_segment_code VARCHAR2(30);
58306 l_adr_flex_value_set_id NUMBER;
58307 l_adr_value_type_code VARCHAR2(30);
58308 l_adr_value_combination_id NUMBER;
58309 l_adr_value_segment_code VARCHAR2(30);
58310
58311 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
58312 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
58313 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
58314 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
58315
58316 -- 4262811 Variables ------------------------------------------------------------------------------------------
58317 l_entered_amt_idx NUMBER;
58318 l_accted_amt_idx NUMBER;
58319 l_acc_rev_flag VARCHAR2(1);
58323
58320 l_accrual_line_num NUMBER;
58321 l_tmp_amt NUMBER;
58322 l_acc_rev_natural_side_code VARCHAR2(1);
58324 l_num_entries NUMBER;
58325 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
58326 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
58327 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
58328 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
58329 l_recog_line_1 NUMBER;
58330 l_recog_line_2 NUMBER;
58331
58332 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
58333 l_bflow_applied_to_amt NUMBER; -- 5132302
58334 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
58335
58336 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
58337
58338 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
58339 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
58340
58341 ---------------------------------------------------------------------------------------------------------------
58342
58343
58344 --
58345 -- bulk performance
58346 --
58347 l_balance_type_code VARCHAR2(1);
58348 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
58349 l_log_module VARCHAR2(240);
58350
58351 --
58352 -- Upgrade strategy
58353 --
58354 l_actual_upg_option VARCHAR2(1);
58355 l_enc_upg_option VARCHAR2(1);
58356
58357 --
58358 BEGIN
58359 --
58360 IF g_log_enabled THEN
58361 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_117';
58362 END IF;
58363 --
58364 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
58365
58366 trace
58367 (p_msg => 'BEGIN of AcctLineType_117'
58368 ,p_level => C_LEVEL_PROCEDURE
58369 ,p_module => l_log_module);
58370
58371 END IF;
58372 --
58373 l_component_type := 'AMB_JLT';
58374 l_component_code := 'AP_FREIGHT_EXPENSE_DM';
58375 l_component_type_code := 'S';
58376 l_component_appl_id := 200;
58377 l_amb_context_code := 'DEFAULT';
58378 l_entity_code := 'AP_INVOICES';
58379 l_event_class_code := 'DEBIT MEMOS';
58380 l_event_type_code := 'DEBIT MEMOS_ALL';
58381 l_line_definition_owner_code := 'S';
58382 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
58383 --
58384 l_balance_type_code := 'A';
58385 l_segment := NULL;
58386 l_ccid := NULL;
58387 l_adr_transaction_coa_id := NULL;
58388 l_adr_accounting_coa_id := NULL;
58389 l_adr_flexfield_segment_code := NULL;
58390 l_adr_flex_value_set_id := NULL;
58391 l_adr_value_type_code := NULL;
58392 l_adr_value_combination_id := NULL;
58393 l_adr_value_segment_code := NULL;
58394
58395 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
58396 l_bflow_class_code := ''; -- 4219869 Business Flow
58397 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
58398 l_budgetary_control_flag := 'N';
58399
58400 l_bflow_applied_to_amt_idx := NULL; -- 5132302
58401 l_bflow_applied_to_amt := NULL; -- 5132302
58402 l_entered_amt_idx := NULL; -- 4262811
58403 l_accted_amt_idx := NULL; -- 4262811
58404 l_acc_rev_flag := NULL; -- 4262811
58405 l_accrual_line_num := NULL; -- 4262811
58406 l_tmp_amt := NULL; -- 4262811
58407 --
58408
58409 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
58410 l_balance_type_code <> 'B' THEN
58411 IF NVL(p_source_33,'
58412 ') = 'FREIGHT'
58413 THEN
58414
58415 --
58416 XLA_AE_LINES_PKG.SetNewLine;
58417
58418 p_balance_type_code := l_balance_type_code;
58419 -- set the flag so later we will know whether the gain loss line needs to be created
58420
58421 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
58422 p_actual_flag :='A';
58423 END IF;
58424
58425 --
58426 -- bulk performance
58427 --
58428 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
58429 p_header_num => 0); -- 4262811
58430 --
58431 -- set accounting line options
58432 --
58433 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
58434 p_natural_side_code => 'D'
58435 , p_gain_or_loss_flag => 'N'
58436 , p_gl_transfer_mode_code => 'S'
58437 , p_acct_entry_type_code => 'A'
58438 , p_switch_side_flag => 'Y'
58439 , p_merge_duplicate_code => 'A'
58440 );
58441 --
58442 l_acc_rev_natural_side_code := 'C'; -- 4262811
58443 --
58444 --
58445 -- set accounting line type info
58446 --
58447 xla_ae_lines_pkg.SetAcctLineType
58448 (p_component_type => l_component_type
58449 ,p_event_type_code => l_event_type_code
58450 ,p_line_definition_owner_code => l_line_definition_owner_code
58451 ,p_line_definition_code => l_line_definition_code
58452 ,p_accounting_line_code => l_component_code
58456 ,p_entity_code => l_entity_code
58453 ,p_accounting_line_type_code => l_component_type_code
58454 ,p_accounting_line_appl_id => l_component_appl_id
58455 ,p_amb_context_code => l_amb_context_code
58457 ,p_event_class_code => l_event_class_code);
58458 --
58459 -- set accounting class
58460 --
58461 xla_ae_lines_pkg.SetAcctClass(
58462 p_accounting_class_code => 'FREIGHT'
58463 , p_ae_header_id => l_ae_header_id
58464 );
58465
58466 --
58467 -- set rounding class
58468 --
58469 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
58470 'FREIGHT';
58471
58472 --
58473 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
58474 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
58475 --
58476 -- bulk performance
58477 --
58478 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
58479
58480 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
58481 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
58482
58483 -- 4955764
58484 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
58485 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
58486
58487 -- 4458381 Public Sector Enh
58488
58489 --
58490 -- set accounting attributes for the line type
58491 --
58492 l_entered_amt_idx := 23;
58493 l_accted_amt_idx := 28;
58494 l_bflow_applied_to_amt_idx := NULL; -- 5132302
58495 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
58496 l_rec_acct_attrs.array_char_value(1) := p_source_53;
58497 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
58498 l_rec_acct_attrs.array_num_value(2) :=
58499 xla_ae_sources_pkg.GetSystemSourceNum(
58500 p_source_code => 'XLA_EVENT_APPL_ID'
58501 , p_source_type_code => 'Y'
58502 , p_source_application_id => 602
58503 );
58504 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
58505 l_rec_acct_attrs.array_char_value(3) := p_source_55;
58506 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
58507 l_rec_acct_attrs.array_char_value(4) :=
58508 xla_ae_sources_pkg.GetSystemSourceChar(
58509 p_source_code => 'XLA_ENTITY_CODE'
58510 , p_source_type_code => 'Y'
58511 , p_source_application_id => 602
58512 );
58513 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
58514 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
58515 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
58516 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
58517 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
58518 l_rec_acct_attrs.array_num_value(7) := p_source_91;
58519 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
58520 l_rec_acct_attrs.array_char_value(8) := p_source_92;
58521 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
58522 l_rec_acct_attrs.array_char_value(9) := p_source_93;
58523 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
58524 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
58525 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
58526 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
58527 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
58528 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
58529 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
58530 l_rec_acct_attrs.array_char_value(13) := p_source_55;
58531 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
58532 l_rec_acct_attrs.array_num_value(14) := p_source_65;
58533 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
58534 l_rec_acct_attrs.array_num_value(15) := p_source_66;
58535 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
58536 l_rec_acct_attrs.array_char_value(16) := p_source_67;
58537 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
58538 l_rec_acct_attrs.array_num_value(17) := p_source_68;
58539 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
58540 l_rec_acct_attrs.array_num_value(18) := p_source_69;
58541 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
58542 l_rec_acct_attrs.array_num_value(19) := p_source_70;
58543 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
58544 l_rec_acct_attrs.array_char_value(20) := p_source_67;
58545 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
58546 l_rec_acct_attrs.array_num_value(21) := p_source_71;
58547 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
58548 l_rec_acct_attrs.array_char_value(22) := p_source_72;
58549 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
58550 l_rec_acct_attrs.array_num_value(23) := p_source_73;
58551 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
58552 l_rec_acct_attrs.array_char_value(24) := p_source_67;
58556 l_rec_acct_attrs.array_num_value(26) := p_source_144;
58553 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
58554 l_rec_acct_attrs.array_date_value(25) := p_source_143;
58555 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
58557 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
58558 l_rec_acct_attrs.array_char_value(27) := p_source_145;
58559 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
58560 l_rec_acct_attrs.array_num_value(28) := p_source_21;
58561 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
58562 l_rec_acct_attrs.array_date_value(29) := p_source_77;
58563 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
58564 l_rec_acct_attrs.array_char_value(30) := p_source_78;
58565 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
58566 l_rec_acct_attrs.array_date_value(31) := p_source_79;
58567 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
58568 l_rec_acct_attrs.array_char_value(32) := p_source_80;
58569 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
58570 l_rec_acct_attrs.array_num_value(33) := p_source_81;
58571 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
58572 l_rec_acct_attrs.array_num_value(34) := p_source_82;
58573 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
58574 l_rec_acct_attrs.array_char_value(35) := p_source_83;
58575 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
58576 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
58577 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
58578 l_rec_acct_attrs.array_char_value(37) := p_source_55;
58579 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
58580 l_rec_acct_attrs.array_num_value(38) := p_source_86;
58581 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
58582 l_rec_acct_attrs.array_num_value(39) := p_source_87;
58583 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
58584 l_rec_acct_attrs.array_num_value(40) := p_source_88;
58585 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
58586 l_rec_acct_attrs.array_num_value(41) := p_source_89;
58587 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
58588 l_rec_acct_attrs.array_num_value(42) := p_source_90;
58589
58590 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
58591 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
58592
58593 ---------------------------------------------------------------------------------------------------------------
58594 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
58595 ---------------------------------------------------------------------------------------------------------------
58596 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
58597
58598 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
58599 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
58600
58601 IF xla_accounting_cache_pkg.GetValueChar
58602 (p_source_code => 'LEDGER_CATEGORY_CODE'
58603 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
58604 AND l_bflow_method_code = 'PRIOR_ENTRY'
58605 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
58606 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
58607 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
58608 )
58609 THEN
58610 xla_ae_lines_pkg.BflowUpgEntry
58611 (p_business_method_code => l_bflow_method_code
58612 ,p_business_class_code => l_bflow_class_code
58613 ,p_balance_type => l_balance_type_code);
58614 ELSE
58615 NULL;
58616 -- No business flow processing for business flow method of NONE.
58617 END IF;
58618
58619 --
58620 -- call analytical criteria
58621 --
58622
58623 --
58624 -- call description
58625 --
58626
58627 xla_ae_lines_pkg.SetLineDescription(
58628 p_ae_header_id => l_ae_header_id
58629 ,p_description => Description_1 (
58630 p_application_id => p_application_id
58631 , p_ae_header_id => l_ae_header_id
58632 , p_source_1 => p_source_1
58633 )
58634 );
58635
58636
58637 --
58638 -- call ADRs
58639 -- Bug 4922099
58640 --
58641 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
58642 (NVL(l_actual_upg_option, 'N') = 'O') OR
58643 (NVL(l_enc_upg_option, 'N') = 'O')
58644 )
58645 THEN
58646 NULL;
58647 --
58648 --
58649
58650 l_ccid := AcctDerRule_33(
58651 p_application_id => p_application_id
58652 , p_ae_header_id => l_ae_header_id
58653 , p_source_30 => p_source_30
58654 , x_transaction_coa_id => l_adr_transaction_coa_id
58655 , x_accounting_coa_id => l_adr_accounting_coa_id
58656 , x_value_type_code => l_adr_value_type_code
58657 , p_side => 'NA'
58658 );
58659
58660 xla_ae_lines_pkg.set_ccid(
58661 p_code_combination_id => l_ccid
58662 , p_value_type_code => l_adr_value_type_code
58663 , p_transaction_coa_id => l_adr_transaction_coa_id
58667 , p_component_type => l_component_type
58664 , p_accounting_coa_id => l_adr_accounting_coa_id
58665 , p_adr_code => 'AP_INVOICE_DIST'
58666 , p_adr_type_code => 'S'
58668 , p_component_code => l_component_code
58669 , p_component_type_code => l_component_type_code
58670 , p_component_appl_id => l_component_appl_id
58671 , p_amb_context_code => l_amb_context_code
58672 , p_side => 'NA'
58673 );
58674
58675
58676 --
58677 --
58678 END IF;
58679 --
58680 -- Bug 4922099
58681 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
58682 (NVL(l_enc_upg_option, 'N') = 'O')
58683 ) AND
58684 (l_bflow_method_code = 'PRIOR_ENTRY')
58685 )
58686 THEN
58687 IF
58688 --
58689 1 = 2
58690 --
58691 THEN
58692 xla_accounting_err_pkg.build_message
58693 (p_appli_s_name => 'XLA'
58694 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
58695 ,p_token_1 => 'LINE_NUMBER'
58696 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
58697 ,p_token_2 => 'LINE_TYPE_NAME'
58698 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
58699 l_component_type
58700 ,l_component_code
58701 ,l_component_type_code
58702 ,l_component_appl_id
58703 ,l_amb_context_code
58704 ,l_entity_code
58705 ,l_event_class_code
58706 )
58707 ,p_token_3 => 'OWNER'
58708 ,p_value_3 => xla_lookups_pkg.get_meaning(
58709 p_lookup_type => 'XLA_OWNER_TYPE'
58710 ,p_lookup_code => l_component_type_code
58711 )
58712 ,p_token_4 => 'PRODUCT_NAME'
58713 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
58714 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
58715 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
58716 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
58717 ,p_ae_header_id => NULL
58718 );
58719
58720 IF (C_LEVEL_ERROR>= g_log_level) THEN
58721 trace
58722 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
58723 ,p_level => C_LEVEL_ERROR
58724 ,p_module => l_log_module);
58725 END IF;
58726 END IF;
58727 END IF;
58728 --
58729 --
58730 ------------------------------------------------------------------------------------------------
58731 -- 4219869 Business Flow
58732 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
58733 -- Prior Entry. Currently, the following code is always generated.
58734 ------------------------------------------------------------------------------------------------
58735 XLA_AE_LINES_PKG.ValidateCurrentLine;
58736
58737 ------------------------------------------------------------------------------------
58738 -- 4219869 Business Flow
58739 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
58740 ------------------------------------------------------------------------------------
58741 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
58742
58743 ----------------------------------------------------------------------------------
58744 -- 4219869 Business Flow
58745 -- Update journal entry status -- Need to generate this within IF <condition>
58746 ----------------------------------------------------------------------------------
58747 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
58748 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
58749 ,p_balance_type_code => l_balance_type_code
58750 );
58751
58752 -------------------------------------------------------------------------------------------
58753 -- 4262811 - Generate the Accrual Reversal lines
58754 -------------------------------------------------------------------------------------------
58755 BEGIN
58756 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
58757 (g_array_event(p_event_id).array_value_num('header_index'));
58761 EXCEPTION
58758 IF l_acc_rev_flag IS NULL THEN
58759 l_acc_rev_flag := 'N';
58760 END IF;
58762 WHEN OTHERS THEN
58763 l_acc_rev_flag := 'N';
58764 END;
58765 --
58766 IF (l_acc_rev_flag = 'Y') THEN
58767
58768 -- 4645092 ------------------------------------------------------------------------------
58769 -- To allow MPA report to determine if it should generate report process
58770 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
58771 ------------------------------------------------------------------------------------------
58772
58773 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
58774 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
58775 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
58776 -- call ADRs
58777 -- Bug 4922099
58778 --
58779 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
58780 (NVL(l_actual_upg_option, 'N') = 'O') OR
58781 (NVL(l_enc_upg_option, 'N') = 'O')
58782 )
58783 THEN
58784 NULL;
58785 --
58786 --
58787
58788 l_ccid := AcctDerRule_33(
58789 p_application_id => p_application_id
58790 , p_ae_header_id => l_ae_header_id
58791 , p_source_30 => p_source_30
58792 , x_transaction_coa_id => l_adr_transaction_coa_id
58793 , x_accounting_coa_id => l_adr_accounting_coa_id
58794 , x_value_type_code => l_adr_value_type_code
58795 , p_side => 'NA'
58796 );
58797
58798 xla_ae_lines_pkg.set_ccid(
58799 p_code_combination_id => l_ccid
58800 , p_value_type_code => l_adr_value_type_code
58801 , p_transaction_coa_id => l_adr_transaction_coa_id
58802 , p_accounting_coa_id => l_adr_accounting_coa_id
58803 , p_adr_code => 'AP_INVOICE_DIST'
58804 , p_adr_type_code => 'S'
58805 , p_component_type => l_component_type
58806 , p_component_code => l_component_code
58807 , p_component_type_code => l_component_type_code
58808 , p_component_appl_id => l_component_appl_id
58809 , p_amb_context_code => l_amb_context_code
58810 , p_side => 'NA'
58811 );
58812
58813
58814 --
58815 --
58816 END IF;
58817
58818 --
58819 -- Update the line information that should be overwritten
58820 --
58821 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
58822 p_header_num => 1);
58823 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
58824
58825 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
58826
58827 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
58828 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
58829 END IF;
58830
58831 --
58832 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
58833 --
58834 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
58835 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
58836 ELSE
58837 ---------------------------------------------------------------------------------------------------
58838 -- 4262811a Switch Sign
58839 ---------------------------------------------------------------------------------------------------
58840 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
58841 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
58842 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
58843 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
58844 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
58845 -- 5132302
58846 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
58847 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
58848
58849 END IF;
58850
58851 -- 4955764
58852 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
58853 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
58854
58855
58856 XLA_AE_LINES_PKG.ValidateCurrentLine;
58857 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
58858
58859 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
58860 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
58861 ,p_balance_type_code => l_balance_type_code);
58862
58863 END IF;
58864
58865 -----------------------------------------------------------------------------------------
58866 -- 4262811 Multiperiod Accounting
58867 -----------------------------------------------------------------------------------------
58868 -- No MPA option is assigned.
58869
58870
58871 END IF;
58875 --
58872 END IF;
58873 --
58874
58876 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
58877 trace
58878 (p_msg => 'END of AcctLineType_117'
58879 ,p_level => C_LEVEL_PROCEDURE
58880 ,p_module => l_log_module);
58881 END IF;
58882 --
58883 EXCEPTION
58884 WHEN xla_exceptions_pkg.application_exception THEN
58885 RAISE;
58886 WHEN OTHERS THEN
58887 xla_exceptions_pkg.raise_message
58888 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_117');
58889 END AcctLineType_117;
58890 --
58891
58892 ---------------------------------------
58893 --
58894 -- PRIVATE FUNCTION
58895 -- AcctLineType_118
58896 --
58897 ---------------------------------------
58898 PROCEDURE AcctLineType_118 (
58899 p_application_id IN NUMBER
58900 ,p_event_id IN NUMBER
58901 ,p_calculate_acctd_flag IN VARCHAR2
58902 ,p_calculate_g_l_flag IN VARCHAR2
58903 ,p_actual_flag IN OUT VARCHAR2
58904 ,p_balance_type_code OUT VARCHAR2
58905 ,p_gain_or_loss_ref OUT VARCHAR2
58906
58907 --Invoice Distribution Description
58908 , p_source_1 IN VARCHAR2
58909 --Invoice Distribution Ledger Amount
58910 , p_source_21 IN NUMBER
58911 --Invoice Distribution Account
58912 , p_source_30 IN NUMBER
58913 --Invoice Distribution Type
58914 , p_source_33 IN VARCHAR2
58915 , p_source_33_meaning IN VARCHAR2
58916 --Accounting Reversal Indicator
58917 , p_source_53 IN VARCHAR2
58918 --Distribution Link Type
58919 , p_source_55 IN VARCHAR2
58920 --Allocation to Main Distribution Identifier
58921 , p_source_57 IN NUMBER
58922 --Invoice Identifier
58923 , p_source_58 IN NUMBER
58924 --Invoice Distribution Identifier
58925 , p_source_64 IN NUMBER
58926 --Payables Encumbrance Upgrade Credit Account
58927 , p_source_65 IN NUMBER
58928 --Payables Encumbrance Upgrade Credit Amount
58929 , p_source_66 IN NUMBER
58930 --Invoice Currency Code
58931 , p_source_67 IN VARCHAR2
58932 --Payables Encumbrance Upgrade Credit Base Amount
58933 , p_source_68 IN NUMBER
58934 --Payables Encumbrance Upgrade Debit Account
58935 , p_source_69 IN NUMBER
58936 --Payables Encumbrance Upgrade Debit Amount
58937 , p_source_70 IN NUMBER
58938 --Payables Encumbrance Upgrade Debit Base Amount
58939 , p_source_71 IN NUMBER
58940 --Payables Encumbrance Upgrade Option
58941 , p_source_72 IN VARCHAR2
58942 --Invoice Distribution Amount
58943 , p_source_73 IN NUMBER
58944 --Deferred Accounting End Date
58945 , p_source_77 IN DATE
58946 --Deferred Accounting Option
58947 , p_source_78 IN VARCHAR2
58948 --Deferred Accounting Start Date
58949 , p_source_79 IN DATE
58950 --Override Accounted Amount Indicator
58951 , p_source_80 IN VARCHAR2
58952 , p_source_80_meaning IN VARCHAR2
58953 --Invoice Supplier Identifier
58954 , p_source_81 IN NUMBER
58955 --Invoice Supplier Site Identifier
58956 , p_source_82 IN NUMBER
58957 --Third Party Type
58958 , p_source_83 IN VARCHAR2
58959 --Parent Reversal Identifier
58960 , p_source_84 IN NUMBER
58961 --Invoice Distribution Statistical Amount
58962 , p_source_85 IN NUMBER
58963 --Invoice Distribution Tax Line Identifier
58964 , p_source_86 IN NUMBER
58965 --Invoice Distribution Tax Distribution Identifier from Tax
58966 , p_source_87 IN NUMBER
58967 --Invoice Distribution Summary Tax Line Identifier
58968 , p_source_88 IN NUMBER
58969 --Payables Upgrade Credit Encumbrance Type Identifier
58970 , p_source_89 IN NUMBER
58971 --Payables Upgrade Debit Encumbrance Type Identifier
58972 , p_source_90 IN NUMBER
58973 --Business Flow Accounts Payable Application Identifier
58974 , p_source_91 IN NUMBER
58975 --Business Flow Invoice Distribution Type
58976 , p_source_92 IN VARCHAR2
58977 --Business Flow Invoice Entity Code
58978 , p_source_93 IN VARCHAR2
58979 --Business Flow Invoice Distribution Identifier
58980 , p_source_94 IN NUMBER
58981 --Business Flow Invoice Identifier
58982 , p_source_95 IN NUMBER
58983 --Invoice Exchange Date
58984 , p_source_143 IN DATE
58985 --Invoice Exchange Rate
58986 , p_source_144 IN NUMBER
58987 --Invoice Exchange Rate Type
58988 , p_source_145 IN VARCHAR2
58989 )
58990 IS
58991
58992 l_component_type VARCHAR2(80);
58993 l_component_code VARCHAR2(30);
58994 l_component_type_code VARCHAR2(1);
58995 l_component_appl_id INTEGER;
58996 l_amb_context_code VARCHAR2(30);
58997 l_entity_code VARCHAR2(30);
58998 l_event_class_code VARCHAR2(30);
58999 l_ae_header_id NUMBER;
59000 l_event_type_code VARCHAR2(30);
59001 l_line_definition_code VARCHAR2(30);
59002 l_line_definition_owner_code VARCHAR2(1);
59003 --
59004 -- adr variables
59005 l_segment VARCHAR2(30);
59006 l_ccid NUMBER;
59007 l_adr_transaction_coa_id NUMBER;
59008 l_adr_accounting_coa_id NUMBER;
59012 l_adr_value_combination_id NUMBER;
59009 l_adr_flexfield_segment_code VARCHAR2(30);
59010 l_adr_flex_value_set_id NUMBER;
59011 l_adr_value_type_code VARCHAR2(30);
59013 l_adr_value_segment_code VARCHAR2(30);
59014
59015 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
59016 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
59017 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
59018 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
59019
59020 -- 4262811 Variables ------------------------------------------------------------------------------------------
59021 l_entered_amt_idx NUMBER;
59022 l_accted_amt_idx NUMBER;
59023 l_acc_rev_flag VARCHAR2(1);
59024 l_accrual_line_num NUMBER;
59025 l_tmp_amt NUMBER;
59026 l_acc_rev_natural_side_code VARCHAR2(1);
59027
59028 l_num_entries NUMBER;
59029 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
59030 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
59031 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
59032 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
59033 l_recog_line_1 NUMBER;
59034 l_recog_line_2 NUMBER;
59035
59036 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
59037 l_bflow_applied_to_amt NUMBER; -- 5132302
59038 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
59039
59040 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
59041
59042 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
59043 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
59044
59045 ---------------------------------------------------------------------------------------------------------------
59046
59047
59048 --
59049 -- bulk performance
59050 --
59051 l_balance_type_code VARCHAR2(1);
59052 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
59053 l_log_module VARCHAR2(240);
59054
59055 --
59056 -- Upgrade strategy
59057 --
59058 l_actual_upg_option VARCHAR2(1);
59059 l_enc_upg_option VARCHAR2(1);
59060
59061 --
59062 BEGIN
59063 --
59064 IF g_log_enabled THEN
59065 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_118';
59066 END IF;
59067 --
59068 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
59069
59070 trace
59071 (p_msg => 'BEGIN of AcctLineType_118'
59072 ,p_level => C_LEVEL_PROCEDURE
59073 ,p_module => l_log_module);
59074
59075 END IF;
59076 --
59077 l_component_type := 'AMB_JLT';
59078 l_component_code := 'AP_FREIGHT_EXPENSE_INV';
59079 l_component_type_code := 'S';
59080 l_component_appl_id := 200;
59081 l_amb_context_code := 'DEFAULT';
59082 l_entity_code := 'AP_INVOICES';
59083 l_event_class_code := 'INVOICES';
59084 l_event_type_code := 'INVOICES_ALL';
59085 l_line_definition_owner_code := 'S';
59086 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
59087 --
59088 l_balance_type_code := 'A';
59089 l_segment := NULL;
59090 l_ccid := NULL;
59091 l_adr_transaction_coa_id := NULL;
59092 l_adr_accounting_coa_id := NULL;
59093 l_adr_flexfield_segment_code := NULL;
59094 l_adr_flex_value_set_id := NULL;
59095 l_adr_value_type_code := NULL;
59096 l_adr_value_combination_id := NULL;
59097 l_adr_value_segment_code := NULL;
59098
59099 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
59100 l_bflow_class_code := ''; -- 4219869 Business Flow
59101 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
59102 l_budgetary_control_flag := 'N';
59103
59104 l_bflow_applied_to_amt_idx := NULL; -- 5132302
59105 l_bflow_applied_to_amt := NULL; -- 5132302
59106 l_entered_amt_idx := NULL; -- 4262811
59107 l_accted_amt_idx := NULL; -- 4262811
59108 l_acc_rev_flag := NULL; -- 4262811
59109 l_accrual_line_num := NULL; -- 4262811
59110 l_tmp_amt := NULL; -- 4262811
59111 --
59112
59113 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
59114 l_balance_type_code <> 'B' THEN
59115 IF NVL(p_source_33,'
59116 ') = 'FREIGHT'
59117 THEN
59118
59119 --
59120 XLA_AE_LINES_PKG.SetNewLine;
59121
59122 p_balance_type_code := l_balance_type_code;
59123 -- set the flag so later we will know whether the gain loss line needs to be created
59124
59125 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
59126 p_actual_flag :='A';
59127 END IF;
59128
59129 --
59130 -- bulk performance
59131 --
59132 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
59133 p_header_num => 0); -- 4262811
59134 --
59135 -- set accounting line options
59136 --
59137 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
59138 p_natural_side_code => 'D'
59139 , p_gain_or_loss_flag => 'N'
59143 , p_merge_duplicate_code => 'A'
59140 , p_gl_transfer_mode_code => 'S'
59141 , p_acct_entry_type_code => 'A'
59142 , p_switch_side_flag => 'Y'
59144 );
59145 --
59146 l_acc_rev_natural_side_code := 'C'; -- 4262811
59147 --
59148 --
59149 -- set accounting line type info
59150 --
59151 xla_ae_lines_pkg.SetAcctLineType
59152 (p_component_type => l_component_type
59153 ,p_event_type_code => l_event_type_code
59154 ,p_line_definition_owner_code => l_line_definition_owner_code
59155 ,p_line_definition_code => l_line_definition_code
59156 ,p_accounting_line_code => l_component_code
59157 ,p_accounting_line_type_code => l_component_type_code
59158 ,p_accounting_line_appl_id => l_component_appl_id
59159 ,p_amb_context_code => l_amb_context_code
59160 ,p_entity_code => l_entity_code
59161 ,p_event_class_code => l_event_class_code);
59162 --
59163 -- set accounting class
59164 --
59165 xla_ae_lines_pkg.SetAcctClass(
59166 p_accounting_class_code => 'FREIGHT'
59167 , p_ae_header_id => l_ae_header_id
59168 );
59169
59170 --
59171 -- set rounding class
59172 --
59173 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
59174 'FREIGHT';
59175
59176 --
59177 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
59178 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
59179 --
59180 -- bulk performance
59181 --
59182 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
59183
59184 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
59185 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
59186
59187 -- 4955764
59188 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
59189 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
59190
59191 -- 4458381 Public Sector Enh
59192
59193 --
59194 -- set accounting attributes for the line type
59195 --
59196 l_entered_amt_idx := 24;
59197 l_accted_amt_idx := 29;
59198 l_bflow_applied_to_amt_idx := 7; -- 5132302
59199 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
59200 l_rec_acct_attrs.array_char_value(1) := p_source_53;
59201 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
59202 l_rec_acct_attrs.array_num_value(2) :=
59203 xla_ae_sources_pkg.GetSystemSourceNum(
59204 p_source_code => 'XLA_EVENT_APPL_ID'
59205 , p_source_type_code => 'Y'
59206 , p_source_application_id => 602
59207 );
59208 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
59209 l_rec_acct_attrs.array_char_value(3) := p_source_55;
59210 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
59211 l_rec_acct_attrs.array_char_value(4) :=
59212 xla_ae_sources_pkg.GetSystemSourceChar(
59213 p_source_code => 'XLA_ENTITY_CODE'
59214 , p_source_type_code => 'Y'
59215 , p_source_application_id => 602
59216 );
59217 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
59218 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
59219 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
59220 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
59221 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
59222 l_rec_acct_attrs.array_num_value(7) := p_source_73;
59223 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
59224 l_rec_acct_attrs.array_num_value(8) := p_source_91;
59225 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
59226 l_rec_acct_attrs.array_char_value(9) := p_source_92;
59227 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
59228 l_rec_acct_attrs.array_char_value(10) := p_source_93;
59229 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
59230 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
59231 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
59232 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_95);
59233 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
59234 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_64);
59235 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
59236 l_rec_acct_attrs.array_char_value(14) := p_source_55;
59237 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
59238 l_rec_acct_attrs.array_num_value(15) := p_source_65;
59239 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
59240 l_rec_acct_attrs.array_num_value(16) := p_source_66;
59241 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
59242 l_rec_acct_attrs.array_char_value(17) := p_source_67;
59243 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
59244 l_rec_acct_attrs.array_num_value(18) := p_source_68;
59245 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
59246 l_rec_acct_attrs.array_num_value(19) := p_source_69;
59250 l_rec_acct_attrs.array_char_value(21) := p_source_67;
59247 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
59248 l_rec_acct_attrs.array_num_value(20) := p_source_70;
59249 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
59251 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
59252 l_rec_acct_attrs.array_num_value(22) := p_source_71;
59253 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
59254 l_rec_acct_attrs.array_char_value(23) := p_source_72;
59255 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
59256 l_rec_acct_attrs.array_num_value(24) := p_source_73;
59257 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
59258 l_rec_acct_attrs.array_char_value(25) := p_source_67;
59259 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
59260 l_rec_acct_attrs.array_date_value(26) := p_source_143;
59261 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
59262 l_rec_acct_attrs.array_num_value(27) := p_source_144;
59263 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
59264 l_rec_acct_attrs.array_char_value(28) := p_source_145;
59265 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
59266 l_rec_acct_attrs.array_num_value(29) := p_source_21;
59267 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
59268 l_rec_acct_attrs.array_date_value(30) := p_source_77;
59269 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
59270 l_rec_acct_attrs.array_char_value(31) := p_source_78;
59271 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
59272 l_rec_acct_attrs.array_date_value(32) := p_source_79;
59273 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
59274 l_rec_acct_attrs.array_char_value(33) := p_source_80;
59275 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
59276 l_rec_acct_attrs.array_num_value(34) := p_source_81;
59277 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
59278 l_rec_acct_attrs.array_num_value(35) := p_source_82;
59279 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
59280 l_rec_acct_attrs.array_char_value(36) := p_source_83;
59281 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
59282 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_84);
59283 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
59284 l_rec_acct_attrs.array_char_value(38) := p_source_55;
59285 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
59286 l_rec_acct_attrs.array_num_value(39) := p_source_85;
59287 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
59288 l_rec_acct_attrs.array_num_value(40) := p_source_86;
59289 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
59290 l_rec_acct_attrs.array_num_value(41) := p_source_87;
59291 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
59292 l_rec_acct_attrs.array_num_value(42) := p_source_88;
59293 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
59294 l_rec_acct_attrs.array_num_value(43) := p_source_89;
59295 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
59296 l_rec_acct_attrs.array_num_value(44) := p_source_90;
59297
59298 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
59299 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
59300
59301 ---------------------------------------------------------------------------------------------------------------
59302 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
59303 ---------------------------------------------------------------------------------------------------------------
59304 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
59305
59306 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
59307 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
59308
59309 IF xla_accounting_cache_pkg.GetValueChar
59310 (p_source_code => 'LEDGER_CATEGORY_CODE'
59311 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
59312 AND l_bflow_method_code = 'PRIOR_ENTRY'
59313 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
59314 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
59315 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
59316 )
59317 THEN
59318 xla_ae_lines_pkg.BflowUpgEntry
59319 (p_business_method_code => l_bflow_method_code
59320 ,p_business_class_code => l_bflow_class_code
59321 ,p_balance_type => l_balance_type_code);
59322 ELSE
59323 NULL;
59324 -- No business flow processing for business flow method of NONE.
59325 END IF;
59326
59327 --
59328 -- call analytical criteria
59329 --
59330
59331 --
59332 -- call description
59333 --
59334
59335 xla_ae_lines_pkg.SetLineDescription(
59336 p_ae_header_id => l_ae_header_id
59337 ,p_description => Description_1 (
59338 p_application_id => p_application_id
59339 , p_ae_header_id => l_ae_header_id
59340 , p_source_1 => p_source_1
59341 )
59342 );
59343
59344
59345 --
59346 -- call ADRs
59347 -- Bug 4922099
59348 --
59349 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
59353 THEN
59350 (NVL(l_actual_upg_option, 'N') = 'O') OR
59351 (NVL(l_enc_upg_option, 'N') = 'O')
59352 )
59354 NULL;
59355 --
59356 --
59357
59358 l_ccid := AcctDerRule_33(
59359 p_application_id => p_application_id
59360 , p_ae_header_id => l_ae_header_id
59361 , p_source_30 => p_source_30
59362 , x_transaction_coa_id => l_adr_transaction_coa_id
59363 , x_accounting_coa_id => l_adr_accounting_coa_id
59364 , x_value_type_code => l_adr_value_type_code
59365 , p_side => 'NA'
59366 );
59367
59368 xla_ae_lines_pkg.set_ccid(
59369 p_code_combination_id => l_ccid
59370 , p_value_type_code => l_adr_value_type_code
59371 , p_transaction_coa_id => l_adr_transaction_coa_id
59372 , p_accounting_coa_id => l_adr_accounting_coa_id
59373 , p_adr_code => 'AP_INVOICE_DIST'
59374 , p_adr_type_code => 'S'
59375 , p_component_type => l_component_type
59376 , p_component_code => l_component_code
59377 , p_component_type_code => l_component_type_code
59378 , p_component_appl_id => l_component_appl_id
59379 , p_amb_context_code => l_amb_context_code
59380 , p_side => 'NA'
59381 );
59382
59383
59384 --
59385 --
59386 END IF;
59387 --
59388 -- Bug 4922099
59389 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
59390 (NVL(l_enc_upg_option, 'N') = 'O')
59391 ) AND
59392 (l_bflow_method_code = 'PRIOR_ENTRY')
59393 )
59394 THEN
59395 IF
59396 --
59397 1 = 2
59398 --
59399 THEN
59400 xla_accounting_err_pkg.build_message
59401 (p_appli_s_name => 'XLA'
59402 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
59403 ,p_token_1 => 'LINE_NUMBER'
59404 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
59405 ,p_token_2 => 'LINE_TYPE_NAME'
59406 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
59407 l_component_type
59408 ,l_component_code
59409 ,l_component_type_code
59410 ,l_component_appl_id
59411 ,l_amb_context_code
59412 ,l_entity_code
59413 ,l_event_class_code
59414 )
59415 ,p_token_3 => 'OWNER'
59416 ,p_value_3 => xla_lookups_pkg.get_meaning(
59417 p_lookup_type => 'XLA_OWNER_TYPE'
59418 ,p_lookup_code => l_component_type_code
59419 )
59420 ,p_token_4 => 'PRODUCT_NAME'
59421 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
59422 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
59423 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
59424 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
59425 ,p_ae_header_id => NULL
59426 );
59427
59428 IF (C_LEVEL_ERROR>= g_log_level) THEN
59429 trace
59430 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
59431 ,p_level => C_LEVEL_ERROR
59432 ,p_module => l_log_module);
59433 END IF;
59434 END IF;
59435 END IF;
59436 --
59437 --
59438 ------------------------------------------------------------------------------------------------
59439 -- 4219869 Business Flow
59440 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
59441 -- Prior Entry. Currently, the following code is always generated.
59442 ------------------------------------------------------------------------------------------------
59443 XLA_AE_LINES_PKG.ValidateCurrentLine;
59444
59445 ------------------------------------------------------------------------------------
59446 -- 4219869 Business Flow
59447 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
59448 ------------------------------------------------------------------------------------
59449 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
59450
59454 ----------------------------------------------------------------------------------
59451 ----------------------------------------------------------------------------------
59452 -- 4219869 Business Flow
59453 -- Update journal entry status -- Need to generate this within IF <condition>
59455 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
59456 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
59457 ,p_balance_type_code => l_balance_type_code
59458 );
59459
59460 -------------------------------------------------------------------------------------------
59461 -- 4262811 - Generate the Accrual Reversal lines
59462 -------------------------------------------------------------------------------------------
59463 BEGIN
59464 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
59465 (g_array_event(p_event_id).array_value_num('header_index'));
59466 IF l_acc_rev_flag IS NULL THEN
59467 l_acc_rev_flag := 'N';
59468 END IF;
59469 EXCEPTION
59470 WHEN OTHERS THEN
59471 l_acc_rev_flag := 'N';
59472 END;
59473 --
59474 IF (l_acc_rev_flag = 'Y') THEN
59475
59476 -- 4645092 ------------------------------------------------------------------------------
59477 -- To allow MPA report to determine if it should generate report process
59478 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
59479 ------------------------------------------------------------------------------------------
59480
59481 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
59482 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
59483 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
59484 -- call ADRs
59485 -- Bug 4922099
59486 --
59487 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
59488 (NVL(l_actual_upg_option, 'N') = 'O') OR
59489 (NVL(l_enc_upg_option, 'N') = 'O')
59490 )
59491 THEN
59492 NULL;
59493 --
59494 --
59495
59496 l_ccid := AcctDerRule_33(
59497 p_application_id => p_application_id
59498 , p_ae_header_id => l_ae_header_id
59499 , p_source_30 => p_source_30
59500 , x_transaction_coa_id => l_adr_transaction_coa_id
59501 , x_accounting_coa_id => l_adr_accounting_coa_id
59502 , x_value_type_code => l_adr_value_type_code
59503 , p_side => 'NA'
59504 );
59505
59506 xla_ae_lines_pkg.set_ccid(
59507 p_code_combination_id => l_ccid
59508 , p_value_type_code => l_adr_value_type_code
59509 , p_transaction_coa_id => l_adr_transaction_coa_id
59510 , p_accounting_coa_id => l_adr_accounting_coa_id
59511 , p_adr_code => 'AP_INVOICE_DIST'
59512 , p_adr_type_code => 'S'
59513 , p_component_type => l_component_type
59514 , p_component_code => l_component_code
59515 , p_component_type_code => l_component_type_code
59516 , p_component_appl_id => l_component_appl_id
59517 , p_amb_context_code => l_amb_context_code
59518 , p_side => 'NA'
59519 );
59520
59521
59522 --
59523 --
59524 END IF;
59525
59526 --
59527 -- Update the line information that should be overwritten
59528 --
59529 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
59530 p_header_num => 1);
59531 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
59532
59533 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
59534
59535 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
59536 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
59537 END IF;
59538
59539 --
59540 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
59541 --
59542 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
59543 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
59544 ELSE
59545 ---------------------------------------------------------------------------------------------------
59546 -- 4262811a Switch Sign
59547 ---------------------------------------------------------------------------------------------------
59548 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
59549 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
59550 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
59551 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
59552 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
59553 -- 5132302
59554 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
59555 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
59556
59560 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
59557 END IF;
59558
59559 -- 4955764
59561 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
59562
59563
59564 XLA_AE_LINES_PKG.ValidateCurrentLine;
59565 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
59566
59567 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
59568 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
59569 ,p_balance_type_code => l_balance_type_code);
59570
59571 END IF;
59572
59573 -----------------------------------------------------------------------------------------
59574 -- 4262811 Multiperiod Accounting
59575 -----------------------------------------------------------------------------------------
59576 -- No MPA option is assigned.
59577
59578
59579 END IF;
59580 END IF;
59581 --
59582
59583 --
59584 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
59585 trace
59586 (p_msg => 'END of AcctLineType_118'
59587 ,p_level => C_LEVEL_PROCEDURE
59588 ,p_module => l_log_module);
59589 END IF;
59590 --
59591 EXCEPTION
59592 WHEN xla_exceptions_pkg.application_exception THEN
59593 RAISE;
59594 WHEN OTHERS THEN
59595 xla_exceptions_pkg.raise_message
59596 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_118');
59597 END AcctLineType_118;
59598 --
59599
59600 ---------------------------------------
59601 --
59602 -- PRIVATE FUNCTION
59603 -- AcctLineType_119
59604 --
59605 ---------------------------------------
59606 PROCEDURE AcctLineType_119 (
59607 p_application_id IN NUMBER
59608 ,p_event_id IN NUMBER
59609 ,p_calculate_acctd_flag IN VARCHAR2
59610 ,p_calculate_g_l_flag IN VARCHAR2
59611 ,p_actual_flag IN OUT VARCHAR2
59612 ,p_balance_type_code OUT VARCHAR2
59613 ,p_gain_or_loss_ref OUT VARCHAR2
59614
59615 --Invoice Distribution Description
59616 , p_source_1 IN VARCHAR2
59617 --Invoice Distribution Ledger Amount
59618 , p_source_21 IN NUMBER
59619 --Invoice Distribution Account
59620 , p_source_30 IN NUMBER
59621 --Invoice Distribution Type
59622 , p_source_33 IN VARCHAR2
59623 , p_source_33_meaning IN VARCHAR2
59624 --Accounting Reversal Indicator
59625 , p_source_53 IN VARCHAR2
59626 --Distribution Link Type
59627 , p_source_55 IN VARCHAR2
59628 --Allocation to Main Distribution Identifier
59629 , p_source_57 IN NUMBER
59630 --Invoice Identifier
59631 , p_source_58 IN NUMBER
59632 --Invoice Distribution Identifier
59633 , p_source_64 IN NUMBER
59634 --Payables Encumbrance Upgrade Credit Account
59635 , p_source_65 IN NUMBER
59636 --Payables Encumbrance Upgrade Credit Amount
59637 , p_source_66 IN NUMBER
59638 --Invoice Currency Code
59639 , p_source_67 IN VARCHAR2
59640 --Payables Encumbrance Upgrade Credit Base Amount
59641 , p_source_68 IN NUMBER
59642 --Payables Encumbrance Upgrade Debit Account
59643 , p_source_69 IN NUMBER
59644 --Payables Encumbrance Upgrade Debit Amount
59645 , p_source_70 IN NUMBER
59646 --Payables Encumbrance Upgrade Debit Base Amount
59647 , p_source_71 IN NUMBER
59648 --Payables Encumbrance Upgrade Option
59649 , p_source_72 IN VARCHAR2
59650 --Invoice Distribution Amount
59651 , p_source_73 IN NUMBER
59652 --Deferred Accounting End Date
59653 , p_source_77 IN DATE
59654 --Deferred Accounting Option
59655 , p_source_78 IN VARCHAR2
59656 --Deferred Accounting Start Date
59657 , p_source_79 IN DATE
59658 --Override Accounted Amount Indicator
59659 , p_source_80 IN VARCHAR2
59660 , p_source_80_meaning IN VARCHAR2
59661 --Invoice Supplier Identifier
59662 , p_source_81 IN NUMBER
59663 --Invoice Supplier Site Identifier
59664 , p_source_82 IN NUMBER
59665 --Third Party Type
59666 , p_source_83 IN VARCHAR2
59667 --Parent Reversal Identifier
59668 , p_source_84 IN NUMBER
59669 --Invoice Distribution Statistical Amount
59670 , p_source_85 IN NUMBER
59671 --Invoice Distribution Tax Line Identifier
59672 , p_source_86 IN NUMBER
59673 --Invoice Distribution Tax Distribution Identifier from Tax
59674 , p_source_87 IN NUMBER
59675 --Invoice Distribution Summary Tax Line Identifier
59676 , p_source_88 IN NUMBER
59677 --Payables Upgrade Credit Encumbrance Type Identifier
59678 , p_source_89 IN NUMBER
59679 --Payables Upgrade Debit Encumbrance Type Identifier
59680 , p_source_90 IN NUMBER
59681 --Business Flow Accounts Payable Application Identifier
59682 , p_source_91 IN NUMBER
59683 --Business Flow Invoice Distribution Type
59684 , p_source_92 IN VARCHAR2
59685 --Business Flow Invoice Entity Code
59686 , p_source_93 IN VARCHAR2
59687 --Business Flow Invoice Distribution Identifier
59688 , p_source_94 IN NUMBER
59689 --Business Flow Invoice Identifier
59690 , p_source_95 IN NUMBER
59691 --Invoice Exchange Date
59692 , p_source_143 IN DATE
59696 , p_source_145 IN VARCHAR2
59693 --Invoice Exchange Rate
59694 , p_source_144 IN NUMBER
59695 --Invoice Exchange Rate Type
59697 )
59698 IS
59699
59700 l_component_type VARCHAR2(80);
59701 l_component_code VARCHAR2(30);
59702 l_component_type_code VARCHAR2(1);
59703 l_component_appl_id INTEGER;
59704 l_amb_context_code VARCHAR2(30);
59705 l_entity_code VARCHAR2(30);
59706 l_event_class_code VARCHAR2(30);
59707 l_ae_header_id NUMBER;
59708 l_event_type_code VARCHAR2(30);
59709 l_line_definition_code VARCHAR2(30);
59710 l_line_definition_owner_code VARCHAR2(1);
59711 --
59712 -- adr variables
59713 l_segment VARCHAR2(30);
59714 l_ccid NUMBER;
59715 l_adr_transaction_coa_id NUMBER;
59716 l_adr_accounting_coa_id NUMBER;
59717 l_adr_flexfield_segment_code VARCHAR2(30);
59718 l_adr_flex_value_set_id NUMBER;
59719 l_adr_value_type_code VARCHAR2(30);
59720 l_adr_value_combination_id NUMBER;
59721 l_adr_value_segment_code VARCHAR2(30);
59722
59723 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
59724 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
59725 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
59726 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
59727
59728 -- 4262811 Variables ------------------------------------------------------------------------------------------
59729 l_entered_amt_idx NUMBER;
59730 l_accted_amt_idx NUMBER;
59731 l_acc_rev_flag VARCHAR2(1);
59732 l_accrual_line_num NUMBER;
59733 l_tmp_amt NUMBER;
59734 l_acc_rev_natural_side_code VARCHAR2(1);
59735
59736 l_num_entries NUMBER;
59737 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
59738 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
59739 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
59740 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
59741 l_recog_line_1 NUMBER;
59742 l_recog_line_2 NUMBER;
59743
59744 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
59745 l_bflow_applied_to_amt NUMBER; -- 5132302
59746 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
59747
59748 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
59749
59750 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
59751 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
59752
59753 ---------------------------------------------------------------------------------------------------------------
59754
59755
59756 --
59757 -- bulk performance
59758 --
59759 l_balance_type_code VARCHAR2(1);
59760 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
59761 l_log_module VARCHAR2(240);
59762
59763 --
59764 -- Upgrade strategy
59765 --
59766 l_actual_upg_option VARCHAR2(1);
59767 l_enc_upg_option VARCHAR2(1);
59768
59769 --
59770 BEGIN
59771 --
59772 IF g_log_enabled THEN
59773 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_119';
59774 END IF;
59775 --
59776 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
59777
59778 trace
59779 (p_msg => 'BEGIN of AcctLineType_119'
59780 ,p_level => C_LEVEL_PROCEDURE
59781 ,p_module => l_log_module);
59782
59783 END IF;
59784 --
59785 l_component_type := 'AMB_JLT';
59786 l_component_code := 'AP_FREIGHT_EXPENSE_PREPAY';
59787 l_component_type_code := 'S';
59788 l_component_appl_id := 200;
59789 l_amb_context_code := 'DEFAULT';
59790 l_entity_code := 'AP_INVOICES';
59791 l_event_class_code := 'PREPAYMENTS';
59792 l_event_type_code := 'PREPAYMENTS_ALL';
59793 l_line_definition_owner_code := 'S';
59794 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
59795 --
59796 l_balance_type_code := 'A';
59797 l_segment := NULL;
59798 l_ccid := NULL;
59799 l_adr_transaction_coa_id := NULL;
59800 l_adr_accounting_coa_id := NULL;
59801 l_adr_flexfield_segment_code := NULL;
59802 l_adr_flex_value_set_id := NULL;
59803 l_adr_value_type_code := NULL;
59804 l_adr_value_combination_id := NULL;
59805 l_adr_value_segment_code := NULL;
59806
59807 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
59808 l_bflow_class_code := ''; -- 4219869 Business Flow
59809 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
59810 l_budgetary_control_flag := 'N';
59811
59812 l_bflow_applied_to_amt_idx := NULL; -- 5132302
59813 l_bflow_applied_to_amt := NULL; -- 5132302
59814 l_entered_amt_idx := NULL; -- 4262811
59815 l_accted_amt_idx := NULL; -- 4262811
59816 l_acc_rev_flag := NULL; -- 4262811
59817 l_accrual_line_num := NULL; -- 4262811
59818 l_tmp_amt := NULL; -- 4262811
59819 --
59820
59821 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
59825 THEN
59822 l_balance_type_code <> 'B' THEN
59823 IF NVL(p_source_33,'
59824 ') = 'FREIGHT'
59826
59827 --
59828 XLA_AE_LINES_PKG.SetNewLine;
59829
59830 p_balance_type_code := l_balance_type_code;
59831 -- set the flag so later we will know whether the gain loss line needs to be created
59832
59833 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
59834 p_actual_flag :='A';
59835 END IF;
59836
59837 --
59838 -- bulk performance
59839 --
59840 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
59841 p_header_num => 0); -- 4262811
59842 --
59843 -- set accounting line options
59844 --
59845 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
59846 p_natural_side_code => 'D'
59847 , p_gain_or_loss_flag => 'N'
59848 , p_gl_transfer_mode_code => 'S'
59849 , p_acct_entry_type_code => 'A'
59850 , p_switch_side_flag => 'Y'
59851 , p_merge_duplicate_code => 'A'
59852 );
59853 --
59854 l_acc_rev_natural_side_code := 'C'; -- 4262811
59855 --
59856 --
59857 -- set accounting line type info
59858 --
59859 xla_ae_lines_pkg.SetAcctLineType
59860 (p_component_type => l_component_type
59861 ,p_event_type_code => l_event_type_code
59862 ,p_line_definition_owner_code => l_line_definition_owner_code
59863 ,p_line_definition_code => l_line_definition_code
59864 ,p_accounting_line_code => l_component_code
59865 ,p_accounting_line_type_code => l_component_type_code
59866 ,p_accounting_line_appl_id => l_component_appl_id
59867 ,p_amb_context_code => l_amb_context_code
59868 ,p_entity_code => l_entity_code
59869 ,p_event_class_code => l_event_class_code);
59870 --
59871 -- set accounting class
59872 --
59873 xla_ae_lines_pkg.SetAcctClass(
59874 p_accounting_class_code => 'FREIGHT'
59875 , p_ae_header_id => l_ae_header_id
59876 );
59877
59878 --
59879 -- set rounding class
59880 --
59881 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
59882 'FREIGHT';
59883
59884 --
59885 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
59886 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
59887 --
59888 -- bulk performance
59889 --
59890 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
59891
59892 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
59893 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
59894
59895 -- 4955764
59896 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
59897 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
59898
59899 -- 4458381 Public Sector Enh
59900
59901 --
59902 -- set accounting attributes for the line type
59903 --
59904 l_entered_amt_idx := 23;
59905 l_accted_amt_idx := 28;
59906 l_bflow_applied_to_amt_idx := NULL; -- 5132302
59907 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
59908 l_rec_acct_attrs.array_char_value(1) := p_source_53;
59909 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
59910 l_rec_acct_attrs.array_num_value(2) :=
59911 xla_ae_sources_pkg.GetSystemSourceNum(
59912 p_source_code => 'XLA_EVENT_APPL_ID'
59913 , p_source_type_code => 'Y'
59914 , p_source_application_id => 602
59915 );
59916 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
59917 l_rec_acct_attrs.array_char_value(3) := p_source_55;
59918 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
59919 l_rec_acct_attrs.array_char_value(4) :=
59920 xla_ae_sources_pkg.GetSystemSourceChar(
59921 p_source_code => 'XLA_ENTITY_CODE'
59922 , p_source_type_code => 'Y'
59923 , p_source_application_id => 602
59924 );
59925 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
59926 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
59927 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
59928 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
59929 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
59930 l_rec_acct_attrs.array_num_value(7) := p_source_91;
59931 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
59932 l_rec_acct_attrs.array_char_value(8) := p_source_92;
59933 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
59934 l_rec_acct_attrs.array_char_value(9) := p_source_93;
59935 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
59936 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
59937 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
59938 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
59939 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
59940 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
59944 l_rec_acct_attrs.array_num_value(14) := p_source_65;
59941 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
59942 l_rec_acct_attrs.array_char_value(13) := p_source_55;
59943 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
59945 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
59946 l_rec_acct_attrs.array_num_value(15) := p_source_66;
59947 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
59948 l_rec_acct_attrs.array_char_value(16) := p_source_67;
59949 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
59950 l_rec_acct_attrs.array_num_value(17) := p_source_68;
59951 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
59952 l_rec_acct_attrs.array_num_value(18) := p_source_69;
59953 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
59954 l_rec_acct_attrs.array_num_value(19) := p_source_70;
59955 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
59956 l_rec_acct_attrs.array_char_value(20) := p_source_67;
59957 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
59958 l_rec_acct_attrs.array_num_value(21) := p_source_71;
59959 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
59960 l_rec_acct_attrs.array_char_value(22) := p_source_72;
59961 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
59962 l_rec_acct_attrs.array_num_value(23) := p_source_73;
59963 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
59964 l_rec_acct_attrs.array_char_value(24) := p_source_67;
59965 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
59966 l_rec_acct_attrs.array_date_value(25) := p_source_143;
59967 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
59968 l_rec_acct_attrs.array_num_value(26) := p_source_144;
59969 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
59970 l_rec_acct_attrs.array_char_value(27) := p_source_145;
59971 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
59972 l_rec_acct_attrs.array_num_value(28) := p_source_21;
59973 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
59974 l_rec_acct_attrs.array_date_value(29) := p_source_77;
59975 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
59976 l_rec_acct_attrs.array_char_value(30) := p_source_78;
59977 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
59978 l_rec_acct_attrs.array_date_value(31) := p_source_79;
59979 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
59980 l_rec_acct_attrs.array_char_value(32) := p_source_80;
59981 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
59982 l_rec_acct_attrs.array_num_value(33) := p_source_81;
59983 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
59984 l_rec_acct_attrs.array_num_value(34) := p_source_82;
59985 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
59986 l_rec_acct_attrs.array_char_value(35) := p_source_83;
59987 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
59988 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
59989 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
59990 l_rec_acct_attrs.array_char_value(37) := p_source_55;
59991 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
59992 l_rec_acct_attrs.array_num_value(38) := p_source_85;
59993 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
59994 l_rec_acct_attrs.array_num_value(39) := p_source_86;
59995 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
59996 l_rec_acct_attrs.array_num_value(40) := p_source_87;
59997 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
59998 l_rec_acct_attrs.array_num_value(41) := p_source_88;
59999 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
60000 l_rec_acct_attrs.array_num_value(42) := p_source_89;
60001 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
60002 l_rec_acct_attrs.array_num_value(43) := p_source_90;
60003
60004 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
60005 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
60006
60007 ---------------------------------------------------------------------------------------------------------------
60008 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
60009 ---------------------------------------------------------------------------------------------------------------
60010 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
60011
60012 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
60013 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
60014
60015 IF xla_accounting_cache_pkg.GetValueChar
60016 (p_source_code => 'LEDGER_CATEGORY_CODE'
60017 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
60018 AND l_bflow_method_code = 'PRIOR_ENTRY'
60019 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
60020 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
60021 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
60022 )
60023 THEN
60024 xla_ae_lines_pkg.BflowUpgEntry
60025 (p_business_method_code => l_bflow_method_code
60026 ,p_business_class_code => l_bflow_class_code
60030 -- No business flow processing for business flow method of NONE.
60027 ,p_balance_type => l_balance_type_code);
60028 ELSE
60029 NULL;
60031 END IF;
60032
60033 --
60034 -- call analytical criteria
60035 --
60036
60037 --
60038 -- call description
60039 --
60040
60041 xla_ae_lines_pkg.SetLineDescription(
60042 p_ae_header_id => l_ae_header_id
60043 ,p_description => Description_1 (
60044 p_application_id => p_application_id
60045 , p_ae_header_id => l_ae_header_id
60046 , p_source_1 => p_source_1
60047 )
60048 );
60049
60050
60051 --
60052 -- call ADRs
60053 -- Bug 4922099
60054 --
60055 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
60056 (NVL(l_actual_upg_option, 'N') = 'O') OR
60057 (NVL(l_enc_upg_option, 'N') = 'O')
60058 )
60059 THEN
60060 NULL;
60061 --
60062 --
60063
60064 l_ccid := AcctDerRule_33(
60065 p_application_id => p_application_id
60066 , p_ae_header_id => l_ae_header_id
60067 , p_source_30 => p_source_30
60068 , x_transaction_coa_id => l_adr_transaction_coa_id
60069 , x_accounting_coa_id => l_adr_accounting_coa_id
60070 , x_value_type_code => l_adr_value_type_code
60071 , p_side => 'NA'
60072 );
60073
60074 xla_ae_lines_pkg.set_ccid(
60075 p_code_combination_id => l_ccid
60076 , p_value_type_code => l_adr_value_type_code
60077 , p_transaction_coa_id => l_adr_transaction_coa_id
60078 , p_accounting_coa_id => l_adr_accounting_coa_id
60079 , p_adr_code => 'AP_INVOICE_DIST'
60080 , p_adr_type_code => 'S'
60081 , p_component_type => l_component_type
60082 , p_component_code => l_component_code
60083 , p_component_type_code => l_component_type_code
60084 , p_component_appl_id => l_component_appl_id
60085 , p_amb_context_code => l_amb_context_code
60086 , p_side => 'NA'
60087 );
60088
60089
60090 --
60091 --
60092 END IF;
60093 --
60094 -- Bug 4922099
60095 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
60096 (NVL(l_enc_upg_option, 'N') = 'O')
60097 ) AND
60098 (l_bflow_method_code = 'PRIOR_ENTRY')
60099 )
60100 THEN
60101 IF
60102 --
60103 1 = 2
60104 --
60105 THEN
60106 xla_accounting_err_pkg.build_message
60107 (p_appli_s_name => 'XLA'
60108 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
60109 ,p_token_1 => 'LINE_NUMBER'
60110 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
60111 ,p_token_2 => 'LINE_TYPE_NAME'
60112 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
60113 l_component_type
60114 ,l_component_code
60115 ,l_component_type_code
60116 ,l_component_appl_id
60117 ,l_amb_context_code
60118 ,l_entity_code
60119 ,l_event_class_code
60120 )
60121 ,p_token_3 => 'OWNER'
60122 ,p_value_3 => xla_lookups_pkg.get_meaning(
60123 p_lookup_type => 'XLA_OWNER_TYPE'
60124 ,p_lookup_code => l_component_type_code
60125 )
60126 ,p_token_4 => 'PRODUCT_NAME'
60127 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
60128 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
60129 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
60130 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
60131 ,p_ae_header_id => NULL
60132 );
60133
60134 IF (C_LEVEL_ERROR>= g_log_level) THEN
60135 trace
60136 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
60137 ,p_level => C_LEVEL_ERROR
60138 ,p_module => l_log_module);
60139 END IF;
60140 END IF;
60144 ------------------------------------------------------------------------------------------------
60141 END IF;
60142 --
60143 --
60145 -- 4219869 Business Flow
60146 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
60147 -- Prior Entry. Currently, the following code is always generated.
60148 ------------------------------------------------------------------------------------------------
60149 XLA_AE_LINES_PKG.ValidateCurrentLine;
60150
60151 ------------------------------------------------------------------------------------
60152 -- 4219869 Business Flow
60153 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
60154 ------------------------------------------------------------------------------------
60155 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
60156
60157 ----------------------------------------------------------------------------------
60158 -- 4219869 Business Flow
60159 -- Update journal entry status -- Need to generate this within IF <condition>
60160 ----------------------------------------------------------------------------------
60161 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
60162 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
60163 ,p_balance_type_code => l_balance_type_code
60164 );
60165
60166 -------------------------------------------------------------------------------------------
60167 -- 4262811 - Generate the Accrual Reversal lines
60168 -------------------------------------------------------------------------------------------
60169 BEGIN
60170 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
60171 (g_array_event(p_event_id).array_value_num('header_index'));
60172 IF l_acc_rev_flag IS NULL THEN
60173 l_acc_rev_flag := 'N';
60174 END IF;
60175 EXCEPTION
60176 WHEN OTHERS THEN
60177 l_acc_rev_flag := 'N';
60178 END;
60179 --
60180 IF (l_acc_rev_flag = 'Y') THEN
60181
60182 -- 4645092 ------------------------------------------------------------------------------
60183 -- To allow MPA report to determine if it should generate report process
60184 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
60185 ------------------------------------------------------------------------------------------
60186
60187 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
60188 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
60189 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
60190 -- call ADRs
60191 -- Bug 4922099
60192 --
60193 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
60194 (NVL(l_actual_upg_option, 'N') = 'O') OR
60195 (NVL(l_enc_upg_option, 'N') = 'O')
60196 )
60197 THEN
60198 NULL;
60199 --
60200 --
60201
60202 l_ccid := AcctDerRule_33(
60203 p_application_id => p_application_id
60204 , p_ae_header_id => l_ae_header_id
60205 , p_source_30 => p_source_30
60206 , x_transaction_coa_id => l_adr_transaction_coa_id
60207 , x_accounting_coa_id => l_adr_accounting_coa_id
60208 , x_value_type_code => l_adr_value_type_code
60209 , p_side => 'NA'
60210 );
60211
60212 xla_ae_lines_pkg.set_ccid(
60213 p_code_combination_id => l_ccid
60214 , p_value_type_code => l_adr_value_type_code
60215 , p_transaction_coa_id => l_adr_transaction_coa_id
60216 , p_accounting_coa_id => l_adr_accounting_coa_id
60217 , p_adr_code => 'AP_INVOICE_DIST'
60218 , p_adr_type_code => 'S'
60219 , p_component_type => l_component_type
60220 , p_component_code => l_component_code
60221 , p_component_type_code => l_component_type_code
60222 , p_component_appl_id => l_component_appl_id
60223 , p_amb_context_code => l_amb_context_code
60224 , p_side => 'NA'
60225 );
60226
60227
60228 --
60229 --
60230 END IF;
60231
60232 --
60233 -- Update the line information that should be overwritten
60234 --
60235 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
60236 p_header_num => 1);
60237 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
60238
60239 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
60240
60241 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
60242 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
60243 END IF;
60244
60245 --
60246 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
60247 --
60248 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
60249 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
60250 ELSE
60251 ---------------------------------------------------------------------------------------------------
60252 -- 4262811a Switch Sign
60256 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
60253 ---------------------------------------------------------------------------------------------------
60254 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
60255 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
60257 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
60258 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
60259 -- 5132302
60260 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
60261 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
60262
60263 END IF;
60264
60265 -- 4955764
60266 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
60267 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
60268
60269
60270 XLA_AE_LINES_PKG.ValidateCurrentLine;
60271 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
60272
60273 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
60274 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
60275 ,p_balance_type_code => l_balance_type_code);
60276
60277 END IF;
60278
60279 -----------------------------------------------------------------------------------------
60280 -- 4262811 Multiperiod Accounting
60281 -----------------------------------------------------------------------------------------
60282 -- No MPA option is assigned.
60283
60284
60285 END IF;
60286 END IF;
60287 --
60288
60289 --
60290 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
60291 trace
60292 (p_msg => 'END of AcctLineType_119'
60293 ,p_level => C_LEVEL_PROCEDURE
60294 ,p_module => l_log_module);
60295 END IF;
60296 --
60297 EXCEPTION
60298 WHEN xla_exceptions_pkg.application_exception THEN
60299 RAISE;
60300 WHEN OTHERS THEN
60301 xla_exceptions_pkg.raise_message
60302 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_119');
60303 END AcctLineType_119;
60304 --
60305
60306 ---------------------------------------
60307 --
60308 -- PRIVATE FUNCTION
60309 -- AcctLineType_120
60310 --
60311 ---------------------------------------
60312 PROCEDURE AcctLineType_120 (
60313 p_application_id IN NUMBER
60314 ,p_event_id IN NUMBER
60315 ,p_calculate_acctd_flag IN VARCHAR2
60316 ,p_calculate_g_l_flag IN VARCHAR2
60317 ,p_actual_flag IN OUT VARCHAR2
60318 ,p_balance_type_code OUT VARCHAR2
60319 ,p_gain_or_loss_ref OUT VARCHAR2
60320
60321 --Payment Currency Code
60322 , p_source_13 IN VARCHAR2
60323 --Automatic Offsets Value
60324 , p_source_15 IN VARCHAR2
60325 , p_source_15_meaning IN VARCHAR2
60326 --Bank Future Dated Payment Account
60327 , p_source_24 IN NUMBER
60328 --Future Dated Payment Account Source Option
60329 , p_source_25 IN VARCHAR2
60330 , p_source_25_meaning IN VARCHAR2
60331 --Financials Options Future Dated Payment Account
60332 , p_source_26 IN NUMBER
60333 --Supplier Site Future Dated Payment Account
60334 , p_source_27 IN NUMBER
60335 --Invoice Distribution Account
60336 , p_source_30 IN NUMBER
60337 --Accounting Reversal Indicator
60338 , p_source_53 IN VARCHAR2
60339 --Distribution Link Type
60340 , p_source_55 IN VARCHAR2
60341 --Override Accounted Amount Indicator
60342 , p_source_80 IN VARCHAR2
60343 , p_source_80_meaning IN VARCHAR2
60344 --Third Party Type
60345 , p_source_83 IN VARCHAR2
60346 --Invoice Distribution Tax Line Identifier
60347 , p_source_86 IN NUMBER
60348 --Invoice Distribution Tax Distribution Identifier from Tax
60349 , p_source_87 IN NUMBER
60350 --Invoice Distribution Summary Tax Line Identifier
60351 , p_source_88 IN NUMBER
60352 --Business Flow Accounts Payable Application Identifier
60353 , p_source_91 IN NUMBER
60354 --Business Flow Invoice Distribution Type
60355 , p_source_92 IN VARCHAR2
60356 --Business Flow Invoice Entity Code
60357 , p_source_93 IN VARCHAR2
60358 --Business Flow Invoice Distribution Identifier
60359 , p_source_94 IN NUMBER
60360 --Business Flow Invoice Identifier
60361 , p_source_95 IN NUMBER
60362 --When to Account for Payment Option
60363 , p_source_97 IN VARCHAR2
60364 --Payment Distribution Type
60365 , p_source_98 IN VARCHAR2
60366 , p_source_98_meaning IN VARCHAR2
60367 --Payment Distribution Amount
60368 , p_source_99 IN NUMBER
60369 --Payment Distribution Identifier
60370 , p_source_104 IN NUMBER
60371 --Payment Supplier Identifier
60372 , p_source_110 IN NUMBER
60373 --Payment Supplier Site Identifier
60374 , p_source_111 IN NUMBER
60375 --Payment Distribution Reversed Identifier
60376 , p_source_112 IN NUMBER
60377 --Payment Maturity Date
60378 , p_source_114 IN DATE
60379 --Payment Distribution (Payment Rate) Ledger Amount
60383 --Payment Exchange Rate
60380 , p_source_115 IN NUMBER
60381 --Payment Exchange Date
60382 , p_source_117 IN DATE
60384 , p_source_118 IN NUMBER
60385 --Payment Exchange Rate Type
60386 , p_source_119 IN VARCHAR2
60387 --Payment Processing Type
60388 , p_source_123 IN VARCHAR2
60389 --Invoice Distribution Amount of the Payment Distribution
60390 , p_source_124 IN NUMBER
60391 )
60392 IS
60393
60394 l_component_type VARCHAR2(80);
60395 l_component_code VARCHAR2(30);
60396 l_component_type_code VARCHAR2(1);
60397 l_component_appl_id INTEGER;
60398 l_amb_context_code VARCHAR2(30);
60399 l_entity_code VARCHAR2(30);
60400 l_event_class_code VARCHAR2(30);
60401 l_ae_header_id NUMBER;
60402 l_event_type_code VARCHAR2(30);
60403 l_line_definition_code VARCHAR2(30);
60404 l_line_definition_owner_code VARCHAR2(1);
60405 --
60406 -- adr variables
60407 l_segment VARCHAR2(30);
60408 l_ccid NUMBER;
60409 l_adr_transaction_coa_id NUMBER;
60410 l_adr_accounting_coa_id NUMBER;
60411 l_adr_flexfield_segment_code VARCHAR2(30);
60412 l_adr_flex_value_set_id NUMBER;
60413 l_adr_value_type_code VARCHAR2(30);
60414 l_adr_value_combination_id NUMBER;
60415 l_adr_value_segment_code VARCHAR2(30);
60416
60417 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
60418 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
60419 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
60420 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
60421
60422 -- 4262811 Variables ------------------------------------------------------------------------------------------
60423 l_entered_amt_idx NUMBER;
60424 l_accted_amt_idx NUMBER;
60425 l_acc_rev_flag VARCHAR2(1);
60426 l_accrual_line_num NUMBER;
60427 l_tmp_amt NUMBER;
60428 l_acc_rev_natural_side_code VARCHAR2(1);
60429
60430 l_num_entries NUMBER;
60431 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
60432 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
60433 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
60434 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
60435 l_recog_line_1 NUMBER;
60436 l_recog_line_2 NUMBER;
60437
60438 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
60439 l_bflow_applied_to_amt NUMBER; -- 5132302
60440 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
60441
60442 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
60443
60444 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
60445 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
60446
60447 ---------------------------------------------------------------------------------------------------------------
60448
60449
60450 --
60451 -- bulk performance
60452 --
60453 l_balance_type_code VARCHAR2(1);
60454 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
60455 l_log_module VARCHAR2(240);
60456
60457 --
60458 -- Upgrade strategy
60459 --
60460 l_actual_upg_option VARCHAR2(1);
60461 l_enc_upg_option VARCHAR2(1);
60462
60463 --
60464 BEGIN
60465 --
60466 IF g_log_enabled THEN
60467 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_120';
60468 END IF;
60469 --
60470 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
60471
60472 trace
60473 (p_msg => 'BEGIN of AcctLineType_120'
60474 ,p_level => C_LEVEL_PROCEDURE
60475 ,p_module => l_log_module);
60476
60477 END IF;
60478 --
60479 l_component_type := 'AMB_JLT';
60480 l_component_code := 'AP_FUTURE_DATED_PMT';
60481 l_component_type_code := 'S';
60482 l_component_appl_id := 200;
60483 l_amb_context_code := 'DEFAULT';
60484 l_entity_code := 'AP_PAYMENTS';
60485 l_event_class_code := 'PAYMENTS';
60486 l_event_type_code := 'PAYMENTS_ALL';
60487 l_line_definition_owner_code := 'S';
60488 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
60489 --
60490 l_balance_type_code := 'A';
60491 l_segment := NULL;
60492 l_ccid := NULL;
60493 l_adr_transaction_coa_id := NULL;
60494 l_adr_accounting_coa_id := NULL;
60495 l_adr_flexfield_segment_code := NULL;
60496 l_adr_flex_value_set_id := NULL;
60497 l_adr_value_type_code := NULL;
60498 l_adr_value_combination_id := NULL;
60499 l_adr_value_segment_code := NULL;
60500
60501 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
60502 l_bflow_class_code := 'AP_FUTURE_DTD_PMT'; -- 4219869 Business Flow
60503 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
60504 l_budgetary_control_flag := 'N';
60505
60506 l_bflow_applied_to_amt_idx := NULL; -- 5132302
60507 l_bflow_applied_to_amt := NULL; -- 5132302
60508 l_entered_amt_idx := NULL; -- 4262811
60509 l_accted_amt_idx := NULL; -- 4262811
60513 --
60510 l_acc_rev_flag := NULL; -- 4262811
60511 l_accrual_line_num := NULL; -- 4262811
60512 l_tmp_amt := NULL; -- 4262811
60514
60515 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
60516 l_balance_type_code <> 'B' THEN
60517 IF NVL(p_source_97,'
60518 ') <> 'CLEAR_CLEAR' AND
60519 NVL(p_source_97,'
60520 ') <> 'ALWAYS_CLEAR' AND
60521 NVL(p_source_98,'
60522 ') = 'CASH' AND
60523 p_source_114 IS NOT NULL AND
60524 NVL(p_source_123,'
60525 ') <> 'PAYMENTCARD'
60526 THEN
60527
60528 --
60529 XLA_AE_LINES_PKG.SetNewLine;
60530
60531 p_balance_type_code := l_balance_type_code;
60532 -- set the flag so later we will know whether the gain loss line needs to be created
60533
60534 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
60535 p_actual_flag :='A';
60536 END IF;
60537
60538 --
60539 -- bulk performance
60540 --
60541 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
60542 p_header_num => 0); -- 4262811
60543 --
60544 -- set accounting line options
60545 --
60546 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
60547 p_natural_side_code => 'C'
60548 , p_gain_or_loss_flag => 'N'
60549 , p_gl_transfer_mode_code => 'S'
60550 , p_acct_entry_type_code => 'A'
60551 , p_switch_side_flag => 'Y'
60552 , p_merge_duplicate_code => 'A'
60553 );
60554 --
60555 l_acc_rev_natural_side_code := 'D'; -- 4262811
60556 --
60557 --
60558 -- set accounting line type info
60559 --
60560 xla_ae_lines_pkg.SetAcctLineType
60561 (p_component_type => l_component_type
60562 ,p_event_type_code => l_event_type_code
60563 ,p_line_definition_owner_code => l_line_definition_owner_code
60564 ,p_line_definition_code => l_line_definition_code
60565 ,p_accounting_line_code => l_component_code
60566 ,p_accounting_line_type_code => l_component_type_code
60567 ,p_accounting_line_appl_id => l_component_appl_id
60568 ,p_amb_context_code => l_amb_context_code
60569 ,p_entity_code => l_entity_code
60570 ,p_event_class_code => l_event_class_code);
60571 --
60572 -- set accounting class
60573 --
60574 xla_ae_lines_pkg.SetAcctClass(
60575 p_accounting_class_code => 'FUTURE_DATED_PMT'
60576 , p_ae_header_id => l_ae_header_id
60577 );
60578
60579 --
60580 -- set rounding class
60581 --
60582 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
60583 'FUTURE_DATED_PMT';
60584
60585 --
60586 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
60587 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
60588 --
60589 -- bulk performance
60590 --
60591 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
60592
60593 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
60594 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
60595
60596 -- 4955764
60597 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
60598 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
60599
60600 -- 4458381 Public Sector Enh
60601
60602 --
60603 -- set accounting attributes for the line type
60604 --
60605 l_entered_amt_idx := 10;
60606 l_accted_amt_idx := 15;
60607 l_bflow_applied_to_amt_idx := 2; -- 5132302
60608 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
60609 l_rec_acct_attrs.array_char_value(1) := p_source_53;
60610 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
60611 l_rec_acct_attrs.array_num_value(2) := p_source_124;
60612 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
60613 l_rec_acct_attrs.array_num_value(3) := p_source_91;
60614 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
60615 l_rec_acct_attrs.array_char_value(4) := p_source_92;
60616 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
60617 l_rec_acct_attrs.array_char_value(5) := p_source_93;
60618 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
60619 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
60620 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
60621 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
60622 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
60623 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
60624 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
60625 l_rec_acct_attrs.array_char_value(9) := p_source_55;
60626 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
60627 l_rec_acct_attrs.array_num_value(10) := p_source_99;
60628 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
60629 l_rec_acct_attrs.array_char_value(11) := p_source_13;
60633 l_rec_acct_attrs.array_num_value(13) := p_source_118;
60630 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
60631 l_rec_acct_attrs.array_date_value(12) := p_source_117;
60632 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
60634 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
60635 l_rec_acct_attrs.array_char_value(14) := p_source_119;
60636 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
60637 l_rec_acct_attrs.array_num_value(15) := p_source_115;
60638 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
60639 l_rec_acct_attrs.array_char_value(16) := p_source_80;
60640 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
60641 l_rec_acct_attrs.array_num_value(17) := p_source_110;
60642 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
60643 l_rec_acct_attrs.array_num_value(18) := p_source_111;
60644 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
60645 l_rec_acct_attrs.array_char_value(19) := p_source_83;
60646 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
60647 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
60648 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
60649 l_rec_acct_attrs.array_char_value(21) := p_source_55;
60650 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
60651 l_rec_acct_attrs.array_num_value(22) := p_source_86;
60652 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
60653 l_rec_acct_attrs.array_num_value(23) := p_source_87;
60654 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
60655 l_rec_acct_attrs.array_num_value(24) := p_source_88;
60656
60657 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
60658 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
60659
60660 ---------------------------------------------------------------------------------------------------------------
60661 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
60662 ---------------------------------------------------------------------------------------------------------------
60663 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
60664
60665 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
60666 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
60667
60668 IF xla_accounting_cache_pkg.GetValueChar
60669 (p_source_code => 'LEDGER_CATEGORY_CODE'
60670 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
60671 AND l_bflow_method_code = 'PRIOR_ENTRY'
60672 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
60673 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
60674 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
60675 )
60676 THEN
60677 xla_ae_lines_pkg.BflowUpgEntry
60678 (p_business_method_code => l_bflow_method_code
60679 ,p_business_class_code => l_bflow_class_code
60680 ,p_balance_type => l_balance_type_code);
60681 ELSE
60682 NULL;
60683 -- No business flow processing for business flow method of NONE.
60684 END IF;
60685
60686 --
60687 -- call analytical criteria
60688 --
60689
60690 --
60691 -- call description
60692 --
60693 -- No description or it is inherited.
60694 --
60695 -- call ADRs
60696 -- Bug 4922099
60697 --
60698 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
60699 (NVL(l_actual_upg_option, 'N') = 'O') OR
60700 (NVL(l_enc_upg_option, 'N') = 'O')
60701 )
60702 THEN
60703 NULL;
60704 --
60705 --
60706
60707 l_ccid := AcctDerRule_31(
60708 p_application_id => p_application_id
60709 , p_ae_header_id => l_ae_header_id
60710 , p_source_15 => p_source_15
60711 , p_source_15_meaning => p_source_15_meaning
60712 , p_source_24 => p_source_24
60713 , p_source_25 => p_source_25
60714 , p_source_25_meaning => p_source_25_meaning
60715 , p_source_26 => p_source_26
60716 , p_source_27 => p_source_27
60717 , p_source_30 => p_source_30
60718 , x_transaction_coa_id => l_adr_transaction_coa_id
60719 , x_accounting_coa_id => l_adr_accounting_coa_id
60720 , x_value_type_code => l_adr_value_type_code
60721 , p_side => 'NA'
60722 );
60723
60724 xla_ae_lines_pkg.set_ccid(
60725 p_code_combination_id => l_ccid
60726 , p_value_type_code => l_adr_value_type_code
60727 , p_transaction_coa_id => l_adr_transaction_coa_id
60728 , p_accounting_coa_id => l_adr_accounting_coa_id
60729 , p_adr_code => 'AP_FUTURE_DATED_PMT'
60730 , p_adr_type_code => 'S'
60731 , p_component_type => l_component_type
60732 , p_component_code => l_component_code
60733 , p_component_type_code => l_component_type_code
60734 , p_component_appl_id => l_component_appl_id
60735 , p_amb_context_code => l_amb_context_code
60736 , p_side => 'NA'
60737 );
60738
60739
60740 l_segment := AcctDerRule_11(
60744 , p_source_15_meaning => p_source_15_meaning
60741 p_application_id => p_application_id
60742 , p_ae_header_id => l_ae_header_id
60743 , p_source_15 => p_source_15
60745 , p_source_24 => p_source_24
60746 , p_source_25 => p_source_25
60747 , p_source_25_meaning => p_source_25_meaning
60748 , p_source_26 => p_source_26
60749 , p_source_27 => p_source_27
60750 , x_transaction_coa_id => l_adr_transaction_coa_id
60751 , x_accounting_coa_id => l_adr_accounting_coa_id
60752 , x_flexfield_segment_code => l_adr_flexfield_segment_code
60753 , x_flex_value_set_id => l_adr_flex_value_set_id
60754 , x_value_type_code => l_adr_value_type_code
60755 , x_value_combination_id => l_adr_value_combination_id
60756 , x_value_segment_code => l_adr_value_segment_code
60757 , p_side => 'NA'
60758 , p_override_seg_flag => 'Y'
60759 );
60760
60761 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
60762
60763 xla_ae_lines_pkg.set_segment(
60764 p_to_segment_code => 'GL_ACCOUNT'
60765 , p_segment_value => l_segment
60766 , p_from_segment_code => l_adr_value_segment_code
60767 , p_from_combination_id => l_adr_value_combination_id
60768 , p_value_type_code => l_adr_value_type_code
60769 , p_transaction_coa_id => l_adr_transaction_coa_id
60770 , p_accounting_coa_id => l_adr_accounting_coa_id
60771 , p_flexfield_segment_code => l_adr_flexfield_segment_code
60772 , p_flex_value_set_id => l_adr_flex_value_set_id
60773 , p_adr_code => 'AP_FUTURE_DTD_PMT_NAT_ACCT_SEG'
60774 , p_adr_type_code => 'S'
60775 , p_component_type => l_component_type
60776 , p_component_code => l_component_code
60777 , p_component_type_code => l_component_type_code
60778 , p_component_appl_id => l_component_appl_id
60779 , p_amb_context_code => l_amb_context_code
60780 , p_entity_code => 'AP_PAYMENTS'
60781 , p_event_class_code => 'PAYMENTS'
60782 , p_side => 'NA'
60783 );
60784
60785 END IF;
60786
60787 l_segment := AcctDerRule_22(
60788 p_application_id => p_application_id
60789 , p_ae_header_id => l_ae_header_id
60790 , p_source_15 => p_source_15
60791 , p_source_15_meaning => p_source_15_meaning
60792 , p_source_30 => p_source_30
60793 , x_transaction_coa_id => l_adr_transaction_coa_id
60794 , x_accounting_coa_id => l_adr_accounting_coa_id
60795 , x_flexfield_segment_code => l_adr_flexfield_segment_code
60796 , x_flex_value_set_id => l_adr_flex_value_set_id
60797 , x_value_type_code => l_adr_value_type_code
60798 , x_value_combination_id => l_adr_value_combination_id
60799 , x_value_segment_code => l_adr_value_segment_code
60800 , p_side => 'NA'
60801 , p_override_seg_flag => 'Y'
60802 );
60803
60804 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
60805
60806 xla_ae_lines_pkg.set_segment(
60807 p_to_segment_code => 'GL_BALANCING'
60808 , p_segment_value => l_segment
60809 , p_from_segment_code => l_adr_value_segment_code
60810 , p_from_combination_id => l_adr_value_combination_id
60811 , p_value_type_code => l_adr_value_type_code
60812 , p_transaction_coa_id => l_adr_transaction_coa_id
60813 , p_accounting_coa_id => l_adr_accounting_coa_id
60814 , p_flexfield_segment_code => l_adr_flexfield_segment_code
60815 , p_flex_value_set_id => l_adr_flex_value_set_id
60816 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
60817 , p_adr_type_code => 'S'
60818 , p_component_type => l_component_type
60819 , p_component_code => l_component_code
60820 , p_component_type_code => l_component_type_code
60821 , p_component_appl_id => l_component_appl_id
60822 , p_amb_context_code => l_amb_context_code
60823 , p_entity_code => 'AP_PAYMENTS'
60824 , p_event_class_code => 'PAYMENTS'
60825 , p_side => 'NA'
60826 );
60827
60828 END IF;
60829
60830 --
60831 --
60832 END IF;
60833 --
60834 -- Bug 4922099
60835 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
60836 (NVL(l_enc_upg_option, 'N') = 'O')
60837 ) AND
60838 (l_bflow_method_code = 'PRIOR_ENTRY')
60839 )
60840 THEN
60841 IF
60842 --
60843 1 = 2
60844 --
60845 THEN
60846 xla_accounting_err_pkg.build_message
60847 (p_appli_s_name => 'XLA'
60848 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
60849 ,p_token_1 => 'LINE_NUMBER'
60850 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
60851 ,p_token_2 => 'LINE_TYPE_NAME'
60855 ,l_component_type_code
60852 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
60853 l_component_type
60854 ,l_component_code
60856 ,l_component_appl_id
60857 ,l_amb_context_code
60858 ,l_entity_code
60859 ,l_event_class_code
60860 )
60861 ,p_token_3 => 'OWNER'
60862 ,p_value_3 => xla_lookups_pkg.get_meaning(
60863 p_lookup_type => 'XLA_OWNER_TYPE'
60864 ,p_lookup_code => l_component_type_code
60865 )
60866 ,p_token_4 => 'PRODUCT_NAME'
60867 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
60868 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
60869 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
60870 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
60871 ,p_ae_header_id => NULL
60872 );
60873
60874 IF (C_LEVEL_ERROR>= g_log_level) THEN
60875 trace
60876 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
60877 ,p_level => C_LEVEL_ERROR
60878 ,p_module => l_log_module);
60879 END IF;
60880 END IF;
60881 END IF;
60882 --
60883 --
60884 ------------------------------------------------------------------------------------------------
60885 -- 4219869 Business Flow
60886 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
60887 -- Prior Entry. Currently, the following code is always generated.
60888 ------------------------------------------------------------------------------------------------
60889 XLA_AE_LINES_PKG.ValidateCurrentLine;
60890
60891 ------------------------------------------------------------------------------------
60892 -- 4219869 Business Flow
60893 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
60894 ------------------------------------------------------------------------------------
60895 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
60896
60897 ----------------------------------------------------------------------------------
60898 -- 4219869 Business Flow
60899 -- Update journal entry status -- Need to generate this within IF <condition>
60900 ----------------------------------------------------------------------------------
60901 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
60902 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
60903 ,p_balance_type_code => l_balance_type_code
60904 );
60905
60906 -------------------------------------------------------------------------------------------
60907 -- 4262811 - Generate the Accrual Reversal lines
60908 -------------------------------------------------------------------------------------------
60909 BEGIN
60910 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
60911 (g_array_event(p_event_id).array_value_num('header_index'));
60912 IF l_acc_rev_flag IS NULL THEN
60913 l_acc_rev_flag := 'N';
60914 END IF;
60915 EXCEPTION
60916 WHEN OTHERS THEN
60917 l_acc_rev_flag := 'N';
60918 END;
60919 --
60920 IF (l_acc_rev_flag = 'Y') THEN
60921
60922 -- 4645092 ------------------------------------------------------------------------------
60923 -- To allow MPA report to determine if it should generate report process
60924 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
60925 ------------------------------------------------------------------------------------------
60926
60927 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
60928 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
60929 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
60930 -- call ADRs
60931 -- Bug 4922099
60932 --
60933 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
60934 (NVL(l_actual_upg_option, 'N') = 'O') OR
60935 (NVL(l_enc_upg_option, 'N') = 'O')
60936 )
60937 THEN
60938 NULL;
60939 --
60940 --
60941
60942 l_ccid := AcctDerRule_31(
60943 p_application_id => p_application_id
60944 , p_ae_header_id => l_ae_header_id
60945 , p_source_15 => p_source_15
60946 , p_source_15_meaning => p_source_15_meaning
60950 , p_source_26 => p_source_26
60947 , p_source_24 => p_source_24
60948 , p_source_25 => p_source_25
60949 , p_source_25_meaning => p_source_25_meaning
60951 , p_source_27 => p_source_27
60952 , p_source_30 => p_source_30
60953 , x_transaction_coa_id => l_adr_transaction_coa_id
60954 , x_accounting_coa_id => l_adr_accounting_coa_id
60955 , x_value_type_code => l_adr_value_type_code
60956 , p_side => 'NA'
60957 );
60958
60959 xla_ae_lines_pkg.set_ccid(
60960 p_code_combination_id => l_ccid
60961 , p_value_type_code => l_adr_value_type_code
60962 , p_transaction_coa_id => l_adr_transaction_coa_id
60963 , p_accounting_coa_id => l_adr_accounting_coa_id
60964 , p_adr_code => 'AP_FUTURE_DATED_PMT'
60965 , p_adr_type_code => 'S'
60966 , p_component_type => l_component_type
60967 , p_component_code => l_component_code
60968 , p_component_type_code => l_component_type_code
60969 , p_component_appl_id => l_component_appl_id
60970 , p_amb_context_code => l_amb_context_code
60971 , p_side => 'NA'
60972 );
60973
60974
60975 l_segment := AcctDerRule_11(
60976 p_application_id => p_application_id
60977 , p_ae_header_id => l_ae_header_id
60978 , p_source_15 => p_source_15
60979 , p_source_15_meaning => p_source_15_meaning
60980 , p_source_24 => p_source_24
60981 , p_source_25 => p_source_25
60982 , p_source_25_meaning => p_source_25_meaning
60983 , p_source_26 => p_source_26
60984 , p_source_27 => p_source_27
60985 , x_transaction_coa_id => l_adr_transaction_coa_id
60986 , x_accounting_coa_id => l_adr_accounting_coa_id
60987 , x_flexfield_segment_code => l_adr_flexfield_segment_code
60988 , x_flex_value_set_id => l_adr_flex_value_set_id
60989 , x_value_type_code => l_adr_value_type_code
60990 , x_value_combination_id => l_adr_value_combination_id
60991 , x_value_segment_code => l_adr_value_segment_code
60992 , p_side => 'NA'
60993 , p_override_seg_flag => 'Y'
60994 );
60995
60996 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
60997
60998 xla_ae_lines_pkg.set_segment(
60999 p_to_segment_code => 'GL_ACCOUNT'
61000 , p_segment_value => l_segment
61001 , p_from_segment_code => l_adr_value_segment_code
61002 , p_from_combination_id => l_adr_value_combination_id
61003 , p_value_type_code => l_adr_value_type_code
61004 , p_transaction_coa_id => l_adr_transaction_coa_id
61005 , p_accounting_coa_id => l_adr_accounting_coa_id
61006 , p_flexfield_segment_code => l_adr_flexfield_segment_code
61007 , p_flex_value_set_id => l_adr_flex_value_set_id
61008 , p_adr_code => 'AP_FUTURE_DTD_PMT_NAT_ACCT_SEG'
61009 , p_adr_type_code => 'S'
61010 , p_component_type => l_component_type
61011 , p_component_code => l_component_code
61012 , p_component_type_code => l_component_type_code
61013 , p_component_appl_id => l_component_appl_id
61014 , p_amb_context_code => l_amb_context_code
61015 , p_entity_code => 'AP_PAYMENTS'
61016 , p_event_class_code => 'PAYMENTS'
61017 , p_side => 'NA'
61018 );
61019
61020 END IF;
61021
61022 l_segment := AcctDerRule_22(
61023 p_application_id => p_application_id
61024 , p_ae_header_id => l_ae_header_id
61025 , p_source_15 => p_source_15
61026 , p_source_15_meaning => p_source_15_meaning
61027 , p_source_30 => p_source_30
61028 , x_transaction_coa_id => l_adr_transaction_coa_id
61029 , x_accounting_coa_id => l_adr_accounting_coa_id
61030 , x_flexfield_segment_code => l_adr_flexfield_segment_code
61031 , x_flex_value_set_id => l_adr_flex_value_set_id
61032 , x_value_type_code => l_adr_value_type_code
61033 , x_value_combination_id => l_adr_value_combination_id
61034 , x_value_segment_code => l_adr_value_segment_code
61035 , p_side => 'NA'
61036 , p_override_seg_flag => 'Y'
61037 );
61038
61039 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
61040
61041 xla_ae_lines_pkg.set_segment(
61042 p_to_segment_code => 'GL_BALANCING'
61043 , p_segment_value => l_segment
61044 , p_from_segment_code => l_adr_value_segment_code
61045 , p_from_combination_id => l_adr_value_combination_id
61046 , p_value_type_code => l_adr_value_type_code
61047 , p_transaction_coa_id => l_adr_transaction_coa_id
61048 , p_accounting_coa_id => l_adr_accounting_coa_id
61049 , p_flexfield_segment_code => l_adr_flexfield_segment_code
61050 , p_flex_value_set_id => l_adr_flex_value_set_id
61051 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
61052 , p_adr_type_code => 'S'
61053 , p_component_type => l_component_type
61054 , p_component_code => l_component_code
61055 , p_component_type_code => l_component_type_code
61059 , p_event_class_code => 'PAYMENTS'
61056 , p_component_appl_id => l_component_appl_id
61057 , p_amb_context_code => l_amb_context_code
61058 , p_entity_code => 'AP_PAYMENTS'
61060 , p_side => 'NA'
61061 );
61062
61063 END IF;
61064
61065 --
61066 --
61067 END IF;
61068
61069 --
61070 -- Update the line information that should be overwritten
61071 --
61072 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
61073 p_header_num => 1);
61074 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
61075
61076 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
61077
61078 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
61079 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
61080 END IF;
61081
61082 --
61083 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
61084 --
61085 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
61086 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
61087 ELSE
61088 ---------------------------------------------------------------------------------------------------
61089 -- 4262811a Switch Sign
61090 ---------------------------------------------------------------------------------------------------
61091 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
61092 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
61093 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
61094 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
61095 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
61096 -- 5132302
61097 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
61098 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
61099
61100 END IF;
61101
61102 -- 4955764
61103 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
61104 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
61105
61106
61107 XLA_AE_LINES_PKG.ValidateCurrentLine;
61108 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
61109
61110 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
61111 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
61112 ,p_balance_type_code => l_balance_type_code);
61113
61114 END IF;
61115
61116 -----------------------------------------------------------------------------------------
61117 -- 4262811 Multiperiod Accounting
61118 -----------------------------------------------------------------------------------------
61119 -- No MPA option is assigned.
61120
61121
61122 END IF;
61123 END IF;
61124 --
61125
61126 --
61127 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
61128 trace
61129 (p_msg => 'END of AcctLineType_120'
61130 ,p_level => C_LEVEL_PROCEDURE
61131 ,p_module => l_log_module);
61132 END IF;
61133 --
61134 EXCEPTION
61135 WHEN xla_exceptions_pkg.application_exception THEN
61136 RAISE;
61137 WHEN OTHERS THEN
61138 xla_exceptions_pkg.raise_message
61139 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_120');
61140 END AcctLineType_120;
61141 --
61142
61143 ---------------------------------------
61144 --
61145 -- PRIVATE FUNCTION
61146 -- AcctLineType_121
61147 --
61148 ---------------------------------------
61149 PROCEDURE AcctLineType_121 (
61150 p_application_id IN NUMBER
61151 ,p_event_id IN NUMBER
61152 ,p_calculate_acctd_flag IN VARCHAR2
61153 ,p_calculate_g_l_flag IN VARCHAR2
61154 ,p_actual_flag IN OUT VARCHAR2
61155 ,p_balance_type_code OUT VARCHAR2
61156 ,p_gain_or_loss_ref OUT VARCHAR2
61157
61158 --Payment Currency Code
61159 , p_source_13 IN VARCHAR2
61160 --Automatic Offsets Value
61161 , p_source_15 IN VARCHAR2
61162 , p_source_15_meaning IN VARCHAR2
61163 --Bank Future Dated Payment Account
61164 , p_source_24 IN NUMBER
61165 --Future Dated Payment Account Source Option
61166 , p_source_25 IN VARCHAR2
61167 , p_source_25_meaning IN VARCHAR2
61168 --Financials Options Future Dated Payment Account
61169 , p_source_26 IN NUMBER
61170 --Supplier Site Future Dated Payment Account
61171 , p_source_27 IN NUMBER
61172 --Invoice Distribution Account
61173 , p_source_30 IN NUMBER
61174 --Accounting Reversal Indicator
61175 , p_source_53 IN VARCHAR2
61176 --Distribution Link Type
61177 , p_source_55 IN VARCHAR2
61178 --Override Accounted Amount Indicator
61179 , p_source_80 IN VARCHAR2
61180 , p_source_80_meaning IN VARCHAR2
61181 --Third Party Type
61185 --Invoice Distribution Tax Distribution Identifier from Tax
61182 , p_source_83 IN VARCHAR2
61183 --Invoice Distribution Tax Line Identifier
61184 , p_source_86 IN NUMBER
61186 , p_source_87 IN NUMBER
61187 --Invoice Distribution Summary Tax Line Identifier
61188 , p_source_88 IN NUMBER
61189 --Business Flow Accounts Payable Application Identifier
61190 , p_source_91 IN NUMBER
61191 --Business Flow Invoice Distribution Type
61192 , p_source_92 IN VARCHAR2
61193 --Business Flow Invoice Entity Code
61194 , p_source_93 IN VARCHAR2
61195 --Business Flow Invoice Distribution Identifier
61196 , p_source_94 IN NUMBER
61197 --Business Flow Invoice Identifier
61198 , p_source_95 IN NUMBER
61199 --When to Account for Payment Option
61200 , p_source_97 IN VARCHAR2
61201 --Payment Distribution Type
61202 , p_source_98 IN VARCHAR2
61203 , p_source_98_meaning IN VARCHAR2
61204 --Payment Distribution Amount
61205 , p_source_99 IN NUMBER
61206 --Payment Distribution Identifier
61207 , p_source_104 IN NUMBER
61208 --Payment Supplier Identifier
61209 , p_source_110 IN NUMBER
61210 --Payment Supplier Site Identifier
61211 , p_source_111 IN NUMBER
61212 --Payment Distribution Reversed Identifier
61213 , p_source_112 IN NUMBER
61214 --Payment Maturity Date
61215 , p_source_114 IN DATE
61216 --Payment Distribution (Invoice Rate) Ledger Amount
61217 , p_source_116 IN NUMBER
61218 --Payment Exchange Date
61219 , p_source_117 IN DATE
61220 --Payment Exchange Rate
61221 , p_source_118 IN NUMBER
61222 --Payment Exchange Rate Type
61223 , p_source_119 IN VARCHAR2
61224 --Payment Processing Type
61225 , p_source_123 IN VARCHAR2
61226 --Invoice Distribution Amount of the Payment Distribution
61227 , p_source_124 IN NUMBER
61228 )
61229 IS
61230
61231 l_component_type VARCHAR2(80);
61232 l_component_code VARCHAR2(30);
61233 l_component_type_code VARCHAR2(1);
61234 l_component_appl_id INTEGER;
61235 l_amb_context_code VARCHAR2(30);
61236 l_entity_code VARCHAR2(30);
61237 l_event_class_code VARCHAR2(30);
61238 l_ae_header_id NUMBER;
61239 l_event_type_code VARCHAR2(30);
61240 l_line_definition_code VARCHAR2(30);
61241 l_line_definition_owner_code VARCHAR2(1);
61242 --
61243 -- adr variables
61244 l_segment VARCHAR2(30);
61245 l_ccid NUMBER;
61246 l_adr_transaction_coa_id NUMBER;
61247 l_adr_accounting_coa_id NUMBER;
61248 l_adr_flexfield_segment_code VARCHAR2(30);
61249 l_adr_flex_value_set_id NUMBER;
61250 l_adr_value_type_code VARCHAR2(30);
61251 l_adr_value_combination_id NUMBER;
61252 l_adr_value_segment_code VARCHAR2(30);
61253
61254 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
61255 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
61256 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
61257 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
61258
61259 -- 4262811 Variables ------------------------------------------------------------------------------------------
61260 l_entered_amt_idx NUMBER;
61261 l_accted_amt_idx NUMBER;
61262 l_acc_rev_flag VARCHAR2(1);
61263 l_accrual_line_num NUMBER;
61264 l_tmp_amt NUMBER;
61265 l_acc_rev_natural_side_code VARCHAR2(1);
61266
61267 l_num_entries NUMBER;
61268 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
61269 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
61270 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
61271 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
61272 l_recog_line_1 NUMBER;
61273 l_recog_line_2 NUMBER;
61274
61275 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
61276 l_bflow_applied_to_amt NUMBER; -- 5132302
61277 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
61278
61279 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
61280
61281 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
61282 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
61283
61284 ---------------------------------------------------------------------------------------------------------------
61285
61286
61287 --
61288 -- bulk performance
61289 --
61290 l_balance_type_code VARCHAR2(1);
61291 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
61292 l_log_module VARCHAR2(240);
61293
61294 --
61295 -- Upgrade strategy
61296 --
61297 l_actual_upg_option VARCHAR2(1);
61298 l_enc_upg_option VARCHAR2(1);
61299
61300 --
61301 BEGIN
61302 --
61303 IF g_log_enabled THEN
61304 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_121';
61305 END IF;
61306 --
61307 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
61308
61309 trace
61310 (p_msg => 'BEGIN of AcctLineType_121'
61314 END IF;
61311 ,p_level => C_LEVEL_PROCEDURE
61312 ,p_module => l_log_module);
61313
61315 --
61316 l_component_type := 'AMB_JLT';
61317 l_component_code := 'AP_FUTURE_DATED_PMT_INVXRATE';
61318 l_component_type_code := 'S';
61319 l_component_appl_id := 200;
61320 l_amb_context_code := 'DEFAULT';
61321 l_entity_code := 'AP_PAYMENTS';
61322 l_event_class_code := 'PAYMENTS';
61323 l_event_type_code := 'PAYMENTS_ALL';
61324 l_line_definition_owner_code := 'S';
61325 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
61326 --
61327 l_balance_type_code := 'A';
61328 l_segment := NULL;
61329 l_ccid := NULL;
61330 l_adr_transaction_coa_id := NULL;
61331 l_adr_accounting_coa_id := NULL;
61332 l_adr_flexfield_segment_code := NULL;
61333 l_adr_flex_value_set_id := NULL;
61334 l_adr_value_type_code := NULL;
61335 l_adr_value_combination_id := NULL;
61336 l_adr_value_segment_code := NULL;
61337
61338 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
61339 l_bflow_class_code := 'AP_FUTURE_DTD_PMT'; -- 4219869 Business Flow
61340 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
61341 l_budgetary_control_flag := 'N';
61342
61343 l_bflow_applied_to_amt_idx := NULL; -- 5132302
61344 l_bflow_applied_to_amt := NULL; -- 5132302
61345 l_entered_amt_idx := NULL; -- 4262811
61346 l_accted_amt_idx := NULL; -- 4262811
61347 l_acc_rev_flag := NULL; -- 4262811
61348 l_accrual_line_num := NULL; -- 4262811
61349 l_tmp_amt := NULL; -- 4262811
61350 --
61351
61352 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
61353 l_balance_type_code <> 'B' THEN
61354 IF NVL(p_source_97,'
61355 ') = 'ALWAYS_CLEAR' AND
61356 NVL(p_source_98,'
61357 ') = 'CASH' AND
61358 p_source_114 IS NOT NULL AND
61359 NVL(p_source_123,'
61360 ') <> 'PAYMENTCARD'
61361 THEN
61362
61363 --
61364 XLA_AE_LINES_PKG.SetNewLine;
61365
61366 p_balance_type_code := l_balance_type_code;
61367 -- set the flag so later we will know whether the gain loss line needs to be created
61368
61369 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
61370 p_actual_flag :='A';
61371 END IF;
61372
61373 --
61374 -- bulk performance
61375 --
61376 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
61377 p_header_num => 0); -- 4262811
61378 --
61379 -- set accounting line options
61380 --
61381 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
61382 p_natural_side_code => 'C'
61383 , p_gain_or_loss_flag => 'N'
61384 , p_gl_transfer_mode_code => 'S'
61385 , p_acct_entry_type_code => 'A'
61386 , p_switch_side_flag => 'Y'
61387 , p_merge_duplicate_code => 'A'
61388 );
61389 --
61390 l_acc_rev_natural_side_code := 'D'; -- 4262811
61391 --
61392 --
61393 -- set accounting line type info
61394 --
61395 xla_ae_lines_pkg.SetAcctLineType
61396 (p_component_type => l_component_type
61397 ,p_event_type_code => l_event_type_code
61398 ,p_line_definition_owner_code => l_line_definition_owner_code
61399 ,p_line_definition_code => l_line_definition_code
61400 ,p_accounting_line_code => l_component_code
61401 ,p_accounting_line_type_code => l_component_type_code
61402 ,p_accounting_line_appl_id => l_component_appl_id
61403 ,p_amb_context_code => l_amb_context_code
61404 ,p_entity_code => l_entity_code
61405 ,p_event_class_code => l_event_class_code);
61406 --
61407 -- set accounting class
61408 --
61409 xla_ae_lines_pkg.SetAcctClass(
61410 p_accounting_class_code => 'FUTURE_DATED_PMT'
61411 , p_ae_header_id => l_ae_header_id
61412 );
61413
61414 --
61415 -- set rounding class
61416 --
61417 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
61418 'FUTURE_DATED_PMT';
61419
61420 --
61421 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
61422 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
61423 --
61424 -- bulk performance
61425 --
61426 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
61427
61428 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
61429 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
61430
61431 -- 4955764
61432 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
61433 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
61434
61435 -- 4458381 Public Sector Enh
61436
61437 --
61438 -- set accounting attributes for the line type
61439 --
61440 l_entered_amt_idx := 10;
61441 l_accted_amt_idx := 15;
61445 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
61442 l_bflow_applied_to_amt_idx := 2; -- 5132302
61443 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
61444 l_rec_acct_attrs.array_char_value(1) := p_source_53;
61446 l_rec_acct_attrs.array_num_value(2) := p_source_124;
61447 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
61448 l_rec_acct_attrs.array_num_value(3) := p_source_91;
61449 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
61450 l_rec_acct_attrs.array_char_value(4) := p_source_92;
61451 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
61452 l_rec_acct_attrs.array_char_value(5) := p_source_93;
61453 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
61454 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
61455 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
61456 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
61457 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
61458 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
61459 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
61460 l_rec_acct_attrs.array_char_value(9) := p_source_55;
61461 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
61462 l_rec_acct_attrs.array_num_value(10) := p_source_99;
61463 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
61464 l_rec_acct_attrs.array_char_value(11) := p_source_13;
61465 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
61466 l_rec_acct_attrs.array_date_value(12) := p_source_117;
61467 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
61468 l_rec_acct_attrs.array_num_value(13) := p_source_118;
61469 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
61470 l_rec_acct_attrs.array_char_value(14) := p_source_119;
61471 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
61472 l_rec_acct_attrs.array_num_value(15) := p_source_116;
61473 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
61474 l_rec_acct_attrs.array_char_value(16) := p_source_80;
61475 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
61476 l_rec_acct_attrs.array_num_value(17) := p_source_110;
61477 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
61478 l_rec_acct_attrs.array_num_value(18) := p_source_111;
61479 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
61480 l_rec_acct_attrs.array_char_value(19) := p_source_83;
61481 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
61482 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
61483 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
61484 l_rec_acct_attrs.array_char_value(21) := p_source_55;
61485 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
61486 l_rec_acct_attrs.array_num_value(22) := p_source_86;
61487 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
61488 l_rec_acct_attrs.array_num_value(23) := p_source_87;
61489 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
61490 l_rec_acct_attrs.array_num_value(24) := p_source_88;
61491
61492 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
61493 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
61494
61495 ---------------------------------------------------------------------------------------------------------------
61496 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
61497 ---------------------------------------------------------------------------------------------------------------
61498 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
61499
61500 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
61501 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
61502
61503 IF xla_accounting_cache_pkg.GetValueChar
61504 (p_source_code => 'LEDGER_CATEGORY_CODE'
61505 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
61506 AND l_bflow_method_code = 'PRIOR_ENTRY'
61507 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
61508 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
61509 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
61510 )
61511 THEN
61512 xla_ae_lines_pkg.BflowUpgEntry
61513 (p_business_method_code => l_bflow_method_code
61514 ,p_business_class_code => l_bflow_class_code
61515 ,p_balance_type => l_balance_type_code);
61516 ELSE
61517 NULL;
61518 -- No business flow processing for business flow method of NONE.
61519 END IF;
61520
61521 --
61522 -- call analytical criteria
61523 --
61524
61525 --
61526 -- call description
61527 --
61528 -- No description or it is inherited.
61529 --
61530 -- call ADRs
61531 -- Bug 4922099
61532 --
61533 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
61534 (NVL(l_actual_upg_option, 'N') = 'O') OR
61535 (NVL(l_enc_upg_option, 'N') = 'O')
61536 )
61537 THEN
61538 NULL;
61542 l_ccid := AcctDerRule_31(
61539 --
61540 --
61541
61543 p_application_id => p_application_id
61544 , p_ae_header_id => l_ae_header_id
61545 , p_source_15 => p_source_15
61546 , p_source_15_meaning => p_source_15_meaning
61547 , p_source_24 => p_source_24
61548 , p_source_25 => p_source_25
61549 , p_source_25_meaning => p_source_25_meaning
61550 , p_source_26 => p_source_26
61551 , p_source_27 => p_source_27
61552 , p_source_30 => p_source_30
61553 , x_transaction_coa_id => l_adr_transaction_coa_id
61554 , x_accounting_coa_id => l_adr_accounting_coa_id
61555 , x_value_type_code => l_adr_value_type_code
61556 , p_side => 'NA'
61557 );
61558
61559 xla_ae_lines_pkg.set_ccid(
61560 p_code_combination_id => l_ccid
61561 , p_value_type_code => l_adr_value_type_code
61562 , p_transaction_coa_id => l_adr_transaction_coa_id
61563 , p_accounting_coa_id => l_adr_accounting_coa_id
61564 , p_adr_code => 'AP_FUTURE_DATED_PMT'
61565 , p_adr_type_code => 'S'
61566 , p_component_type => l_component_type
61567 , p_component_code => l_component_code
61568 , p_component_type_code => l_component_type_code
61569 , p_component_appl_id => l_component_appl_id
61570 , p_amb_context_code => l_amb_context_code
61571 , p_side => 'NA'
61572 );
61573
61574
61575 l_segment := AcctDerRule_11(
61576 p_application_id => p_application_id
61577 , p_ae_header_id => l_ae_header_id
61578 , p_source_15 => p_source_15
61579 , p_source_15_meaning => p_source_15_meaning
61580 , p_source_24 => p_source_24
61581 , p_source_25 => p_source_25
61582 , p_source_25_meaning => p_source_25_meaning
61583 , p_source_26 => p_source_26
61584 , p_source_27 => p_source_27
61585 , x_transaction_coa_id => l_adr_transaction_coa_id
61586 , x_accounting_coa_id => l_adr_accounting_coa_id
61587 , x_flexfield_segment_code => l_adr_flexfield_segment_code
61588 , x_flex_value_set_id => l_adr_flex_value_set_id
61589 , x_value_type_code => l_adr_value_type_code
61590 , x_value_combination_id => l_adr_value_combination_id
61591 , x_value_segment_code => l_adr_value_segment_code
61592 , p_side => 'NA'
61593 , p_override_seg_flag => 'Y'
61594 );
61595
61596 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
61597
61598 xla_ae_lines_pkg.set_segment(
61599 p_to_segment_code => 'GL_ACCOUNT'
61600 , p_segment_value => l_segment
61601 , p_from_segment_code => l_adr_value_segment_code
61602 , p_from_combination_id => l_adr_value_combination_id
61603 , p_value_type_code => l_adr_value_type_code
61604 , p_transaction_coa_id => l_adr_transaction_coa_id
61605 , p_accounting_coa_id => l_adr_accounting_coa_id
61606 , p_flexfield_segment_code => l_adr_flexfield_segment_code
61607 , p_flex_value_set_id => l_adr_flex_value_set_id
61608 , p_adr_code => 'AP_FUTURE_DTD_PMT_NAT_ACCT_SEG'
61609 , p_adr_type_code => 'S'
61610 , p_component_type => l_component_type
61611 , p_component_code => l_component_code
61612 , p_component_type_code => l_component_type_code
61613 , p_component_appl_id => l_component_appl_id
61614 , p_amb_context_code => l_amb_context_code
61615 , p_entity_code => 'AP_PAYMENTS'
61616 , p_event_class_code => 'PAYMENTS'
61617 , p_side => 'NA'
61618 );
61619
61620 END IF;
61621
61622 l_segment := AcctDerRule_22(
61623 p_application_id => p_application_id
61624 , p_ae_header_id => l_ae_header_id
61625 , p_source_15 => p_source_15
61626 , p_source_15_meaning => p_source_15_meaning
61627 , p_source_30 => p_source_30
61628 , x_transaction_coa_id => l_adr_transaction_coa_id
61629 , x_accounting_coa_id => l_adr_accounting_coa_id
61630 , x_flexfield_segment_code => l_adr_flexfield_segment_code
61631 , x_flex_value_set_id => l_adr_flex_value_set_id
61632 , x_value_type_code => l_adr_value_type_code
61633 , x_value_combination_id => l_adr_value_combination_id
61634 , x_value_segment_code => l_adr_value_segment_code
61635 , p_side => 'NA'
61636 , p_override_seg_flag => 'Y'
61637 );
61638
61639 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
61640
61641 xla_ae_lines_pkg.set_segment(
61642 p_to_segment_code => 'GL_BALANCING'
61643 , p_segment_value => l_segment
61644 , p_from_segment_code => l_adr_value_segment_code
61645 , p_from_combination_id => l_adr_value_combination_id
61646 , p_value_type_code => l_adr_value_type_code
61647 , p_transaction_coa_id => l_adr_transaction_coa_id
61648 , p_accounting_coa_id => l_adr_accounting_coa_id
61649 , p_flexfield_segment_code => l_adr_flexfield_segment_code
61653 , p_component_type => l_component_type
61650 , p_flex_value_set_id => l_adr_flex_value_set_id
61651 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
61652 , p_adr_type_code => 'S'
61654 , p_component_code => l_component_code
61655 , p_component_type_code => l_component_type_code
61656 , p_component_appl_id => l_component_appl_id
61657 , p_amb_context_code => l_amb_context_code
61658 , p_entity_code => 'AP_PAYMENTS'
61659 , p_event_class_code => 'PAYMENTS'
61660 , p_side => 'NA'
61661 );
61662
61663 END IF;
61664
61665 --
61666 --
61667 END IF;
61668 --
61669 -- Bug 4922099
61670 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
61671 (NVL(l_enc_upg_option, 'N') = 'O')
61672 ) AND
61673 (l_bflow_method_code = 'PRIOR_ENTRY')
61674 )
61675 THEN
61676 IF
61677 --
61678 1 = 2
61679 --
61680 THEN
61681 xla_accounting_err_pkg.build_message
61682 (p_appli_s_name => 'XLA'
61683 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
61684 ,p_token_1 => 'LINE_NUMBER'
61685 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
61686 ,p_token_2 => 'LINE_TYPE_NAME'
61687 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
61688 l_component_type
61689 ,l_component_code
61690 ,l_component_type_code
61691 ,l_component_appl_id
61692 ,l_amb_context_code
61693 ,l_entity_code
61694 ,l_event_class_code
61695 )
61696 ,p_token_3 => 'OWNER'
61697 ,p_value_3 => xla_lookups_pkg.get_meaning(
61698 p_lookup_type => 'XLA_OWNER_TYPE'
61699 ,p_lookup_code => l_component_type_code
61700 )
61701 ,p_token_4 => 'PRODUCT_NAME'
61702 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
61703 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
61704 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
61705 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
61706 ,p_ae_header_id => NULL
61707 );
61708
61709 IF (C_LEVEL_ERROR>= g_log_level) THEN
61710 trace
61711 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
61712 ,p_level => C_LEVEL_ERROR
61713 ,p_module => l_log_module);
61714 END IF;
61715 END IF;
61716 END IF;
61717 --
61718 --
61719 ------------------------------------------------------------------------------------------------
61720 -- 4219869 Business Flow
61721 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
61722 -- Prior Entry. Currently, the following code is always generated.
61723 ------------------------------------------------------------------------------------------------
61724 XLA_AE_LINES_PKG.ValidateCurrentLine;
61725
61726 ------------------------------------------------------------------------------------
61727 -- 4219869 Business Flow
61728 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
61729 ------------------------------------------------------------------------------------
61730 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
61731
61732 ----------------------------------------------------------------------------------
61733 -- 4219869 Business Flow
61734 -- Update journal entry status -- Need to generate this within IF <condition>
61735 ----------------------------------------------------------------------------------
61736 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
61737 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
61738 ,p_balance_type_code => l_balance_type_code
61739 );
61740
61741 -------------------------------------------------------------------------------------------
61742 -- 4262811 - Generate the Accrual Reversal lines
61743 -------------------------------------------------------------------------------------------
61744 BEGIN
61745 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
61749 END IF;
61746 (g_array_event(p_event_id).array_value_num('header_index'));
61747 IF l_acc_rev_flag IS NULL THEN
61748 l_acc_rev_flag := 'N';
61750 EXCEPTION
61751 WHEN OTHERS THEN
61752 l_acc_rev_flag := 'N';
61753 END;
61754 --
61755 IF (l_acc_rev_flag = 'Y') THEN
61756
61757 -- 4645092 ------------------------------------------------------------------------------
61758 -- To allow MPA report to determine if it should generate report process
61759 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
61760 ------------------------------------------------------------------------------------------
61761
61762 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
61763 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
61764 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
61765 -- call ADRs
61766 -- Bug 4922099
61767 --
61768 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
61769 (NVL(l_actual_upg_option, 'N') = 'O') OR
61770 (NVL(l_enc_upg_option, 'N') = 'O')
61771 )
61772 THEN
61773 NULL;
61774 --
61775 --
61776
61777 l_ccid := AcctDerRule_31(
61778 p_application_id => p_application_id
61779 , p_ae_header_id => l_ae_header_id
61780 , p_source_15 => p_source_15
61781 , p_source_15_meaning => p_source_15_meaning
61782 , p_source_24 => p_source_24
61783 , p_source_25 => p_source_25
61784 , p_source_25_meaning => p_source_25_meaning
61785 , p_source_26 => p_source_26
61786 , p_source_27 => p_source_27
61787 , p_source_30 => p_source_30
61788 , x_transaction_coa_id => l_adr_transaction_coa_id
61789 , x_accounting_coa_id => l_adr_accounting_coa_id
61790 , x_value_type_code => l_adr_value_type_code
61791 , p_side => 'NA'
61792 );
61793
61794 xla_ae_lines_pkg.set_ccid(
61795 p_code_combination_id => l_ccid
61796 , p_value_type_code => l_adr_value_type_code
61797 , p_transaction_coa_id => l_adr_transaction_coa_id
61798 , p_accounting_coa_id => l_adr_accounting_coa_id
61799 , p_adr_code => 'AP_FUTURE_DATED_PMT'
61800 , p_adr_type_code => 'S'
61801 , p_component_type => l_component_type
61802 , p_component_code => l_component_code
61803 , p_component_type_code => l_component_type_code
61804 , p_component_appl_id => l_component_appl_id
61805 , p_amb_context_code => l_amb_context_code
61806 , p_side => 'NA'
61807 );
61808
61809
61810 l_segment := AcctDerRule_11(
61811 p_application_id => p_application_id
61812 , p_ae_header_id => l_ae_header_id
61813 , p_source_15 => p_source_15
61814 , p_source_15_meaning => p_source_15_meaning
61815 , p_source_24 => p_source_24
61816 , p_source_25 => p_source_25
61817 , p_source_25_meaning => p_source_25_meaning
61818 , p_source_26 => p_source_26
61819 , p_source_27 => p_source_27
61820 , x_transaction_coa_id => l_adr_transaction_coa_id
61821 , x_accounting_coa_id => l_adr_accounting_coa_id
61822 , x_flexfield_segment_code => l_adr_flexfield_segment_code
61823 , x_flex_value_set_id => l_adr_flex_value_set_id
61824 , x_value_type_code => l_adr_value_type_code
61825 , x_value_combination_id => l_adr_value_combination_id
61826 , x_value_segment_code => l_adr_value_segment_code
61827 , p_side => 'NA'
61828 , p_override_seg_flag => 'Y'
61829 );
61830
61831 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
61832
61833 xla_ae_lines_pkg.set_segment(
61834 p_to_segment_code => 'GL_ACCOUNT'
61835 , p_segment_value => l_segment
61836 , p_from_segment_code => l_adr_value_segment_code
61837 , p_from_combination_id => l_adr_value_combination_id
61838 , p_value_type_code => l_adr_value_type_code
61839 , p_transaction_coa_id => l_adr_transaction_coa_id
61840 , p_accounting_coa_id => l_adr_accounting_coa_id
61841 , p_flexfield_segment_code => l_adr_flexfield_segment_code
61842 , p_flex_value_set_id => l_adr_flex_value_set_id
61843 , p_adr_code => 'AP_FUTURE_DTD_PMT_NAT_ACCT_SEG'
61844 , p_adr_type_code => 'S'
61845 , p_component_type => l_component_type
61846 , p_component_code => l_component_code
61847 , p_component_type_code => l_component_type_code
61848 , p_component_appl_id => l_component_appl_id
61849 , p_amb_context_code => l_amb_context_code
61850 , p_entity_code => 'AP_PAYMENTS'
61851 , p_event_class_code => 'PAYMENTS'
61852 , p_side => 'NA'
61853 );
61854
61855 END IF;
61856
61857 l_segment := AcctDerRule_22(
61858 p_application_id => p_application_id
61859 , p_ae_header_id => l_ae_header_id
61860 , p_source_15 => p_source_15
61861 , p_source_15_meaning => p_source_15_meaning
61862 , p_source_30 => p_source_30
61863 , x_transaction_coa_id => l_adr_transaction_coa_id
61867 , x_value_type_code => l_adr_value_type_code
61864 , x_accounting_coa_id => l_adr_accounting_coa_id
61865 , x_flexfield_segment_code => l_adr_flexfield_segment_code
61866 , x_flex_value_set_id => l_adr_flex_value_set_id
61868 , x_value_combination_id => l_adr_value_combination_id
61869 , x_value_segment_code => l_adr_value_segment_code
61870 , p_side => 'NA'
61871 , p_override_seg_flag => 'Y'
61872 );
61873
61874 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
61875
61876 xla_ae_lines_pkg.set_segment(
61877 p_to_segment_code => 'GL_BALANCING'
61878 , p_segment_value => l_segment
61879 , p_from_segment_code => l_adr_value_segment_code
61880 , p_from_combination_id => l_adr_value_combination_id
61881 , p_value_type_code => l_adr_value_type_code
61882 , p_transaction_coa_id => l_adr_transaction_coa_id
61883 , p_accounting_coa_id => l_adr_accounting_coa_id
61884 , p_flexfield_segment_code => l_adr_flexfield_segment_code
61885 , p_flex_value_set_id => l_adr_flex_value_set_id
61886 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
61887 , p_adr_type_code => 'S'
61888 , p_component_type => l_component_type
61889 , p_component_code => l_component_code
61890 , p_component_type_code => l_component_type_code
61891 , p_component_appl_id => l_component_appl_id
61892 , p_amb_context_code => l_amb_context_code
61893 , p_entity_code => 'AP_PAYMENTS'
61894 , p_event_class_code => 'PAYMENTS'
61895 , p_side => 'NA'
61896 );
61897
61898 END IF;
61899
61900 --
61901 --
61902 END IF;
61903
61904 --
61905 -- Update the line information that should be overwritten
61906 --
61907 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
61908 p_header_num => 1);
61909 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
61910
61911 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
61912
61913 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
61914 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
61915 END IF;
61916
61917 --
61918 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
61919 --
61920 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
61921 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
61922 ELSE
61923 ---------------------------------------------------------------------------------------------------
61924 -- 4262811a Switch Sign
61925 ---------------------------------------------------------------------------------------------------
61926 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
61927 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
61928 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
61929 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
61930 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
61931 -- 5132302
61932 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
61933 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
61934
61935 END IF;
61936
61937 -- 4955764
61938 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
61939 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
61940
61941
61942 XLA_AE_LINES_PKG.ValidateCurrentLine;
61943 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
61944
61945 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
61946 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
61947 ,p_balance_type_code => l_balance_type_code);
61948
61949 END IF;
61950
61951 -----------------------------------------------------------------------------------------
61952 -- 4262811 Multiperiod Accounting
61953 -----------------------------------------------------------------------------------------
61954 -- No MPA option is assigned.
61955
61956
61957 END IF;
61958 END IF;
61959 --
61960
61961 --
61962 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
61963 trace
61964 (p_msg => 'END of AcctLineType_121'
61965 ,p_level => C_LEVEL_PROCEDURE
61966 ,p_module => l_log_module);
61967 END IF;
61968 --
61969 EXCEPTION
61970 WHEN xla_exceptions_pkg.application_exception THEN
61971 RAISE;
61972 WHEN OTHERS THEN
61973 xla_exceptions_pkg.raise_message
61974 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_121');
61975 END AcctLineType_121;
61976 --
61977
61978 ---------------------------------------
61979 --
61983 ---------------------------------------
61980 -- PRIVATE FUNCTION
61981 -- AcctLineType_122
61982 --
61984 PROCEDURE AcctLineType_122 (
61985 p_application_id IN NUMBER
61986 ,p_event_id IN NUMBER
61987 ,p_calculate_acctd_flag IN VARCHAR2
61988 ,p_calculate_g_l_flag IN VARCHAR2
61989 ,p_actual_flag IN OUT VARCHAR2
61990 ,p_balance_type_code OUT VARCHAR2
61991 ,p_gain_or_loss_ref OUT VARCHAR2
61992
61993 --Payment Currency Code
61994 , p_source_13 IN VARCHAR2
61995 --Accounting Reversal Indicator
61996 , p_source_53 IN VARCHAR2
61997 --Distribution Link Type
61998 , p_source_55 IN VARCHAR2
61999 --Override Accounted Amount Indicator
62000 , p_source_80 IN VARCHAR2
62001 , p_source_80_meaning IN VARCHAR2
62002 --Third Party Type
62003 , p_source_83 IN VARCHAR2
62004 --Business Flow Accounts Payable Application Identifier
62005 , p_source_91 IN NUMBER
62006 --When to Account for Payment Option
62007 , p_source_97 IN VARCHAR2
62008 --Payment Distribution Type
62009 , p_source_98 IN VARCHAR2
62010 , p_source_98_meaning IN VARCHAR2
62011 --Payment Distribution Amount
62012 , p_source_99 IN NUMBER
62013 --Business Flow Payment Distribution Type
62014 , p_source_100 IN VARCHAR2
62015 --Business Flow Payment Entity Code
62016 , p_source_101 IN VARCHAR2
62017 --Business Flow Payment Distribution Identifier
62018 , p_source_102 IN NUMBER
62019 --Business Flow Payment Identifier
62020 , p_source_103 IN NUMBER
62021 --Payment Distribution Identifier
62022 , p_source_104 IN NUMBER
62023 --Payment Distribution Reversed Identifier
62024 , p_source_112 IN NUMBER
62025 --Payment Maturity Date
62026 , p_source_114 IN DATE
62027 --Payment Distribution (Payment Rate) Ledger Amount
62028 , p_source_115 IN NUMBER
62029 )
62030 IS
62031
62032 l_component_type VARCHAR2(80);
62033 l_component_code VARCHAR2(30);
62034 l_component_type_code VARCHAR2(1);
62035 l_component_appl_id INTEGER;
62036 l_amb_context_code VARCHAR2(30);
62037 l_entity_code VARCHAR2(30);
62038 l_event_class_code VARCHAR2(30);
62039 l_ae_header_id NUMBER;
62040 l_event_type_code VARCHAR2(30);
62041 l_line_definition_code VARCHAR2(30);
62042 l_line_definition_owner_code VARCHAR2(1);
62043 --
62044 -- adr variables
62045 l_segment VARCHAR2(30);
62046 l_ccid NUMBER;
62047 l_adr_transaction_coa_id NUMBER;
62048 l_adr_accounting_coa_id NUMBER;
62049 l_adr_flexfield_segment_code VARCHAR2(30);
62050 l_adr_flex_value_set_id NUMBER;
62051 l_adr_value_type_code VARCHAR2(30);
62052 l_adr_value_combination_id NUMBER;
62053 l_adr_value_segment_code VARCHAR2(30);
62054
62055 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
62056 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
62057 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
62058 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
62059
62060 -- 4262811 Variables ------------------------------------------------------------------------------------------
62061 l_entered_amt_idx NUMBER;
62062 l_accted_amt_idx NUMBER;
62063 l_acc_rev_flag VARCHAR2(1);
62064 l_accrual_line_num NUMBER;
62065 l_tmp_amt NUMBER;
62066 l_acc_rev_natural_side_code VARCHAR2(1);
62067
62068 l_num_entries NUMBER;
62069 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
62070 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
62071 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
62072 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
62073 l_recog_line_1 NUMBER;
62074 l_recog_line_2 NUMBER;
62075
62076 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
62077 l_bflow_applied_to_amt NUMBER; -- 5132302
62078 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
62079
62080 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
62081
62082 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
62083 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
62084
62085 ---------------------------------------------------------------------------------------------------------------
62086
62087
62088 --
62089 -- bulk performance
62090 --
62091 l_balance_type_code VARCHAR2(1);
62092 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
62093 l_log_module VARCHAR2(240);
62094
62095 --
62096 -- Upgrade strategy
62097 --
62098 l_actual_upg_option VARCHAR2(1);
62099 l_enc_upg_option VARCHAR2(1);
62100
62101 --
62102 BEGIN
62103 --
62104 IF g_log_enabled THEN
62105 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_122';
62106 END IF;
62107 --
62108 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
62109
62110 trace
62114
62111 (p_msg => 'BEGIN of AcctLineType_122'
62112 ,p_level => C_LEVEL_PROCEDURE
62113 ,p_module => l_log_module);
62115 END IF;
62116 --
62117 l_component_type := 'AMB_JLT';
62118 l_component_code := 'AP_FUTURE_DATED_PMT_MAT';
62119 l_component_type_code := 'S';
62120 l_component_appl_id := 200;
62121 l_amb_context_code := 'DEFAULT';
62122 l_entity_code := 'AP_PAYMENTS';
62123 l_event_class_code := 'FUTURE DATED PAYMENTS';
62124 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
62125 l_line_definition_owner_code := 'S';
62126 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
62127 --
62128 l_balance_type_code := 'A';
62129 l_segment := NULL;
62130 l_ccid := NULL;
62131 l_adr_transaction_coa_id := NULL;
62132 l_adr_accounting_coa_id := NULL;
62133 l_adr_flexfield_segment_code := NULL;
62134 l_adr_flex_value_set_id := NULL;
62135 l_adr_value_type_code := NULL;
62136 l_adr_value_combination_id := NULL;
62137 l_adr_value_segment_code := NULL;
62138
62139 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
62140 l_bflow_class_code := 'AP_FUTURE_DTD_PMT'; -- 4219869 Business Flow
62141 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
62142 l_budgetary_control_flag := 'N';
62143
62144 l_bflow_applied_to_amt_idx := NULL; -- 5132302
62145 l_bflow_applied_to_amt := NULL; -- 5132302
62146 l_entered_amt_idx := NULL; -- 4262811
62147 l_accted_amt_idx := NULL; -- 4262811
62148 l_acc_rev_flag := NULL; -- 4262811
62149 l_accrual_line_num := NULL; -- 4262811
62150 l_tmp_amt := NULL; -- 4262811
62151 --
62152
62153 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
62154 l_balance_type_code <> 'B' THEN
62155 IF NVL(p_source_97,'
62156 ') <> 'CLEAR_CLEAR' AND
62157 p_source_114 IS NOT NULL AND
62158 (NVL(p_source_98,'
62159 ') = 'CASH' OR
62160 NVL(p_source_98,'
62161 ') = 'ROUNDING')
62162 THEN
62163
62164 --
62165 XLA_AE_LINES_PKG.SetNewLine;
62166
62167 p_balance_type_code := l_balance_type_code;
62168 -- set the flag so later we will know whether the gain loss line needs to be created
62169
62170 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
62171 p_actual_flag :='A';
62172 END IF;
62173
62174 --
62175 -- bulk performance
62176 --
62177 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
62178 p_header_num => 0); -- 4262811
62179 --
62180 -- set accounting line options
62181 --
62182 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
62183 p_natural_side_code => 'D'
62184 , p_gain_or_loss_flag => 'N'
62185 , p_gl_transfer_mode_code => 'S'
62186 , p_acct_entry_type_code => 'A'
62187 , p_switch_side_flag => 'Y'
62188 , p_merge_duplicate_code => 'A'
62189 );
62190 --
62191 l_acc_rev_natural_side_code := 'C'; -- 4262811
62192 --
62193 --
62194 -- set accounting line type info
62195 --
62196 xla_ae_lines_pkg.SetAcctLineType
62197 (p_component_type => l_component_type
62198 ,p_event_type_code => l_event_type_code
62199 ,p_line_definition_owner_code => l_line_definition_owner_code
62200 ,p_line_definition_code => l_line_definition_code
62201 ,p_accounting_line_code => l_component_code
62202 ,p_accounting_line_type_code => l_component_type_code
62203 ,p_accounting_line_appl_id => l_component_appl_id
62204 ,p_amb_context_code => l_amb_context_code
62205 ,p_entity_code => l_entity_code
62206 ,p_event_class_code => l_event_class_code);
62207 --
62208 -- set accounting class
62209 --
62210 xla_ae_lines_pkg.SetAcctClass(
62211 p_accounting_class_code => 'FUTURE_DATED_PMT'
62212 , p_ae_header_id => l_ae_header_id
62213 );
62214
62215 --
62216 -- set rounding class
62217 --
62218 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
62219 'FUTURE_DATED_PMT';
62220
62221 --
62222 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
62223 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
62224 --
62225 -- bulk performance
62226 --
62227 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
62228
62229 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
62230 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
62231
62232 -- 4955764
62233 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
62234 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
62235
62236 -- 4458381 Public Sector Enh
62237
62238 --
62242 l_accted_amt_idx := 11;
62239 -- set accounting attributes for the line type
62240 --
62241 l_entered_amt_idx := 9;
62243 l_bflow_applied_to_amt_idx := NULL; -- 5132302
62244 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
62245 l_rec_acct_attrs.array_char_value(1) := p_source_53;
62246 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
62247 l_rec_acct_attrs.array_num_value(2) := p_source_91;
62248 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
62249 l_rec_acct_attrs.array_char_value(3) := p_source_100;
62250 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
62251 l_rec_acct_attrs.array_char_value(4) := p_source_101;
62252 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
62253 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_102);
62254 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
62255 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_103);
62256 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
62257 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
62258 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
62259 l_rec_acct_attrs.array_char_value(8) := p_source_55;
62260 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
62261 l_rec_acct_attrs.array_num_value(9) := p_source_99;
62262 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
62263 l_rec_acct_attrs.array_char_value(10) := p_source_13;
62264 l_rec_acct_attrs.array_acct_attr_code(11) := 'LEDGER_AMOUNT';
62265 l_rec_acct_attrs.array_num_value(11) := p_source_115;
62266 l_rec_acct_attrs.array_acct_attr_code(12) := 'OVERRIDE_ACCTD_AMT_FLAG';
62267 l_rec_acct_attrs.array_char_value(12) := p_source_80;
62268 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_TYPE';
62269 l_rec_acct_attrs.array_char_value(13) := p_source_83;
62270 l_rec_acct_attrs.array_acct_attr_code(14) := 'REVERSED_DISTRIBUTION_ID1';
62271 l_rec_acct_attrs.array_num_value(14) := to_char(p_source_112);
62272 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_TYPE';
62273 l_rec_acct_attrs.array_char_value(15) := p_source_55;
62274
62275 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
62276 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
62277
62278 ---------------------------------------------------------------------------------------------------------------
62279 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
62280 ---------------------------------------------------------------------------------------------------------------
62281 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
62282
62283 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
62284 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
62285
62286 IF xla_accounting_cache_pkg.GetValueChar
62287 (p_source_code => 'LEDGER_CATEGORY_CODE'
62288 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
62289 AND l_bflow_method_code = 'PRIOR_ENTRY'
62290 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
62291 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
62292 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
62293 )
62294 THEN
62295 xla_ae_lines_pkg.BflowUpgEntry
62296 (p_business_method_code => l_bflow_method_code
62297 ,p_business_class_code => l_bflow_class_code
62298 ,p_balance_type => l_balance_type_code);
62299 ELSE
62300 NULL;
62301 XLA_AE_LINES_PKG.business_flow_validation(
62302 p_business_method_code => l_bflow_method_code
62303 ,p_business_class_code => l_bflow_class_code
62304 ,p_inherit_description_flag => l_inherit_desc_flag);
62305 END IF;
62306
62307 --
62308 -- call analytical criteria
62309 --
62310 -- Inherited Analytical Criteria for business flow method of Prior Entry.
62311 --
62312 -- call description
62313 --
62314 -- No description or it is inherited.
62315 --
62316 -- call ADRs
62317 -- Bug 4922099
62318 --
62319 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
62320 (NVL(l_actual_upg_option, 'N') = 'O') OR
62321 (NVL(l_enc_upg_option, 'N') = 'O')
62322 )
62323 THEN
62324 NULL;
62325 --
62326 --
62327
62328 --
62329 --
62330 END IF;
62331 --
62332 -- Bug 4922099
62333 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
62334 (NVL(l_enc_upg_option, 'N') = 'O')
62335 ) AND
62336 (l_bflow_method_code = 'PRIOR_ENTRY')
62337 )
62338 THEN
62339 IF
62340 --
62341 1 = 1
62342 --
62343 THEN
62344 xla_accounting_err_pkg.build_message
62345 (p_appli_s_name => 'XLA'
62346 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
62350 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
62347 ,p_token_1 => 'LINE_NUMBER'
62348 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
62349 ,p_token_2 => 'LINE_TYPE_NAME'
62351 l_component_type
62352 ,l_component_code
62353 ,l_component_type_code
62354 ,l_component_appl_id
62355 ,l_amb_context_code
62356 ,l_entity_code
62357 ,l_event_class_code
62358 )
62359 ,p_token_3 => 'OWNER'
62360 ,p_value_3 => xla_lookups_pkg.get_meaning(
62361 p_lookup_type => 'XLA_OWNER_TYPE'
62362 ,p_lookup_code => l_component_type_code
62363 )
62364 ,p_token_4 => 'PRODUCT_NAME'
62365 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
62366 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
62367 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
62368 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
62369 ,p_ae_header_id => NULL
62370 );
62371
62372 IF (C_LEVEL_ERROR>= g_log_level) THEN
62373 trace
62374 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
62375 ,p_level => C_LEVEL_ERROR
62376 ,p_module => l_log_module);
62377 END IF;
62378 END IF;
62379 END IF;
62380 --
62381 --
62382 ------------------------------------------------------------------------------------------------
62383 -- 4219869 Business Flow
62384 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
62385 -- Prior Entry. Currently, the following code is always generated.
62386 ------------------------------------------------------------------------------------------------
62387 -- No ValidateCurrentLine for business flow method of Prior Entry
62388
62389 ------------------------------------------------------------------------------------
62390 -- 4219869 Business Flow
62391 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
62392 ------------------------------------------------------------------------------------
62393 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
62394
62395 ----------------------------------------------------------------------------------
62396 -- 4219869 Business Flow
62397 -- Update journal entry status -- Need to generate this within IF <condition>
62398 ----------------------------------------------------------------------------------
62399 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
62400 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
62401 ,p_balance_type_code => l_balance_type_code
62402 );
62403
62404 -------------------------------------------------------------------------------------------
62405 -- 4262811 - Generate the Accrual Reversal lines
62406 -------------------------------------------------------------------------------------------
62407 BEGIN
62408 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
62409 (g_array_event(p_event_id).array_value_num('header_index'));
62410 IF l_acc_rev_flag IS NULL THEN
62411 l_acc_rev_flag := 'N';
62412 END IF;
62413 EXCEPTION
62414 WHEN OTHERS THEN
62415 l_acc_rev_flag := 'N';
62416 END;
62417 --
62418 IF (l_acc_rev_flag = 'Y') THEN
62419
62420 -- 4645092 ------------------------------------------------------------------------------
62421 -- To allow MPA report to determine if it should generate report process
62422 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
62423 ------------------------------------------------------------------------------------------
62424
62425 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
62426 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
62427 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
62428 -- call ADRs
62429 -- Bug 4922099
62430 --
62431 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
62432 (NVL(l_actual_upg_option, 'N') = 'O') OR
62433 (NVL(l_enc_upg_option, 'N') = 'O')
62434 )
62435 THEN
62436 NULL;
62437 --
62438 --
62439
62440 --
62441 --
62442 END IF;
62443
62444 --
62448 p_header_num => 1);
62445 -- Update the line information that should be overwritten
62446 --
62447 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
62449 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
62450
62451 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
62452
62453 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
62454 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
62455 END IF;
62456
62457 --
62458 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
62459 --
62460 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
62461 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
62462 ELSE
62463 ---------------------------------------------------------------------------------------------------
62464 -- 4262811a Switch Sign
62465 ---------------------------------------------------------------------------------------------------
62466 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
62467 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
62468 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
62469 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
62470 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
62471 -- 5132302
62472 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
62473 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
62474
62475 END IF;
62476
62477 -- 4955764
62478 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
62479 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
62480
62481
62482 XLA_AE_LINES_PKG.ValidateCurrentLine;
62483 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
62484
62485 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
62486 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
62487 ,p_balance_type_code => l_balance_type_code);
62488
62489 END IF;
62490
62491 -----------------------------------------------------------------------------------------
62492 -- 4262811 Multiperiod Accounting
62493 -----------------------------------------------------------------------------------------
62494 -- No MPA option is assigned.
62495
62496
62497 END IF;
62498 END IF;
62499 --
62500
62501 --
62502 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
62503 trace
62504 (p_msg => 'END of AcctLineType_122'
62505 ,p_level => C_LEVEL_PROCEDURE
62506 ,p_module => l_log_module);
62507 END IF;
62508 --
62509 EXCEPTION
62510 WHEN xla_exceptions_pkg.application_exception THEN
62511 RAISE;
62512 WHEN OTHERS THEN
62513 xla_exceptions_pkg.raise_message
62514 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_122');
62515 END AcctLineType_122;
62516 --
62517
62518 ---------------------------------------
62519 --
62520 -- PRIVATE FUNCTION
62521 -- AcctLineType_123
62522 --
62523 ---------------------------------------
62524 PROCEDURE AcctLineType_123 (
62525 p_application_id IN NUMBER
62526 ,p_event_id IN NUMBER
62527 ,p_calculate_acctd_flag IN VARCHAR2
62528 ,p_calculate_g_l_flag IN VARCHAR2
62529 ,p_actual_flag IN OUT VARCHAR2
62530 ,p_balance_type_code OUT VARCHAR2
62531 ,p_gain_or_loss_ref OUT VARCHAR2
62532
62533 --Payment Currency Code
62534 , p_source_13 IN VARCHAR2
62535 --Automatic Offsets Value
62536 , p_source_15 IN VARCHAR2
62537 , p_source_15_meaning IN VARCHAR2
62538 --Invoice Distribution Account
62539 , p_source_30 IN NUMBER
62540 --Payables Options Rounding Account
62541 , p_source_49 IN NUMBER
62542 --Accounting Reversal Indicator
62543 , p_source_53 IN VARCHAR2
62544 --Distribution Link Type
62545 , p_source_55 IN VARCHAR2
62546 --Override Accounted Amount Indicator
62547 , p_source_80 IN VARCHAR2
62548 , p_source_80_meaning IN VARCHAR2
62549 --Third Party Type
62550 , p_source_83 IN VARCHAR2
62551 --Business Flow Accounts Payable Application Identifier
62552 , p_source_91 IN NUMBER
62553 --When to Account for Payment Option
62554 , p_source_97 IN VARCHAR2
62555 --Payment Distribution Type
62556 , p_source_98 IN VARCHAR2
62557 , p_source_98_meaning IN VARCHAR2
62558 --Payment Distribution Amount
62559 , p_source_99 IN NUMBER
62560 --Business Flow Payment Distribution Type
62561 , p_source_100 IN VARCHAR2
62562 --Business Flow Payment Entity Code
62563 , p_source_101 IN VARCHAR2
62564 --Business Flow Payment Distribution Identifier
62565 , p_source_102 IN NUMBER
62569 , p_source_104 IN NUMBER
62566 --Business Flow Payment Identifier
62567 , p_source_103 IN NUMBER
62568 --Payment Distribution Identifier
62570 --Payment Supplier Identifier
62571 , p_source_110 IN NUMBER
62572 --Payment Supplier Site Identifier
62573 , p_source_111 IN NUMBER
62574 --Payment Distribution Reversed Identifier
62575 , p_source_112 IN NUMBER
62576 --Payment Distribution (Payment Rate) Ledger Amount
62577 , p_source_115 IN NUMBER
62578 --Payment Exchange Date
62579 , p_source_117 IN DATE
62580 --Payment Exchange Rate
62581 , p_source_118 IN NUMBER
62582 --Payment Exchange Rate Type
62583 , p_source_119 IN VARCHAR2
62584 )
62585 IS
62586
62587 l_component_type VARCHAR2(80);
62588 l_component_code VARCHAR2(30);
62589 l_component_type_code VARCHAR2(1);
62590 l_component_appl_id INTEGER;
62591 l_amb_context_code VARCHAR2(30);
62592 l_entity_code VARCHAR2(30);
62593 l_event_class_code VARCHAR2(30);
62594 l_ae_header_id NUMBER;
62595 l_event_type_code VARCHAR2(30);
62596 l_line_definition_code VARCHAR2(30);
62597 l_line_definition_owner_code VARCHAR2(1);
62598 --
62599 -- adr variables
62600 l_segment VARCHAR2(30);
62601 l_ccid NUMBER;
62602 l_adr_transaction_coa_id NUMBER;
62603 l_adr_accounting_coa_id NUMBER;
62604 l_adr_flexfield_segment_code VARCHAR2(30);
62605 l_adr_flex_value_set_id NUMBER;
62606 l_adr_value_type_code VARCHAR2(30);
62607 l_adr_value_combination_id NUMBER;
62608 l_adr_value_segment_code VARCHAR2(30);
62609
62610 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
62611 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
62612 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
62613 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
62614
62615 -- 4262811 Variables ------------------------------------------------------------------------------------------
62616 l_entered_amt_idx NUMBER;
62617 l_accted_amt_idx NUMBER;
62618 l_acc_rev_flag VARCHAR2(1);
62619 l_accrual_line_num NUMBER;
62620 l_tmp_amt NUMBER;
62621 l_acc_rev_natural_side_code VARCHAR2(1);
62622
62623 l_num_entries NUMBER;
62624 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
62625 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
62626 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
62627 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
62628 l_recog_line_1 NUMBER;
62629 l_recog_line_2 NUMBER;
62630
62631 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
62632 l_bflow_applied_to_amt NUMBER; -- 5132302
62633 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
62634
62635 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
62636
62637 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
62638 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
62639
62640 ---------------------------------------------------------------------------------------------------------------
62641
62642
62643 --
62644 -- bulk performance
62645 --
62646 l_balance_type_code VARCHAR2(1);
62647 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
62648 l_log_module VARCHAR2(240);
62649
62650 --
62651 -- Upgrade strategy
62652 --
62653 l_actual_upg_option VARCHAR2(1);
62654 l_enc_upg_option VARCHAR2(1);
62655
62656 --
62657 BEGIN
62658 --
62659 IF g_log_enabled THEN
62660 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_123';
62661 END IF;
62662 --
62663 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
62664
62665 trace
62666 (p_msg => 'BEGIN of AcctLineType_123'
62667 ,p_level => C_LEVEL_PROCEDURE
62668 ,p_module => l_log_module);
62669
62670 END IF;
62671 --
62672 l_component_type := 'AMB_JLT';
62673 l_component_code := 'AP_FUTURE_PMT_ROUNDING_MAT';
62674 l_component_type_code := 'S';
62675 l_component_appl_id := 200;
62676 l_amb_context_code := 'DEFAULT';
62677 l_entity_code := 'AP_PAYMENTS';
62678 l_event_class_code := 'FUTURE DATED PAYMENTS';
62679 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
62680 l_line_definition_owner_code := 'S';
62681 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
62682 --
62683 l_balance_type_code := 'A';
62684 l_segment := NULL;
62685 l_ccid := NULL;
62686 l_adr_transaction_coa_id := NULL;
62687 l_adr_accounting_coa_id := NULL;
62688 l_adr_flexfield_segment_code := NULL;
62689 l_adr_flex_value_set_id := NULL;
62690 l_adr_value_type_code := NULL;
62691 l_adr_value_combination_id := NULL;
62692 l_adr_value_segment_code := NULL;
62693
62694 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
62695 l_bflow_class_code := ''; -- 4219869 Business Flow
62696 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
62700 l_bflow_applied_to_amt := NULL; -- 5132302
62697 l_budgetary_control_flag := 'N';
62698
62699 l_bflow_applied_to_amt_idx := NULL; -- 5132302
62701 l_entered_amt_idx := NULL; -- 4262811
62702 l_accted_amt_idx := NULL; -- 4262811
62703 l_acc_rev_flag := NULL; -- 4262811
62704 l_accrual_line_num := NULL; -- 4262811
62705 l_tmp_amt := NULL; -- 4262811
62706 --
62707
62708 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
62709 l_balance_type_code <> 'B' THEN
62710 IF NVL(p_source_97,'
62711 ') <> 'CLEAR_CLEAR' AND
62712 NVL(p_source_98,'
62713 ') = 'FUTURE PAYMENT ROUNDING'
62714 THEN
62715
62716 --
62717 XLA_AE_LINES_PKG.SetNewLine;
62718
62719 p_balance_type_code := l_balance_type_code;
62720 -- set the flag so later we will know whether the gain loss line needs to be created
62721
62722 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
62723 p_actual_flag :='A';
62724 END IF;
62725
62726 --
62727 -- bulk performance
62728 --
62729 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
62730 p_header_num => 0); -- 4262811
62731 --
62732 -- set accounting line options
62733 --
62734 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
62735 p_natural_side_code => 'D'
62736 , p_gain_or_loss_flag => 'N'
62737 , p_gl_transfer_mode_code => 'S'
62738 , p_acct_entry_type_code => 'A'
62739 , p_switch_side_flag => 'Y'
62740 , p_merge_duplicate_code => 'A'
62741 );
62742 --
62743 l_acc_rev_natural_side_code := 'C'; -- 4262811
62744 --
62745 --
62746 -- set accounting line type info
62747 --
62748 xla_ae_lines_pkg.SetAcctLineType
62749 (p_component_type => l_component_type
62750 ,p_event_type_code => l_event_type_code
62751 ,p_line_definition_owner_code => l_line_definition_owner_code
62752 ,p_line_definition_code => l_line_definition_code
62753 ,p_accounting_line_code => l_component_code
62754 ,p_accounting_line_type_code => l_component_type_code
62755 ,p_accounting_line_appl_id => l_component_appl_id
62756 ,p_amb_context_code => l_amb_context_code
62757 ,p_entity_code => l_entity_code
62758 ,p_event_class_code => l_event_class_code);
62759 --
62760 -- set accounting class
62761 --
62762 xla_ae_lines_pkg.SetAcctClass(
62763 p_accounting_class_code => 'ROUNDING'
62764 , p_ae_header_id => l_ae_header_id
62765 );
62766
62767 --
62768 -- set rounding class
62769 --
62770 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
62771 'ROUNDING';
62772
62773 --
62774 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
62775 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
62776 --
62777 -- bulk performance
62778 --
62779 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
62780
62781 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
62782 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
62783
62784 -- 4955764
62785 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
62786 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
62787
62788 -- 4458381 Public Sector Enh
62789
62790 --
62791 -- set accounting attributes for the line type
62792 --
62793 l_entered_amt_idx := 9;
62794 l_accted_amt_idx := 14;
62795 l_bflow_applied_to_amt_idx := NULL; -- 5132302
62796 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
62797 l_rec_acct_attrs.array_char_value(1) := p_source_53;
62798 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
62799 l_rec_acct_attrs.array_num_value(2) := p_source_91;
62800 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
62801 l_rec_acct_attrs.array_char_value(3) := p_source_100;
62802 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
62803 l_rec_acct_attrs.array_char_value(4) := p_source_101;
62804 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
62805 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_102);
62806 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
62807 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_103);
62808 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
62809 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
62810 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
62811 l_rec_acct_attrs.array_char_value(8) := p_source_55;
62812 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
62813 l_rec_acct_attrs.array_num_value(9) := p_source_99;
62814 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
62818 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
62815 l_rec_acct_attrs.array_char_value(10) := p_source_13;
62816 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
62817 l_rec_acct_attrs.array_date_value(11) := p_source_117;
62819 l_rec_acct_attrs.array_num_value(12) := p_source_118;
62820 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
62821 l_rec_acct_attrs.array_char_value(13) := p_source_119;
62822 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
62823 l_rec_acct_attrs.array_num_value(14) := p_source_115;
62824 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
62825 l_rec_acct_attrs.array_char_value(15) := p_source_80;
62826 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
62827 l_rec_acct_attrs.array_num_value(16) := p_source_110;
62828 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
62829 l_rec_acct_attrs.array_num_value(17) := p_source_111;
62830 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
62831 l_rec_acct_attrs.array_char_value(18) := p_source_83;
62832 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
62833 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_112);
62834 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
62835 l_rec_acct_attrs.array_char_value(20) := p_source_55;
62836
62837 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
62838 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
62839
62840 ---------------------------------------------------------------------------------------------------------------
62841 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
62842 ---------------------------------------------------------------------------------------------------------------
62843 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
62844
62845 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
62846 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
62847
62848 IF xla_accounting_cache_pkg.GetValueChar
62849 (p_source_code => 'LEDGER_CATEGORY_CODE'
62850 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
62851 AND l_bflow_method_code = 'PRIOR_ENTRY'
62852 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
62853 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
62854 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
62855 )
62856 THEN
62857 xla_ae_lines_pkg.BflowUpgEntry
62858 (p_business_method_code => l_bflow_method_code
62859 ,p_business_class_code => l_bflow_class_code
62860 ,p_balance_type => l_balance_type_code);
62861 ELSE
62862 NULL;
62863 -- No business flow processing for business flow method of NONE.
62864 END IF;
62865
62866 --
62867 -- call analytical criteria
62868 --
62869
62870 --
62871 -- call description
62872 --
62873 -- No description or it is inherited.
62874 --
62875 -- call ADRs
62876 -- Bug 4922099
62877 --
62878 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
62879 (NVL(l_actual_upg_option, 'N') = 'O') OR
62880 (NVL(l_enc_upg_option, 'N') = 'O')
62881 )
62882 THEN
62883 NULL;
62884 --
62885 --
62886
62887 l_ccid := AcctDerRule_41(
62888 p_application_id => p_application_id
62889 , p_ae_header_id => l_ae_header_id
62890 , p_source_15 => p_source_15
62891 , p_source_15_meaning => p_source_15_meaning
62892 , p_source_30 => p_source_30
62893 , p_source_49 => p_source_49
62894 , x_transaction_coa_id => l_adr_transaction_coa_id
62895 , x_accounting_coa_id => l_adr_accounting_coa_id
62896 , x_value_type_code => l_adr_value_type_code
62897 , p_side => 'NA'
62898 );
62899
62900 xla_ae_lines_pkg.set_ccid(
62901 p_code_combination_id => l_ccid
62902 , p_value_type_code => l_adr_value_type_code
62903 , p_transaction_coa_id => l_adr_transaction_coa_id
62904 , p_accounting_coa_id => l_adr_accounting_coa_id
62905 , p_adr_code => 'AP_ROUNDING'
62906 , p_adr_type_code => 'S'
62907 , p_component_type => l_component_type
62908 , p_component_code => l_component_code
62909 , p_component_type_code => l_component_type_code
62910 , p_component_appl_id => l_component_appl_id
62911 , p_amb_context_code => l_amb_context_code
62912 , p_side => 'NA'
62913 );
62914
62915
62916 --
62917 --
62918 END IF;
62919 --
62920 -- Bug 4922099
62921 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
62922 (NVL(l_enc_upg_option, 'N') = 'O')
62923 ) AND
62924 (l_bflow_method_code = 'PRIOR_ENTRY')
62925 )
62926 THEN
62927 IF
62928 --
62929 1 = 2
62930 --
62931 THEN
62932 xla_accounting_err_pkg.build_message
62936 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
62933 (p_appli_s_name => 'XLA'
62934 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
62935 ,p_token_1 => 'LINE_NUMBER'
62937 ,p_token_2 => 'LINE_TYPE_NAME'
62938 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
62939 l_component_type
62940 ,l_component_code
62941 ,l_component_type_code
62942 ,l_component_appl_id
62943 ,l_amb_context_code
62944 ,l_entity_code
62945 ,l_event_class_code
62946 )
62947 ,p_token_3 => 'OWNER'
62948 ,p_value_3 => xla_lookups_pkg.get_meaning(
62949 p_lookup_type => 'XLA_OWNER_TYPE'
62950 ,p_lookup_code => l_component_type_code
62951 )
62952 ,p_token_4 => 'PRODUCT_NAME'
62953 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
62954 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
62955 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
62956 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
62957 ,p_ae_header_id => NULL
62958 );
62959
62960 IF (C_LEVEL_ERROR>= g_log_level) THEN
62961 trace
62962 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
62963 ,p_level => C_LEVEL_ERROR
62964 ,p_module => l_log_module);
62965 END IF;
62966 END IF;
62967 END IF;
62968 --
62969 --
62970 ------------------------------------------------------------------------------------------------
62971 -- 4219869 Business Flow
62972 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
62973 -- Prior Entry. Currently, the following code is always generated.
62974 ------------------------------------------------------------------------------------------------
62975 XLA_AE_LINES_PKG.ValidateCurrentLine;
62976
62977 ------------------------------------------------------------------------------------
62978 -- 4219869 Business Flow
62979 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
62980 ------------------------------------------------------------------------------------
62981 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
62982
62983 ----------------------------------------------------------------------------------
62984 -- 4219869 Business Flow
62985 -- Update journal entry status -- Need to generate this within IF <condition>
62986 ----------------------------------------------------------------------------------
62987 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
62988 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
62989 ,p_balance_type_code => l_balance_type_code
62990 );
62991
62992 -------------------------------------------------------------------------------------------
62993 -- 4262811 - Generate the Accrual Reversal lines
62994 -------------------------------------------------------------------------------------------
62995 BEGIN
62996 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
62997 (g_array_event(p_event_id).array_value_num('header_index'));
62998 IF l_acc_rev_flag IS NULL THEN
62999 l_acc_rev_flag := 'N';
63000 END IF;
63001 EXCEPTION
63002 WHEN OTHERS THEN
63003 l_acc_rev_flag := 'N';
63004 END;
63005 --
63006 IF (l_acc_rev_flag = 'Y') THEN
63007
63008 -- 4645092 ------------------------------------------------------------------------------
63009 -- To allow MPA report to determine if it should generate report process
63010 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
63011 ------------------------------------------------------------------------------------------
63012
63013 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
63014 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
63015 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
63016 -- call ADRs
63017 -- Bug 4922099
63018 --
63019 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
63023 THEN
63020 (NVL(l_actual_upg_option, 'N') = 'O') OR
63021 (NVL(l_enc_upg_option, 'N') = 'O')
63022 )
63024 NULL;
63025 --
63026 --
63027
63028 l_ccid := AcctDerRule_41(
63029 p_application_id => p_application_id
63030 , p_ae_header_id => l_ae_header_id
63031 , p_source_15 => p_source_15
63032 , p_source_15_meaning => p_source_15_meaning
63033 , p_source_30 => p_source_30
63034 , p_source_49 => p_source_49
63035 , x_transaction_coa_id => l_adr_transaction_coa_id
63036 , x_accounting_coa_id => l_adr_accounting_coa_id
63037 , x_value_type_code => l_adr_value_type_code
63038 , p_side => 'NA'
63039 );
63040
63041 xla_ae_lines_pkg.set_ccid(
63042 p_code_combination_id => l_ccid
63043 , p_value_type_code => l_adr_value_type_code
63044 , p_transaction_coa_id => l_adr_transaction_coa_id
63045 , p_accounting_coa_id => l_adr_accounting_coa_id
63046 , p_adr_code => 'AP_ROUNDING'
63047 , p_adr_type_code => 'S'
63048 , p_component_type => l_component_type
63049 , p_component_code => l_component_code
63050 , p_component_type_code => l_component_type_code
63051 , p_component_appl_id => l_component_appl_id
63052 , p_amb_context_code => l_amb_context_code
63053 , p_side => 'NA'
63054 );
63055
63056
63057 --
63058 --
63059 END IF;
63060
63061 --
63062 -- Update the line information that should be overwritten
63063 --
63064 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
63065 p_header_num => 1);
63066 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
63067
63068 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
63069
63070 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
63071 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
63072 END IF;
63073
63074 --
63075 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
63076 --
63077 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
63078 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
63079 ELSE
63080 ---------------------------------------------------------------------------------------------------
63081 -- 4262811a Switch Sign
63082 ---------------------------------------------------------------------------------------------------
63083 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
63084 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
63085 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
63086 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
63087 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
63088 -- 5132302
63089 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
63090 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
63091
63092 END IF;
63093
63094 -- 4955764
63095 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
63096 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
63097
63098
63099 XLA_AE_LINES_PKG.ValidateCurrentLine;
63100 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
63101
63102 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
63103 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
63104 ,p_balance_type_code => l_balance_type_code);
63105
63106 END IF;
63107
63108 -----------------------------------------------------------------------------------------
63109 -- 4262811 Multiperiod Accounting
63110 -----------------------------------------------------------------------------------------
63111 -- No MPA option is assigned.
63112
63113
63114 END IF;
63115 END IF;
63116 --
63117
63118 --
63119 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
63120 trace
63121 (p_msg => 'END of AcctLineType_123'
63122 ,p_level => C_LEVEL_PROCEDURE
63123 ,p_module => l_log_module);
63124 END IF;
63125 --
63126 EXCEPTION
63127 WHEN xla_exceptions_pkg.application_exception THEN
63128 RAISE;
63129 WHEN OTHERS THEN
63130 xla_exceptions_pkg.raise_message
63131 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_123');
63132 END AcctLineType_123;
63133 --
63134
63135 ---------------------------------------
63136 --
63137 -- PRIVATE FUNCTION
63138 -- AcctLineType_124
63139 --
63140 ---------------------------------------
63141 PROCEDURE AcctLineType_124 (
63142 p_application_id IN NUMBER
63143 ,p_event_id IN NUMBER
63144 ,p_calculate_acctd_flag IN VARCHAR2
63148 ,p_gain_or_loss_ref OUT VARCHAR2
63145 ,p_calculate_g_l_flag IN VARCHAR2
63146 ,p_actual_flag IN OUT VARCHAR2
63147 ,p_balance_type_code OUT VARCHAR2
63149
63150 --Payment Currency Code
63151 , p_source_13 IN VARCHAR2
63152 --Automatic Offsets Value
63153 , p_source_15 IN VARCHAR2
63154 , p_source_15_meaning IN VARCHAR2
63155 --Invoice Distribution Account
63156 , p_source_30 IN NUMBER
63157 --Internal Realized Gain Account
63158 , p_source_36 IN NUMBER
63159 --Bank Gain Account
63160 , p_source_37 IN NUMBER
63161 --Accounting Reversal Indicator
63162 , p_source_53 IN VARCHAR2
63163 --Distribution Link Type
63164 , p_source_55 IN VARCHAR2
63165 --Override Accounted Amount Indicator
63166 , p_source_80 IN VARCHAR2
63167 , p_source_80_meaning IN VARCHAR2
63168 --Third Party Type
63169 , p_source_83 IN VARCHAR2
63170 --Invoice Distribution Tax Line Identifier
63171 , p_source_86 IN NUMBER
63172 --Invoice Distribution Summary Tax Line Identifier
63173 , p_source_88 IN NUMBER
63174 --Business Flow Accounts Payable Application Identifier
63175 , p_source_91 IN NUMBER
63176 --When to Account for Payment Option
63177 , p_source_97 IN VARCHAR2
63178 --Payment Distribution Type
63179 , p_source_98 IN VARCHAR2
63180 , p_source_98_meaning IN VARCHAR2
63181 --Payment Distribution Amount
63182 , p_source_99 IN NUMBER
63183 --Business Flow Payment Distribution Type
63184 , p_source_100 IN VARCHAR2
63185 --Business Flow Payment Entity Code
63186 , p_source_101 IN VARCHAR2
63187 --Business Flow Payment Distribution Identifier
63188 , p_source_102 IN NUMBER
63189 --Business Flow Payment Identifier
63190 , p_source_103 IN NUMBER
63191 --Payment Distribution Identifier
63192 , p_source_104 IN NUMBER
63193 --Cleared Exchange Date
63194 , p_source_106 IN DATE
63195 --Cleared Exchange Rate
63196 , p_source_107 IN NUMBER
63197 --Cleared Exchange Rate Type
63198 , p_source_108 IN VARCHAR2
63199 --Payment Supplier Identifier
63200 , p_source_110 IN NUMBER
63201 --Payment Supplier Site Identifier
63202 , p_source_111 IN NUMBER
63203 --Payment Distribution Reversed Identifier
63204 , p_source_112 IN NUMBER
63205 --Gain or Loss Indicator between Invoice and Clearing
63206 , p_source_151 IN VARCHAR2
63207 --Invoice/Clearing Ledger Amount Difference
63208 , p_source_152 IN NUMBER
63209 )
63210 IS
63211
63212 l_component_type VARCHAR2(80);
63213 l_component_code VARCHAR2(30);
63214 l_component_type_code VARCHAR2(1);
63215 l_component_appl_id INTEGER;
63216 l_amb_context_code VARCHAR2(30);
63217 l_entity_code VARCHAR2(30);
63218 l_event_class_code VARCHAR2(30);
63219 l_ae_header_id NUMBER;
63220 l_event_type_code VARCHAR2(30);
63221 l_line_definition_code VARCHAR2(30);
63222 l_line_definition_owner_code VARCHAR2(1);
63223 --
63224 -- adr variables
63225 l_segment VARCHAR2(30);
63226 l_ccid NUMBER;
63227 l_adr_transaction_coa_id NUMBER;
63228 l_adr_accounting_coa_id NUMBER;
63229 l_adr_flexfield_segment_code VARCHAR2(30);
63230 l_adr_flex_value_set_id NUMBER;
63231 l_adr_value_type_code VARCHAR2(30);
63232 l_adr_value_combination_id NUMBER;
63233 l_adr_value_segment_code VARCHAR2(30);
63234
63235 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
63236 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
63237 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
63238 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
63239
63240 -- 4262811 Variables ------------------------------------------------------------------------------------------
63241 l_entered_amt_idx NUMBER;
63242 l_accted_amt_idx NUMBER;
63243 l_acc_rev_flag VARCHAR2(1);
63244 l_accrual_line_num NUMBER;
63245 l_tmp_amt NUMBER;
63246 l_acc_rev_natural_side_code VARCHAR2(1);
63247
63248 l_num_entries NUMBER;
63249 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
63250 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
63251 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
63252 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
63253 l_recog_line_1 NUMBER;
63254 l_recog_line_2 NUMBER;
63255
63256 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
63257 l_bflow_applied_to_amt NUMBER; -- 5132302
63258 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
63259
63260 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
63261
63262 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
63263 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
63264
63265 ---------------------------------------------------------------------------------------------------------------
63266
63267
63268 --
63272 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
63269 -- bulk performance
63270 --
63271 l_balance_type_code VARCHAR2(1);
63273 l_log_module VARCHAR2(240);
63274
63275 --
63276 -- Upgrade strategy
63277 --
63278 l_actual_upg_option VARCHAR2(1);
63279 l_enc_upg_option VARCHAR2(1);
63280
63281 --
63282 BEGIN
63283 --
63284 IF g_log_enabled THEN
63285 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_124';
63286 END IF;
63287 --
63288 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
63289
63290 trace
63291 (p_msg => 'BEGIN of AcctLineType_124'
63292 ,p_level => C_LEVEL_PROCEDURE
63293 ,p_module => l_log_module);
63294
63295 END IF;
63296 --
63297 l_component_type := 'AMB_JLT';
63298 l_component_code := 'AP_GAIN_INV_CLEAR_BY_PMT_CLEAR';
63299 l_component_type_code := 'S';
63300 l_component_appl_id := 200;
63301 l_amb_context_code := 'DEFAULT';
63302 l_entity_code := 'AP_PAYMENTS';
63303 l_event_class_code := 'RECONCILED PAYMENTS';
63304 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
63305 l_line_definition_owner_code := 'S';
63306 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
63307 --
63308 l_balance_type_code := 'A';
63309 l_segment := NULL;
63310 l_ccid := NULL;
63311 l_adr_transaction_coa_id := NULL;
63312 l_adr_accounting_coa_id := NULL;
63313 l_adr_flexfield_segment_code := NULL;
63314 l_adr_flex_value_set_id := NULL;
63315 l_adr_value_type_code := NULL;
63316 l_adr_value_combination_id := NULL;
63317 l_adr_value_segment_code := NULL;
63318
63319 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
63320 l_bflow_class_code := ''; -- 4219869 Business Flow
63321 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
63322 l_budgetary_control_flag := 'N';
63323
63324 l_bflow_applied_to_amt_idx := NULL; -- 5132302
63325 l_bflow_applied_to_amt := NULL; -- 5132302
63326 l_entered_amt_idx := NULL; -- 4262811
63327 l_accted_amt_idx := NULL; -- 4262811
63328 l_acc_rev_flag := NULL; -- 4262811
63329 l_accrual_line_num := NULL; -- 4262811
63330 l_tmp_amt := NULL; -- 4262811
63331 --
63332 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
63333 (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
63334 return;
63335 END IF;
63336
63337 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
63338 l_balance_type_code <> 'B' THEN
63339 IF (NVL(p_source_97,'
63340 ') = 'CLEAR_CLEAR' OR
63341 NVL(p_source_97,'
63342 ') = 'ALWAYS_CLEAR') AND
63343 NVL(p_source_98,'
63344 ') <> 'EXCHANGE RATE VARIANCE' AND
63345 NVL(p_source_98,'
63346 ') <> 'BANK CHARGE' AND
63347 NVL(p_source_98,'
63348 ') <> 'BANK ERROR' AND
63349 NVL(p_source_98,'
63350 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
63351 NVL(p_source_151,'
63352 ') = 'GAIN' AND
63353 NVL(p_source_98,'
63354 ') <> 'AWT'
63355 THEN
63356
63357 --
63358 XLA_AE_LINES_PKG.SetNewLine;
63359
63360 p_balance_type_code := l_balance_type_code;
63361 -- set the flag so later we will know whether the gain loss line needs to be created
63362
63363 IF(l_balance_type_code = 'A' ) THEN
63364 p_actual_flag :='G';
63365 END IF;
63366
63367 --
63368 -- bulk performance
63369 --
63370 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
63371 p_header_num => 0); -- 4262811
63372 --
63373 -- set accounting line options
63374 --
63375 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
63376 p_natural_side_code => 'C'
63377 , p_gain_or_loss_flag => 'Y'
63378 , p_gl_transfer_mode_code => 'S'
63379 , p_acct_entry_type_code => 'A'
63380 , p_switch_side_flag => 'Y'
63381 , p_merge_duplicate_code => 'A'
63382 );
63383 --
63384 l_acc_rev_natural_side_code := 'D'; -- 4262811
63385 --
63386 --
63387 -- set accounting line type info
63388 --
63389 xla_ae_lines_pkg.SetAcctLineType
63390 (p_component_type => l_component_type
63391 ,p_event_type_code => l_event_type_code
63392 ,p_line_definition_owner_code => l_line_definition_owner_code
63393 ,p_line_definition_code => l_line_definition_code
63394 ,p_accounting_line_code => l_component_code
63395 ,p_accounting_line_type_code => l_component_type_code
63396 ,p_accounting_line_appl_id => l_component_appl_id
63397 ,p_amb_context_code => l_amb_context_code
63398 ,p_entity_code => l_entity_code
63399 ,p_event_class_code => l_event_class_code);
63400 --
63401 -- set accounting class
63402 --
63403 xla_ae_lines_pkg.SetAcctClass(
63404 p_accounting_class_code => 'GAIN'
63405 , p_ae_header_id => l_ae_header_id
63406 );
63407
63411 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
63408 --
63409 -- set rounding class
63410 --
63412 'GAIN';
63413
63414 --
63415 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
63416 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
63417 --
63418 -- bulk performance
63419 --
63420 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
63421
63422 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
63423 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
63424
63425 -- 4955764
63426 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
63427 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
63428
63429 -- 4458381 Public Sector Enh
63430
63431 --
63432 -- set accounting attributes for the line type
63433 --
63434 l_entered_amt_idx := 10;
63435 l_accted_amt_idx := 15;
63436 l_bflow_applied_to_amt_idx := 2; -- 5132302
63437 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
63438 l_rec_acct_attrs.array_char_value(1) := p_source_53;
63439 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
63440 l_rec_acct_attrs.array_num_value(2) := p_source_99;
63441 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
63442 l_rec_acct_attrs.array_num_value(3) := p_source_91;
63443 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
63444 l_rec_acct_attrs.array_char_value(4) := p_source_100;
63445 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
63446 l_rec_acct_attrs.array_char_value(5) := p_source_101;
63447 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
63448 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
63449 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
63450 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
63451 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
63452 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
63453 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
63454 l_rec_acct_attrs.array_char_value(9) := p_source_55;
63455 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
63456 l_rec_acct_attrs.array_num_value(10) := p_source_99;
63457 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
63458 l_rec_acct_attrs.array_char_value(11) := p_source_13;
63459 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
63460 l_rec_acct_attrs.array_date_value(12) := p_source_106;
63461 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
63462 l_rec_acct_attrs.array_num_value(13) := p_source_107;
63463 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
63464 l_rec_acct_attrs.array_char_value(14) := p_source_108;
63465 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
63466 l_rec_acct_attrs.array_num_value(15) := p_source_152;
63467 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
63468 l_rec_acct_attrs.array_char_value(16) := p_source_80;
63469 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
63470 l_rec_acct_attrs.array_num_value(17) := p_source_110;
63471 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
63472 l_rec_acct_attrs.array_num_value(18) := p_source_111;
63473 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
63474 l_rec_acct_attrs.array_char_value(19) := p_source_83;
63475 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
63476 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
63477 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
63478 l_rec_acct_attrs.array_char_value(21) := p_source_55;
63479 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
63480 l_rec_acct_attrs.array_num_value(22) := p_source_86;
63481 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
63482 l_rec_acct_attrs.array_num_value(23) := p_source_86;
63483 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
63484 l_rec_acct_attrs.array_num_value(24) := p_source_88;
63485
63486 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
63487 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
63488
63489 ---------------------------------------------------------------------------------------------------------------
63490 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
63491 ---------------------------------------------------------------------------------------------------------------
63492 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
63493
63494 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
63495 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
63496
63497 IF xla_accounting_cache_pkg.GetValueChar
63498 (p_source_code => 'LEDGER_CATEGORY_CODE'
63502 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
63499 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
63500 AND l_bflow_method_code = 'PRIOR_ENTRY'
63501 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
63503 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
63504 )
63505 THEN
63506 xla_ae_lines_pkg.BflowUpgEntry
63507 (p_business_method_code => l_bflow_method_code
63508 ,p_business_class_code => l_bflow_class_code
63509 ,p_balance_type => l_balance_type_code);
63510 ELSE
63511 NULL;
63512 -- No business flow processing for business flow method of NONE.
63513 END IF;
63514
63515 --
63516 -- call analytical criteria
63517 --
63518
63519 --
63520 -- call description
63521 --
63522 -- No description or it is inherited.
63523 --
63524 -- call ADRs
63525 -- Bug 4922099
63526 --
63527 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
63528 (NVL(l_actual_upg_option, 'N') = 'O') OR
63529 (NVL(l_enc_upg_option, 'N') = 'O')
63530 )
63531 THEN
63532 NULL;
63533 --
63534 --
63535
63536 l_ccid := AcctDerRule_38(
63537 p_application_id => p_application_id
63538 , p_ae_header_id => l_ae_header_id
63539 , p_source_15 => p_source_15
63540 , p_source_15_meaning => p_source_15_meaning
63541 , p_source_30 => p_source_30
63542 , p_source_36 => p_source_36
63543 , p_source_37 => p_source_37
63544 , x_transaction_coa_id => l_adr_transaction_coa_id
63545 , x_accounting_coa_id => l_adr_accounting_coa_id
63546 , x_value_type_code => l_adr_value_type_code
63547 , p_side => 'NA'
63548 );
63549
63550 xla_ae_lines_pkg.set_ccid(
63551 p_code_combination_id => l_ccid
63552 , p_value_type_code => l_adr_value_type_code
63553 , p_transaction_coa_id => l_adr_transaction_coa_id
63554 , p_accounting_coa_id => l_adr_accounting_coa_id
63555 , p_adr_code => 'AP_REAL_GAIN'
63556 , p_adr_type_code => 'S'
63557 , p_component_type => l_component_type
63558 , p_component_code => l_component_code
63559 , p_component_type_code => l_component_type_code
63560 , p_component_appl_id => l_component_appl_id
63561 , p_amb_context_code => l_amb_context_code
63562 , p_side => 'NA'
63563 );
63564
63565
63566 l_segment := AcctDerRule_22(
63567 p_application_id => p_application_id
63568 , p_ae_header_id => l_ae_header_id
63569 , p_source_15 => p_source_15
63570 , p_source_15_meaning => p_source_15_meaning
63571 , p_source_30 => p_source_30
63572 , x_transaction_coa_id => l_adr_transaction_coa_id
63573 , x_accounting_coa_id => l_adr_accounting_coa_id
63574 , x_flexfield_segment_code => l_adr_flexfield_segment_code
63575 , x_flex_value_set_id => l_adr_flex_value_set_id
63576 , x_value_type_code => l_adr_value_type_code
63577 , x_value_combination_id => l_adr_value_combination_id
63578 , x_value_segment_code => l_adr_value_segment_code
63579 , p_side => 'NA'
63580 , p_override_seg_flag => 'Y'
63581 );
63582
63583 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
63584
63585 xla_ae_lines_pkg.set_segment(
63586 p_to_segment_code => 'GL_BALANCING'
63587 , p_segment_value => l_segment
63588 , p_from_segment_code => l_adr_value_segment_code
63589 , p_from_combination_id => l_adr_value_combination_id
63590 , p_value_type_code => l_adr_value_type_code
63591 , p_transaction_coa_id => l_adr_transaction_coa_id
63592 , p_accounting_coa_id => l_adr_accounting_coa_id
63593 , p_flexfield_segment_code => l_adr_flexfield_segment_code
63594 , p_flex_value_set_id => l_adr_flex_value_set_id
63595 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
63596 , p_adr_type_code => 'S'
63597 , p_component_type => l_component_type
63598 , p_component_code => l_component_code
63599 , p_component_type_code => l_component_type_code
63600 , p_component_appl_id => l_component_appl_id
63601 , p_amb_context_code => l_amb_context_code
63602 , p_entity_code => 'AP_PAYMENTS'
63603 , p_event_class_code => 'RECONCILED PAYMENTS'
63604 , p_side => 'NA'
63605 );
63606
63607 END IF;
63608
63609 l_segment := AcctDerRule_17(
63610 p_application_id => p_application_id
63611 , p_ae_header_id => l_ae_header_id
63612 , p_source_15 => p_source_15
63613 , p_source_15_meaning => p_source_15_meaning
63614 , p_source_36 => p_source_36
63615 , p_source_37 => p_source_37
63616 , x_transaction_coa_id => l_adr_transaction_coa_id
63617 , x_accounting_coa_id => l_adr_accounting_coa_id
63618 , x_flexfield_segment_code => l_adr_flexfield_segment_code
63622 , x_value_segment_code => l_adr_value_segment_code
63619 , x_flex_value_set_id => l_adr_flex_value_set_id
63620 , x_value_type_code => l_adr_value_type_code
63621 , x_value_combination_id => l_adr_value_combination_id
63623 , p_side => 'NA'
63624 , p_override_seg_flag => 'Y'
63625 );
63626
63627 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
63628
63629 xla_ae_lines_pkg.set_segment(
63630 p_to_segment_code => 'GL_ACCOUNT'
63631 , p_segment_value => l_segment
63632 , p_from_segment_code => l_adr_value_segment_code
63633 , p_from_combination_id => l_adr_value_combination_id
63634 , p_value_type_code => l_adr_value_type_code
63635 , p_transaction_coa_id => l_adr_transaction_coa_id
63636 , p_accounting_coa_id => l_adr_accounting_coa_id
63637 , p_flexfield_segment_code => l_adr_flexfield_segment_code
63638 , p_flex_value_set_id => l_adr_flex_value_set_id
63639 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
63640 , p_adr_type_code => 'S'
63641 , p_component_type => l_component_type
63642 , p_component_code => l_component_code
63643 , p_component_type_code => l_component_type_code
63644 , p_component_appl_id => l_component_appl_id
63645 , p_amb_context_code => l_amb_context_code
63646 , p_entity_code => 'AP_PAYMENTS'
63647 , p_event_class_code => 'RECONCILED PAYMENTS'
63648 , p_side => 'NA'
63649 );
63650
63651 END IF;
63652
63653 --
63654 --
63655 END IF;
63656 --
63657 -- Bug 4922099
63658 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
63659 (NVL(l_enc_upg_option, 'N') = 'O')
63660 ) AND
63661 (l_bflow_method_code = 'PRIOR_ENTRY')
63662 )
63663 THEN
63664 IF
63665 --
63666 1 = 2
63667 --
63668 THEN
63669 xla_accounting_err_pkg.build_message
63670 (p_appli_s_name => 'XLA'
63671 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
63672 ,p_token_1 => 'LINE_NUMBER'
63673 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
63674 ,p_token_2 => 'LINE_TYPE_NAME'
63675 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
63676 l_component_type
63677 ,l_component_code
63678 ,l_component_type_code
63679 ,l_component_appl_id
63680 ,l_amb_context_code
63681 ,l_entity_code
63682 ,l_event_class_code
63683 )
63684 ,p_token_3 => 'OWNER'
63685 ,p_value_3 => xla_lookups_pkg.get_meaning(
63686 p_lookup_type => 'XLA_OWNER_TYPE'
63687 ,p_lookup_code => l_component_type_code
63688 )
63689 ,p_token_4 => 'PRODUCT_NAME'
63690 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
63691 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
63692 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
63693 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
63694 ,p_ae_header_id => NULL
63695 );
63696
63697 IF (C_LEVEL_ERROR>= g_log_level) THEN
63698 trace
63699 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
63700 ,p_level => C_LEVEL_ERROR
63701 ,p_module => l_log_module);
63702 END IF;
63703 END IF;
63704 END IF;
63705 --
63706 --
63707 ------------------------------------------------------------------------------------------------
63708 -- 4219869 Business Flow
63709 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
63710 -- Prior Entry. Currently, the following code is always generated.
63711 ------------------------------------------------------------------------------------------------
63712 XLA_AE_LINES_PKG.ValidateCurrentLine;
63713
63714 ------------------------------------------------------------------------------------
63718 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
63715 -- 4219869 Business Flow
63716 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
63717 ------------------------------------------------------------------------------------
63719
63720 ----------------------------------------------------------------------------------
63721 -- 4219869 Business Flow
63722 -- Update journal entry status -- Need to generate this within IF <condition>
63723 ----------------------------------------------------------------------------------
63724 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
63725 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
63726 ,p_balance_type_code => l_balance_type_code
63727 );
63728
63729 -------------------------------------------------------------------------------------------
63730 -- 4262811 - Generate the Accrual Reversal lines
63731 -------------------------------------------------------------------------------------------
63732 BEGIN
63733 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
63734 (g_array_event(p_event_id).array_value_num('header_index'));
63735 IF l_acc_rev_flag IS NULL THEN
63736 l_acc_rev_flag := 'N';
63737 END IF;
63738 EXCEPTION
63739 WHEN OTHERS THEN
63740 l_acc_rev_flag := 'N';
63741 END;
63742 --
63743 IF (l_acc_rev_flag = 'Y') THEN
63744
63745 -- 4645092 ------------------------------------------------------------------------------
63746 -- To allow MPA report to determine if it should generate report process
63747 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
63748 ------------------------------------------------------------------------------------------
63749
63750 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
63751 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
63752 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
63753 -- call ADRs
63754 -- Bug 4922099
63755 --
63756 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
63757 (NVL(l_actual_upg_option, 'N') = 'O') OR
63758 (NVL(l_enc_upg_option, 'N') = 'O')
63759 )
63760 THEN
63761 NULL;
63762 --
63763 --
63764
63765 l_ccid := AcctDerRule_38(
63766 p_application_id => p_application_id
63767 , p_ae_header_id => l_ae_header_id
63768 , p_source_15 => p_source_15
63769 , p_source_15_meaning => p_source_15_meaning
63770 , p_source_30 => p_source_30
63771 , p_source_36 => p_source_36
63772 , p_source_37 => p_source_37
63773 , x_transaction_coa_id => l_adr_transaction_coa_id
63774 , x_accounting_coa_id => l_adr_accounting_coa_id
63775 , x_value_type_code => l_adr_value_type_code
63776 , p_side => 'NA'
63777 );
63778
63779 xla_ae_lines_pkg.set_ccid(
63780 p_code_combination_id => l_ccid
63781 , p_value_type_code => l_adr_value_type_code
63782 , p_transaction_coa_id => l_adr_transaction_coa_id
63783 , p_accounting_coa_id => l_adr_accounting_coa_id
63784 , p_adr_code => 'AP_REAL_GAIN'
63785 , p_adr_type_code => 'S'
63786 , p_component_type => l_component_type
63787 , p_component_code => l_component_code
63788 , p_component_type_code => l_component_type_code
63789 , p_component_appl_id => l_component_appl_id
63790 , p_amb_context_code => l_amb_context_code
63791 , p_side => 'NA'
63792 );
63793
63794
63795 l_segment := AcctDerRule_22(
63796 p_application_id => p_application_id
63797 , p_ae_header_id => l_ae_header_id
63798 , p_source_15 => p_source_15
63799 , p_source_15_meaning => p_source_15_meaning
63800 , p_source_30 => p_source_30
63801 , x_transaction_coa_id => l_adr_transaction_coa_id
63802 , x_accounting_coa_id => l_adr_accounting_coa_id
63803 , x_flexfield_segment_code => l_adr_flexfield_segment_code
63804 , x_flex_value_set_id => l_adr_flex_value_set_id
63805 , x_value_type_code => l_adr_value_type_code
63806 , x_value_combination_id => l_adr_value_combination_id
63807 , x_value_segment_code => l_adr_value_segment_code
63808 , p_side => 'NA'
63809 , p_override_seg_flag => 'Y'
63810 );
63811
63812 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
63813
63814 xla_ae_lines_pkg.set_segment(
63815 p_to_segment_code => 'GL_BALANCING'
63816 , p_segment_value => l_segment
63817 , p_from_segment_code => l_adr_value_segment_code
63818 , p_from_combination_id => l_adr_value_combination_id
63819 , p_value_type_code => l_adr_value_type_code
63820 , p_transaction_coa_id => l_adr_transaction_coa_id
63821 , p_accounting_coa_id => l_adr_accounting_coa_id
63822 , p_flexfield_segment_code => l_adr_flexfield_segment_code
63823 , p_flex_value_set_id => l_adr_flex_value_set_id
63824 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
63825 , p_adr_type_code => 'S'
63826 , p_component_type => l_component_type
63827 , p_component_code => l_component_code
63831 , p_entity_code => 'AP_PAYMENTS'
63828 , p_component_type_code => l_component_type_code
63829 , p_component_appl_id => l_component_appl_id
63830 , p_amb_context_code => l_amb_context_code
63832 , p_event_class_code => 'RECONCILED PAYMENTS'
63833 , p_side => 'NA'
63834 );
63835
63836 END IF;
63837
63838 l_segment := AcctDerRule_17(
63839 p_application_id => p_application_id
63840 , p_ae_header_id => l_ae_header_id
63841 , p_source_15 => p_source_15
63842 , p_source_15_meaning => p_source_15_meaning
63843 , p_source_36 => p_source_36
63844 , p_source_37 => p_source_37
63845 , x_transaction_coa_id => l_adr_transaction_coa_id
63846 , x_accounting_coa_id => l_adr_accounting_coa_id
63847 , x_flexfield_segment_code => l_adr_flexfield_segment_code
63848 , x_flex_value_set_id => l_adr_flex_value_set_id
63849 , x_value_type_code => l_adr_value_type_code
63850 , x_value_combination_id => l_adr_value_combination_id
63851 , x_value_segment_code => l_adr_value_segment_code
63852 , p_side => 'NA'
63853 , p_override_seg_flag => 'Y'
63854 );
63855
63856 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
63857
63858 xla_ae_lines_pkg.set_segment(
63859 p_to_segment_code => 'GL_ACCOUNT'
63860 , p_segment_value => l_segment
63861 , p_from_segment_code => l_adr_value_segment_code
63862 , p_from_combination_id => l_adr_value_combination_id
63863 , p_value_type_code => l_adr_value_type_code
63864 , p_transaction_coa_id => l_adr_transaction_coa_id
63865 , p_accounting_coa_id => l_adr_accounting_coa_id
63866 , p_flexfield_segment_code => l_adr_flexfield_segment_code
63867 , p_flex_value_set_id => l_adr_flex_value_set_id
63868 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
63869 , p_adr_type_code => 'S'
63870 , p_component_type => l_component_type
63871 , p_component_code => l_component_code
63872 , p_component_type_code => l_component_type_code
63873 , p_component_appl_id => l_component_appl_id
63874 , p_amb_context_code => l_amb_context_code
63875 , p_entity_code => 'AP_PAYMENTS'
63876 , p_event_class_code => 'RECONCILED PAYMENTS'
63877 , p_side => 'NA'
63878 );
63879
63880 END IF;
63881
63882 --
63883 --
63884 END IF;
63885
63886 --
63887 -- Update the line information that should be overwritten
63888 --
63889 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
63890 p_header_num => 1);
63891 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
63892
63893 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
63894
63895 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
63896 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
63897 END IF;
63898
63899 --
63900 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
63901 --
63902 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
63903 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
63904 ELSE
63905 ---------------------------------------------------------------------------------------------------
63906 -- 4262811a Switch Sign
63907 ---------------------------------------------------------------------------------------------------
63908 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
63909 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
63910 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
63911 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
63912 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
63913 -- 5132302
63914 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
63915 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
63916
63917 END IF;
63918
63919 -- 4955764
63920 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
63921 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
63922
63923
63924 XLA_AE_LINES_PKG.ValidateCurrentLine;
63925 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
63926
63927 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
63928 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
63929 ,p_balance_type_code => l_balance_type_code);
63930
63931 END IF;
63932
63933 -----------------------------------------------------------------------------------------
63937
63934 -- 4262811 Multiperiod Accounting
63935 -----------------------------------------------------------------------------------------
63936 -- No MPA option is assigned.
63938
63939 END IF;
63940 END IF;
63941 --
63942
63943 --
63944 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
63945 trace
63946 (p_msg => 'END of AcctLineType_124'
63947 ,p_level => C_LEVEL_PROCEDURE
63948 ,p_module => l_log_module);
63949 END IF;
63950 --
63951 EXCEPTION
63952 WHEN xla_exceptions_pkg.application_exception THEN
63953 RAISE;
63954 WHEN OTHERS THEN
63955 xla_exceptions_pkg.raise_message
63956 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_124');
63957 END AcctLineType_124;
63958 --
63959
63960 ---------------------------------------
63961 --
63962 -- PRIVATE FUNCTION
63963 -- AcctLineType_125
63964 --
63965 ---------------------------------------
63966 PROCEDURE AcctLineType_125 (
63967 p_application_id IN NUMBER
63968 ,p_event_id IN NUMBER
63969 ,p_calculate_acctd_flag IN VARCHAR2
63970 ,p_calculate_g_l_flag IN VARCHAR2
63971 ,p_actual_flag IN OUT VARCHAR2
63972 ,p_balance_type_code OUT VARCHAR2
63973 ,p_gain_or_loss_ref OUT VARCHAR2
63974
63975 --Automatic Offsets Value
63976 , p_source_15 IN VARCHAR2
63977 , p_source_15_meaning IN VARCHAR2
63978 --Invoice Distribution Account
63979 , p_source_30 IN NUMBER
63980 --Internal Realized Gain Account
63981 , p_source_36 IN NUMBER
63982 --Bank Gain Account
63983 , p_source_37 IN NUMBER
63984 --Internal Realized Loss Account
63985 , p_source_38 IN NUMBER
63986 --Bank Loss Account
63987 , p_source_39 IN NUMBER
63988 --Accounting Reversal Indicator
63989 , p_source_53 IN VARCHAR2
63990 --Distribution Link Type
63991 , p_source_55 IN VARCHAR2
63992 --Override Accounted Amount Indicator
63993 , p_source_80 IN VARCHAR2
63994 , p_source_80_meaning IN VARCHAR2
63995 --Third Party Type
63996 , p_source_83 IN VARCHAR2
63997 --Invoice Distribution Tax Line Identifier
63998 , p_source_86 IN NUMBER
63999 --Invoice Distribution Summary Tax Line Identifier
64000 , p_source_88 IN NUMBER
64001 --Business Flow Accounts Payable Application Identifier
64002 , p_source_91 IN NUMBER
64003 --When to Account for Payment Option
64004 , p_source_97 IN VARCHAR2
64005 --Payment Distribution Type
64006 , p_source_98 IN VARCHAR2
64007 , p_source_98_meaning IN VARCHAR2
64008 --Payment Distribution Amount
64009 , p_source_99 IN NUMBER
64010 --Business Flow Payment Distribution Type
64011 , p_source_100 IN VARCHAR2
64012 --Business Flow Payment Entity Code
64013 , p_source_101 IN VARCHAR2
64014 --Business Flow Payment Distribution Identifier
64015 , p_source_102 IN NUMBER
64016 --Business Flow Payment Identifier
64017 , p_source_103 IN NUMBER
64018 --Payment Distribution Identifier
64019 , p_source_104 IN NUMBER
64020 --Payment Supplier Identifier
64021 , p_source_110 IN NUMBER
64022 --Payment Supplier Site Identifier
64023 , p_source_111 IN NUMBER
64024 --Payment Distribution Reversed Identifier
64025 , p_source_112 IN NUMBER
64026 --Payment Maturity Date
64027 , p_source_114 IN DATE
64028 --Invoice/Clearing Ledger Amount Difference
64029 , p_source_152 IN NUMBER
64030 )
64031 IS
64032
64033 l_component_type VARCHAR2(80);
64034 l_component_code VARCHAR2(30);
64035 l_component_type_code VARCHAR2(1);
64036 l_component_appl_id INTEGER;
64037 l_amb_context_code VARCHAR2(30);
64038 l_entity_code VARCHAR2(30);
64039 l_event_class_code VARCHAR2(30);
64040 l_ae_header_id NUMBER;
64041 l_event_type_code VARCHAR2(30);
64042 l_line_definition_code VARCHAR2(30);
64043 l_line_definition_owner_code VARCHAR2(1);
64044 --
64045 -- adr variables
64046 l_segment VARCHAR2(30);
64047 l_ccid NUMBER;
64048 l_adr_transaction_coa_id NUMBER;
64049 l_adr_accounting_coa_id NUMBER;
64050 l_adr_flexfield_segment_code VARCHAR2(30);
64051 l_adr_flex_value_set_id NUMBER;
64052 l_adr_value_type_code VARCHAR2(30);
64053 l_adr_value_combination_id NUMBER;
64054 l_adr_value_segment_code VARCHAR2(30);
64055
64056 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
64057 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
64058 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
64059 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
64060
64061 -- 4262811 Variables ------------------------------------------------------------------------------------------
64062 l_entered_amt_idx NUMBER;
64063 l_accted_amt_idx NUMBER;
64064 l_acc_rev_flag VARCHAR2(1);
64065 l_accrual_line_num NUMBER;
64066 l_tmp_amt NUMBER;
64067 l_acc_rev_natural_side_code VARCHAR2(1);
64068
64069 l_num_entries NUMBER;
64070 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
64071 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
64075 l_recog_line_2 NUMBER;
64072 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
64073 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
64074 l_recog_line_1 NUMBER;
64076
64077 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
64078 l_bflow_applied_to_amt NUMBER; -- 5132302
64079 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
64080
64081 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
64082
64083 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
64084 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
64085
64086 ---------------------------------------------------------------------------------------------------------------
64087
64088
64089 --
64090 -- bulk performance
64091 --
64092 l_balance_type_code VARCHAR2(1);
64093 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
64094 l_log_module VARCHAR2(240);
64095
64096 --
64097 -- Upgrade strategy
64098 --
64099 l_actual_upg_option VARCHAR2(1);
64100 l_enc_upg_option VARCHAR2(1);
64101
64102 --
64103 BEGIN
64104 --
64105 IF g_log_enabled THEN
64106 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_125';
64107 END IF;
64108 --
64109 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
64110
64111 trace
64112 (p_msg => 'BEGIN of AcctLineType_125'
64113 ,p_level => C_LEVEL_PROCEDURE
64114 ,p_module => l_log_module);
64115
64116 END IF;
64117 --
64118 l_component_type := 'AMB_JLT';
64119 l_component_code := 'AP_GAIN_LOSS_PAY_CLEAR';
64120 l_component_type_code := 'S';
64121 l_component_appl_id := 200;
64122 l_amb_context_code := 'DEFAULT';
64123 l_entity_code := 'AP_PAYMENTS';
64124 l_event_class_code := 'RECONCILED PAYMENTS';
64125 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
64126 l_line_definition_owner_code := 'S';
64127 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
64128 --
64129 l_balance_type_code := 'A';
64130 l_segment := NULL;
64131 l_ccid := NULL;
64132 l_adr_transaction_coa_id := NULL;
64133 l_adr_accounting_coa_id := NULL;
64134 l_adr_flexfield_segment_code := NULL;
64135 l_adr_flex_value_set_id := NULL;
64136 l_adr_value_type_code := NULL;
64137 l_adr_value_combination_id := NULL;
64138 l_adr_value_segment_code := NULL;
64139
64140 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
64141 l_bflow_class_code := ''; -- 4219869 Business Flow
64142 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
64143 l_budgetary_control_flag := 'N';
64144
64145 l_bflow_applied_to_amt_idx := NULL; -- 5132302
64146 l_bflow_applied_to_amt := NULL; -- 5132302
64147 l_entered_amt_idx := NULL; -- 4262811
64148 l_accted_amt_idx := NULL; -- 4262811
64149 l_acc_rev_flag := NULL; -- 4262811
64150 l_accrual_line_num := NULL; -- 4262811
64151 l_tmp_amt := NULL; -- 4262811
64152 --
64153 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
64154 (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
64155 return;
64156 END IF;
64157
64158 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
64159 l_balance_type_code <> 'B' THEN
64160 IF (NVL(p_source_97,'
64161 ') = 'CLEAR_CLEAR' OR
64162 NVL(p_source_97,'
64163 ') = 'ALWAYS_CLEAR' OR
64164 NVL(p_source_97,'
64165 ') = 'ALWAYS_ALWAYS') AND
64166 p_source_114 IS NULL AND
64167 NVL(p_source_98,'
64168 ') <> 'EXCHANGE RATE VARIANCE' AND
64169 NVL(p_source_98,'
64170 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
64171 NVL(p_source_98,'
64172 ') <> 'BANK CHARGE' AND
64173 NVL(p_source_98,'
64174 ') <> 'BANK ERROR'
64175 THEN
64176
64177 --
64178 XLA_AE_LINES_PKG.SetNewLine;
64179
64180 p_balance_type_code := l_balance_type_code;
64181 -- set the flag so later we will know whether the gain loss line needs to be created
64182
64183 IF(l_balance_type_code = 'A' ) THEN
64184 p_actual_flag :='G';
64185 END IF;
64186
64187 --
64188 -- bulk performance
64189 --
64190 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
64191 p_header_num => 0); -- 4262811
64192 --
64193 -- set accounting line options
64194 --
64195 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
64196 p_natural_side_code => 'G'
64197 , p_gain_or_loss_flag => 'N'
64198 , p_gl_transfer_mode_code => 'S'
64199 , p_acct_entry_type_code => 'A'
64200 , p_switch_side_flag => ''
64201 , p_merge_duplicate_code => 'A'
64202 );
64203 --
64207 -- set accounting line type info
64204 l_acc_rev_natural_side_code := 'C'; -- 4262811
64205 --
64206 --
64208 --
64209 xla_ae_lines_pkg.SetAcctLineType
64210 (p_component_type => l_component_type
64211 ,p_event_type_code => l_event_type_code
64212 ,p_line_definition_owner_code => l_line_definition_owner_code
64213 ,p_line_definition_code => l_line_definition_code
64214 ,p_accounting_line_code => l_component_code
64215 ,p_accounting_line_type_code => l_component_type_code
64216 ,p_accounting_line_appl_id => l_component_appl_id
64217 ,p_amb_context_code => l_amb_context_code
64218 ,p_entity_code => l_entity_code
64219 ,p_event_class_code => l_event_class_code);
64220 --
64221 -- set accounting class
64222 --
64223 xla_ae_lines_pkg.SetAcctClass(
64224 p_accounting_class_code => 'EXCHANGE_GAIN_LOSS'
64225 , p_ae_header_id => l_ae_header_id
64226 );
64227
64228 --
64229 -- set rounding class
64230 --
64231 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
64232 'EXCHANGE_GAIN_LOSS';
64233
64234 --
64235 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
64236 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
64237 --
64238 -- bulk performance
64239 --
64240 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
64241
64242 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
64243 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
64244
64245 -- 4955764
64246 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
64247 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
64248
64249 -- 4458381 Public Sector Enh
64250
64251 --
64252 -- set accounting attributes for the line type
64253 --
64254 l_entered_amt_idx := NULL;
64255 l_accted_amt_idx := 10;
64256 l_bflow_applied_to_amt_idx := 2; -- 5132302
64257 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
64258 l_rec_acct_attrs.array_char_value(1) := p_source_53;
64259 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
64260 l_rec_acct_attrs.array_num_value(2) := p_source_99;
64261 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
64262 l_rec_acct_attrs.array_num_value(3) := p_source_91;
64263 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
64264 l_rec_acct_attrs.array_char_value(4) := p_source_100;
64265 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
64266 l_rec_acct_attrs.array_char_value(5) := p_source_101;
64267 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
64268 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
64269 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
64270 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
64271 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
64272 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
64273 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
64274 l_rec_acct_attrs.array_char_value(9) := p_source_55;
64275 l_rec_acct_attrs.array_acct_attr_code(10) := 'LEDGER_AMOUNT';
64276 l_rec_acct_attrs.array_num_value(10) := p_source_152;
64277 l_rec_acct_attrs.array_acct_attr_code(11) := 'OVERRIDE_ACCTD_AMT_FLAG';
64278 l_rec_acct_attrs.array_char_value(11) := p_source_80;
64279 l_rec_acct_attrs.array_acct_attr_code(12) := 'PARTY_ID';
64280 l_rec_acct_attrs.array_num_value(12) := p_source_110;
64281 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_SITE_ID';
64282 l_rec_acct_attrs.array_num_value(13) := p_source_111;
64283 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
64284 l_rec_acct_attrs.array_char_value(14) := p_source_83;
64285 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
64286 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_112);
64287 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
64288 l_rec_acct_attrs.array_char_value(16) := p_source_55;
64289 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
64290 l_rec_acct_attrs.array_num_value(17) := p_source_86;
64291 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
64292 l_rec_acct_attrs.array_num_value(18) := p_source_86;
64293 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
64294 l_rec_acct_attrs.array_num_value(19) := p_source_88;
64295
64296 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
64297 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
64298
64299 ---------------------------------------------------------------------------------------------------------------
64300 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
64301 ---------------------------------------------------------------------------------------------------------------
64305 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
64302 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
64303
64304 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
64306
64307 IF xla_accounting_cache_pkg.GetValueChar
64308 (p_source_code => 'LEDGER_CATEGORY_CODE'
64309 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
64310 AND l_bflow_method_code = 'PRIOR_ENTRY'
64311 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
64312 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
64313 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
64314 )
64315 THEN
64316 xla_ae_lines_pkg.BflowUpgEntry
64317 (p_business_method_code => l_bflow_method_code
64318 ,p_business_class_code => l_bflow_class_code
64319 ,p_balance_type => l_balance_type_code);
64320 ELSE
64321 NULL;
64322 -- No business flow processing for business flow method of NONE.
64323 END IF;
64324
64325 --
64326 -- call analytical criteria
64327 --
64328
64329 --
64330 -- call description
64331 --
64332 -- No description or it is inherited.
64333 --
64334 -- call ADRs
64335 -- Bug 4922099
64336 --
64337 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
64338 (NVL(l_actual_upg_option, 'N') = 'O') OR
64339 (NVL(l_enc_upg_option, 'N') = 'O')
64340 )
64341 THEN
64342 NULL;
64343 --
64344 --
64345
64346 l_ccid := AcctDerRule_38(
64347 p_application_id => p_application_id
64348 , p_ae_header_id => l_ae_header_id
64349 , p_source_15 => p_source_15
64350 , p_source_15_meaning => p_source_15_meaning
64351 , p_source_30 => p_source_30
64352 , p_source_36 => p_source_36
64353 , p_source_37 => p_source_37
64354 , x_transaction_coa_id => l_adr_transaction_coa_id
64355 , x_accounting_coa_id => l_adr_accounting_coa_id
64356 , x_value_type_code => l_adr_value_type_code
64357 , p_side => 'CREDIT'
64358 );
64359
64360 xla_ae_lines_pkg.set_ccid(
64361 p_code_combination_id => l_ccid
64362 , p_value_type_code => l_adr_value_type_code
64363 , p_transaction_coa_id => l_adr_transaction_coa_id
64364 , p_accounting_coa_id => l_adr_accounting_coa_id
64365 , p_adr_code => 'AP_REAL_GAIN'
64366 , p_adr_type_code => 'S'
64367 , p_component_type => l_component_type
64368 , p_component_code => l_component_code
64369 , p_component_type_code => l_component_type_code
64370 , p_component_appl_id => l_component_appl_id
64371 , p_amb_context_code => l_amb_context_code
64372 , p_side => 'CREDIT'
64373 );
64374
64375
64376 l_ccid := AcctDerRule_39(
64377 p_application_id => p_application_id
64378 , p_ae_header_id => l_ae_header_id
64379 , p_source_15 => p_source_15
64380 , p_source_15_meaning => p_source_15_meaning
64381 , p_source_30 => p_source_30
64382 , p_source_38 => p_source_38
64383 , p_source_39 => p_source_39
64384 , x_transaction_coa_id => l_adr_transaction_coa_id
64385 , x_accounting_coa_id => l_adr_accounting_coa_id
64386 , x_value_type_code => l_adr_value_type_code
64387 , p_side => 'DEBIT'
64388 );
64389
64390 xla_ae_lines_pkg.set_ccid(
64391 p_code_combination_id => l_ccid
64392 , p_value_type_code => l_adr_value_type_code
64393 , p_transaction_coa_id => l_adr_transaction_coa_id
64394 , p_accounting_coa_id => l_adr_accounting_coa_id
64395 , p_adr_code => 'AP_REAL_LOSS'
64396 , p_adr_type_code => 'S'
64397 , p_component_type => l_component_type
64398 , p_component_code => l_component_code
64399 , p_component_type_code => l_component_type_code
64400 , p_component_appl_id => l_component_appl_id
64401 , p_amb_context_code => l_amb_context_code
64402 , p_side => 'DEBIT'
64403 );
64404
64405
64406 l_segment := AcctDerRule_22(
64407 p_application_id => p_application_id
64408 , p_ae_header_id => l_ae_header_id
64409 , p_source_15 => p_source_15
64410 , p_source_15_meaning => p_source_15_meaning
64411 , p_source_30 => p_source_30
64412 , x_transaction_coa_id => l_adr_transaction_coa_id
64413 , x_accounting_coa_id => l_adr_accounting_coa_id
64414 , x_flexfield_segment_code => l_adr_flexfield_segment_code
64415 , x_flex_value_set_id => l_adr_flex_value_set_id
64416 , x_value_type_code => l_adr_value_type_code
64417 , x_value_combination_id => l_adr_value_combination_id
64418 , x_value_segment_code => l_adr_value_segment_code
64419 , p_side => 'ALL'
64420 , p_override_seg_flag => 'Y'
64421 );
64422
64426 p_to_segment_code => 'GL_BALANCING'
64423 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
64424
64425 xla_ae_lines_pkg.set_segment(
64427 , p_segment_value => l_segment
64428 , p_from_segment_code => l_adr_value_segment_code
64429 , p_from_combination_id => l_adr_value_combination_id
64430 , p_value_type_code => l_adr_value_type_code
64431 , p_transaction_coa_id => l_adr_transaction_coa_id
64432 , p_accounting_coa_id => l_adr_accounting_coa_id
64433 , p_flexfield_segment_code => l_adr_flexfield_segment_code
64434 , p_flex_value_set_id => l_adr_flex_value_set_id
64435 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
64436 , p_adr_type_code => 'S'
64437 , p_component_type => l_component_type
64438 , p_component_code => l_component_code
64439 , p_component_type_code => l_component_type_code
64440 , p_component_appl_id => l_component_appl_id
64441 , p_amb_context_code => l_amb_context_code
64442 , p_entity_code => 'AP_PAYMENTS'
64443 , p_event_class_code => 'RECONCILED PAYMENTS'
64444 , p_side => 'ALL'
64445 );
64446
64447 END IF;
64448
64449 l_segment := AcctDerRule_17(
64450 p_application_id => p_application_id
64451 , p_ae_header_id => l_ae_header_id
64452 , p_source_15 => p_source_15
64453 , p_source_15_meaning => p_source_15_meaning
64454 , p_source_36 => p_source_36
64455 , p_source_37 => p_source_37
64456 , x_transaction_coa_id => l_adr_transaction_coa_id
64457 , x_accounting_coa_id => l_adr_accounting_coa_id
64458 , x_flexfield_segment_code => l_adr_flexfield_segment_code
64459 , x_flex_value_set_id => l_adr_flex_value_set_id
64460 , x_value_type_code => l_adr_value_type_code
64461 , x_value_combination_id => l_adr_value_combination_id
64462 , x_value_segment_code => l_adr_value_segment_code
64463 , p_side => 'CREDIT'
64464 , p_override_seg_flag => 'Y'
64465 );
64466
64467 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
64468
64469 xla_ae_lines_pkg.set_segment(
64470 p_to_segment_code => 'GL_ACCOUNT'
64471 , p_segment_value => l_segment
64472 , p_from_segment_code => l_adr_value_segment_code
64473 , p_from_combination_id => l_adr_value_combination_id
64474 , p_value_type_code => l_adr_value_type_code
64475 , p_transaction_coa_id => l_adr_transaction_coa_id
64476 , p_accounting_coa_id => l_adr_accounting_coa_id
64477 , p_flexfield_segment_code => l_adr_flexfield_segment_code
64478 , p_flex_value_set_id => l_adr_flex_value_set_id
64479 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
64480 , p_adr_type_code => 'S'
64481 , p_component_type => l_component_type
64482 , p_component_code => l_component_code
64483 , p_component_type_code => l_component_type_code
64484 , p_component_appl_id => l_component_appl_id
64485 , p_amb_context_code => l_amb_context_code
64486 , p_entity_code => 'AP_PAYMENTS'
64487 , p_event_class_code => 'RECONCILED PAYMENTS'
64488 , p_side => 'CREDIT'
64489 );
64490
64491 END IF;
64492
64493 l_segment := AcctDerRule_18(
64494 p_application_id => p_application_id
64495 , p_ae_header_id => l_ae_header_id
64496 , p_source_15 => p_source_15
64497 , p_source_15_meaning => p_source_15_meaning
64498 , p_source_38 => p_source_38
64499 , p_source_39 => p_source_39
64500 , x_transaction_coa_id => l_adr_transaction_coa_id
64501 , x_accounting_coa_id => l_adr_accounting_coa_id
64502 , x_flexfield_segment_code => l_adr_flexfield_segment_code
64503 , x_flex_value_set_id => l_adr_flex_value_set_id
64504 , x_value_type_code => l_adr_value_type_code
64505 , x_value_combination_id => l_adr_value_combination_id
64506 , x_value_segment_code => l_adr_value_segment_code
64507 , p_side => 'DEBIT'
64508 , p_override_seg_flag => 'Y'
64509 );
64510
64511 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
64512
64513 xla_ae_lines_pkg.set_segment(
64514 p_to_segment_code => 'GL_ACCOUNT'
64515 , p_segment_value => l_segment
64516 , p_from_segment_code => l_adr_value_segment_code
64517 , p_from_combination_id => l_adr_value_combination_id
64518 , p_value_type_code => l_adr_value_type_code
64519 , p_transaction_coa_id => l_adr_transaction_coa_id
64520 , p_accounting_coa_id => l_adr_accounting_coa_id
64521 , p_flexfield_segment_code => l_adr_flexfield_segment_code
64522 , p_flex_value_set_id => l_adr_flex_value_set_id
64523 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
64524 , p_adr_type_code => 'S'
64525 , p_component_type => l_component_type
64526 , p_component_code => l_component_code
64527 , p_component_type_code => l_component_type_code
64528 , p_component_appl_id => l_component_appl_id
64532 , p_side => 'DEBIT'
64529 , p_amb_context_code => l_amb_context_code
64530 , p_entity_code => 'AP_PAYMENTS'
64531 , p_event_class_code => 'RECONCILED PAYMENTS'
64533 );
64534
64535 END IF;
64536
64537 --
64538 --
64539 END IF;
64540 --
64541 -- Bug 4922099
64542 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
64543 (NVL(l_enc_upg_option, 'N') = 'O')
64544 ) AND
64545 (l_bflow_method_code = 'PRIOR_ENTRY')
64546 )
64547 THEN
64548 IF
64549 --
64550 1 = 2
64551 --
64552 THEN
64553 xla_accounting_err_pkg.build_message
64554 (p_appli_s_name => 'XLA'
64555 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
64556 ,p_token_1 => 'LINE_NUMBER'
64557 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
64558 ,p_token_2 => 'LINE_TYPE_NAME'
64559 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
64560 l_component_type
64561 ,l_component_code
64562 ,l_component_type_code
64563 ,l_component_appl_id
64564 ,l_amb_context_code
64565 ,l_entity_code
64566 ,l_event_class_code
64567 )
64568 ,p_token_3 => 'OWNER'
64569 ,p_value_3 => xla_lookups_pkg.get_meaning(
64570 p_lookup_type => 'XLA_OWNER_TYPE'
64571 ,p_lookup_code => l_component_type_code
64572 )
64573 ,p_token_4 => 'PRODUCT_NAME'
64574 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
64575 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
64576 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
64577 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
64578 ,p_ae_header_id => NULL
64579 );
64580
64581 IF (C_LEVEL_ERROR>= g_log_level) THEN
64582 trace
64583 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
64584 ,p_level => C_LEVEL_ERROR
64585 ,p_module => l_log_module);
64586 END IF;
64587 END IF;
64588 END IF;
64589 --
64590 --
64591 ------------------------------------------------------------------------------------------------
64592 -- 4219869 Business Flow
64593 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
64594 -- Prior Entry. Currently, the following code is always generated.
64595 ------------------------------------------------------------------------------------------------
64596 XLA_AE_LINES_PKG.ValidateCurrentLine;
64597
64598 ------------------------------------------------------------------------------------
64599 -- 4219869 Business Flow
64600 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
64601 ------------------------------------------------------------------------------------
64602 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
64603
64604 ----------------------------------------------------------------------------------
64605 -- 4219869 Business Flow
64606 -- Update journal entry status -- Need to generate this within IF <condition>
64607 ----------------------------------------------------------------------------------
64608 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
64609 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
64610 ,p_balance_type_code => l_balance_type_code
64611 );
64612
64613 -------------------------------------------------------------------------------------------
64614 -- 4262811 - Generate the Accrual Reversal lines
64615 -------------------------------------------------------------------------------------------
64616 BEGIN
64617 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
64618 (g_array_event(p_event_id).array_value_num('header_index'));
64619 IF l_acc_rev_flag IS NULL THEN
64620 l_acc_rev_flag := 'N';
64621 END IF;
64622 EXCEPTION
64623 WHEN OTHERS THEN
64624 l_acc_rev_flag := 'N';
64625 END;
64626 --
64627 IF (l_acc_rev_flag = 'Y') THEN
64628
64632 ------------------------------------------------------------------------------------------
64629 -- 4645092 ------------------------------------------------------------------------------
64630 -- To allow MPA report to determine if it should generate report process
64631 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
64633
64634 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
64635 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
64636 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
64637 -- call ADRs
64638 -- Bug 4922099
64639 --
64640 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
64641 (NVL(l_actual_upg_option, 'N') = 'O') OR
64642 (NVL(l_enc_upg_option, 'N') = 'O')
64643 )
64644 THEN
64645 NULL;
64646 --
64647 --
64648
64649 l_ccid := AcctDerRule_38(
64650 p_application_id => p_application_id
64651 , p_ae_header_id => l_ae_header_id
64652 , p_source_15 => p_source_15
64653 , p_source_15_meaning => p_source_15_meaning
64654 , p_source_30 => p_source_30
64655 , p_source_36 => p_source_36
64656 , p_source_37 => p_source_37
64657 , x_transaction_coa_id => l_adr_transaction_coa_id
64658 , x_accounting_coa_id => l_adr_accounting_coa_id
64659 , x_value_type_code => l_adr_value_type_code
64660 , p_side => 'CREDIT'
64661 );
64662
64663 xla_ae_lines_pkg.set_ccid(
64664 p_code_combination_id => l_ccid
64665 , p_value_type_code => l_adr_value_type_code
64666 , p_transaction_coa_id => l_adr_transaction_coa_id
64667 , p_accounting_coa_id => l_adr_accounting_coa_id
64668 , p_adr_code => 'AP_REAL_GAIN'
64669 , p_adr_type_code => 'S'
64670 , p_component_type => l_component_type
64671 , p_component_code => l_component_code
64672 , p_component_type_code => l_component_type_code
64673 , p_component_appl_id => l_component_appl_id
64674 , p_amb_context_code => l_amb_context_code
64675 , p_side => 'CREDIT'
64676 );
64677
64678
64679 l_ccid := AcctDerRule_39(
64680 p_application_id => p_application_id
64681 , p_ae_header_id => l_ae_header_id
64682 , p_source_15 => p_source_15
64683 , p_source_15_meaning => p_source_15_meaning
64684 , p_source_30 => p_source_30
64685 , p_source_38 => p_source_38
64686 , p_source_39 => p_source_39
64687 , x_transaction_coa_id => l_adr_transaction_coa_id
64688 , x_accounting_coa_id => l_adr_accounting_coa_id
64689 , x_value_type_code => l_adr_value_type_code
64690 , p_side => 'DEBIT'
64691 );
64692
64693 xla_ae_lines_pkg.set_ccid(
64694 p_code_combination_id => l_ccid
64695 , p_value_type_code => l_adr_value_type_code
64696 , p_transaction_coa_id => l_adr_transaction_coa_id
64697 , p_accounting_coa_id => l_adr_accounting_coa_id
64698 , p_adr_code => 'AP_REAL_LOSS'
64699 , p_adr_type_code => 'S'
64700 , p_component_type => l_component_type
64701 , p_component_code => l_component_code
64702 , p_component_type_code => l_component_type_code
64703 , p_component_appl_id => l_component_appl_id
64704 , p_amb_context_code => l_amb_context_code
64705 , p_side => 'DEBIT'
64706 );
64707
64708
64709 l_segment := AcctDerRule_22(
64710 p_application_id => p_application_id
64711 , p_ae_header_id => l_ae_header_id
64712 , p_source_15 => p_source_15
64713 , p_source_15_meaning => p_source_15_meaning
64714 , p_source_30 => p_source_30
64715 , x_transaction_coa_id => l_adr_transaction_coa_id
64716 , x_accounting_coa_id => l_adr_accounting_coa_id
64717 , x_flexfield_segment_code => l_adr_flexfield_segment_code
64718 , x_flex_value_set_id => l_adr_flex_value_set_id
64719 , x_value_type_code => l_adr_value_type_code
64720 , x_value_combination_id => l_adr_value_combination_id
64721 , x_value_segment_code => l_adr_value_segment_code
64722 , p_side => 'ALL'
64723 , p_override_seg_flag => 'Y'
64724 );
64725
64726 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
64727
64728 xla_ae_lines_pkg.set_segment(
64729 p_to_segment_code => 'GL_BALANCING'
64730 , p_segment_value => l_segment
64731 , p_from_segment_code => l_adr_value_segment_code
64732 , p_from_combination_id => l_adr_value_combination_id
64733 , p_value_type_code => l_adr_value_type_code
64734 , p_transaction_coa_id => l_adr_transaction_coa_id
64735 , p_accounting_coa_id => l_adr_accounting_coa_id
64736 , p_flexfield_segment_code => l_adr_flexfield_segment_code
64737 , p_flex_value_set_id => l_adr_flex_value_set_id
64738 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
64739 , p_adr_type_code => 'S'
64740 , p_component_type => l_component_type
64741 , p_component_code => l_component_code
64742 , p_component_type_code => l_component_type_code
64746 , p_event_class_code => 'RECONCILED PAYMENTS'
64743 , p_component_appl_id => l_component_appl_id
64744 , p_amb_context_code => l_amb_context_code
64745 , p_entity_code => 'AP_PAYMENTS'
64747 , p_side => 'ALL'
64748 );
64749
64750 END IF;
64751
64752 l_segment := AcctDerRule_17(
64753 p_application_id => p_application_id
64754 , p_ae_header_id => l_ae_header_id
64755 , p_source_15 => p_source_15
64756 , p_source_15_meaning => p_source_15_meaning
64757 , p_source_36 => p_source_36
64758 , p_source_37 => p_source_37
64759 , x_transaction_coa_id => l_adr_transaction_coa_id
64760 , x_accounting_coa_id => l_adr_accounting_coa_id
64761 , x_flexfield_segment_code => l_adr_flexfield_segment_code
64762 , x_flex_value_set_id => l_adr_flex_value_set_id
64763 , x_value_type_code => l_adr_value_type_code
64764 , x_value_combination_id => l_adr_value_combination_id
64765 , x_value_segment_code => l_adr_value_segment_code
64766 , p_side => 'CREDIT'
64767 , p_override_seg_flag => 'Y'
64768 );
64769
64770 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
64771
64772 xla_ae_lines_pkg.set_segment(
64773 p_to_segment_code => 'GL_ACCOUNT'
64774 , p_segment_value => l_segment
64775 , p_from_segment_code => l_adr_value_segment_code
64776 , p_from_combination_id => l_adr_value_combination_id
64777 , p_value_type_code => l_adr_value_type_code
64778 , p_transaction_coa_id => l_adr_transaction_coa_id
64779 , p_accounting_coa_id => l_adr_accounting_coa_id
64780 , p_flexfield_segment_code => l_adr_flexfield_segment_code
64781 , p_flex_value_set_id => l_adr_flex_value_set_id
64782 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
64783 , p_adr_type_code => 'S'
64784 , p_component_type => l_component_type
64785 , p_component_code => l_component_code
64786 , p_component_type_code => l_component_type_code
64787 , p_component_appl_id => l_component_appl_id
64788 , p_amb_context_code => l_amb_context_code
64789 , p_entity_code => 'AP_PAYMENTS'
64790 , p_event_class_code => 'RECONCILED PAYMENTS'
64791 , p_side => 'CREDIT'
64792 );
64793
64794 END IF;
64795
64796 l_segment := AcctDerRule_18(
64797 p_application_id => p_application_id
64798 , p_ae_header_id => l_ae_header_id
64799 , p_source_15 => p_source_15
64800 , p_source_15_meaning => p_source_15_meaning
64801 , p_source_38 => p_source_38
64802 , p_source_39 => p_source_39
64803 , x_transaction_coa_id => l_adr_transaction_coa_id
64804 , x_accounting_coa_id => l_adr_accounting_coa_id
64805 , x_flexfield_segment_code => l_adr_flexfield_segment_code
64806 , x_flex_value_set_id => l_adr_flex_value_set_id
64807 , x_value_type_code => l_adr_value_type_code
64808 , x_value_combination_id => l_adr_value_combination_id
64809 , x_value_segment_code => l_adr_value_segment_code
64810 , p_side => 'DEBIT'
64811 , p_override_seg_flag => 'Y'
64812 );
64813
64814 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
64815
64816 xla_ae_lines_pkg.set_segment(
64817 p_to_segment_code => 'GL_ACCOUNT'
64818 , p_segment_value => l_segment
64819 , p_from_segment_code => l_adr_value_segment_code
64820 , p_from_combination_id => l_adr_value_combination_id
64821 , p_value_type_code => l_adr_value_type_code
64822 , p_transaction_coa_id => l_adr_transaction_coa_id
64823 , p_accounting_coa_id => l_adr_accounting_coa_id
64824 , p_flexfield_segment_code => l_adr_flexfield_segment_code
64825 , p_flex_value_set_id => l_adr_flex_value_set_id
64826 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
64827 , p_adr_type_code => 'S'
64828 , p_component_type => l_component_type
64829 , p_component_code => l_component_code
64830 , p_component_type_code => l_component_type_code
64831 , p_component_appl_id => l_component_appl_id
64832 , p_amb_context_code => l_amb_context_code
64833 , p_entity_code => 'AP_PAYMENTS'
64834 , p_event_class_code => 'RECONCILED PAYMENTS'
64835 , p_side => 'DEBIT'
64836 );
64837
64838 END IF;
64839
64840 --
64841 --
64842 END IF;
64843
64844 --
64845 -- Update the line information that should be overwritten
64846 --
64847 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
64848 p_header_num => 1);
64849 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
64850
64851 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
64852
64856
64853 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
64854 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
64855 END IF;
64857 --
64858 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
64859 --
64860 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
64861 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
64862 ELSE
64863 ---------------------------------------------------------------------------------------------------
64864 -- 4262811a Switch Sign
64865 ---------------------------------------------------------------------------------------------------
64866 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
64867 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
64868 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
64869 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
64870 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
64871 -- 5132302
64872 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
64873 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
64874
64875 END IF;
64876
64877 -- 4955764
64878 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
64879 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
64880
64881
64882 XLA_AE_LINES_PKG.ValidateCurrentLine;
64883 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
64884
64885 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
64886 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
64887 ,p_balance_type_code => l_balance_type_code);
64888
64889 END IF;
64890
64891 -----------------------------------------------------------------------------------------
64892 -- 4262811 Multiperiod Accounting
64893 -----------------------------------------------------------------------------------------
64894 -- No MPA option is assigned.
64895
64896
64897 END IF;
64898 END IF;
64899 --
64900
64901 --
64902 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
64903 trace
64904 (p_msg => 'END of AcctLineType_125'
64905 ,p_level => C_LEVEL_PROCEDURE
64906 ,p_module => l_log_module);
64907 END IF;
64908 --
64909 EXCEPTION
64910 WHEN xla_exceptions_pkg.application_exception THEN
64911 RAISE;
64912 WHEN OTHERS THEN
64913 xla_exceptions_pkg.raise_message
64914 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_125');
64915 END AcctLineType_125;
64916 --
64917
64918 ---------------------------------------
64919 --
64920 -- PRIVATE FUNCTION
64921 -- AcctLineType_126
64922 --
64923 ---------------------------------------
64924 PROCEDURE AcctLineType_126 (
64925 p_application_id IN NUMBER
64926 ,p_event_id IN NUMBER
64927 ,p_calculate_acctd_flag IN VARCHAR2
64928 ,p_calculate_g_l_flag IN VARCHAR2
64929 ,p_actual_flag IN OUT VARCHAR2
64930 ,p_balance_type_code OUT VARCHAR2
64931 ,p_gain_or_loss_ref OUT VARCHAR2
64932
64933 --Automatic Offsets Value
64934 , p_source_15 IN VARCHAR2
64935 , p_source_15_meaning IN VARCHAR2
64936 --Invoice Distribution Account
64937 , p_source_30 IN NUMBER
64938 --Internal Realized Gain Account
64939 , p_source_36 IN NUMBER
64940 --Bank Gain Account
64941 , p_source_37 IN NUMBER
64942 --Internal Realized Loss Account
64943 , p_source_38 IN NUMBER
64944 --Bank Loss Account
64945 , p_source_39 IN NUMBER
64946 --Accounting Reversal Indicator
64947 , p_source_53 IN VARCHAR2
64948 --Distribution Link Type
64949 , p_source_55 IN VARCHAR2
64950 --Override Accounted Amount Indicator
64951 , p_source_80 IN VARCHAR2
64952 , p_source_80_meaning IN VARCHAR2
64953 --Third Party Type
64954 , p_source_83 IN VARCHAR2
64955 --Invoice Distribution Tax Line Identifier
64956 , p_source_86 IN NUMBER
64957 --Invoice Distribution Tax Distribution Identifier from Tax
64958 , p_source_87 IN NUMBER
64959 --Invoice Distribution Summary Tax Line Identifier
64960 , p_source_88 IN NUMBER
64961 --Business Flow Accounts Payable Application Identifier
64962 , p_source_91 IN NUMBER
64963 --Business Flow Invoice Distribution Type
64964 , p_source_92 IN VARCHAR2
64965 --Business Flow Invoice Entity Code
64966 , p_source_93 IN VARCHAR2
64967 --Business Flow Invoice Distribution Identifier
64968 , p_source_94 IN NUMBER
64969 --Business Flow Invoice Identifier
64970 , p_source_95 IN NUMBER
64971 --When to Account for Payment Option
64972 , p_source_97 IN VARCHAR2
64973 --Payment Distribution Type
64974 , p_source_98 IN VARCHAR2
64978 --Payment Supplier Identifier
64975 , p_source_98_meaning IN VARCHAR2
64976 --Payment Distribution Identifier
64977 , p_source_104 IN NUMBER
64979 , p_source_110 IN NUMBER
64980 --Payment Supplier Site Identifier
64981 , p_source_111 IN NUMBER
64982 --Payment Distribution Reversed Identifier
64983 , p_source_112 IN NUMBER
64984 --Payment Type
64985 , p_source_122 IN VARCHAR2
64986 , p_source_122_meaning IN VARCHAR2
64987 --Invoice Distribution Amount of the Payment Distribution
64988 , p_source_124 IN NUMBER
64989 --Invoice/Payment Ledger Amount Difference
64990 , p_source_153 IN NUMBER
64991 )
64992 IS
64993
64994 l_component_type VARCHAR2(80);
64995 l_component_code VARCHAR2(30);
64996 l_component_type_code VARCHAR2(1);
64997 l_component_appl_id INTEGER;
64998 l_amb_context_code VARCHAR2(30);
64999 l_entity_code VARCHAR2(30);
65000 l_event_class_code VARCHAR2(30);
65001 l_ae_header_id NUMBER;
65002 l_event_type_code VARCHAR2(30);
65003 l_line_definition_code VARCHAR2(30);
65004 l_line_definition_owner_code VARCHAR2(1);
65005 --
65006 -- adr variables
65007 l_segment VARCHAR2(30);
65008 l_ccid NUMBER;
65009 l_adr_transaction_coa_id NUMBER;
65010 l_adr_accounting_coa_id NUMBER;
65011 l_adr_flexfield_segment_code VARCHAR2(30);
65012 l_adr_flex_value_set_id NUMBER;
65013 l_adr_value_type_code VARCHAR2(30);
65014 l_adr_value_combination_id NUMBER;
65015 l_adr_value_segment_code VARCHAR2(30);
65016
65017 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
65018 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
65019 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
65020 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
65021
65022 -- 4262811 Variables ------------------------------------------------------------------------------------------
65023 l_entered_amt_idx NUMBER;
65024 l_accted_amt_idx NUMBER;
65025 l_acc_rev_flag VARCHAR2(1);
65026 l_accrual_line_num NUMBER;
65027 l_tmp_amt NUMBER;
65028 l_acc_rev_natural_side_code VARCHAR2(1);
65029
65030 l_num_entries NUMBER;
65031 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
65032 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
65033 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
65034 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
65035 l_recog_line_1 NUMBER;
65036 l_recog_line_2 NUMBER;
65037
65038 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
65039 l_bflow_applied_to_amt NUMBER; -- 5132302
65040 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
65041
65042 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
65043
65044 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
65045 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
65046
65047 ---------------------------------------------------------------------------------------------------------------
65048
65049
65050 --
65051 -- bulk performance
65052 --
65053 l_balance_type_code VARCHAR2(1);
65054 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
65055 l_log_module VARCHAR2(240);
65056
65057 --
65058 -- Upgrade strategy
65059 --
65060 l_actual_upg_option VARCHAR2(1);
65061 l_enc_upg_option VARCHAR2(1);
65062
65063 --
65064 BEGIN
65065 --
65066 IF g_log_enabled THEN
65067 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_126';
65068 END IF;
65069 --
65070 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
65071
65072 trace
65073 (p_msg => 'BEGIN of AcctLineType_126'
65074 ,p_level => C_LEVEL_PROCEDURE
65075 ,p_module => l_log_module);
65076
65077 END IF;
65078 --
65079 l_component_type := 'AMB_JLT';
65080 l_component_code := 'AP_GAIN_LOSS_PMT';
65081 l_component_type_code := 'S';
65082 l_component_appl_id := 200;
65083 l_amb_context_code := 'DEFAULT';
65084 l_entity_code := 'AP_PAYMENTS';
65085 l_event_class_code := 'PAYMENTS';
65086 l_event_type_code := 'PAYMENTS_ALL';
65087 l_line_definition_owner_code := 'S';
65088 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
65089 --
65090 l_balance_type_code := 'A';
65091 l_segment := NULL;
65092 l_ccid := NULL;
65093 l_adr_transaction_coa_id := NULL;
65094 l_adr_accounting_coa_id := NULL;
65095 l_adr_flexfield_segment_code := NULL;
65096 l_adr_flex_value_set_id := NULL;
65097 l_adr_value_type_code := NULL;
65098 l_adr_value_combination_id := NULL;
65099 l_adr_value_segment_code := NULL;
65100
65101 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
65102 l_bflow_class_code := ''; -- 4219869 Business Flow
65103 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
65107 l_bflow_applied_to_amt := NULL; -- 5132302
65104 l_budgetary_control_flag := 'N';
65105
65106 l_bflow_applied_to_amt_idx := NULL; -- 5132302
65108 l_entered_amt_idx := NULL; -- 4262811
65109 l_accted_amt_idx := NULL; -- 4262811
65110 l_acc_rev_flag := NULL; -- 4262811
65111 l_accrual_line_num := NULL; -- 4262811
65112 l_tmp_amt := NULL; -- 4262811
65113 --
65114 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
65115 (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
65116 return;
65117 END IF;
65118
65119 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
65120 l_balance_type_code <> 'B' THEN
65121 IF (NVL(p_source_97,'
65122 ') <> 'CLEAR_CLEAR' AND
65123 NVL(p_source_97,'
65124 ') <> 'ALWAYS_CLEAR') AND
65125 NVL(p_source_98,'
65126 ') <> 'EXCHANGE RATE VARIANCE' AND
65127 NVL(p_source_98,'
65128 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
65129 NVL(p_source_98,'
65130 ') <> 'BANK CHARGE' AND
65131 NVL(p_source_98,'
65132 ') <> 'BANK ERROR' AND
65133 NVL(p_source_122,'
65134 ') <> 'R'
65135 THEN
65136
65137 --
65138 XLA_AE_LINES_PKG.SetNewLine;
65139
65140 p_balance_type_code := l_balance_type_code;
65141 -- set the flag so later we will know whether the gain loss line needs to be created
65142
65143 IF(l_balance_type_code = 'A' ) THEN
65144 p_actual_flag :='G';
65145 END IF;
65146
65147 --
65148 -- bulk performance
65149 --
65150 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
65151 p_header_num => 0); -- 4262811
65152 --
65153 -- set accounting line options
65154 --
65155 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
65156 p_natural_side_code => 'G'
65157 , p_gain_or_loss_flag => 'N'
65158 , p_gl_transfer_mode_code => 'S'
65159 , p_acct_entry_type_code => 'A'
65160 , p_switch_side_flag => ''
65161 , p_merge_duplicate_code => 'A'
65162 );
65163 --
65164 l_acc_rev_natural_side_code := 'C'; -- 4262811
65165 --
65166 --
65167 -- set accounting line type info
65168 --
65169 xla_ae_lines_pkg.SetAcctLineType
65170 (p_component_type => l_component_type
65171 ,p_event_type_code => l_event_type_code
65172 ,p_line_definition_owner_code => l_line_definition_owner_code
65173 ,p_line_definition_code => l_line_definition_code
65174 ,p_accounting_line_code => l_component_code
65175 ,p_accounting_line_type_code => l_component_type_code
65176 ,p_accounting_line_appl_id => l_component_appl_id
65177 ,p_amb_context_code => l_amb_context_code
65178 ,p_entity_code => l_entity_code
65179 ,p_event_class_code => l_event_class_code);
65180 --
65181 -- set accounting class
65182 --
65183 xla_ae_lines_pkg.SetAcctClass(
65184 p_accounting_class_code => 'EXCHANGE_GAIN_LOSS'
65185 , p_ae_header_id => l_ae_header_id
65186 );
65187
65188 --
65189 -- set rounding class
65190 --
65191 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
65192 'EXCHANGE_GAIN_LOSS';
65193
65194 --
65195 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
65196 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
65197 --
65198 -- bulk performance
65199 --
65200 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
65201
65202 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
65203 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
65204
65205 -- 4955764
65206 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
65207 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
65208
65209 -- 4458381 Public Sector Enh
65210
65211 --
65212 -- set accounting attributes for the line type
65213 --
65214 l_entered_amt_idx := NULL;
65215 l_accted_amt_idx := 10;
65216 l_bflow_applied_to_amt_idx := 2; -- 5132302
65217 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
65218 l_rec_acct_attrs.array_char_value(1) := p_source_53;
65219 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
65220 l_rec_acct_attrs.array_num_value(2) := p_source_124;
65221 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
65222 l_rec_acct_attrs.array_num_value(3) := p_source_91;
65223 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
65224 l_rec_acct_attrs.array_char_value(4) := p_source_92;
65225 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
65226 l_rec_acct_attrs.array_char_value(5) := p_source_93;
65227 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
65231 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
65228 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
65229 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
65230 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
65232 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
65233 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
65234 l_rec_acct_attrs.array_char_value(9) := p_source_55;
65235 l_rec_acct_attrs.array_acct_attr_code(10) := 'LEDGER_AMOUNT';
65236 l_rec_acct_attrs.array_num_value(10) := p_source_153;
65237 l_rec_acct_attrs.array_acct_attr_code(11) := 'OVERRIDE_ACCTD_AMT_FLAG';
65238 l_rec_acct_attrs.array_char_value(11) := p_source_80;
65239 l_rec_acct_attrs.array_acct_attr_code(12) := 'PARTY_ID';
65240 l_rec_acct_attrs.array_num_value(12) := p_source_110;
65241 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_SITE_ID';
65242 l_rec_acct_attrs.array_num_value(13) := p_source_111;
65243 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
65244 l_rec_acct_attrs.array_char_value(14) := p_source_83;
65245 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
65246 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_112);
65247 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
65248 l_rec_acct_attrs.array_char_value(16) := p_source_55;
65249 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
65250 l_rec_acct_attrs.array_num_value(17) := p_source_86;
65251 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
65252 l_rec_acct_attrs.array_num_value(18) := p_source_87;
65253 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
65254 l_rec_acct_attrs.array_num_value(19) := p_source_88;
65255
65256 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
65257 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
65258
65259 ---------------------------------------------------------------------------------------------------------------
65260 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
65261 ---------------------------------------------------------------------------------------------------------------
65262 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
65263
65264 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
65265 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
65266
65267 IF xla_accounting_cache_pkg.GetValueChar
65268 (p_source_code => 'LEDGER_CATEGORY_CODE'
65269 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
65270 AND l_bflow_method_code = 'PRIOR_ENTRY'
65271 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
65272 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
65273 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
65274 )
65275 THEN
65276 xla_ae_lines_pkg.BflowUpgEntry
65277 (p_business_method_code => l_bflow_method_code
65278 ,p_business_class_code => l_bflow_class_code
65279 ,p_balance_type => l_balance_type_code);
65280 ELSE
65281 NULL;
65282 -- No business flow processing for business flow method of NONE.
65283 END IF;
65284
65285 --
65286 -- call analytical criteria
65287 --
65288
65289 --
65290 -- call description
65291 --
65292 -- No description or it is inherited.
65293 --
65294 -- call ADRs
65295 -- Bug 4922099
65296 --
65297 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
65298 (NVL(l_actual_upg_option, 'N') = 'O') OR
65299 (NVL(l_enc_upg_option, 'N') = 'O')
65300 )
65301 THEN
65302 NULL;
65303 --
65304 --
65305
65306 l_ccid := AcctDerRule_38(
65307 p_application_id => p_application_id
65308 , p_ae_header_id => l_ae_header_id
65309 , p_source_15 => p_source_15
65310 , p_source_15_meaning => p_source_15_meaning
65311 , p_source_30 => p_source_30
65312 , p_source_36 => p_source_36
65313 , p_source_37 => p_source_37
65314 , x_transaction_coa_id => l_adr_transaction_coa_id
65315 , x_accounting_coa_id => l_adr_accounting_coa_id
65316 , x_value_type_code => l_adr_value_type_code
65317 , p_side => 'CREDIT'
65318 );
65319
65320 xla_ae_lines_pkg.set_ccid(
65321 p_code_combination_id => l_ccid
65322 , p_value_type_code => l_adr_value_type_code
65323 , p_transaction_coa_id => l_adr_transaction_coa_id
65324 , p_accounting_coa_id => l_adr_accounting_coa_id
65325 , p_adr_code => 'AP_REAL_GAIN'
65326 , p_adr_type_code => 'S'
65327 , p_component_type => l_component_type
65328 , p_component_code => l_component_code
65329 , p_component_type_code => l_component_type_code
65330 , p_component_appl_id => l_component_appl_id
65331 , p_amb_context_code => l_amb_context_code
65332 , p_side => 'CREDIT'
65333 );
65334
65335
65336 l_ccid := AcctDerRule_39(
65337 p_application_id => p_application_id
65341 , p_source_30 => p_source_30
65338 , p_ae_header_id => l_ae_header_id
65339 , p_source_15 => p_source_15
65340 , p_source_15_meaning => p_source_15_meaning
65342 , p_source_38 => p_source_38
65343 , p_source_39 => p_source_39
65344 , x_transaction_coa_id => l_adr_transaction_coa_id
65345 , x_accounting_coa_id => l_adr_accounting_coa_id
65346 , x_value_type_code => l_adr_value_type_code
65347 , p_side => 'DEBIT'
65348 );
65349
65350 xla_ae_lines_pkg.set_ccid(
65351 p_code_combination_id => l_ccid
65352 , p_value_type_code => l_adr_value_type_code
65353 , p_transaction_coa_id => l_adr_transaction_coa_id
65354 , p_accounting_coa_id => l_adr_accounting_coa_id
65355 , p_adr_code => 'AP_REAL_LOSS'
65356 , p_adr_type_code => 'S'
65357 , p_component_type => l_component_type
65358 , p_component_code => l_component_code
65359 , p_component_type_code => l_component_type_code
65360 , p_component_appl_id => l_component_appl_id
65361 , p_amb_context_code => l_amb_context_code
65362 , p_side => 'DEBIT'
65363 );
65364
65365
65366 l_segment := AcctDerRule_22(
65367 p_application_id => p_application_id
65368 , p_ae_header_id => l_ae_header_id
65369 , p_source_15 => p_source_15
65370 , p_source_15_meaning => p_source_15_meaning
65371 , p_source_30 => p_source_30
65372 , x_transaction_coa_id => l_adr_transaction_coa_id
65373 , x_accounting_coa_id => l_adr_accounting_coa_id
65374 , x_flexfield_segment_code => l_adr_flexfield_segment_code
65375 , x_flex_value_set_id => l_adr_flex_value_set_id
65376 , x_value_type_code => l_adr_value_type_code
65377 , x_value_combination_id => l_adr_value_combination_id
65378 , x_value_segment_code => l_adr_value_segment_code
65379 , p_side => 'ALL'
65380 , p_override_seg_flag => 'Y'
65381 );
65382
65383 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
65384
65385 xla_ae_lines_pkg.set_segment(
65386 p_to_segment_code => 'GL_BALANCING'
65387 , p_segment_value => l_segment
65388 , p_from_segment_code => l_adr_value_segment_code
65389 , p_from_combination_id => l_adr_value_combination_id
65390 , p_value_type_code => l_adr_value_type_code
65391 , p_transaction_coa_id => l_adr_transaction_coa_id
65392 , p_accounting_coa_id => l_adr_accounting_coa_id
65393 , p_flexfield_segment_code => l_adr_flexfield_segment_code
65394 , p_flex_value_set_id => l_adr_flex_value_set_id
65395 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
65396 , p_adr_type_code => 'S'
65397 , p_component_type => l_component_type
65398 , p_component_code => l_component_code
65399 , p_component_type_code => l_component_type_code
65400 , p_component_appl_id => l_component_appl_id
65401 , p_amb_context_code => l_amb_context_code
65402 , p_entity_code => 'AP_PAYMENTS'
65403 , p_event_class_code => 'PAYMENTS'
65404 , p_side => 'ALL'
65405 );
65406
65407 END IF;
65408
65409 l_segment := AcctDerRule_17(
65410 p_application_id => p_application_id
65411 , p_ae_header_id => l_ae_header_id
65412 , p_source_15 => p_source_15
65413 , p_source_15_meaning => p_source_15_meaning
65414 , p_source_36 => p_source_36
65415 , p_source_37 => p_source_37
65416 , x_transaction_coa_id => l_adr_transaction_coa_id
65417 , x_accounting_coa_id => l_adr_accounting_coa_id
65418 , x_flexfield_segment_code => l_adr_flexfield_segment_code
65419 , x_flex_value_set_id => l_adr_flex_value_set_id
65420 , x_value_type_code => l_adr_value_type_code
65421 , x_value_combination_id => l_adr_value_combination_id
65422 , x_value_segment_code => l_adr_value_segment_code
65423 , p_side => 'CREDIT'
65424 , p_override_seg_flag => 'Y'
65425 );
65426
65427 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
65428
65429 xla_ae_lines_pkg.set_segment(
65430 p_to_segment_code => 'GL_ACCOUNT'
65431 , p_segment_value => l_segment
65432 , p_from_segment_code => l_adr_value_segment_code
65433 , p_from_combination_id => l_adr_value_combination_id
65434 , p_value_type_code => l_adr_value_type_code
65435 , p_transaction_coa_id => l_adr_transaction_coa_id
65436 , p_accounting_coa_id => l_adr_accounting_coa_id
65437 , p_flexfield_segment_code => l_adr_flexfield_segment_code
65438 , p_flex_value_set_id => l_adr_flex_value_set_id
65439 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
65440 , p_adr_type_code => 'S'
65441 , p_component_type => l_component_type
65442 , p_component_code => l_component_code
65443 , p_component_type_code => l_component_type_code
65444 , p_component_appl_id => l_component_appl_id
65445 , p_amb_context_code => l_amb_context_code
65449 );
65446 , p_entity_code => 'AP_PAYMENTS'
65447 , p_event_class_code => 'PAYMENTS'
65448 , p_side => 'CREDIT'
65450
65451 END IF;
65452
65453 l_segment := AcctDerRule_18(
65454 p_application_id => p_application_id
65455 , p_ae_header_id => l_ae_header_id
65456 , p_source_15 => p_source_15
65457 , p_source_15_meaning => p_source_15_meaning
65458 , p_source_38 => p_source_38
65459 , p_source_39 => p_source_39
65460 , x_transaction_coa_id => l_adr_transaction_coa_id
65461 , x_accounting_coa_id => l_adr_accounting_coa_id
65462 , x_flexfield_segment_code => l_adr_flexfield_segment_code
65463 , x_flex_value_set_id => l_adr_flex_value_set_id
65464 , x_value_type_code => l_adr_value_type_code
65465 , x_value_combination_id => l_adr_value_combination_id
65466 , x_value_segment_code => l_adr_value_segment_code
65467 , p_side => 'DEBIT'
65468 , p_override_seg_flag => 'Y'
65469 );
65470
65471 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
65472
65473 xla_ae_lines_pkg.set_segment(
65474 p_to_segment_code => 'GL_ACCOUNT'
65475 , p_segment_value => l_segment
65476 , p_from_segment_code => l_adr_value_segment_code
65477 , p_from_combination_id => l_adr_value_combination_id
65478 , p_value_type_code => l_adr_value_type_code
65479 , p_transaction_coa_id => l_adr_transaction_coa_id
65480 , p_accounting_coa_id => l_adr_accounting_coa_id
65481 , p_flexfield_segment_code => l_adr_flexfield_segment_code
65482 , p_flex_value_set_id => l_adr_flex_value_set_id
65483 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
65484 , p_adr_type_code => 'S'
65485 , p_component_type => l_component_type
65486 , p_component_code => l_component_code
65487 , p_component_type_code => l_component_type_code
65488 , p_component_appl_id => l_component_appl_id
65489 , p_amb_context_code => l_amb_context_code
65490 , p_entity_code => 'AP_PAYMENTS'
65491 , p_event_class_code => 'PAYMENTS'
65492 , p_side => 'DEBIT'
65493 );
65494
65495 END IF;
65496
65497 --
65498 --
65499 END IF;
65500 --
65501 -- Bug 4922099
65502 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
65503 (NVL(l_enc_upg_option, 'N') = 'O')
65504 ) AND
65505 (l_bflow_method_code = 'PRIOR_ENTRY')
65506 )
65507 THEN
65508 IF
65509 --
65510 1 = 2
65511 --
65512 THEN
65513 xla_accounting_err_pkg.build_message
65514 (p_appli_s_name => 'XLA'
65515 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
65516 ,p_token_1 => 'LINE_NUMBER'
65517 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
65518 ,p_token_2 => 'LINE_TYPE_NAME'
65519 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
65520 l_component_type
65521 ,l_component_code
65522 ,l_component_type_code
65523 ,l_component_appl_id
65524 ,l_amb_context_code
65525 ,l_entity_code
65526 ,l_event_class_code
65527 )
65528 ,p_token_3 => 'OWNER'
65529 ,p_value_3 => xla_lookups_pkg.get_meaning(
65530 p_lookup_type => 'XLA_OWNER_TYPE'
65531 ,p_lookup_code => l_component_type_code
65532 )
65533 ,p_token_4 => 'PRODUCT_NAME'
65534 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
65535 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
65536 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
65537 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
65538 ,p_ae_header_id => NULL
65539 );
65540
65541 IF (C_LEVEL_ERROR>= g_log_level) THEN
65542 trace
65543 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
65547 END IF;
65544 ,p_level => C_LEVEL_ERROR
65545 ,p_module => l_log_module);
65546 END IF;
65548 END IF;
65549 --
65550 --
65551 ------------------------------------------------------------------------------------------------
65552 -- 4219869 Business Flow
65553 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
65554 -- Prior Entry. Currently, the following code is always generated.
65555 ------------------------------------------------------------------------------------------------
65556 XLA_AE_LINES_PKG.ValidateCurrentLine;
65557
65558 ------------------------------------------------------------------------------------
65559 -- 4219869 Business Flow
65560 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
65561 ------------------------------------------------------------------------------------
65562 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
65563
65564 ----------------------------------------------------------------------------------
65565 -- 4219869 Business Flow
65566 -- Update journal entry status -- Need to generate this within IF <condition>
65567 ----------------------------------------------------------------------------------
65568 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
65569 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
65570 ,p_balance_type_code => l_balance_type_code
65571 );
65572
65573 -------------------------------------------------------------------------------------------
65574 -- 4262811 - Generate the Accrual Reversal lines
65575 -------------------------------------------------------------------------------------------
65576 BEGIN
65577 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
65578 (g_array_event(p_event_id).array_value_num('header_index'));
65579 IF l_acc_rev_flag IS NULL THEN
65580 l_acc_rev_flag := 'N';
65581 END IF;
65582 EXCEPTION
65583 WHEN OTHERS THEN
65584 l_acc_rev_flag := 'N';
65585 END;
65586 --
65587 IF (l_acc_rev_flag = 'Y') THEN
65588
65589 -- 4645092 ------------------------------------------------------------------------------
65590 -- To allow MPA report to determine if it should generate report process
65591 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
65592 ------------------------------------------------------------------------------------------
65593
65594 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
65595 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
65596 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
65597 -- call ADRs
65598 -- Bug 4922099
65599 --
65600 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
65601 (NVL(l_actual_upg_option, 'N') = 'O') OR
65602 (NVL(l_enc_upg_option, 'N') = 'O')
65603 )
65604 THEN
65605 NULL;
65606 --
65607 --
65608
65609 l_ccid := AcctDerRule_38(
65610 p_application_id => p_application_id
65611 , p_ae_header_id => l_ae_header_id
65612 , p_source_15 => p_source_15
65613 , p_source_15_meaning => p_source_15_meaning
65614 , p_source_30 => p_source_30
65615 , p_source_36 => p_source_36
65616 , p_source_37 => p_source_37
65617 , x_transaction_coa_id => l_adr_transaction_coa_id
65618 , x_accounting_coa_id => l_adr_accounting_coa_id
65619 , x_value_type_code => l_adr_value_type_code
65620 , p_side => 'CREDIT'
65621 );
65622
65623 xla_ae_lines_pkg.set_ccid(
65624 p_code_combination_id => l_ccid
65625 , p_value_type_code => l_adr_value_type_code
65626 , p_transaction_coa_id => l_adr_transaction_coa_id
65627 , p_accounting_coa_id => l_adr_accounting_coa_id
65628 , p_adr_code => 'AP_REAL_GAIN'
65629 , p_adr_type_code => 'S'
65630 , p_component_type => l_component_type
65631 , p_component_code => l_component_code
65632 , p_component_type_code => l_component_type_code
65633 , p_component_appl_id => l_component_appl_id
65634 , p_amb_context_code => l_amb_context_code
65635 , p_side => 'CREDIT'
65636 );
65637
65638
65639 l_ccid := AcctDerRule_39(
65640 p_application_id => p_application_id
65641 , p_ae_header_id => l_ae_header_id
65642 , p_source_15 => p_source_15
65643 , p_source_15_meaning => p_source_15_meaning
65644 , p_source_30 => p_source_30
65645 , p_source_38 => p_source_38
65646 , p_source_39 => p_source_39
65647 , x_transaction_coa_id => l_adr_transaction_coa_id
65648 , x_accounting_coa_id => l_adr_accounting_coa_id
65649 , x_value_type_code => l_adr_value_type_code
65650 , p_side => 'DEBIT'
65651 );
65652
65653 xla_ae_lines_pkg.set_ccid(
65654 p_code_combination_id => l_ccid
65655 , p_value_type_code => l_adr_value_type_code
65656 , p_transaction_coa_id => l_adr_transaction_coa_id
65660 , p_component_type => l_component_type
65657 , p_accounting_coa_id => l_adr_accounting_coa_id
65658 , p_adr_code => 'AP_REAL_LOSS'
65659 , p_adr_type_code => 'S'
65661 , p_component_code => l_component_code
65662 , p_component_type_code => l_component_type_code
65663 , p_component_appl_id => l_component_appl_id
65664 , p_amb_context_code => l_amb_context_code
65665 , p_side => 'DEBIT'
65666 );
65667
65668
65669 l_segment := AcctDerRule_22(
65670 p_application_id => p_application_id
65671 , p_ae_header_id => l_ae_header_id
65672 , p_source_15 => p_source_15
65673 , p_source_15_meaning => p_source_15_meaning
65674 , p_source_30 => p_source_30
65675 , x_transaction_coa_id => l_adr_transaction_coa_id
65676 , x_accounting_coa_id => l_adr_accounting_coa_id
65677 , x_flexfield_segment_code => l_adr_flexfield_segment_code
65678 , x_flex_value_set_id => l_adr_flex_value_set_id
65679 , x_value_type_code => l_adr_value_type_code
65680 , x_value_combination_id => l_adr_value_combination_id
65681 , x_value_segment_code => l_adr_value_segment_code
65682 , p_side => 'ALL'
65683 , p_override_seg_flag => 'Y'
65684 );
65685
65686 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
65687
65688 xla_ae_lines_pkg.set_segment(
65689 p_to_segment_code => 'GL_BALANCING'
65690 , p_segment_value => l_segment
65691 , p_from_segment_code => l_adr_value_segment_code
65692 , p_from_combination_id => l_adr_value_combination_id
65693 , p_value_type_code => l_adr_value_type_code
65694 , p_transaction_coa_id => l_adr_transaction_coa_id
65695 , p_accounting_coa_id => l_adr_accounting_coa_id
65696 , p_flexfield_segment_code => l_adr_flexfield_segment_code
65697 , p_flex_value_set_id => l_adr_flex_value_set_id
65698 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
65699 , p_adr_type_code => 'S'
65700 , p_component_type => l_component_type
65701 , p_component_code => l_component_code
65702 , p_component_type_code => l_component_type_code
65703 , p_component_appl_id => l_component_appl_id
65704 , p_amb_context_code => l_amb_context_code
65705 , p_entity_code => 'AP_PAYMENTS'
65706 , p_event_class_code => 'PAYMENTS'
65707 , p_side => 'ALL'
65708 );
65709
65710 END IF;
65711
65712 l_segment := AcctDerRule_17(
65713 p_application_id => p_application_id
65714 , p_ae_header_id => l_ae_header_id
65715 , p_source_15 => p_source_15
65716 , p_source_15_meaning => p_source_15_meaning
65717 , p_source_36 => p_source_36
65718 , p_source_37 => p_source_37
65719 , x_transaction_coa_id => l_adr_transaction_coa_id
65720 , x_accounting_coa_id => l_adr_accounting_coa_id
65721 , x_flexfield_segment_code => l_adr_flexfield_segment_code
65722 , x_flex_value_set_id => l_adr_flex_value_set_id
65723 , x_value_type_code => l_adr_value_type_code
65724 , x_value_combination_id => l_adr_value_combination_id
65725 , x_value_segment_code => l_adr_value_segment_code
65726 , p_side => 'CREDIT'
65727 , p_override_seg_flag => 'Y'
65728 );
65729
65730 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
65731
65732 xla_ae_lines_pkg.set_segment(
65733 p_to_segment_code => 'GL_ACCOUNT'
65734 , p_segment_value => l_segment
65735 , p_from_segment_code => l_adr_value_segment_code
65736 , p_from_combination_id => l_adr_value_combination_id
65737 , p_value_type_code => l_adr_value_type_code
65738 , p_transaction_coa_id => l_adr_transaction_coa_id
65739 , p_accounting_coa_id => l_adr_accounting_coa_id
65740 , p_flexfield_segment_code => l_adr_flexfield_segment_code
65741 , p_flex_value_set_id => l_adr_flex_value_set_id
65742 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
65743 , p_adr_type_code => 'S'
65744 , p_component_type => l_component_type
65745 , p_component_code => l_component_code
65746 , p_component_type_code => l_component_type_code
65747 , p_component_appl_id => l_component_appl_id
65748 , p_amb_context_code => l_amb_context_code
65749 , p_entity_code => 'AP_PAYMENTS'
65750 , p_event_class_code => 'PAYMENTS'
65751 , p_side => 'CREDIT'
65752 );
65753
65754 END IF;
65755
65756 l_segment := AcctDerRule_18(
65757 p_application_id => p_application_id
65758 , p_ae_header_id => l_ae_header_id
65759 , p_source_15 => p_source_15
65760 , p_source_15_meaning => p_source_15_meaning
65761 , p_source_38 => p_source_38
65762 , p_source_39 => p_source_39
65763 , x_transaction_coa_id => l_adr_transaction_coa_id
65764 , x_accounting_coa_id => l_adr_accounting_coa_id
65765 , x_flexfield_segment_code => l_adr_flexfield_segment_code
65769 , x_value_segment_code => l_adr_value_segment_code
65766 , x_flex_value_set_id => l_adr_flex_value_set_id
65767 , x_value_type_code => l_adr_value_type_code
65768 , x_value_combination_id => l_adr_value_combination_id
65770 , p_side => 'DEBIT'
65771 , p_override_seg_flag => 'Y'
65772 );
65773
65774 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
65775
65776 xla_ae_lines_pkg.set_segment(
65777 p_to_segment_code => 'GL_ACCOUNT'
65778 , p_segment_value => l_segment
65779 , p_from_segment_code => l_adr_value_segment_code
65780 , p_from_combination_id => l_adr_value_combination_id
65781 , p_value_type_code => l_adr_value_type_code
65782 , p_transaction_coa_id => l_adr_transaction_coa_id
65783 , p_accounting_coa_id => l_adr_accounting_coa_id
65784 , p_flexfield_segment_code => l_adr_flexfield_segment_code
65785 , p_flex_value_set_id => l_adr_flex_value_set_id
65786 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
65787 , p_adr_type_code => 'S'
65788 , p_component_type => l_component_type
65789 , p_component_code => l_component_code
65790 , p_component_type_code => l_component_type_code
65791 , p_component_appl_id => l_component_appl_id
65792 , p_amb_context_code => l_amb_context_code
65793 , p_entity_code => 'AP_PAYMENTS'
65794 , p_event_class_code => 'PAYMENTS'
65795 , p_side => 'DEBIT'
65796 );
65797
65798 END IF;
65799
65800 --
65801 --
65802 END IF;
65803
65804 --
65805 -- Update the line information that should be overwritten
65806 --
65807 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
65808 p_header_num => 1);
65809 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
65810
65811 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
65812
65813 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
65814 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
65815 END IF;
65816
65817 --
65818 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
65819 --
65820 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
65821 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
65822 ELSE
65823 ---------------------------------------------------------------------------------------------------
65824 -- 4262811a Switch Sign
65825 ---------------------------------------------------------------------------------------------------
65826 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
65827 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
65828 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
65829 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
65830 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
65831 -- 5132302
65832 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
65833 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
65834
65835 END IF;
65836
65837 -- 4955764
65838 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
65839 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
65840
65841
65842 XLA_AE_LINES_PKG.ValidateCurrentLine;
65843 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
65844
65845 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
65846 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
65847 ,p_balance_type_code => l_balance_type_code);
65848
65849 END IF;
65850
65851 -----------------------------------------------------------------------------------------
65852 -- 4262811 Multiperiod Accounting
65853 -----------------------------------------------------------------------------------------
65854 -- No MPA option is assigned.
65855
65856
65857 END IF;
65858 END IF;
65859 --
65860
65861 --
65862 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
65863 trace
65864 (p_msg => 'END of AcctLineType_126'
65865 ,p_level => C_LEVEL_PROCEDURE
65866 ,p_module => l_log_module);
65867 END IF;
65868 --
65869 EXCEPTION
65870 WHEN xla_exceptions_pkg.application_exception THEN
65871 RAISE;
65872 WHEN OTHERS THEN
65873 xla_exceptions_pkg.raise_message
65874 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_126');
65875 END AcctLineType_126;
65876 --
65877
65878 ---------------------------------------
65879 --
65880 -- PRIVATE FUNCTION
65881 -- AcctLineType_127
65882 --
65883 ---------------------------------------
65887 ,p_calculate_acctd_flag IN VARCHAR2
65884 PROCEDURE AcctLineType_127 (
65885 p_application_id IN NUMBER
65886 ,p_event_id IN NUMBER
65888 ,p_calculate_g_l_flag IN VARCHAR2
65889 ,p_actual_flag IN OUT VARCHAR2
65890 ,p_balance_type_code OUT VARCHAR2
65891 ,p_gain_or_loss_ref OUT VARCHAR2
65892
65893 --Automatic Offsets Value
65894 , p_source_15 IN VARCHAR2
65895 , p_source_15_meaning IN VARCHAR2
65896 --Invoice Distribution Account
65897 , p_source_30 IN NUMBER
65898 --Internal Realized Gain Account
65899 , p_source_36 IN NUMBER
65900 --Bank Gain Account
65901 , p_source_37 IN NUMBER
65902 --Internal Realized Loss Account
65903 , p_source_38 IN NUMBER
65904 --Bank Loss Account
65905 , p_source_39 IN NUMBER
65906 --Accounting Reversal Indicator
65907 , p_source_53 IN VARCHAR2
65908 --Distribution Link Type
65909 , p_source_55 IN VARCHAR2
65910 --Override Accounted Amount Indicator
65911 , p_source_80 IN VARCHAR2
65912 , p_source_80_meaning IN VARCHAR2
65913 --Third Party Type
65914 , p_source_83 IN VARCHAR2
65915 --Business Flow Accounts Payable Application Identifier
65916 , p_source_91 IN NUMBER
65917 --When to Account for Payment Option
65918 , p_source_97 IN VARCHAR2
65919 --Payment Distribution Type
65920 , p_source_98 IN VARCHAR2
65921 , p_source_98_meaning IN VARCHAR2
65922 --Business Flow Payment Distribution Type
65923 , p_source_100 IN VARCHAR2
65924 --Business Flow Payment Entity Code
65925 , p_source_101 IN VARCHAR2
65926 --Business Flow Payment Distribution Identifier
65927 , p_source_102 IN NUMBER
65928 --Business Flow Payment Identifier
65929 , p_source_103 IN NUMBER
65930 --Payment Distribution Identifier
65931 , p_source_104 IN NUMBER
65932 --Payment Supplier Identifier
65933 , p_source_110 IN NUMBER
65934 --Payment Supplier Site Identifier
65935 , p_source_111 IN NUMBER
65936 --Payment Distribution Reversed Identifier
65937 , p_source_112 IN NUMBER
65938 --Payment Maturity Date
65939 , p_source_114 IN DATE
65940 --Payment/Maturity Ledger Amount Difference
65941 , p_source_154 IN NUMBER
65942 )
65943 IS
65944
65945 l_component_type VARCHAR2(80);
65946 l_component_code VARCHAR2(30);
65947 l_component_type_code VARCHAR2(1);
65948 l_component_appl_id INTEGER;
65949 l_amb_context_code VARCHAR2(30);
65950 l_entity_code VARCHAR2(30);
65951 l_event_class_code VARCHAR2(30);
65952 l_ae_header_id NUMBER;
65953 l_event_type_code VARCHAR2(30);
65954 l_line_definition_code VARCHAR2(30);
65955 l_line_definition_owner_code VARCHAR2(1);
65956 --
65957 -- adr variables
65958 l_segment VARCHAR2(30);
65959 l_ccid NUMBER;
65960 l_adr_transaction_coa_id NUMBER;
65961 l_adr_accounting_coa_id NUMBER;
65962 l_adr_flexfield_segment_code VARCHAR2(30);
65963 l_adr_flex_value_set_id NUMBER;
65964 l_adr_value_type_code VARCHAR2(30);
65965 l_adr_value_combination_id NUMBER;
65966 l_adr_value_segment_code VARCHAR2(30);
65967
65968 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
65969 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
65970 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
65971 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
65972
65973 -- 4262811 Variables ------------------------------------------------------------------------------------------
65974 l_entered_amt_idx NUMBER;
65975 l_accted_amt_idx NUMBER;
65976 l_acc_rev_flag VARCHAR2(1);
65977 l_accrual_line_num NUMBER;
65978 l_tmp_amt NUMBER;
65979 l_acc_rev_natural_side_code VARCHAR2(1);
65980
65981 l_num_entries NUMBER;
65982 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
65983 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
65984 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
65985 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
65986 l_recog_line_1 NUMBER;
65987 l_recog_line_2 NUMBER;
65988
65989 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
65990 l_bflow_applied_to_amt NUMBER; -- 5132302
65991 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
65992
65993 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
65994
65995 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
65996 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
65997
65998 ---------------------------------------------------------------------------------------------------------------
65999
66000
66001 --
66002 -- bulk performance
66003 --
66004 l_balance_type_code VARCHAR2(1);
66005 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
66006 l_log_module VARCHAR2(240);
66007
66008 --
66009 -- Upgrade strategy
66010 --
66014 --
66011 l_actual_upg_option VARCHAR2(1);
66012 l_enc_upg_option VARCHAR2(1);
66013
66015 BEGIN
66016 --
66017 IF g_log_enabled THEN
66018 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_127';
66019 END IF;
66020 --
66021 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
66022
66023 trace
66024 (p_msg => 'BEGIN of AcctLineType_127'
66025 ,p_level => C_LEVEL_PROCEDURE
66026 ,p_module => l_log_module);
66027
66028 END IF;
66029 --
66030 l_component_type := 'AMB_JLT';
66031 l_component_code := 'AP_GAIN_LOSS_PMT_MAT';
66032 l_component_type_code := 'S';
66033 l_component_appl_id := 200;
66034 l_amb_context_code := 'DEFAULT';
66035 l_entity_code := 'AP_PAYMENTS';
66036 l_event_class_code := 'FUTURE DATED PAYMENTS';
66037 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
66038 l_line_definition_owner_code := 'S';
66039 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
66040 --
66041 l_balance_type_code := 'A';
66042 l_segment := NULL;
66043 l_ccid := NULL;
66044 l_adr_transaction_coa_id := NULL;
66045 l_adr_accounting_coa_id := NULL;
66046 l_adr_flexfield_segment_code := NULL;
66047 l_adr_flex_value_set_id := NULL;
66048 l_adr_value_type_code := NULL;
66049 l_adr_value_combination_id := NULL;
66050 l_adr_value_segment_code := NULL;
66051
66052 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
66053 l_bflow_class_code := ''; -- 4219869 Business Flow
66054 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
66055 l_budgetary_control_flag := 'N';
66056
66057 l_bflow_applied_to_amt_idx := NULL; -- 5132302
66058 l_bflow_applied_to_amt := NULL; -- 5132302
66059 l_entered_amt_idx := NULL; -- 4262811
66060 l_accted_amt_idx := NULL; -- 4262811
66061 l_acc_rev_flag := NULL; -- 4262811
66062 l_accrual_line_num := NULL; -- 4262811
66063 l_tmp_amt := NULL; -- 4262811
66064 --
66065 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
66066 (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
66067 return;
66068 END IF;
66069
66070 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
66071 l_balance_type_code <> 'B' THEN
66072 IF (NVL(p_source_97,'
66073 ') = 'ALWAYS_ALWAYS' OR
66074 NVL(p_source_97,'
66075 ') = 'ALWAYS_ISSUE') AND
66076 p_source_114 IS NOT NULL AND
66077 NVL(p_source_98,'
66078 ') <> 'EXCHANGE RATE VARIANCE' AND
66079 NVL(p_source_98,'
66080 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
66081 NVL(p_source_98,'
66082 ') <> 'BANK CHARGE' AND
66083 NVL(p_source_98,'
66084 ') <> 'BANK ERROR'
66085 THEN
66086
66087 --
66088 XLA_AE_LINES_PKG.SetNewLine;
66089
66090 p_balance_type_code := l_balance_type_code;
66091 -- set the flag so later we will know whether the gain loss line needs to be created
66092
66093 IF(l_balance_type_code = 'A' ) THEN
66094 p_actual_flag :='G';
66095 END IF;
66096
66097 --
66098 -- bulk performance
66099 --
66100 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
66101 p_header_num => 0); -- 4262811
66102 --
66103 -- set accounting line options
66104 --
66105 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
66106 p_natural_side_code => 'G'
66107 , p_gain_or_loss_flag => 'N'
66108 , p_gl_transfer_mode_code => 'S'
66109 , p_acct_entry_type_code => 'A'
66110 , p_switch_side_flag => ''
66111 , p_merge_duplicate_code => 'A'
66112 );
66113 --
66114 l_acc_rev_natural_side_code := 'C'; -- 4262811
66115 --
66116 --
66117 -- set accounting line type info
66118 --
66119 xla_ae_lines_pkg.SetAcctLineType
66120 (p_component_type => l_component_type
66121 ,p_event_type_code => l_event_type_code
66122 ,p_line_definition_owner_code => l_line_definition_owner_code
66123 ,p_line_definition_code => l_line_definition_code
66124 ,p_accounting_line_code => l_component_code
66125 ,p_accounting_line_type_code => l_component_type_code
66126 ,p_accounting_line_appl_id => l_component_appl_id
66127 ,p_amb_context_code => l_amb_context_code
66128 ,p_entity_code => l_entity_code
66129 ,p_event_class_code => l_event_class_code);
66130 --
66131 -- set accounting class
66132 --
66133 xla_ae_lines_pkg.SetAcctClass(
66134 p_accounting_class_code => 'EXCHANGE_GAIN_LOSS'
66135 , p_ae_header_id => l_ae_header_id
66136 );
66137
66138 --
66139 -- set rounding class
66140 --
66141 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
66142 'EXCHANGE_GAIN_LOSS';
66143
66144 --
66148 -- bulk performance
66145 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
66146 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
66147 --
66149 --
66150 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
66151
66152 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
66153 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
66154
66155 -- 4955764
66156 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
66157 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
66158
66159 -- 4458381 Public Sector Enh
66160
66161 --
66162 -- set accounting attributes for the line type
66163 --
66164 l_entered_amt_idx := NULL;
66165 l_accted_amt_idx := 9;
66166 l_bflow_applied_to_amt_idx := NULL; -- 5132302
66167 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
66168 l_rec_acct_attrs.array_char_value(1) := p_source_53;
66169 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
66170 l_rec_acct_attrs.array_num_value(2) := p_source_91;
66171 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
66172 l_rec_acct_attrs.array_char_value(3) := p_source_100;
66173 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
66174 l_rec_acct_attrs.array_char_value(4) := p_source_101;
66175 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
66176 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_102);
66177 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
66178 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_103);
66179 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
66180 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
66181 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
66182 l_rec_acct_attrs.array_char_value(8) := p_source_55;
66183 l_rec_acct_attrs.array_acct_attr_code(9) := 'LEDGER_AMOUNT';
66184 l_rec_acct_attrs.array_num_value(9) := p_source_154;
66185 l_rec_acct_attrs.array_acct_attr_code(10) := 'OVERRIDE_ACCTD_AMT_FLAG';
66186 l_rec_acct_attrs.array_char_value(10) := p_source_80;
66187 l_rec_acct_attrs.array_acct_attr_code(11) := 'PARTY_ID';
66188 l_rec_acct_attrs.array_num_value(11) := p_source_110;
66189 l_rec_acct_attrs.array_acct_attr_code(12) := 'PARTY_SITE_ID';
66190 l_rec_acct_attrs.array_num_value(12) := p_source_111;
66191 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_TYPE';
66192 l_rec_acct_attrs.array_char_value(13) := p_source_83;
66193 l_rec_acct_attrs.array_acct_attr_code(14) := 'REVERSED_DISTRIBUTION_ID1';
66194 l_rec_acct_attrs.array_num_value(14) := to_char(p_source_112);
66195 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_TYPE';
66196 l_rec_acct_attrs.array_char_value(15) := p_source_55;
66197
66198 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
66199 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
66200
66201 ---------------------------------------------------------------------------------------------------------------
66202 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
66203 ---------------------------------------------------------------------------------------------------------------
66204 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
66205
66206 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
66207 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
66208
66209 IF xla_accounting_cache_pkg.GetValueChar
66210 (p_source_code => 'LEDGER_CATEGORY_CODE'
66211 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
66212 AND l_bflow_method_code = 'PRIOR_ENTRY'
66213 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
66214 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
66215 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
66216 )
66217 THEN
66218 xla_ae_lines_pkg.BflowUpgEntry
66219 (p_business_method_code => l_bflow_method_code
66220 ,p_business_class_code => l_bflow_class_code
66221 ,p_balance_type => l_balance_type_code);
66222 ELSE
66223 NULL;
66224 -- No business flow processing for business flow method of NONE.
66225 END IF;
66226
66227 --
66228 -- call analytical criteria
66229 --
66230
66231 --
66232 -- call description
66233 --
66234 -- No description or it is inherited.
66235 --
66236 -- call ADRs
66237 -- Bug 4922099
66238 --
66239 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
66240 (NVL(l_actual_upg_option, 'N') = 'O') OR
66241 (NVL(l_enc_upg_option, 'N') = 'O')
66242 )
66243 THEN
66244 NULL;
66245 --
66246 --
66247
66248 l_ccid := AcctDerRule_38(
66249 p_application_id => p_application_id
66253 , p_source_30 => p_source_30
66250 , p_ae_header_id => l_ae_header_id
66251 , p_source_15 => p_source_15
66252 , p_source_15_meaning => p_source_15_meaning
66254 , p_source_36 => p_source_36
66255 , p_source_37 => p_source_37
66256 , x_transaction_coa_id => l_adr_transaction_coa_id
66257 , x_accounting_coa_id => l_adr_accounting_coa_id
66258 , x_value_type_code => l_adr_value_type_code
66259 , p_side => 'CREDIT'
66260 );
66261
66262 xla_ae_lines_pkg.set_ccid(
66263 p_code_combination_id => l_ccid
66264 , p_value_type_code => l_adr_value_type_code
66265 , p_transaction_coa_id => l_adr_transaction_coa_id
66266 , p_accounting_coa_id => l_adr_accounting_coa_id
66267 , p_adr_code => 'AP_REAL_GAIN'
66268 , p_adr_type_code => 'S'
66269 , p_component_type => l_component_type
66270 , p_component_code => l_component_code
66271 , p_component_type_code => l_component_type_code
66272 , p_component_appl_id => l_component_appl_id
66273 , p_amb_context_code => l_amb_context_code
66274 , p_side => 'CREDIT'
66275 );
66276
66277
66278 l_ccid := AcctDerRule_39(
66279 p_application_id => p_application_id
66280 , p_ae_header_id => l_ae_header_id
66281 , p_source_15 => p_source_15
66282 , p_source_15_meaning => p_source_15_meaning
66283 , p_source_30 => p_source_30
66284 , p_source_38 => p_source_38
66285 , p_source_39 => p_source_39
66286 , x_transaction_coa_id => l_adr_transaction_coa_id
66287 , x_accounting_coa_id => l_adr_accounting_coa_id
66288 , x_value_type_code => l_adr_value_type_code
66289 , p_side => 'DEBIT'
66290 );
66291
66292 xla_ae_lines_pkg.set_ccid(
66293 p_code_combination_id => l_ccid
66294 , p_value_type_code => l_adr_value_type_code
66295 , p_transaction_coa_id => l_adr_transaction_coa_id
66296 , p_accounting_coa_id => l_adr_accounting_coa_id
66297 , p_adr_code => 'AP_REAL_LOSS'
66298 , p_adr_type_code => 'S'
66299 , p_component_type => l_component_type
66300 , p_component_code => l_component_code
66301 , p_component_type_code => l_component_type_code
66302 , p_component_appl_id => l_component_appl_id
66303 , p_amb_context_code => l_amb_context_code
66304 , p_side => 'DEBIT'
66305 );
66306
66307
66308 l_segment := AcctDerRule_22(
66309 p_application_id => p_application_id
66310 , p_ae_header_id => l_ae_header_id
66311 , p_source_15 => p_source_15
66312 , p_source_15_meaning => p_source_15_meaning
66313 , p_source_30 => p_source_30
66314 , x_transaction_coa_id => l_adr_transaction_coa_id
66315 , x_accounting_coa_id => l_adr_accounting_coa_id
66316 , x_flexfield_segment_code => l_adr_flexfield_segment_code
66317 , x_flex_value_set_id => l_adr_flex_value_set_id
66318 , x_value_type_code => l_adr_value_type_code
66319 , x_value_combination_id => l_adr_value_combination_id
66320 , x_value_segment_code => l_adr_value_segment_code
66321 , p_side => 'ALL'
66322 , p_override_seg_flag => 'Y'
66323 );
66324
66325 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
66326
66327 xla_ae_lines_pkg.set_segment(
66328 p_to_segment_code => 'GL_BALANCING'
66329 , p_segment_value => l_segment
66330 , p_from_segment_code => l_adr_value_segment_code
66331 , p_from_combination_id => l_adr_value_combination_id
66332 , p_value_type_code => l_adr_value_type_code
66333 , p_transaction_coa_id => l_adr_transaction_coa_id
66334 , p_accounting_coa_id => l_adr_accounting_coa_id
66335 , p_flexfield_segment_code => l_adr_flexfield_segment_code
66336 , p_flex_value_set_id => l_adr_flex_value_set_id
66337 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
66338 , p_adr_type_code => 'S'
66339 , p_component_type => l_component_type
66340 , p_component_code => l_component_code
66341 , p_component_type_code => l_component_type_code
66342 , p_component_appl_id => l_component_appl_id
66343 , p_amb_context_code => l_amb_context_code
66344 , p_entity_code => 'AP_PAYMENTS'
66345 , p_event_class_code => 'FUTURE DATED PAYMENTS'
66346 , p_side => 'ALL'
66347 );
66348
66349 END IF;
66350
66351 l_segment := AcctDerRule_17(
66352 p_application_id => p_application_id
66353 , p_ae_header_id => l_ae_header_id
66354 , p_source_15 => p_source_15
66355 , p_source_15_meaning => p_source_15_meaning
66356 , p_source_36 => p_source_36
66357 , p_source_37 => p_source_37
66358 , x_transaction_coa_id => l_adr_transaction_coa_id
66359 , x_accounting_coa_id => l_adr_accounting_coa_id
66363 , x_value_combination_id => l_adr_value_combination_id
66360 , x_flexfield_segment_code => l_adr_flexfield_segment_code
66361 , x_flex_value_set_id => l_adr_flex_value_set_id
66362 , x_value_type_code => l_adr_value_type_code
66364 , x_value_segment_code => l_adr_value_segment_code
66365 , p_side => 'CREDIT'
66366 , p_override_seg_flag => 'Y'
66367 );
66368
66369 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
66370
66371 xla_ae_lines_pkg.set_segment(
66372 p_to_segment_code => 'GL_ACCOUNT'
66373 , p_segment_value => l_segment
66374 , p_from_segment_code => l_adr_value_segment_code
66375 , p_from_combination_id => l_adr_value_combination_id
66376 , p_value_type_code => l_adr_value_type_code
66377 , p_transaction_coa_id => l_adr_transaction_coa_id
66378 , p_accounting_coa_id => l_adr_accounting_coa_id
66379 , p_flexfield_segment_code => l_adr_flexfield_segment_code
66380 , p_flex_value_set_id => l_adr_flex_value_set_id
66381 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
66382 , p_adr_type_code => 'S'
66383 , p_component_type => l_component_type
66384 , p_component_code => l_component_code
66385 , p_component_type_code => l_component_type_code
66386 , p_component_appl_id => l_component_appl_id
66387 , p_amb_context_code => l_amb_context_code
66388 , p_entity_code => 'AP_PAYMENTS'
66389 , p_event_class_code => 'FUTURE DATED PAYMENTS'
66390 , p_side => 'CREDIT'
66391 );
66392
66393 END IF;
66394
66395 l_segment := AcctDerRule_18(
66396 p_application_id => p_application_id
66397 , p_ae_header_id => l_ae_header_id
66398 , p_source_15 => p_source_15
66399 , p_source_15_meaning => p_source_15_meaning
66400 , p_source_38 => p_source_38
66401 , p_source_39 => p_source_39
66402 , x_transaction_coa_id => l_adr_transaction_coa_id
66403 , x_accounting_coa_id => l_adr_accounting_coa_id
66404 , x_flexfield_segment_code => l_adr_flexfield_segment_code
66405 , x_flex_value_set_id => l_adr_flex_value_set_id
66406 , x_value_type_code => l_adr_value_type_code
66407 , x_value_combination_id => l_adr_value_combination_id
66408 , x_value_segment_code => l_adr_value_segment_code
66409 , p_side => 'DEBIT'
66410 , p_override_seg_flag => 'Y'
66411 );
66412
66413 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
66414
66415 xla_ae_lines_pkg.set_segment(
66416 p_to_segment_code => 'GL_ACCOUNT'
66417 , p_segment_value => l_segment
66418 , p_from_segment_code => l_adr_value_segment_code
66419 , p_from_combination_id => l_adr_value_combination_id
66420 , p_value_type_code => l_adr_value_type_code
66421 , p_transaction_coa_id => l_adr_transaction_coa_id
66422 , p_accounting_coa_id => l_adr_accounting_coa_id
66423 , p_flexfield_segment_code => l_adr_flexfield_segment_code
66424 , p_flex_value_set_id => l_adr_flex_value_set_id
66425 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
66426 , p_adr_type_code => 'S'
66427 , p_component_type => l_component_type
66428 , p_component_code => l_component_code
66429 , p_component_type_code => l_component_type_code
66430 , p_component_appl_id => l_component_appl_id
66431 , p_amb_context_code => l_amb_context_code
66432 , p_entity_code => 'AP_PAYMENTS'
66433 , p_event_class_code => 'FUTURE DATED PAYMENTS'
66434 , p_side => 'DEBIT'
66435 );
66436
66437 END IF;
66438
66439 --
66440 --
66441 END IF;
66442 --
66443 -- Bug 4922099
66444 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
66445 (NVL(l_enc_upg_option, 'N') = 'O')
66446 ) AND
66447 (l_bflow_method_code = 'PRIOR_ENTRY')
66448 )
66449 THEN
66450 IF
66451 --
66452 1 = 2
66453 --
66454 THEN
66455 xla_accounting_err_pkg.build_message
66456 (p_appli_s_name => 'XLA'
66457 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
66458 ,p_token_1 => 'LINE_NUMBER'
66459 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
66460 ,p_token_2 => 'LINE_TYPE_NAME'
66461 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
66462 l_component_type
66463 ,l_component_code
66464 ,l_component_type_code
66465 ,l_component_appl_id
66466 ,l_amb_context_code
66470 ,p_token_3 => 'OWNER'
66467 ,l_entity_code
66468 ,l_event_class_code
66469 )
66471 ,p_value_3 => xla_lookups_pkg.get_meaning(
66472 p_lookup_type => 'XLA_OWNER_TYPE'
66473 ,p_lookup_code => l_component_type_code
66474 )
66475 ,p_token_4 => 'PRODUCT_NAME'
66476 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
66477 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
66478 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
66479 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
66480 ,p_ae_header_id => NULL
66481 );
66482
66483 IF (C_LEVEL_ERROR>= g_log_level) THEN
66484 trace
66485 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
66486 ,p_level => C_LEVEL_ERROR
66487 ,p_module => l_log_module);
66488 END IF;
66489 END IF;
66490 END IF;
66491 --
66492 --
66493 ------------------------------------------------------------------------------------------------
66494 -- 4219869 Business Flow
66495 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
66496 -- Prior Entry. Currently, the following code is always generated.
66497 ------------------------------------------------------------------------------------------------
66498 XLA_AE_LINES_PKG.ValidateCurrentLine;
66499
66500 ------------------------------------------------------------------------------------
66501 -- 4219869 Business Flow
66502 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
66503 ------------------------------------------------------------------------------------
66504 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
66505
66506 ----------------------------------------------------------------------------------
66507 -- 4219869 Business Flow
66508 -- Update journal entry status -- Need to generate this within IF <condition>
66509 ----------------------------------------------------------------------------------
66510 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
66511 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
66512 ,p_balance_type_code => l_balance_type_code
66513 );
66514
66515 -------------------------------------------------------------------------------------------
66516 -- 4262811 - Generate the Accrual Reversal lines
66517 -------------------------------------------------------------------------------------------
66518 BEGIN
66519 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
66520 (g_array_event(p_event_id).array_value_num('header_index'));
66521 IF l_acc_rev_flag IS NULL THEN
66522 l_acc_rev_flag := 'N';
66523 END IF;
66524 EXCEPTION
66525 WHEN OTHERS THEN
66526 l_acc_rev_flag := 'N';
66527 END;
66528 --
66529 IF (l_acc_rev_flag = 'Y') THEN
66530
66531 -- 4645092 ------------------------------------------------------------------------------
66532 -- To allow MPA report to determine if it should generate report process
66533 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
66534 ------------------------------------------------------------------------------------------
66535
66536 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
66537 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
66538 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
66539 -- call ADRs
66540 -- Bug 4922099
66541 --
66542 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
66543 (NVL(l_actual_upg_option, 'N') = 'O') OR
66544 (NVL(l_enc_upg_option, 'N') = 'O')
66545 )
66546 THEN
66547 NULL;
66548 --
66549 --
66550
66551 l_ccid := AcctDerRule_38(
66552 p_application_id => p_application_id
66553 , p_ae_header_id => l_ae_header_id
66554 , p_source_15 => p_source_15
66555 , p_source_15_meaning => p_source_15_meaning
66556 , p_source_30 => p_source_30
66557 , p_source_36 => p_source_36
66558 , p_source_37 => p_source_37
66559 , x_transaction_coa_id => l_adr_transaction_coa_id
66560 , x_accounting_coa_id => l_adr_accounting_coa_id
66561 , x_value_type_code => l_adr_value_type_code
66562 , p_side => 'CREDIT'
66563 );
66564
66565 xla_ae_lines_pkg.set_ccid(
66566 p_code_combination_id => l_ccid
66567 , p_value_type_code => l_adr_value_type_code
66568 , p_transaction_coa_id => l_adr_transaction_coa_id
66569 , p_accounting_coa_id => l_adr_accounting_coa_id
66573 , p_component_code => l_component_code
66570 , p_adr_code => 'AP_REAL_GAIN'
66571 , p_adr_type_code => 'S'
66572 , p_component_type => l_component_type
66574 , p_component_type_code => l_component_type_code
66575 , p_component_appl_id => l_component_appl_id
66576 , p_amb_context_code => l_amb_context_code
66577 , p_side => 'CREDIT'
66578 );
66579
66580
66581 l_ccid := AcctDerRule_39(
66582 p_application_id => p_application_id
66583 , p_ae_header_id => l_ae_header_id
66584 , p_source_15 => p_source_15
66585 , p_source_15_meaning => p_source_15_meaning
66586 , p_source_30 => p_source_30
66587 , p_source_38 => p_source_38
66588 , p_source_39 => p_source_39
66589 , x_transaction_coa_id => l_adr_transaction_coa_id
66590 , x_accounting_coa_id => l_adr_accounting_coa_id
66591 , x_value_type_code => l_adr_value_type_code
66592 , p_side => 'DEBIT'
66593 );
66594
66595 xla_ae_lines_pkg.set_ccid(
66596 p_code_combination_id => l_ccid
66597 , p_value_type_code => l_adr_value_type_code
66598 , p_transaction_coa_id => l_adr_transaction_coa_id
66599 , p_accounting_coa_id => l_adr_accounting_coa_id
66600 , p_adr_code => 'AP_REAL_LOSS'
66601 , p_adr_type_code => 'S'
66602 , p_component_type => l_component_type
66603 , p_component_code => l_component_code
66604 , p_component_type_code => l_component_type_code
66605 , p_component_appl_id => l_component_appl_id
66606 , p_amb_context_code => l_amb_context_code
66607 , p_side => 'DEBIT'
66608 );
66609
66610
66611 l_segment := AcctDerRule_22(
66612 p_application_id => p_application_id
66613 , p_ae_header_id => l_ae_header_id
66614 , p_source_15 => p_source_15
66615 , p_source_15_meaning => p_source_15_meaning
66616 , p_source_30 => p_source_30
66617 , x_transaction_coa_id => l_adr_transaction_coa_id
66618 , x_accounting_coa_id => l_adr_accounting_coa_id
66619 , x_flexfield_segment_code => l_adr_flexfield_segment_code
66620 , x_flex_value_set_id => l_adr_flex_value_set_id
66621 , x_value_type_code => l_adr_value_type_code
66622 , x_value_combination_id => l_adr_value_combination_id
66623 , x_value_segment_code => l_adr_value_segment_code
66624 , p_side => 'ALL'
66625 , p_override_seg_flag => 'Y'
66626 );
66627
66628 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
66629
66630 xla_ae_lines_pkg.set_segment(
66631 p_to_segment_code => 'GL_BALANCING'
66632 , p_segment_value => l_segment
66633 , p_from_segment_code => l_adr_value_segment_code
66634 , p_from_combination_id => l_adr_value_combination_id
66635 , p_value_type_code => l_adr_value_type_code
66636 , p_transaction_coa_id => l_adr_transaction_coa_id
66637 , p_accounting_coa_id => l_adr_accounting_coa_id
66638 , p_flexfield_segment_code => l_adr_flexfield_segment_code
66639 , p_flex_value_set_id => l_adr_flex_value_set_id
66640 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
66641 , p_adr_type_code => 'S'
66642 , p_component_type => l_component_type
66643 , p_component_code => l_component_code
66644 , p_component_type_code => l_component_type_code
66645 , p_component_appl_id => l_component_appl_id
66646 , p_amb_context_code => l_amb_context_code
66647 , p_entity_code => 'AP_PAYMENTS'
66648 , p_event_class_code => 'FUTURE DATED PAYMENTS'
66649 , p_side => 'ALL'
66650 );
66651
66652 END IF;
66653
66654 l_segment := AcctDerRule_17(
66655 p_application_id => p_application_id
66656 , p_ae_header_id => l_ae_header_id
66657 , p_source_15 => p_source_15
66658 , p_source_15_meaning => p_source_15_meaning
66659 , p_source_36 => p_source_36
66660 , p_source_37 => p_source_37
66661 , x_transaction_coa_id => l_adr_transaction_coa_id
66662 , x_accounting_coa_id => l_adr_accounting_coa_id
66663 , x_flexfield_segment_code => l_adr_flexfield_segment_code
66664 , x_flex_value_set_id => l_adr_flex_value_set_id
66665 , x_value_type_code => l_adr_value_type_code
66666 , x_value_combination_id => l_adr_value_combination_id
66667 , x_value_segment_code => l_adr_value_segment_code
66668 , p_side => 'CREDIT'
66669 , p_override_seg_flag => 'Y'
66670 );
66671
66672 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
66673
66674 xla_ae_lines_pkg.set_segment(
66675 p_to_segment_code => 'GL_ACCOUNT'
66676 , p_segment_value => l_segment
66677 , p_from_segment_code => l_adr_value_segment_code
66678 , p_from_combination_id => l_adr_value_combination_id
66679 , p_value_type_code => l_adr_value_type_code
66680 , p_transaction_coa_id => l_adr_transaction_coa_id
66684 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
66681 , p_accounting_coa_id => l_adr_accounting_coa_id
66682 , p_flexfield_segment_code => l_adr_flexfield_segment_code
66683 , p_flex_value_set_id => l_adr_flex_value_set_id
66685 , p_adr_type_code => 'S'
66686 , p_component_type => l_component_type
66687 , p_component_code => l_component_code
66688 , p_component_type_code => l_component_type_code
66689 , p_component_appl_id => l_component_appl_id
66690 , p_amb_context_code => l_amb_context_code
66691 , p_entity_code => 'AP_PAYMENTS'
66692 , p_event_class_code => 'FUTURE DATED PAYMENTS'
66693 , p_side => 'CREDIT'
66694 );
66695
66696 END IF;
66697
66698 l_segment := AcctDerRule_18(
66699 p_application_id => p_application_id
66700 , p_ae_header_id => l_ae_header_id
66701 , p_source_15 => p_source_15
66702 , p_source_15_meaning => p_source_15_meaning
66703 , p_source_38 => p_source_38
66704 , p_source_39 => p_source_39
66705 , x_transaction_coa_id => l_adr_transaction_coa_id
66706 , x_accounting_coa_id => l_adr_accounting_coa_id
66707 , x_flexfield_segment_code => l_adr_flexfield_segment_code
66708 , x_flex_value_set_id => l_adr_flex_value_set_id
66709 , x_value_type_code => l_adr_value_type_code
66710 , x_value_combination_id => l_adr_value_combination_id
66711 , x_value_segment_code => l_adr_value_segment_code
66712 , p_side => 'DEBIT'
66713 , p_override_seg_flag => 'Y'
66714 );
66715
66716 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
66717
66718 xla_ae_lines_pkg.set_segment(
66719 p_to_segment_code => 'GL_ACCOUNT'
66720 , p_segment_value => l_segment
66721 , p_from_segment_code => l_adr_value_segment_code
66722 , p_from_combination_id => l_adr_value_combination_id
66723 , p_value_type_code => l_adr_value_type_code
66724 , p_transaction_coa_id => l_adr_transaction_coa_id
66725 , p_accounting_coa_id => l_adr_accounting_coa_id
66726 , p_flexfield_segment_code => l_adr_flexfield_segment_code
66727 , p_flex_value_set_id => l_adr_flex_value_set_id
66728 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
66729 , p_adr_type_code => 'S'
66730 , p_component_type => l_component_type
66731 , p_component_code => l_component_code
66732 , p_component_type_code => l_component_type_code
66733 , p_component_appl_id => l_component_appl_id
66734 , p_amb_context_code => l_amb_context_code
66735 , p_entity_code => 'AP_PAYMENTS'
66736 , p_event_class_code => 'FUTURE DATED PAYMENTS'
66737 , p_side => 'DEBIT'
66738 );
66739
66740 END IF;
66741
66742 --
66743 --
66744 END IF;
66745
66746 --
66747 -- Update the line information that should be overwritten
66748 --
66749 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
66750 p_header_num => 1);
66751 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
66752
66753 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
66754
66755 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
66756 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
66757 END IF;
66758
66759 --
66760 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
66761 --
66762 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
66763 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
66764 ELSE
66765 ---------------------------------------------------------------------------------------------------
66766 -- 4262811a Switch Sign
66767 ---------------------------------------------------------------------------------------------------
66768 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
66769 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
66770 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
66771 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
66772 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
66773 -- 5132302
66774 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
66775 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
66776
66777 END IF;
66778
66779 -- 4955764
66780 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
66781 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
66782
66783
66784 XLA_AE_LINES_PKG.ValidateCurrentLine;
66785 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
66786
66790
66787 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
66788 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
66789 ,p_balance_type_code => l_balance_type_code);
66791 END IF;
66792
66793 -----------------------------------------------------------------------------------------
66794 -- 4262811 Multiperiod Accounting
66795 -----------------------------------------------------------------------------------------
66796 -- No MPA option is assigned.
66797
66798
66799 END IF;
66800 END IF;
66801 --
66802
66803 --
66804 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
66805 trace
66806 (p_msg => 'END of AcctLineType_127'
66807 ,p_level => C_LEVEL_PROCEDURE
66808 ,p_module => l_log_module);
66809 END IF;
66810 --
66811 EXCEPTION
66812 WHEN xla_exceptions_pkg.application_exception THEN
66813 RAISE;
66814 WHEN OTHERS THEN
66815 xla_exceptions_pkg.raise_message
66816 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_127');
66817 END AcctLineType_127;
66818 --
66819
66820 ---------------------------------------
66821 --
66822 -- PRIVATE FUNCTION
66823 -- AcctLineType_128
66824 --
66825 ---------------------------------------
66826 PROCEDURE AcctLineType_128 (
66827 p_application_id IN NUMBER
66828 ,p_event_id IN NUMBER
66829 ,p_calculate_acctd_flag IN VARCHAR2
66830 ,p_calculate_g_l_flag IN VARCHAR2
66831 ,p_actual_flag IN OUT VARCHAR2
66832 ,p_balance_type_code OUT VARCHAR2
66833 ,p_gain_or_loss_ref OUT VARCHAR2
66834
66835 --Automatic Offsets Value
66836 , p_source_15 IN VARCHAR2
66837 , p_source_15_meaning IN VARCHAR2
66838 --Invoice Distribution Account
66839 , p_source_30 IN NUMBER
66840 --Internal Realized Gain Account
66841 , p_source_36 IN NUMBER
66842 --Bank Gain Account
66843 , p_source_37 IN NUMBER
66844 --Internal Realized Loss Account
66845 , p_source_38 IN NUMBER
66846 --Bank Loss Account
66847 , p_source_39 IN NUMBER
66848 --Accounting Reversal Indicator
66849 , p_source_53 IN VARCHAR2
66850 --Distribution Link Type
66851 , p_source_55 IN VARCHAR2
66852 --Invoice Identifier
66853 , p_source_58 IN NUMBER
66854 --Payables Encumbrance Upgrade Credit Account
66855 , p_source_65 IN NUMBER
66856 --Payables Encumbrance Upgrade Credit Amount
66857 , p_source_66 IN NUMBER
66858 --Invoice Currency Code
66859 , p_source_67 IN VARCHAR2
66860 --Payables Encumbrance Upgrade Credit Base Amount
66861 , p_source_68 IN NUMBER
66862 --Payables Encumbrance Upgrade Debit Account
66863 , p_source_69 IN NUMBER
66864 --Payables Encumbrance Upgrade Debit Amount
66865 , p_source_70 IN NUMBER
66866 --Payables Encumbrance Upgrade Debit Base Amount
66867 , p_source_71 IN NUMBER
66868 --Payables Encumbrance Upgrade Option
66869 , p_source_72 IN VARCHAR2
66870 --Deferred Accounting End Date
66871 , p_source_77 IN DATE
66872 --Deferred Accounting Option
66873 , p_source_78 IN VARCHAR2
66874 --Deferred Accounting Start Date
66875 , p_source_79 IN DATE
66876 --Override Accounted Amount Indicator
66877 , p_source_80 IN VARCHAR2
66878 , p_source_80_meaning IN VARCHAR2
66879 --Invoice Supplier Identifier
66880 , p_source_81 IN NUMBER
66881 --Invoice Supplier Site Identifier
66882 , p_source_82 IN NUMBER
66883 --Third Party Type
66884 , p_source_83 IN VARCHAR2
66885 --Invoice Distribution Tax Line Identifier
66886 , p_source_86 IN NUMBER
66887 --Invoice Distribution Tax Distribution Identifier from Tax
66888 , p_source_87 IN NUMBER
66889 --Invoice Distribution Summary Tax Line Identifier
66890 , p_source_88 IN NUMBER
66891 --Payables Upgrade Credit Encumbrance Type Identifier
66892 , p_source_89 IN NUMBER
66893 --Payables Upgrade Debit Encumbrance Type Identifier
66894 , p_source_90 IN NUMBER
66895 --Business Flow Accounts Payable Application Identifier
66896 , p_source_91 IN NUMBER
66897 --Prepayment Distribution Type
66898 , p_source_125 IN VARCHAR2
66899 --Prepayment Application Distribution Identifier
66900 , p_source_127 IN NUMBER
66901 --Upgrade Encumbrance Credit Account Class
66902 , p_source_132 IN VARCHAR2
66903 --Upgrade Encumbrance Debit Account Class
66904 , p_source_133 IN VARCHAR2
66905 --Identifier of the Prepayment Application Reversed
66906 , p_source_136 IN NUMBER
66907 --Business Flow Prepayment Invoice Distribution Type
66908 , p_source_146 IN VARCHAR2
66909 --Business Flow Prepayment Invoice Entity Code
66910 , p_source_147 IN VARCHAR2
66911 --Business Flow Prepayment Invoice Distribution Identifier
66912 , p_source_148 IN NUMBER
66913 --Business Flow Prepayment Invoice Identifier
66914 , p_source_149 IN NUMBER
66915 --Prepayment/Invoice Ledger Amount Difference
66916 , p_source_155 IN NUMBER
66917 )
66918 IS
66919
66920 l_component_type VARCHAR2(80);
66921 l_component_code VARCHAR2(30);
66925 l_entity_code VARCHAR2(30);
66922 l_component_type_code VARCHAR2(1);
66923 l_component_appl_id INTEGER;
66924 l_amb_context_code VARCHAR2(30);
66926 l_event_class_code VARCHAR2(30);
66927 l_ae_header_id NUMBER;
66928 l_event_type_code VARCHAR2(30);
66929 l_line_definition_code VARCHAR2(30);
66930 l_line_definition_owner_code VARCHAR2(1);
66931 --
66932 -- adr variables
66933 l_segment VARCHAR2(30);
66934 l_ccid NUMBER;
66935 l_adr_transaction_coa_id NUMBER;
66936 l_adr_accounting_coa_id NUMBER;
66937 l_adr_flexfield_segment_code VARCHAR2(30);
66938 l_adr_flex_value_set_id NUMBER;
66939 l_adr_value_type_code VARCHAR2(30);
66940 l_adr_value_combination_id NUMBER;
66941 l_adr_value_segment_code VARCHAR2(30);
66942
66943 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
66944 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
66945 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
66946 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
66947
66948 -- 4262811 Variables ------------------------------------------------------------------------------------------
66949 l_entered_amt_idx NUMBER;
66950 l_accted_amt_idx NUMBER;
66951 l_acc_rev_flag VARCHAR2(1);
66952 l_accrual_line_num NUMBER;
66953 l_tmp_amt NUMBER;
66954 l_acc_rev_natural_side_code VARCHAR2(1);
66955
66956 l_num_entries NUMBER;
66957 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
66958 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
66959 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
66960 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
66961 l_recog_line_1 NUMBER;
66962 l_recog_line_2 NUMBER;
66963
66964 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
66965 l_bflow_applied_to_amt NUMBER; -- 5132302
66966 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
66967
66968 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
66969
66970 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
66971 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
66972
66973 ---------------------------------------------------------------------------------------------------------------
66974
66975
66976 --
66977 -- bulk performance
66978 --
66979 l_balance_type_code VARCHAR2(1);
66980 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
66981 l_log_module VARCHAR2(240);
66982
66983 --
66984 -- Upgrade strategy
66985 --
66986 l_actual_upg_option VARCHAR2(1);
66987 l_enc_upg_option VARCHAR2(1);
66988
66989 --
66990 BEGIN
66991 --
66992 IF g_log_enabled THEN
66993 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_128';
66994 END IF;
66995 --
66996 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
66997
66998 trace
66999 (p_msg => 'BEGIN of AcctLineType_128'
67000 ,p_level => C_LEVEL_PROCEDURE
67001 ,p_module => l_log_module);
67002
67003 END IF;
67004 --
67005 l_component_type := 'AMB_JLT';
67006 l_component_code := 'AP_GAIN_LOSS_PREPAY_APP';
67007 l_component_type_code := 'S';
67008 l_component_appl_id := 200;
67009 l_amb_context_code := 'DEFAULT';
67010 l_entity_code := 'AP_INVOICES';
67011 l_event_class_code := 'PREPAYMENT APPLICATIONS';
67012 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
67013 l_line_definition_owner_code := 'S';
67014 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
67015 --
67016 l_balance_type_code := 'A';
67017 l_segment := NULL;
67018 l_ccid := NULL;
67019 l_adr_transaction_coa_id := NULL;
67020 l_adr_accounting_coa_id := NULL;
67021 l_adr_flexfield_segment_code := NULL;
67022 l_adr_flex_value_set_id := NULL;
67023 l_adr_value_type_code := NULL;
67024 l_adr_value_combination_id := NULL;
67025 l_adr_value_segment_code := NULL;
67026
67027 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
67028 l_bflow_class_code := ''; -- 4219869 Business Flow
67029 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
67030 l_budgetary_control_flag := 'N';
67031
67032 l_bflow_applied_to_amt_idx := NULL; -- 5132302
67033 l_bflow_applied_to_amt := NULL; -- 5132302
67034 l_entered_amt_idx := NULL; -- 4262811
67035 l_accted_amt_idx := NULL; -- 4262811
67036 l_acc_rev_flag := NULL; -- 4262811
67037 l_accrual_line_num := NULL; -- 4262811
67038 l_tmp_amt := NULL; -- 4262811
67039 --
67040 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
67041 (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
67045 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
67042 return;
67043 END IF;
67044
67046 l_balance_type_code <> 'B' THEN
67047 IF NVL(p_source_125,'
67048 ') = 'PREPAY APPL'
67049 THEN
67050
67051 --
67052 XLA_AE_LINES_PKG.SetNewLine;
67053
67054 p_balance_type_code := l_balance_type_code;
67055 -- set the flag so later we will know whether the gain loss line needs to be created
67056
67057 IF(l_balance_type_code = 'A' ) THEN
67058 p_actual_flag :='G';
67059 END IF;
67060
67061 --
67062 -- bulk performance
67063 --
67064 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
67065 p_header_num => 0); -- 4262811
67066 --
67067 -- set accounting line options
67068 --
67069 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
67070 p_natural_side_code => 'G'
67071 , p_gain_or_loss_flag => 'N'
67072 , p_gl_transfer_mode_code => 'S'
67073 , p_acct_entry_type_code => 'A'
67074 , p_switch_side_flag => ''
67075 , p_merge_duplicate_code => 'A'
67076 );
67077 --
67078 l_acc_rev_natural_side_code := 'C'; -- 4262811
67079 --
67080 --
67081 -- set accounting line type info
67082 --
67083 xla_ae_lines_pkg.SetAcctLineType
67084 (p_component_type => l_component_type
67085 ,p_event_type_code => l_event_type_code
67086 ,p_line_definition_owner_code => l_line_definition_owner_code
67087 ,p_line_definition_code => l_line_definition_code
67088 ,p_accounting_line_code => l_component_code
67089 ,p_accounting_line_type_code => l_component_type_code
67090 ,p_accounting_line_appl_id => l_component_appl_id
67091 ,p_amb_context_code => l_amb_context_code
67092 ,p_entity_code => l_entity_code
67093 ,p_event_class_code => l_event_class_code);
67094 --
67095 -- set accounting class
67096 --
67097 xla_ae_lines_pkg.SetAcctClass(
67098 p_accounting_class_code => 'EXCHANGE_GAIN_LOSS'
67099 , p_ae_header_id => l_ae_header_id
67100 );
67101
67102 --
67103 -- set rounding class
67104 --
67105 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
67106 'EXCHANGE_GAIN_LOSS';
67107
67108 --
67109 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
67110 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
67111 --
67112 -- bulk performance
67113 --
67114 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
67115
67116 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
67117 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
67118
67119 -- 4955764
67120 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
67121 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
67122
67123 -- 4458381 Public Sector Enh
67124
67125 --
67126 -- set accounting attributes for the line type
67127 --
67128 l_entered_amt_idx := NULL;
67129 l_accted_amt_idx := 25;
67130 l_bflow_applied_to_amt_idx := NULL; -- 5132302
67131 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
67132 l_rec_acct_attrs.array_char_value(1) := p_source_53;
67133 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
67134 l_rec_acct_attrs.array_num_value(2) :=
67135 xla_ae_sources_pkg.GetSystemSourceNum(
67136 p_source_code => 'XLA_EVENT_APPL_ID'
67137 , p_source_type_code => 'Y'
67138 , p_source_application_id => 602
67139 );
67140 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
67141 l_rec_acct_attrs.array_char_value(3) := p_source_55;
67142 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
67143 l_rec_acct_attrs.array_char_value(4) :=
67144 xla_ae_sources_pkg.GetSystemSourceChar(
67145 p_source_code => 'XLA_ENTITY_CODE'
67146 , p_source_type_code => 'Y'
67147 , p_source_application_id => 602
67148 );
67149 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
67150 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_127);
67151 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
67152 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
67153 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
67154 l_rec_acct_attrs.array_num_value(7) := p_source_91;
67155 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
67156 l_rec_acct_attrs.array_char_value(8) := p_source_146;
67157 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
67158 l_rec_acct_attrs.array_char_value(9) := p_source_147;
67159 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
67160 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_148);
67161 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
67165 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
67162 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_149);
67163 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
67164 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_127);
67166 l_rec_acct_attrs.array_char_value(13) := p_source_55;
67167 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
67168 l_rec_acct_attrs.array_char_value(14) := p_source_132;
67169 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
67170 l_rec_acct_attrs.array_num_value(15) := p_source_65;
67171 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
67172 l_rec_acct_attrs.array_num_value(16) := p_source_66;
67173 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
67174 l_rec_acct_attrs.array_char_value(17) := p_source_67;
67175 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
67176 l_rec_acct_attrs.array_num_value(18) := p_source_68;
67177 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
67178 l_rec_acct_attrs.array_char_value(19) := p_source_133;
67179 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
67180 l_rec_acct_attrs.array_num_value(20) := p_source_69;
67181 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
67182 l_rec_acct_attrs.array_num_value(21) := p_source_70;
67183 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
67184 l_rec_acct_attrs.array_char_value(22) := p_source_67;
67185 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
67186 l_rec_acct_attrs.array_num_value(23) := p_source_71;
67187 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
67188 l_rec_acct_attrs.array_char_value(24) := p_source_72;
67189 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
67190 l_rec_acct_attrs.array_num_value(25) := p_source_155;
67191 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
67192 l_rec_acct_attrs.array_date_value(26) := p_source_77;
67193 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
67194 l_rec_acct_attrs.array_char_value(27) := p_source_78;
67195 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
67196 l_rec_acct_attrs.array_date_value(28) := p_source_79;
67197 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
67198 l_rec_acct_attrs.array_char_value(29) := p_source_80;
67199 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_ID';
67200 l_rec_acct_attrs.array_num_value(30) := p_source_81;
67201 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_SITE_ID';
67202 l_rec_acct_attrs.array_num_value(31) := p_source_82;
67203 l_rec_acct_attrs.array_acct_attr_code(32) := 'PARTY_TYPE';
67204 l_rec_acct_attrs.array_char_value(32) := p_source_83;
67205 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_ID1';
67206 l_rec_acct_attrs.array_num_value(33) := to_char(p_source_136);
67207 l_rec_acct_attrs.array_acct_attr_code(34) := 'REVERSED_DISTRIBUTION_TYPE';
67208 l_rec_acct_attrs.array_char_value(34) := p_source_55;
67209 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
67210 l_rec_acct_attrs.array_num_value(35) := p_source_86;
67211 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
67212 l_rec_acct_attrs.array_num_value(36) := p_source_87;
67213 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
67214 l_rec_acct_attrs.array_num_value(37) := p_source_88;
67215 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
67216 l_rec_acct_attrs.array_num_value(38) := p_source_89;
67217 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
67218 l_rec_acct_attrs.array_num_value(39) := p_source_90;
67219
67220 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
67221 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
67222
67223 ---------------------------------------------------------------------------------------------------------------
67224 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
67225 ---------------------------------------------------------------------------------------------------------------
67226 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
67227
67228 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
67229 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
67230
67231 IF xla_accounting_cache_pkg.GetValueChar
67232 (p_source_code => 'LEDGER_CATEGORY_CODE'
67233 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
67234 AND l_bflow_method_code = 'PRIOR_ENTRY'
67235 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
67236 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
67237 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
67238 )
67239 THEN
67240 xla_ae_lines_pkg.BflowUpgEntry
67241 (p_business_method_code => l_bflow_method_code
67242 ,p_business_class_code => l_bflow_class_code
67243 ,p_balance_type => l_balance_type_code);
67244 ELSE
67245 NULL;
67246 -- No business flow processing for business flow method of NONE.
67247 END IF;
67248
67249 --
67250 -- call analytical criteria
67251 --
67252
67253 --
67257 --
67254 -- call description
67255 --
67256 -- No description or it is inherited.
67258 -- call ADRs
67259 -- Bug 4922099
67260 --
67261 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
67262 (NVL(l_actual_upg_option, 'N') = 'O') OR
67263 (NVL(l_enc_upg_option, 'N') = 'O')
67264 )
67265 THEN
67266 NULL;
67267 --
67268 --
67269
67270 l_ccid := AcctDerRule_38(
67271 p_application_id => p_application_id
67272 , p_ae_header_id => l_ae_header_id
67273 , p_source_15 => p_source_15
67274 , p_source_15_meaning => p_source_15_meaning
67275 , p_source_30 => p_source_30
67276 , p_source_36 => p_source_36
67277 , p_source_37 => p_source_37
67278 , x_transaction_coa_id => l_adr_transaction_coa_id
67279 , x_accounting_coa_id => l_adr_accounting_coa_id
67280 , x_value_type_code => l_adr_value_type_code
67281 , p_side => 'CREDIT'
67282 );
67283
67284 xla_ae_lines_pkg.set_ccid(
67285 p_code_combination_id => l_ccid
67286 , p_value_type_code => l_adr_value_type_code
67287 , p_transaction_coa_id => l_adr_transaction_coa_id
67288 , p_accounting_coa_id => l_adr_accounting_coa_id
67289 , p_adr_code => 'AP_REAL_GAIN'
67290 , p_adr_type_code => 'S'
67291 , p_component_type => l_component_type
67292 , p_component_code => l_component_code
67293 , p_component_type_code => l_component_type_code
67294 , p_component_appl_id => l_component_appl_id
67295 , p_amb_context_code => l_amb_context_code
67296 , p_side => 'CREDIT'
67297 );
67298
67299
67300 l_ccid := AcctDerRule_39(
67301 p_application_id => p_application_id
67302 , p_ae_header_id => l_ae_header_id
67303 , p_source_15 => p_source_15
67304 , p_source_15_meaning => p_source_15_meaning
67305 , p_source_30 => p_source_30
67306 , p_source_38 => p_source_38
67307 , p_source_39 => p_source_39
67308 , x_transaction_coa_id => l_adr_transaction_coa_id
67309 , x_accounting_coa_id => l_adr_accounting_coa_id
67310 , x_value_type_code => l_adr_value_type_code
67311 , p_side => 'DEBIT'
67312 );
67313
67314 xla_ae_lines_pkg.set_ccid(
67315 p_code_combination_id => l_ccid
67316 , p_value_type_code => l_adr_value_type_code
67317 , p_transaction_coa_id => l_adr_transaction_coa_id
67318 , p_accounting_coa_id => l_adr_accounting_coa_id
67319 , p_adr_code => 'AP_REAL_LOSS'
67320 , p_adr_type_code => 'S'
67321 , p_component_type => l_component_type
67322 , p_component_code => l_component_code
67323 , p_component_type_code => l_component_type_code
67324 , p_component_appl_id => l_component_appl_id
67325 , p_amb_context_code => l_amb_context_code
67326 , p_side => 'DEBIT'
67327 );
67328
67329
67330 l_segment := AcctDerRule_22(
67331 p_application_id => p_application_id
67332 , p_ae_header_id => l_ae_header_id
67333 , p_source_15 => p_source_15
67334 , p_source_15_meaning => p_source_15_meaning
67335 , p_source_30 => p_source_30
67336 , x_transaction_coa_id => l_adr_transaction_coa_id
67337 , x_accounting_coa_id => l_adr_accounting_coa_id
67338 , x_flexfield_segment_code => l_adr_flexfield_segment_code
67339 , x_flex_value_set_id => l_adr_flex_value_set_id
67340 , x_value_type_code => l_adr_value_type_code
67341 , x_value_combination_id => l_adr_value_combination_id
67342 , x_value_segment_code => l_adr_value_segment_code
67343 , p_side => 'ALL'
67344 , p_override_seg_flag => 'Y'
67345 );
67346
67347 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
67348
67349 xla_ae_lines_pkg.set_segment(
67350 p_to_segment_code => 'GL_BALANCING'
67351 , p_segment_value => l_segment
67352 , p_from_segment_code => l_adr_value_segment_code
67353 , p_from_combination_id => l_adr_value_combination_id
67354 , p_value_type_code => l_adr_value_type_code
67355 , p_transaction_coa_id => l_adr_transaction_coa_id
67356 , p_accounting_coa_id => l_adr_accounting_coa_id
67357 , p_flexfield_segment_code => l_adr_flexfield_segment_code
67358 , p_flex_value_set_id => l_adr_flex_value_set_id
67359 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
67360 , p_adr_type_code => 'S'
67361 , p_component_type => l_component_type
67362 , p_component_code => l_component_code
67363 , p_component_type_code => l_component_type_code
67364 , p_component_appl_id => l_component_appl_id
67365 , p_amb_context_code => l_amb_context_code
67366 , p_entity_code => 'AP_INVOICES'
67367 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
67368 , p_side => 'ALL'
67369 );
67370
67371 END IF;
67372
67373 l_segment := AcctDerRule_17(
67377 , p_source_15_meaning => p_source_15_meaning
67374 p_application_id => p_application_id
67375 , p_ae_header_id => l_ae_header_id
67376 , p_source_15 => p_source_15
67378 , p_source_36 => p_source_36
67379 , p_source_37 => p_source_37
67380 , x_transaction_coa_id => l_adr_transaction_coa_id
67381 , x_accounting_coa_id => l_adr_accounting_coa_id
67382 , x_flexfield_segment_code => l_adr_flexfield_segment_code
67383 , x_flex_value_set_id => l_adr_flex_value_set_id
67384 , x_value_type_code => l_adr_value_type_code
67385 , x_value_combination_id => l_adr_value_combination_id
67386 , x_value_segment_code => l_adr_value_segment_code
67387 , p_side => 'CREDIT'
67388 , p_override_seg_flag => 'Y'
67389 );
67390
67391 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
67392
67393 xla_ae_lines_pkg.set_segment(
67394 p_to_segment_code => 'GL_ACCOUNT'
67395 , p_segment_value => l_segment
67396 , p_from_segment_code => l_adr_value_segment_code
67397 , p_from_combination_id => l_adr_value_combination_id
67398 , p_value_type_code => l_adr_value_type_code
67399 , p_transaction_coa_id => l_adr_transaction_coa_id
67400 , p_accounting_coa_id => l_adr_accounting_coa_id
67401 , p_flexfield_segment_code => l_adr_flexfield_segment_code
67402 , p_flex_value_set_id => l_adr_flex_value_set_id
67403 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
67404 , p_adr_type_code => 'S'
67405 , p_component_type => l_component_type
67406 , p_component_code => l_component_code
67407 , p_component_type_code => l_component_type_code
67408 , p_component_appl_id => l_component_appl_id
67409 , p_amb_context_code => l_amb_context_code
67410 , p_entity_code => 'AP_INVOICES'
67411 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
67412 , p_side => 'CREDIT'
67413 );
67414
67415 END IF;
67416
67417 l_segment := AcctDerRule_18(
67418 p_application_id => p_application_id
67419 , p_ae_header_id => l_ae_header_id
67420 , p_source_15 => p_source_15
67421 , p_source_15_meaning => p_source_15_meaning
67422 , p_source_38 => p_source_38
67423 , p_source_39 => p_source_39
67424 , x_transaction_coa_id => l_adr_transaction_coa_id
67425 , x_accounting_coa_id => l_adr_accounting_coa_id
67426 , x_flexfield_segment_code => l_adr_flexfield_segment_code
67427 , x_flex_value_set_id => l_adr_flex_value_set_id
67428 , x_value_type_code => l_adr_value_type_code
67429 , x_value_combination_id => l_adr_value_combination_id
67430 , x_value_segment_code => l_adr_value_segment_code
67431 , p_side => 'DEBIT'
67432 , p_override_seg_flag => 'Y'
67433 );
67434
67435 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
67436
67437 xla_ae_lines_pkg.set_segment(
67438 p_to_segment_code => 'GL_ACCOUNT'
67439 , p_segment_value => l_segment
67440 , p_from_segment_code => l_adr_value_segment_code
67441 , p_from_combination_id => l_adr_value_combination_id
67442 , p_value_type_code => l_adr_value_type_code
67443 , p_transaction_coa_id => l_adr_transaction_coa_id
67444 , p_accounting_coa_id => l_adr_accounting_coa_id
67445 , p_flexfield_segment_code => l_adr_flexfield_segment_code
67446 , p_flex_value_set_id => l_adr_flex_value_set_id
67447 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
67448 , p_adr_type_code => 'S'
67449 , p_component_type => l_component_type
67450 , p_component_code => l_component_code
67451 , p_component_type_code => l_component_type_code
67452 , p_component_appl_id => l_component_appl_id
67453 , p_amb_context_code => l_amb_context_code
67454 , p_entity_code => 'AP_INVOICES'
67455 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
67456 , p_side => 'DEBIT'
67457 );
67458
67459 END IF;
67460
67461 --
67462 --
67463 END IF;
67464 --
67465 -- Bug 4922099
67466 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
67467 (NVL(l_enc_upg_option, 'N') = 'O')
67468 ) AND
67469 (l_bflow_method_code = 'PRIOR_ENTRY')
67470 )
67471 THEN
67472 IF
67473 --
67474 1 = 2
67475 --
67476 THEN
67477 xla_accounting_err_pkg.build_message
67478 (p_appli_s_name => 'XLA'
67479 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
67480 ,p_token_1 => 'LINE_NUMBER'
67481 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
67482 ,p_token_2 => 'LINE_TYPE_NAME'
67483 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
67487 ,l_component_appl_id
67484 l_component_type
67485 ,l_component_code
67486 ,l_component_type_code
67488 ,l_amb_context_code
67489 ,l_entity_code
67490 ,l_event_class_code
67491 )
67492 ,p_token_3 => 'OWNER'
67493 ,p_value_3 => xla_lookups_pkg.get_meaning(
67494 p_lookup_type => 'XLA_OWNER_TYPE'
67495 ,p_lookup_code => l_component_type_code
67496 )
67497 ,p_token_4 => 'PRODUCT_NAME'
67498 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
67499 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
67500 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
67501 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
67502 ,p_ae_header_id => NULL
67503 );
67504
67505 IF (C_LEVEL_ERROR>= g_log_level) THEN
67506 trace
67507 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
67508 ,p_level => C_LEVEL_ERROR
67509 ,p_module => l_log_module);
67510 END IF;
67511 END IF;
67512 END IF;
67513 --
67514 --
67515 ------------------------------------------------------------------------------------------------
67516 -- 4219869 Business Flow
67517 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
67518 -- Prior Entry. Currently, the following code is always generated.
67519 ------------------------------------------------------------------------------------------------
67520 XLA_AE_LINES_PKG.ValidateCurrentLine;
67521
67522 ------------------------------------------------------------------------------------
67523 -- 4219869 Business Flow
67524 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
67525 ------------------------------------------------------------------------------------
67526 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
67527
67528 ----------------------------------------------------------------------------------
67529 -- 4219869 Business Flow
67530 -- Update journal entry status -- Need to generate this within IF <condition>
67531 ----------------------------------------------------------------------------------
67532 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
67533 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
67534 ,p_balance_type_code => l_balance_type_code
67535 );
67536
67537 -------------------------------------------------------------------------------------------
67538 -- 4262811 - Generate the Accrual Reversal lines
67539 -------------------------------------------------------------------------------------------
67540 BEGIN
67541 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
67542 (g_array_event(p_event_id).array_value_num('header_index'));
67543 IF l_acc_rev_flag IS NULL THEN
67544 l_acc_rev_flag := 'N';
67545 END IF;
67546 EXCEPTION
67547 WHEN OTHERS THEN
67548 l_acc_rev_flag := 'N';
67549 END;
67550 --
67551 IF (l_acc_rev_flag = 'Y') THEN
67552
67553 -- 4645092 ------------------------------------------------------------------------------
67554 -- To allow MPA report to determine if it should generate report process
67555 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
67556 ------------------------------------------------------------------------------------------
67557
67558 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
67559 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
67560 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
67561 -- call ADRs
67562 -- Bug 4922099
67563 --
67564 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
67565 (NVL(l_actual_upg_option, 'N') = 'O') OR
67566 (NVL(l_enc_upg_option, 'N') = 'O')
67567 )
67568 THEN
67569 NULL;
67570 --
67571 --
67572
67573 l_ccid := AcctDerRule_38(
67574 p_application_id => p_application_id
67575 , p_ae_header_id => l_ae_header_id
67576 , p_source_15 => p_source_15
67577 , p_source_15_meaning => p_source_15_meaning
67578 , p_source_30 => p_source_30
67579 , p_source_36 => p_source_36
67580 , p_source_37 => p_source_37
67584 , p_side => 'CREDIT'
67581 , x_transaction_coa_id => l_adr_transaction_coa_id
67582 , x_accounting_coa_id => l_adr_accounting_coa_id
67583 , x_value_type_code => l_adr_value_type_code
67585 );
67586
67587 xla_ae_lines_pkg.set_ccid(
67588 p_code_combination_id => l_ccid
67589 , p_value_type_code => l_adr_value_type_code
67590 , p_transaction_coa_id => l_adr_transaction_coa_id
67591 , p_accounting_coa_id => l_adr_accounting_coa_id
67592 , p_adr_code => 'AP_REAL_GAIN'
67593 , p_adr_type_code => 'S'
67594 , p_component_type => l_component_type
67595 , p_component_code => l_component_code
67596 , p_component_type_code => l_component_type_code
67597 , p_component_appl_id => l_component_appl_id
67598 , p_amb_context_code => l_amb_context_code
67599 , p_side => 'CREDIT'
67600 );
67601
67602
67603 l_ccid := AcctDerRule_39(
67604 p_application_id => p_application_id
67605 , p_ae_header_id => l_ae_header_id
67606 , p_source_15 => p_source_15
67607 , p_source_15_meaning => p_source_15_meaning
67608 , p_source_30 => p_source_30
67609 , p_source_38 => p_source_38
67610 , p_source_39 => p_source_39
67611 , x_transaction_coa_id => l_adr_transaction_coa_id
67612 , x_accounting_coa_id => l_adr_accounting_coa_id
67613 , x_value_type_code => l_adr_value_type_code
67614 , p_side => 'DEBIT'
67615 );
67616
67617 xla_ae_lines_pkg.set_ccid(
67618 p_code_combination_id => l_ccid
67619 , p_value_type_code => l_adr_value_type_code
67620 , p_transaction_coa_id => l_adr_transaction_coa_id
67621 , p_accounting_coa_id => l_adr_accounting_coa_id
67622 , p_adr_code => 'AP_REAL_LOSS'
67623 , p_adr_type_code => 'S'
67624 , p_component_type => l_component_type
67625 , p_component_code => l_component_code
67626 , p_component_type_code => l_component_type_code
67627 , p_component_appl_id => l_component_appl_id
67628 , p_amb_context_code => l_amb_context_code
67629 , p_side => 'DEBIT'
67630 );
67631
67632
67633 l_segment := AcctDerRule_22(
67634 p_application_id => p_application_id
67635 , p_ae_header_id => l_ae_header_id
67636 , p_source_15 => p_source_15
67637 , p_source_15_meaning => p_source_15_meaning
67638 , p_source_30 => p_source_30
67639 , x_transaction_coa_id => l_adr_transaction_coa_id
67640 , x_accounting_coa_id => l_adr_accounting_coa_id
67641 , x_flexfield_segment_code => l_adr_flexfield_segment_code
67642 , x_flex_value_set_id => l_adr_flex_value_set_id
67643 , x_value_type_code => l_adr_value_type_code
67644 , x_value_combination_id => l_adr_value_combination_id
67645 , x_value_segment_code => l_adr_value_segment_code
67646 , p_side => 'ALL'
67647 , p_override_seg_flag => 'Y'
67648 );
67649
67650 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
67651
67652 xla_ae_lines_pkg.set_segment(
67653 p_to_segment_code => 'GL_BALANCING'
67654 , p_segment_value => l_segment
67655 , p_from_segment_code => l_adr_value_segment_code
67656 , p_from_combination_id => l_adr_value_combination_id
67657 , p_value_type_code => l_adr_value_type_code
67658 , p_transaction_coa_id => l_adr_transaction_coa_id
67659 , p_accounting_coa_id => l_adr_accounting_coa_id
67660 , p_flexfield_segment_code => l_adr_flexfield_segment_code
67661 , p_flex_value_set_id => l_adr_flex_value_set_id
67662 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
67663 , p_adr_type_code => 'S'
67664 , p_component_type => l_component_type
67665 , p_component_code => l_component_code
67666 , p_component_type_code => l_component_type_code
67667 , p_component_appl_id => l_component_appl_id
67668 , p_amb_context_code => l_amb_context_code
67669 , p_entity_code => 'AP_INVOICES'
67670 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
67671 , p_side => 'ALL'
67672 );
67673
67674 END IF;
67675
67676 l_segment := AcctDerRule_17(
67677 p_application_id => p_application_id
67678 , p_ae_header_id => l_ae_header_id
67679 , p_source_15 => p_source_15
67680 , p_source_15_meaning => p_source_15_meaning
67681 , p_source_36 => p_source_36
67682 , p_source_37 => p_source_37
67683 , x_transaction_coa_id => l_adr_transaction_coa_id
67684 , x_accounting_coa_id => l_adr_accounting_coa_id
67685 , x_flexfield_segment_code => l_adr_flexfield_segment_code
67686 , x_flex_value_set_id => l_adr_flex_value_set_id
67687 , x_value_type_code => l_adr_value_type_code
67688 , x_value_combination_id => l_adr_value_combination_id
67689 , x_value_segment_code => l_adr_value_segment_code
67693
67690 , p_side => 'CREDIT'
67691 , p_override_seg_flag => 'Y'
67692 );
67694 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
67695
67696 xla_ae_lines_pkg.set_segment(
67697 p_to_segment_code => 'GL_ACCOUNT'
67698 , p_segment_value => l_segment
67699 , p_from_segment_code => l_adr_value_segment_code
67700 , p_from_combination_id => l_adr_value_combination_id
67701 , p_value_type_code => l_adr_value_type_code
67702 , p_transaction_coa_id => l_adr_transaction_coa_id
67703 , p_accounting_coa_id => l_adr_accounting_coa_id
67704 , p_flexfield_segment_code => l_adr_flexfield_segment_code
67705 , p_flex_value_set_id => l_adr_flex_value_set_id
67706 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
67707 , p_adr_type_code => 'S'
67708 , p_component_type => l_component_type
67709 , p_component_code => l_component_code
67710 , p_component_type_code => l_component_type_code
67711 , p_component_appl_id => l_component_appl_id
67712 , p_amb_context_code => l_amb_context_code
67713 , p_entity_code => 'AP_INVOICES'
67714 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
67715 , p_side => 'CREDIT'
67716 );
67717
67718 END IF;
67719
67720 l_segment := AcctDerRule_18(
67721 p_application_id => p_application_id
67722 , p_ae_header_id => l_ae_header_id
67723 , p_source_15 => p_source_15
67724 , p_source_15_meaning => p_source_15_meaning
67725 , p_source_38 => p_source_38
67726 , p_source_39 => p_source_39
67727 , x_transaction_coa_id => l_adr_transaction_coa_id
67728 , x_accounting_coa_id => l_adr_accounting_coa_id
67729 , x_flexfield_segment_code => l_adr_flexfield_segment_code
67730 , x_flex_value_set_id => l_adr_flex_value_set_id
67731 , x_value_type_code => l_adr_value_type_code
67732 , x_value_combination_id => l_adr_value_combination_id
67733 , x_value_segment_code => l_adr_value_segment_code
67734 , p_side => 'DEBIT'
67735 , p_override_seg_flag => 'Y'
67736 );
67737
67738 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
67739
67740 xla_ae_lines_pkg.set_segment(
67741 p_to_segment_code => 'GL_ACCOUNT'
67742 , p_segment_value => l_segment
67743 , p_from_segment_code => l_adr_value_segment_code
67744 , p_from_combination_id => l_adr_value_combination_id
67745 , p_value_type_code => l_adr_value_type_code
67746 , p_transaction_coa_id => l_adr_transaction_coa_id
67747 , p_accounting_coa_id => l_adr_accounting_coa_id
67748 , p_flexfield_segment_code => l_adr_flexfield_segment_code
67749 , p_flex_value_set_id => l_adr_flex_value_set_id
67750 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
67751 , p_adr_type_code => 'S'
67752 , p_component_type => l_component_type
67753 , p_component_code => l_component_code
67754 , p_component_type_code => l_component_type_code
67755 , p_component_appl_id => l_component_appl_id
67756 , p_amb_context_code => l_amb_context_code
67757 , p_entity_code => 'AP_INVOICES'
67758 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
67759 , p_side => 'DEBIT'
67760 );
67761
67762 END IF;
67763
67764 --
67765 --
67766 END IF;
67767
67768 --
67769 -- Update the line information that should be overwritten
67770 --
67771 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
67772 p_header_num => 1);
67773 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
67774
67775 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
67776
67777 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
67778 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
67779 END IF;
67780
67781 --
67782 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
67783 --
67784 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
67785 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
67786 ELSE
67787 ---------------------------------------------------------------------------------------------------
67788 -- 4262811a Switch Sign
67789 ---------------------------------------------------------------------------------------------------
67790 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
67791 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
67792 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
67796 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
67793 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
67794 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
67795 -- 5132302
67797 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
67798
67799 END IF;
67800
67801 -- 4955764
67802 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
67803 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
67804
67805
67806 XLA_AE_LINES_PKG.ValidateCurrentLine;
67807 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
67808
67809 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
67810 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
67811 ,p_balance_type_code => l_balance_type_code);
67812
67813 END IF;
67814
67815 -----------------------------------------------------------------------------------------
67816 -- 4262811 Multiperiod Accounting
67817 -----------------------------------------------------------------------------------------
67818 -- No MPA option is assigned.
67819
67820
67821 END IF;
67822 END IF;
67823 --
67824
67825 --
67826 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
67827 trace
67828 (p_msg => 'END of AcctLineType_128'
67829 ,p_level => C_LEVEL_PROCEDURE
67830 ,p_module => l_log_module);
67831 END IF;
67832 --
67833 EXCEPTION
67834 WHEN xla_exceptions_pkg.application_exception THEN
67835 RAISE;
67836 WHEN OTHERS THEN
67837 xla_exceptions_pkg.raise_message
67838 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_128');
67839 END AcctLineType_128;
67840 --
67841
67842 ---------------------------------------
67843 --
67844 -- PRIVATE FUNCTION
67845 -- AcctLineType_129
67846 --
67847 ---------------------------------------
67848 PROCEDURE AcctLineType_129 (
67849 p_application_id IN NUMBER
67850 ,p_event_id IN NUMBER
67851 ,p_calculate_acctd_flag IN VARCHAR2
67852 ,p_calculate_g_l_flag IN VARCHAR2
67853 ,p_actual_flag IN OUT VARCHAR2
67854 ,p_balance_type_code OUT VARCHAR2
67855 ,p_gain_or_loss_ref OUT VARCHAR2
67856
67857 --Automatic Offsets Value
67858 , p_source_15 IN VARCHAR2
67859 , p_source_15_meaning IN VARCHAR2
67860 --Invoice Distribution Account
67861 , p_source_30 IN NUMBER
67862 --Internal Realized Gain Account
67863 , p_source_36 IN NUMBER
67864 --Bank Gain Account
67865 , p_source_37 IN NUMBER
67866 --Internal Realized Loss Account
67867 , p_source_38 IN NUMBER
67868 --Bank Loss Account
67869 , p_source_39 IN NUMBER
67870 --Accounting Reversal Indicator
67871 , p_source_53 IN VARCHAR2
67872 --Distribution Link Type
67873 , p_source_55 IN VARCHAR2
67874 --Override Accounted Amount Indicator
67875 , p_source_80 IN VARCHAR2
67876 , p_source_80_meaning IN VARCHAR2
67877 --Third Party Type
67878 , p_source_83 IN VARCHAR2
67879 --Invoice Distribution Tax Line Identifier
67880 , p_source_86 IN NUMBER
67881 --Invoice Distribution Tax Distribution Identifier from Tax
67882 , p_source_87 IN NUMBER
67883 --Invoice Distribution Summary Tax Line Identifier
67884 , p_source_88 IN NUMBER
67885 --Business Flow Accounts Payable Application Identifier
67886 , p_source_91 IN NUMBER
67887 --Business Flow Invoice Distribution Type
67888 , p_source_92 IN VARCHAR2
67889 --Business Flow Invoice Entity Code
67890 , p_source_93 IN VARCHAR2
67891 --Business Flow Invoice Distribution Identifier
67892 , p_source_94 IN NUMBER
67893 --Business Flow Invoice Identifier
67894 , p_source_95 IN NUMBER
67895 --When to Account for Payment Option
67896 , p_source_97 IN VARCHAR2
67897 --Payment Distribution Type
67898 , p_source_98 IN VARCHAR2
67899 , p_source_98_meaning IN VARCHAR2
67900 --Payment Distribution Identifier
67901 , p_source_104 IN NUMBER
67902 --Payment Supplier Identifier
67903 , p_source_110 IN NUMBER
67904 --Payment Supplier Site Identifier
67905 , p_source_111 IN NUMBER
67906 --Payment Distribution Reversed Identifier
67907 , p_source_112 IN NUMBER
67908 --Payment Type
67909 , p_source_122 IN VARCHAR2
67910 , p_source_122_meaning IN VARCHAR2
67911 --Invoice/Payment Ledger Amount Difference
67912 , p_source_153 IN NUMBER
67913 )
67914 IS
67915
67916 l_component_type VARCHAR2(80);
67917 l_component_code VARCHAR2(30);
67918 l_component_type_code VARCHAR2(1);
67919 l_component_appl_id INTEGER;
67920 l_amb_context_code VARCHAR2(30);
67921 l_entity_code VARCHAR2(30);
67922 l_event_class_code VARCHAR2(30);
67923 l_ae_header_id NUMBER;
67924 l_event_type_code VARCHAR2(30);
67925 l_line_definition_code VARCHAR2(30);
67926 l_line_definition_owner_code VARCHAR2(1);
67927 --
67928 -- adr variables
67929 l_segment VARCHAR2(30);
67933 l_adr_flexfield_segment_code VARCHAR2(30);
67930 l_ccid NUMBER;
67931 l_adr_transaction_coa_id NUMBER;
67932 l_adr_accounting_coa_id NUMBER;
67934 l_adr_flex_value_set_id NUMBER;
67935 l_adr_value_type_code VARCHAR2(30);
67936 l_adr_value_combination_id NUMBER;
67937 l_adr_value_segment_code VARCHAR2(30);
67938
67939 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
67940 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
67941 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
67942 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
67943
67944 -- 4262811 Variables ------------------------------------------------------------------------------------------
67945 l_entered_amt_idx NUMBER;
67946 l_accted_amt_idx NUMBER;
67947 l_acc_rev_flag VARCHAR2(1);
67948 l_accrual_line_num NUMBER;
67949 l_tmp_amt NUMBER;
67950 l_acc_rev_natural_side_code VARCHAR2(1);
67951
67952 l_num_entries NUMBER;
67953 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
67954 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
67955 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
67956 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
67957 l_recog_line_1 NUMBER;
67958 l_recog_line_2 NUMBER;
67959
67960 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
67961 l_bflow_applied_to_amt NUMBER; -- 5132302
67962 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
67963
67964 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
67965
67966 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
67967 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
67968
67969 ---------------------------------------------------------------------------------------------------------------
67970
67971
67972 --
67973 -- bulk performance
67974 --
67975 l_balance_type_code VARCHAR2(1);
67976 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
67977 l_log_module VARCHAR2(240);
67978
67979 --
67980 -- Upgrade strategy
67981 --
67982 l_actual_upg_option VARCHAR2(1);
67983 l_enc_upg_option VARCHAR2(1);
67984
67985 --
67986 BEGIN
67987 --
67988 IF g_log_enabled THEN
67989 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_129';
67990 END IF;
67991 --
67992 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
67993
67994 trace
67995 (p_msg => 'BEGIN of AcctLineType_129'
67996 ,p_level => C_LEVEL_PROCEDURE
67997 ,p_module => l_log_module);
67998
67999 END IF;
68000 --
68001 l_component_type := 'AMB_JLT';
68002 l_component_code := 'AP_GAIN_LOSS_REF';
68003 l_component_type_code := 'S';
68004 l_component_appl_id := 200;
68005 l_amb_context_code := 'DEFAULT';
68006 l_entity_code := 'AP_PAYMENTS';
68007 l_event_class_code := 'REFUNDS';
68008 l_event_type_code := 'REFUNDS_ALL';
68009 l_line_definition_owner_code := 'S';
68010 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
68011 --
68012 l_balance_type_code := 'A';
68013 l_segment := NULL;
68014 l_ccid := NULL;
68015 l_adr_transaction_coa_id := NULL;
68016 l_adr_accounting_coa_id := NULL;
68017 l_adr_flexfield_segment_code := NULL;
68018 l_adr_flex_value_set_id := NULL;
68019 l_adr_value_type_code := NULL;
68020 l_adr_value_combination_id := NULL;
68021 l_adr_value_segment_code := NULL;
68022
68023 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
68024 l_bflow_class_code := ''; -- 4219869 Business Flow
68025 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
68026 l_budgetary_control_flag := 'N';
68027
68028 l_bflow_applied_to_amt_idx := NULL; -- 5132302
68029 l_bflow_applied_to_amt := NULL; -- 5132302
68030 l_entered_amt_idx := NULL; -- 4262811
68031 l_accted_amt_idx := NULL; -- 4262811
68032 l_acc_rev_flag := NULL; -- 4262811
68033 l_accrual_line_num := NULL; -- 4262811
68034 l_tmp_amt := NULL; -- 4262811
68035 --
68036 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
68037 (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
68038 return;
68039 END IF;
68040
68041 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
68042 l_balance_type_code <> 'B' THEN
68043 IF (NVL(p_source_97,'
68044 ') <> 'CLEAR_CLEAR' AND
68045 NVL(p_source_97,'
68046 ') <> 'ALWAYS_CLEAR') AND
68047 NVL(p_source_122,'
68048 ') = 'R' AND
68049 NVL(p_source_98,'
68050 ') <> 'EXCHANGE RATE VARIANCE' AND
68051 NVL(p_source_98,'
68052 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
68053 NVL(p_source_98,'
68054 ') <> 'BANK CHARGE' AND
68058
68055 NVL(p_source_98,'
68056 ') <> 'BANK ERROR'
68057 THEN
68059 --
68060 XLA_AE_LINES_PKG.SetNewLine;
68061
68062 p_balance_type_code := l_balance_type_code;
68063 -- set the flag so later we will know whether the gain loss line needs to be created
68064
68065 IF(l_balance_type_code = 'A' ) THEN
68066 p_actual_flag :='G';
68067 END IF;
68068
68069 --
68070 -- bulk performance
68071 --
68072 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
68073 p_header_num => 0); -- 4262811
68074 --
68075 -- set accounting line options
68076 --
68077 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
68078 p_natural_side_code => 'G'
68079 , p_gain_or_loss_flag => 'N'
68080 , p_gl_transfer_mode_code => 'S'
68081 , p_acct_entry_type_code => 'A'
68082 , p_switch_side_flag => ''
68083 , p_merge_duplicate_code => 'A'
68084 );
68085 --
68086 l_acc_rev_natural_side_code := 'C'; -- 4262811
68087 --
68088 --
68089 -- set accounting line type info
68090 --
68091 xla_ae_lines_pkg.SetAcctLineType
68092 (p_component_type => l_component_type
68093 ,p_event_type_code => l_event_type_code
68094 ,p_line_definition_owner_code => l_line_definition_owner_code
68095 ,p_line_definition_code => l_line_definition_code
68096 ,p_accounting_line_code => l_component_code
68097 ,p_accounting_line_type_code => l_component_type_code
68098 ,p_accounting_line_appl_id => l_component_appl_id
68099 ,p_amb_context_code => l_amb_context_code
68100 ,p_entity_code => l_entity_code
68101 ,p_event_class_code => l_event_class_code);
68102 --
68103 -- set accounting class
68104 --
68105 xla_ae_lines_pkg.SetAcctClass(
68106 p_accounting_class_code => 'EXCHANGE_GAIN_LOSS'
68107 , p_ae_header_id => l_ae_header_id
68108 );
68109
68110 --
68111 -- set rounding class
68112 --
68113 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
68114 'EXCHANGE_GAIN_LOSS';
68115
68116 --
68117 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
68118 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
68119 --
68120 -- bulk performance
68121 --
68122 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
68123
68124 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
68125 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
68126
68127 -- 4955764
68128 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
68129 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
68130
68131 -- 4458381 Public Sector Enh
68132
68133 --
68134 -- set accounting attributes for the line type
68135 --
68136 l_entered_amt_idx := NULL;
68137 l_accted_amt_idx := 9;
68138 l_bflow_applied_to_amt_idx := NULL; -- 5132302
68139 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
68140 l_rec_acct_attrs.array_char_value(1) := p_source_53;
68141 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
68142 l_rec_acct_attrs.array_num_value(2) := p_source_91;
68143 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
68144 l_rec_acct_attrs.array_char_value(3) := p_source_92;
68145 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
68146 l_rec_acct_attrs.array_char_value(4) := p_source_93;
68147 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
68148 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
68149 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
68150 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
68151 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
68152 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
68153 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
68154 l_rec_acct_attrs.array_char_value(8) := p_source_55;
68155 l_rec_acct_attrs.array_acct_attr_code(9) := 'LEDGER_AMOUNT';
68156 l_rec_acct_attrs.array_num_value(9) := p_source_153;
68157 l_rec_acct_attrs.array_acct_attr_code(10) := 'OVERRIDE_ACCTD_AMT_FLAG';
68158 l_rec_acct_attrs.array_char_value(10) := p_source_80;
68159 l_rec_acct_attrs.array_acct_attr_code(11) := 'PARTY_ID';
68160 l_rec_acct_attrs.array_num_value(11) := p_source_110;
68161 l_rec_acct_attrs.array_acct_attr_code(12) := 'PARTY_SITE_ID';
68162 l_rec_acct_attrs.array_num_value(12) := p_source_111;
68163 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_TYPE';
68164 l_rec_acct_attrs.array_char_value(13) := p_source_83;
68165 l_rec_acct_attrs.array_acct_attr_code(14) := 'REVERSED_DISTRIBUTION_ID1';
68166 l_rec_acct_attrs.array_num_value(14) := to_char(p_source_112);
68167 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_TYPE';
68168 l_rec_acct_attrs.array_char_value(15) := p_source_55;
68169 l_rec_acct_attrs.array_acct_attr_code(16) := 'TAX_LINE_REF_ID';
68173 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_SUMMARY_LINE_REF_ID';
68170 l_rec_acct_attrs.array_num_value(16) := p_source_86;
68171 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_REC_NREC_DIST_REF_ID';
68172 l_rec_acct_attrs.array_num_value(17) := p_source_87;
68174 l_rec_acct_attrs.array_num_value(18) := p_source_88;
68175
68176 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
68177 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
68178
68179 ---------------------------------------------------------------------------------------------------------------
68180 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
68181 ---------------------------------------------------------------------------------------------------------------
68182 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
68183
68184 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
68185 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
68186
68187 IF xla_accounting_cache_pkg.GetValueChar
68188 (p_source_code => 'LEDGER_CATEGORY_CODE'
68189 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
68190 AND l_bflow_method_code = 'PRIOR_ENTRY'
68191 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
68192 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
68193 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
68194 )
68195 THEN
68196 xla_ae_lines_pkg.BflowUpgEntry
68197 (p_business_method_code => l_bflow_method_code
68198 ,p_business_class_code => l_bflow_class_code
68199 ,p_balance_type => l_balance_type_code);
68200 ELSE
68201 NULL;
68202 -- No business flow processing for business flow method of NONE.
68203 END IF;
68204
68205 --
68206 -- call analytical criteria
68207 --
68208
68209 --
68210 -- call description
68211 --
68212 -- No description or it is inherited.
68213 --
68214 -- call ADRs
68215 -- Bug 4922099
68216 --
68217 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
68218 (NVL(l_actual_upg_option, 'N') = 'O') OR
68219 (NVL(l_enc_upg_option, 'N') = 'O')
68220 )
68221 THEN
68222 NULL;
68223 --
68224 --
68225
68226 l_ccid := AcctDerRule_38(
68227 p_application_id => p_application_id
68228 , p_ae_header_id => l_ae_header_id
68229 , p_source_15 => p_source_15
68230 , p_source_15_meaning => p_source_15_meaning
68231 , p_source_30 => p_source_30
68232 , p_source_36 => p_source_36
68233 , p_source_37 => p_source_37
68234 , x_transaction_coa_id => l_adr_transaction_coa_id
68235 , x_accounting_coa_id => l_adr_accounting_coa_id
68236 , x_value_type_code => l_adr_value_type_code
68237 , p_side => 'CREDIT'
68238 );
68239
68240 xla_ae_lines_pkg.set_ccid(
68241 p_code_combination_id => l_ccid
68242 , p_value_type_code => l_adr_value_type_code
68243 , p_transaction_coa_id => l_adr_transaction_coa_id
68244 , p_accounting_coa_id => l_adr_accounting_coa_id
68245 , p_adr_code => 'AP_REAL_GAIN'
68246 , p_adr_type_code => 'S'
68247 , p_component_type => l_component_type
68248 , p_component_code => l_component_code
68249 , p_component_type_code => l_component_type_code
68250 , p_component_appl_id => l_component_appl_id
68251 , p_amb_context_code => l_amb_context_code
68252 , p_side => 'CREDIT'
68253 );
68254
68255
68256 l_ccid := AcctDerRule_39(
68257 p_application_id => p_application_id
68258 , p_ae_header_id => l_ae_header_id
68259 , p_source_15 => p_source_15
68260 , p_source_15_meaning => p_source_15_meaning
68261 , p_source_30 => p_source_30
68262 , p_source_38 => p_source_38
68263 , p_source_39 => p_source_39
68264 , x_transaction_coa_id => l_adr_transaction_coa_id
68265 , x_accounting_coa_id => l_adr_accounting_coa_id
68266 , x_value_type_code => l_adr_value_type_code
68267 , p_side => 'DEBIT'
68268 );
68269
68270 xla_ae_lines_pkg.set_ccid(
68271 p_code_combination_id => l_ccid
68272 , p_value_type_code => l_adr_value_type_code
68273 , p_transaction_coa_id => l_adr_transaction_coa_id
68274 , p_accounting_coa_id => l_adr_accounting_coa_id
68275 , p_adr_code => 'AP_REAL_LOSS'
68276 , p_adr_type_code => 'S'
68277 , p_component_type => l_component_type
68278 , p_component_code => l_component_code
68279 , p_component_type_code => l_component_type_code
68280 , p_component_appl_id => l_component_appl_id
68281 , p_amb_context_code => l_amb_context_code
68282 , p_side => 'DEBIT'
68283 );
68284
68285
68286 l_segment := AcctDerRule_22(
68287 p_application_id => p_application_id
68291 , p_source_30 => p_source_30
68288 , p_ae_header_id => l_ae_header_id
68289 , p_source_15 => p_source_15
68290 , p_source_15_meaning => p_source_15_meaning
68292 , x_transaction_coa_id => l_adr_transaction_coa_id
68293 , x_accounting_coa_id => l_adr_accounting_coa_id
68294 , x_flexfield_segment_code => l_adr_flexfield_segment_code
68295 , x_flex_value_set_id => l_adr_flex_value_set_id
68296 , x_value_type_code => l_adr_value_type_code
68297 , x_value_combination_id => l_adr_value_combination_id
68298 , x_value_segment_code => l_adr_value_segment_code
68299 , p_side => 'ALL'
68300 , p_override_seg_flag => 'Y'
68301 );
68302
68303 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
68304
68305 xla_ae_lines_pkg.set_segment(
68306 p_to_segment_code => 'GL_BALANCING'
68307 , p_segment_value => l_segment
68308 , p_from_segment_code => l_adr_value_segment_code
68309 , p_from_combination_id => l_adr_value_combination_id
68310 , p_value_type_code => l_adr_value_type_code
68311 , p_transaction_coa_id => l_adr_transaction_coa_id
68312 , p_accounting_coa_id => l_adr_accounting_coa_id
68313 , p_flexfield_segment_code => l_adr_flexfield_segment_code
68314 , p_flex_value_set_id => l_adr_flex_value_set_id
68315 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
68316 , p_adr_type_code => 'S'
68317 , p_component_type => l_component_type
68318 , p_component_code => l_component_code
68319 , p_component_type_code => l_component_type_code
68320 , p_component_appl_id => l_component_appl_id
68321 , p_amb_context_code => l_amb_context_code
68322 , p_entity_code => 'AP_PAYMENTS'
68323 , p_event_class_code => 'REFUNDS'
68324 , p_side => 'ALL'
68325 );
68326
68327 END IF;
68328
68329 l_segment := AcctDerRule_17(
68330 p_application_id => p_application_id
68331 , p_ae_header_id => l_ae_header_id
68332 , p_source_15 => p_source_15
68333 , p_source_15_meaning => p_source_15_meaning
68334 , p_source_36 => p_source_36
68335 , p_source_37 => p_source_37
68336 , x_transaction_coa_id => l_adr_transaction_coa_id
68337 , x_accounting_coa_id => l_adr_accounting_coa_id
68338 , x_flexfield_segment_code => l_adr_flexfield_segment_code
68339 , x_flex_value_set_id => l_adr_flex_value_set_id
68340 , x_value_type_code => l_adr_value_type_code
68341 , x_value_combination_id => l_adr_value_combination_id
68342 , x_value_segment_code => l_adr_value_segment_code
68343 , p_side => 'CREDIT'
68344 , p_override_seg_flag => 'Y'
68345 );
68346
68347 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
68348
68349 xla_ae_lines_pkg.set_segment(
68350 p_to_segment_code => 'GL_ACCOUNT'
68351 , p_segment_value => l_segment
68352 , p_from_segment_code => l_adr_value_segment_code
68353 , p_from_combination_id => l_adr_value_combination_id
68354 , p_value_type_code => l_adr_value_type_code
68355 , p_transaction_coa_id => l_adr_transaction_coa_id
68356 , p_accounting_coa_id => l_adr_accounting_coa_id
68357 , p_flexfield_segment_code => l_adr_flexfield_segment_code
68358 , p_flex_value_set_id => l_adr_flex_value_set_id
68359 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
68360 , p_adr_type_code => 'S'
68361 , p_component_type => l_component_type
68362 , p_component_code => l_component_code
68363 , p_component_type_code => l_component_type_code
68364 , p_component_appl_id => l_component_appl_id
68365 , p_amb_context_code => l_amb_context_code
68366 , p_entity_code => 'AP_PAYMENTS'
68367 , p_event_class_code => 'REFUNDS'
68368 , p_side => 'CREDIT'
68369 );
68370
68371 END IF;
68372
68373 l_segment := AcctDerRule_18(
68374 p_application_id => p_application_id
68375 , p_ae_header_id => l_ae_header_id
68376 , p_source_15 => p_source_15
68377 , p_source_15_meaning => p_source_15_meaning
68378 , p_source_38 => p_source_38
68379 , p_source_39 => p_source_39
68380 , x_transaction_coa_id => l_adr_transaction_coa_id
68381 , x_accounting_coa_id => l_adr_accounting_coa_id
68382 , x_flexfield_segment_code => l_adr_flexfield_segment_code
68383 , x_flex_value_set_id => l_adr_flex_value_set_id
68384 , x_value_type_code => l_adr_value_type_code
68385 , x_value_combination_id => l_adr_value_combination_id
68386 , x_value_segment_code => l_adr_value_segment_code
68387 , p_side => 'DEBIT'
68388 , p_override_seg_flag => 'Y'
68389 );
68390
68391 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
68392
68393 xla_ae_lines_pkg.set_segment(
68394 p_to_segment_code => 'GL_ACCOUNT'
68398 , p_value_type_code => l_adr_value_type_code
68395 , p_segment_value => l_segment
68396 , p_from_segment_code => l_adr_value_segment_code
68397 , p_from_combination_id => l_adr_value_combination_id
68399 , p_transaction_coa_id => l_adr_transaction_coa_id
68400 , p_accounting_coa_id => l_adr_accounting_coa_id
68401 , p_flexfield_segment_code => l_adr_flexfield_segment_code
68402 , p_flex_value_set_id => l_adr_flex_value_set_id
68403 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
68404 , p_adr_type_code => 'S'
68405 , p_component_type => l_component_type
68406 , p_component_code => l_component_code
68407 , p_component_type_code => l_component_type_code
68408 , p_component_appl_id => l_component_appl_id
68409 , p_amb_context_code => l_amb_context_code
68410 , p_entity_code => 'AP_PAYMENTS'
68411 , p_event_class_code => 'REFUNDS'
68412 , p_side => 'DEBIT'
68413 );
68414
68415 END IF;
68416
68417 --
68418 --
68419 END IF;
68420 --
68421 -- Bug 4922099
68422 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
68423 (NVL(l_enc_upg_option, 'N') = 'O')
68424 ) AND
68425 (l_bflow_method_code = 'PRIOR_ENTRY')
68426 )
68427 THEN
68428 IF
68429 --
68430 1 = 2
68431 --
68432 THEN
68433 xla_accounting_err_pkg.build_message
68434 (p_appli_s_name => 'XLA'
68435 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
68436 ,p_token_1 => 'LINE_NUMBER'
68437 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
68438 ,p_token_2 => 'LINE_TYPE_NAME'
68439 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
68440 l_component_type
68441 ,l_component_code
68442 ,l_component_type_code
68443 ,l_component_appl_id
68444 ,l_amb_context_code
68445 ,l_entity_code
68446 ,l_event_class_code
68447 )
68448 ,p_token_3 => 'OWNER'
68449 ,p_value_3 => xla_lookups_pkg.get_meaning(
68450 p_lookup_type => 'XLA_OWNER_TYPE'
68451 ,p_lookup_code => l_component_type_code
68452 )
68453 ,p_token_4 => 'PRODUCT_NAME'
68454 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
68455 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
68456 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
68457 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
68458 ,p_ae_header_id => NULL
68459 );
68460
68461 IF (C_LEVEL_ERROR>= g_log_level) THEN
68462 trace
68463 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
68464 ,p_level => C_LEVEL_ERROR
68465 ,p_module => l_log_module);
68466 END IF;
68467 END IF;
68468 END IF;
68469 --
68470 --
68471 ------------------------------------------------------------------------------------------------
68472 -- 4219869 Business Flow
68473 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
68474 -- Prior Entry. Currently, the following code is always generated.
68475 ------------------------------------------------------------------------------------------------
68476 XLA_AE_LINES_PKG.ValidateCurrentLine;
68477
68478 ------------------------------------------------------------------------------------
68479 -- 4219869 Business Flow
68480 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
68481 ------------------------------------------------------------------------------------
68482 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
68483
68484 ----------------------------------------------------------------------------------
68485 -- 4219869 Business Flow
68486 -- Update journal entry status -- Need to generate this within IF <condition>
68487 ----------------------------------------------------------------------------------
68491 );
68488 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
68489 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
68490 ,p_balance_type_code => l_balance_type_code
68492
68493 -------------------------------------------------------------------------------------------
68494 -- 4262811 - Generate the Accrual Reversal lines
68495 -------------------------------------------------------------------------------------------
68496 BEGIN
68497 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
68498 (g_array_event(p_event_id).array_value_num('header_index'));
68499 IF l_acc_rev_flag IS NULL THEN
68500 l_acc_rev_flag := 'N';
68501 END IF;
68502 EXCEPTION
68503 WHEN OTHERS THEN
68504 l_acc_rev_flag := 'N';
68505 END;
68506 --
68507 IF (l_acc_rev_flag = 'Y') THEN
68508
68509 -- 4645092 ------------------------------------------------------------------------------
68510 -- To allow MPA report to determine if it should generate report process
68511 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
68512 ------------------------------------------------------------------------------------------
68513
68514 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
68515 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
68516 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
68517 -- call ADRs
68518 -- Bug 4922099
68519 --
68520 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
68521 (NVL(l_actual_upg_option, 'N') = 'O') OR
68522 (NVL(l_enc_upg_option, 'N') = 'O')
68523 )
68524 THEN
68525 NULL;
68526 --
68527 --
68528
68529 l_ccid := AcctDerRule_38(
68530 p_application_id => p_application_id
68531 , p_ae_header_id => l_ae_header_id
68532 , p_source_15 => p_source_15
68533 , p_source_15_meaning => p_source_15_meaning
68534 , p_source_30 => p_source_30
68535 , p_source_36 => p_source_36
68536 , p_source_37 => p_source_37
68537 , x_transaction_coa_id => l_adr_transaction_coa_id
68538 , x_accounting_coa_id => l_adr_accounting_coa_id
68539 , x_value_type_code => l_adr_value_type_code
68540 , p_side => 'CREDIT'
68541 );
68542
68543 xla_ae_lines_pkg.set_ccid(
68544 p_code_combination_id => l_ccid
68545 , p_value_type_code => l_adr_value_type_code
68546 , p_transaction_coa_id => l_adr_transaction_coa_id
68547 , p_accounting_coa_id => l_adr_accounting_coa_id
68548 , p_adr_code => 'AP_REAL_GAIN'
68549 , p_adr_type_code => 'S'
68550 , p_component_type => l_component_type
68551 , p_component_code => l_component_code
68552 , p_component_type_code => l_component_type_code
68553 , p_component_appl_id => l_component_appl_id
68554 , p_amb_context_code => l_amb_context_code
68555 , p_side => 'CREDIT'
68556 );
68557
68558
68559 l_ccid := AcctDerRule_39(
68560 p_application_id => p_application_id
68561 , p_ae_header_id => l_ae_header_id
68562 , p_source_15 => p_source_15
68563 , p_source_15_meaning => p_source_15_meaning
68564 , p_source_30 => p_source_30
68565 , p_source_38 => p_source_38
68566 , p_source_39 => p_source_39
68567 , x_transaction_coa_id => l_adr_transaction_coa_id
68568 , x_accounting_coa_id => l_adr_accounting_coa_id
68569 , x_value_type_code => l_adr_value_type_code
68570 , p_side => 'DEBIT'
68571 );
68572
68573 xla_ae_lines_pkg.set_ccid(
68574 p_code_combination_id => l_ccid
68575 , p_value_type_code => l_adr_value_type_code
68576 , p_transaction_coa_id => l_adr_transaction_coa_id
68577 , p_accounting_coa_id => l_adr_accounting_coa_id
68578 , p_adr_code => 'AP_REAL_LOSS'
68579 , p_adr_type_code => 'S'
68580 , p_component_type => l_component_type
68581 , p_component_code => l_component_code
68582 , p_component_type_code => l_component_type_code
68583 , p_component_appl_id => l_component_appl_id
68584 , p_amb_context_code => l_amb_context_code
68585 , p_side => 'DEBIT'
68586 );
68587
68588
68589 l_segment := AcctDerRule_22(
68590 p_application_id => p_application_id
68591 , p_ae_header_id => l_ae_header_id
68592 , p_source_15 => p_source_15
68593 , p_source_15_meaning => p_source_15_meaning
68594 , p_source_30 => p_source_30
68595 , x_transaction_coa_id => l_adr_transaction_coa_id
68596 , x_accounting_coa_id => l_adr_accounting_coa_id
68597 , x_flexfield_segment_code => l_adr_flexfield_segment_code
68598 , x_flex_value_set_id => l_adr_flex_value_set_id
68599 , x_value_type_code => l_adr_value_type_code
68600 , x_value_combination_id => l_adr_value_combination_id
68601 , x_value_segment_code => l_adr_value_segment_code
68602 , p_side => 'ALL'
68603 , p_override_seg_flag => 'Y'
68604 );
68605
68606 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
68607
68611 , p_from_segment_code => l_adr_value_segment_code
68608 xla_ae_lines_pkg.set_segment(
68609 p_to_segment_code => 'GL_BALANCING'
68610 , p_segment_value => l_segment
68612 , p_from_combination_id => l_adr_value_combination_id
68613 , p_value_type_code => l_adr_value_type_code
68614 , p_transaction_coa_id => l_adr_transaction_coa_id
68615 , p_accounting_coa_id => l_adr_accounting_coa_id
68616 , p_flexfield_segment_code => l_adr_flexfield_segment_code
68617 , p_flex_value_set_id => l_adr_flex_value_set_id
68618 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
68619 , p_adr_type_code => 'S'
68620 , p_component_type => l_component_type
68621 , p_component_code => l_component_code
68622 , p_component_type_code => l_component_type_code
68623 , p_component_appl_id => l_component_appl_id
68624 , p_amb_context_code => l_amb_context_code
68625 , p_entity_code => 'AP_PAYMENTS'
68626 , p_event_class_code => 'REFUNDS'
68627 , p_side => 'ALL'
68628 );
68629
68630 END IF;
68631
68632 l_segment := AcctDerRule_17(
68633 p_application_id => p_application_id
68634 , p_ae_header_id => l_ae_header_id
68635 , p_source_15 => p_source_15
68636 , p_source_15_meaning => p_source_15_meaning
68637 , p_source_36 => p_source_36
68638 , p_source_37 => p_source_37
68639 , x_transaction_coa_id => l_adr_transaction_coa_id
68640 , x_accounting_coa_id => l_adr_accounting_coa_id
68641 , x_flexfield_segment_code => l_adr_flexfield_segment_code
68642 , x_flex_value_set_id => l_adr_flex_value_set_id
68643 , x_value_type_code => l_adr_value_type_code
68644 , x_value_combination_id => l_adr_value_combination_id
68645 , x_value_segment_code => l_adr_value_segment_code
68646 , p_side => 'CREDIT'
68647 , p_override_seg_flag => 'Y'
68648 );
68649
68650 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
68651
68652 xla_ae_lines_pkg.set_segment(
68653 p_to_segment_code => 'GL_ACCOUNT'
68654 , p_segment_value => l_segment
68655 , p_from_segment_code => l_adr_value_segment_code
68656 , p_from_combination_id => l_adr_value_combination_id
68657 , p_value_type_code => l_adr_value_type_code
68658 , p_transaction_coa_id => l_adr_transaction_coa_id
68659 , p_accounting_coa_id => l_adr_accounting_coa_id
68660 , p_flexfield_segment_code => l_adr_flexfield_segment_code
68661 , p_flex_value_set_id => l_adr_flex_value_set_id
68662 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
68663 , p_adr_type_code => 'S'
68664 , p_component_type => l_component_type
68665 , p_component_code => l_component_code
68666 , p_component_type_code => l_component_type_code
68667 , p_component_appl_id => l_component_appl_id
68668 , p_amb_context_code => l_amb_context_code
68669 , p_entity_code => 'AP_PAYMENTS'
68670 , p_event_class_code => 'REFUNDS'
68671 , p_side => 'CREDIT'
68672 );
68673
68674 END IF;
68675
68676 l_segment := AcctDerRule_18(
68677 p_application_id => p_application_id
68678 , p_ae_header_id => l_ae_header_id
68679 , p_source_15 => p_source_15
68680 , p_source_15_meaning => p_source_15_meaning
68681 , p_source_38 => p_source_38
68682 , p_source_39 => p_source_39
68683 , x_transaction_coa_id => l_adr_transaction_coa_id
68684 , x_accounting_coa_id => l_adr_accounting_coa_id
68685 , x_flexfield_segment_code => l_adr_flexfield_segment_code
68686 , x_flex_value_set_id => l_adr_flex_value_set_id
68687 , x_value_type_code => l_adr_value_type_code
68688 , x_value_combination_id => l_adr_value_combination_id
68689 , x_value_segment_code => l_adr_value_segment_code
68690 , p_side => 'DEBIT'
68691 , p_override_seg_flag => 'Y'
68692 );
68693
68694 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
68695
68696 xla_ae_lines_pkg.set_segment(
68697 p_to_segment_code => 'GL_ACCOUNT'
68698 , p_segment_value => l_segment
68699 , p_from_segment_code => l_adr_value_segment_code
68700 , p_from_combination_id => l_adr_value_combination_id
68701 , p_value_type_code => l_adr_value_type_code
68702 , p_transaction_coa_id => l_adr_transaction_coa_id
68703 , p_accounting_coa_id => l_adr_accounting_coa_id
68704 , p_flexfield_segment_code => l_adr_flexfield_segment_code
68705 , p_flex_value_set_id => l_adr_flex_value_set_id
68706 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
68707 , p_adr_type_code => 'S'
68708 , p_component_type => l_component_type
68709 , p_component_code => l_component_code
68710 , p_component_type_code => l_component_type_code
68711 , p_component_appl_id => l_component_appl_id
68712 , p_amb_context_code => l_amb_context_code
68716 );
68713 , p_entity_code => 'AP_PAYMENTS'
68714 , p_event_class_code => 'REFUNDS'
68715 , p_side => 'DEBIT'
68717
68718 END IF;
68719
68720 --
68721 --
68722 END IF;
68723
68724 --
68725 -- Update the line information that should be overwritten
68726 --
68727 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
68728 p_header_num => 1);
68729 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
68730
68731 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
68732
68733 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
68734 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
68735 END IF;
68736
68737 --
68738 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
68739 --
68740 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
68741 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
68742 ELSE
68743 ---------------------------------------------------------------------------------------------------
68744 -- 4262811a Switch Sign
68745 ---------------------------------------------------------------------------------------------------
68746 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
68747 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
68748 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
68749 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
68750 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
68751 -- 5132302
68752 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
68753 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
68754
68755 END IF;
68756
68757 -- 4955764
68758 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
68759 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
68760
68761
68762 XLA_AE_LINES_PKG.ValidateCurrentLine;
68763 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
68764
68765 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
68766 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
68767 ,p_balance_type_code => l_balance_type_code);
68768
68769 END IF;
68770
68771 -----------------------------------------------------------------------------------------
68772 -- 4262811 Multiperiod Accounting
68773 -----------------------------------------------------------------------------------------
68774 -- No MPA option is assigned.
68775
68776
68777 END IF;
68778 END IF;
68779 --
68780
68781 --
68782 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
68783 trace
68784 (p_msg => 'END of AcctLineType_129'
68785 ,p_level => C_LEVEL_PROCEDURE
68786 ,p_module => l_log_module);
68787 END IF;
68788 --
68789 EXCEPTION
68790 WHEN xla_exceptions_pkg.application_exception THEN
68791 RAISE;
68792 WHEN OTHERS THEN
68793 xla_exceptions_pkg.raise_message
68794 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_129');
68795 END AcctLineType_129;
68796 --
68797
68798 ---------------------------------------
68799 --
68800 -- PRIVATE FUNCTION
68801 -- AcctLineType_130
68802 --
68803 ---------------------------------------
68804 PROCEDURE AcctLineType_130 (
68805 p_application_id IN NUMBER
68806 ,p_event_id IN NUMBER
68807 ,p_calculate_acctd_flag IN VARCHAR2
68808 ,p_calculate_g_l_flag IN VARCHAR2
68809 ,p_actual_flag IN OUT VARCHAR2
68810 ,p_balance_type_code OUT VARCHAR2
68811 ,p_gain_or_loss_ref OUT VARCHAR2
68812
68813 --Payment Currency Code
68814 , p_source_13 IN VARCHAR2
68815 --Automatic Offsets Value
68816 , p_source_15 IN VARCHAR2
68817 , p_source_15_meaning IN VARCHAR2
68818 --Invoice Distribution Account
68819 , p_source_30 IN NUMBER
68820 --Internal Realized Gain Account
68821 , p_source_36 IN NUMBER
68822 --Bank Gain Account
68823 , p_source_37 IN NUMBER
68824 --Accounting Reversal Indicator
68825 , p_source_53 IN VARCHAR2
68826 --Distribution Link Type
68827 , p_source_55 IN VARCHAR2
68828 --Override Accounted Amount Indicator
68829 , p_source_80 IN VARCHAR2
68830 , p_source_80_meaning IN VARCHAR2
68831 --Third Party Type
68832 , p_source_83 IN VARCHAR2
68833 --Invoice Distribution Tax Line Identifier
68834 , p_source_86 IN NUMBER
68835 --Invoice Distribution Summary Tax Line Identifier
68836 , p_source_88 IN NUMBER
68837 --Business Flow Accounts Payable Application Identifier
68838 , p_source_91 IN NUMBER
68842 , p_source_98 IN VARCHAR2
68839 --When to Account for Payment Option
68840 , p_source_97 IN VARCHAR2
68841 --Payment Distribution Type
68843 , p_source_98_meaning IN VARCHAR2
68844 --Payment Distribution Amount
68845 , p_source_99 IN NUMBER
68846 --Business Flow Payment Distribution Type
68847 , p_source_100 IN VARCHAR2
68848 --Business Flow Payment Entity Code
68849 , p_source_101 IN VARCHAR2
68850 --Business Flow Payment Distribution Identifier
68851 , p_source_102 IN NUMBER
68852 --Business Flow Payment Identifier
68853 , p_source_103 IN NUMBER
68854 --Payment Distribution Identifier
68855 , p_source_104 IN NUMBER
68856 --Cleared Exchange Date
68857 , p_source_106 IN DATE
68858 --Cleared Exchange Rate
68859 , p_source_107 IN NUMBER
68860 --Cleared Exchange Rate Type
68861 , p_source_108 IN VARCHAR2
68862 --Payment Supplier Identifier
68863 , p_source_110 IN NUMBER
68864 --Payment Supplier Site Identifier
68865 , p_source_111 IN NUMBER
68866 --Payment Distribution Reversed Identifier
68867 , p_source_112 IN NUMBER
68868 --Payment Maturity Date
68869 , p_source_114 IN DATE
68870 --Gain or Loss Indicator between Maturity and Clearing
68871 , p_source_156 IN VARCHAR2
68872 --Maturity/Clearing Ledger Amount Difference
68873 , p_source_157 IN NUMBER
68874 )
68875 IS
68876
68877 l_component_type VARCHAR2(80);
68878 l_component_code VARCHAR2(30);
68879 l_component_type_code VARCHAR2(1);
68880 l_component_appl_id INTEGER;
68881 l_amb_context_code VARCHAR2(30);
68882 l_entity_code VARCHAR2(30);
68883 l_event_class_code VARCHAR2(30);
68884 l_ae_header_id NUMBER;
68885 l_event_type_code VARCHAR2(30);
68886 l_line_definition_code VARCHAR2(30);
68887 l_line_definition_owner_code VARCHAR2(1);
68888 --
68889 -- adr variables
68890 l_segment VARCHAR2(30);
68891 l_ccid NUMBER;
68892 l_adr_transaction_coa_id NUMBER;
68893 l_adr_accounting_coa_id NUMBER;
68894 l_adr_flexfield_segment_code VARCHAR2(30);
68895 l_adr_flex_value_set_id NUMBER;
68896 l_adr_value_type_code VARCHAR2(30);
68897 l_adr_value_combination_id NUMBER;
68898 l_adr_value_segment_code VARCHAR2(30);
68899
68900 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
68901 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
68902 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
68903 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
68904
68905 -- 4262811 Variables ------------------------------------------------------------------------------------------
68906 l_entered_amt_idx NUMBER;
68907 l_accted_amt_idx NUMBER;
68908 l_acc_rev_flag VARCHAR2(1);
68909 l_accrual_line_num NUMBER;
68910 l_tmp_amt NUMBER;
68911 l_acc_rev_natural_side_code VARCHAR2(1);
68912
68913 l_num_entries NUMBER;
68914 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
68915 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
68916 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
68917 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
68918 l_recog_line_1 NUMBER;
68919 l_recog_line_2 NUMBER;
68920
68921 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
68922 l_bflow_applied_to_amt NUMBER; -- 5132302
68923 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
68924
68925 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
68926
68927 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
68928 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
68929
68930 ---------------------------------------------------------------------------------------------------------------
68931
68932
68933 --
68934 -- bulk performance
68935 --
68936 l_balance_type_code VARCHAR2(1);
68937 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
68938 l_log_module VARCHAR2(240);
68939
68940 --
68941 -- Upgrade strategy
68942 --
68943 l_actual_upg_option VARCHAR2(1);
68944 l_enc_upg_option VARCHAR2(1);
68945
68946 --
68947 BEGIN
68948 --
68949 IF g_log_enabled THEN
68950 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_130';
68951 END IF;
68952 --
68953 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
68954
68955 trace
68956 (p_msg => 'BEGIN of AcctLineType_130'
68957 ,p_level => C_LEVEL_PROCEDURE
68958 ,p_module => l_log_module);
68959
68960 END IF;
68961 --
68962 l_component_type := 'AMB_JLT';
68963 l_component_code := 'AP_GAIN_MAT_CLEAR';
68964 l_component_type_code := 'S';
68965 l_component_appl_id := 200;
68966 l_amb_context_code := 'DEFAULT';
68967 l_entity_code := 'AP_PAYMENTS';
68971 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
68968 l_event_class_code := 'RECONCILED PAYMENTS';
68969 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
68970 l_line_definition_owner_code := 'S';
68972 --
68973 l_balance_type_code := 'A';
68974 l_segment := NULL;
68975 l_ccid := NULL;
68976 l_adr_transaction_coa_id := NULL;
68977 l_adr_accounting_coa_id := NULL;
68978 l_adr_flexfield_segment_code := NULL;
68979 l_adr_flex_value_set_id := NULL;
68980 l_adr_value_type_code := NULL;
68981 l_adr_value_combination_id := NULL;
68982 l_adr_value_segment_code := NULL;
68983
68984 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
68985 l_bflow_class_code := ''; -- 4219869 Business Flow
68986 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
68987 l_budgetary_control_flag := 'N';
68988
68989 l_bflow_applied_to_amt_idx := NULL; -- 5132302
68990 l_bflow_applied_to_amt := NULL; -- 5132302
68991 l_entered_amt_idx := NULL; -- 4262811
68992 l_accted_amt_idx := NULL; -- 4262811
68993 l_acc_rev_flag := NULL; -- 4262811
68994 l_accrual_line_num := NULL; -- 4262811
68995 l_tmp_amt := NULL; -- 4262811
68996 --
68997 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
68998 (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
68999 return;
69000 END IF;
69001
69002 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
69003 l_balance_type_code <> 'B' THEN
69004 IF NVL(p_source_97,'
69005 ') = 'ALWAYS_ALWAYS' AND
69006 p_source_114 IS NOT NULL AND
69007 NVL(p_source_156,'
69008 ') = 'GAIN' AND
69009 NVL(p_source_98,'
69010 ') <> 'EXCHANGE RATE VARIANCE' AND
69011 NVL(p_source_98,'
69012 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
69013 NVL(p_source_98,'
69014 ') <> 'BANK CHARGE' AND
69015 NVL(p_source_98,'
69016 ') <> 'BANK ERROR'
69017 THEN
69018
69019 --
69020 XLA_AE_LINES_PKG.SetNewLine;
69021
69022 p_balance_type_code := l_balance_type_code;
69023 -- set the flag so later we will know whether the gain loss line needs to be created
69024
69025 IF(l_balance_type_code = 'A' ) THEN
69026 p_actual_flag :='G';
69027 END IF;
69028
69029 --
69030 -- bulk performance
69031 --
69032 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
69033 p_header_num => 0); -- 4262811
69034 --
69035 -- set accounting line options
69036 --
69037 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
69038 p_natural_side_code => 'C'
69039 , p_gain_or_loss_flag => 'Y'
69040 , p_gl_transfer_mode_code => 'S'
69041 , p_acct_entry_type_code => 'A'
69042 , p_switch_side_flag => 'Y'
69043 , p_merge_duplicate_code => 'A'
69044 );
69045 --
69046 l_acc_rev_natural_side_code := 'D'; -- 4262811
69047 --
69048 --
69049 -- set accounting line type info
69050 --
69051 xla_ae_lines_pkg.SetAcctLineType
69052 (p_component_type => l_component_type
69053 ,p_event_type_code => l_event_type_code
69054 ,p_line_definition_owner_code => l_line_definition_owner_code
69055 ,p_line_definition_code => l_line_definition_code
69056 ,p_accounting_line_code => l_component_code
69057 ,p_accounting_line_type_code => l_component_type_code
69058 ,p_accounting_line_appl_id => l_component_appl_id
69059 ,p_amb_context_code => l_amb_context_code
69060 ,p_entity_code => l_entity_code
69061 ,p_event_class_code => l_event_class_code);
69062 --
69063 -- set accounting class
69064 --
69065 xla_ae_lines_pkg.SetAcctClass(
69066 p_accounting_class_code => 'GAIN'
69067 , p_ae_header_id => l_ae_header_id
69068 );
69069
69070 --
69071 -- set rounding class
69072 --
69073 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
69074 'GAIN';
69075
69076 --
69077 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
69078 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
69079 --
69080 -- bulk performance
69081 --
69082 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
69083
69084 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
69085 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
69086
69087 -- 4955764
69088 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
69089 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
69090
69091 -- 4458381 Public Sector Enh
69092
69093 --
69097 l_accted_amt_idx := 15;
69094 -- set accounting attributes for the line type
69095 --
69096 l_entered_amt_idx := 10;
69098 l_bflow_applied_to_amt_idx := 2; -- 5132302
69099 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
69100 l_rec_acct_attrs.array_char_value(1) := p_source_53;
69101 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
69102 l_rec_acct_attrs.array_num_value(2) := p_source_99;
69103 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
69104 l_rec_acct_attrs.array_num_value(3) := p_source_91;
69105 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
69106 l_rec_acct_attrs.array_char_value(4) := p_source_100;
69107 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
69108 l_rec_acct_attrs.array_char_value(5) := p_source_101;
69109 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
69110 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
69111 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
69112 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
69113 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
69114 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
69115 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
69116 l_rec_acct_attrs.array_char_value(9) := p_source_55;
69117 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
69118 l_rec_acct_attrs.array_num_value(10) := p_source_99;
69119 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
69120 l_rec_acct_attrs.array_char_value(11) := p_source_13;
69121 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
69122 l_rec_acct_attrs.array_date_value(12) := p_source_106;
69123 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
69124 l_rec_acct_attrs.array_num_value(13) := p_source_107;
69125 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
69126 l_rec_acct_attrs.array_char_value(14) := p_source_108;
69127 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
69128 l_rec_acct_attrs.array_num_value(15) := p_source_157;
69129 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
69130 l_rec_acct_attrs.array_char_value(16) := p_source_80;
69131 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
69132 l_rec_acct_attrs.array_num_value(17) := p_source_110;
69133 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
69134 l_rec_acct_attrs.array_num_value(18) := p_source_111;
69135 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
69136 l_rec_acct_attrs.array_char_value(19) := p_source_83;
69137 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
69138 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
69139 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
69140 l_rec_acct_attrs.array_char_value(21) := p_source_55;
69141 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
69142 l_rec_acct_attrs.array_num_value(22) := p_source_86;
69143 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
69144 l_rec_acct_attrs.array_num_value(23) := p_source_86;
69145 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
69146 l_rec_acct_attrs.array_num_value(24) := p_source_88;
69147
69148 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
69149 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
69150
69151 ---------------------------------------------------------------------------------------------------------------
69152 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
69153 ---------------------------------------------------------------------------------------------------------------
69154 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
69155
69156 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
69157 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
69158
69159 IF xla_accounting_cache_pkg.GetValueChar
69160 (p_source_code => 'LEDGER_CATEGORY_CODE'
69161 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
69162 AND l_bflow_method_code = 'PRIOR_ENTRY'
69163 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
69164 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
69165 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
69166 )
69167 THEN
69168 xla_ae_lines_pkg.BflowUpgEntry
69169 (p_business_method_code => l_bflow_method_code
69170 ,p_business_class_code => l_bflow_class_code
69171 ,p_balance_type => l_balance_type_code);
69172 ELSE
69173 NULL;
69174 -- No business flow processing for business flow method of NONE.
69175 END IF;
69176
69177 --
69178 -- call analytical criteria
69179 --
69180
69181 --
69182 -- call description
69183 --
69184 -- No description or it is inherited.
69185 --
69186 -- call ADRs
69187 -- Bug 4922099
69188 --
69189 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
69190 (NVL(l_actual_upg_option, 'N') = 'O') OR
69194 NULL;
69191 (NVL(l_enc_upg_option, 'N') = 'O')
69192 )
69193 THEN
69195 --
69196 --
69197
69198 l_ccid := AcctDerRule_38(
69199 p_application_id => p_application_id
69200 , p_ae_header_id => l_ae_header_id
69201 , p_source_15 => p_source_15
69202 , p_source_15_meaning => p_source_15_meaning
69203 , p_source_30 => p_source_30
69204 , p_source_36 => p_source_36
69205 , p_source_37 => p_source_37
69206 , x_transaction_coa_id => l_adr_transaction_coa_id
69207 , x_accounting_coa_id => l_adr_accounting_coa_id
69208 , x_value_type_code => l_adr_value_type_code
69209 , p_side => 'NA'
69210 );
69211
69212 xla_ae_lines_pkg.set_ccid(
69213 p_code_combination_id => l_ccid
69214 , p_value_type_code => l_adr_value_type_code
69215 , p_transaction_coa_id => l_adr_transaction_coa_id
69216 , p_accounting_coa_id => l_adr_accounting_coa_id
69217 , p_adr_code => 'AP_REAL_GAIN'
69218 , p_adr_type_code => 'S'
69219 , p_component_type => l_component_type
69220 , p_component_code => l_component_code
69221 , p_component_type_code => l_component_type_code
69222 , p_component_appl_id => l_component_appl_id
69223 , p_amb_context_code => l_amb_context_code
69224 , p_side => 'NA'
69225 );
69226
69227
69228 l_segment := AcctDerRule_22(
69229 p_application_id => p_application_id
69230 , p_ae_header_id => l_ae_header_id
69231 , p_source_15 => p_source_15
69232 , p_source_15_meaning => p_source_15_meaning
69233 , p_source_30 => p_source_30
69234 , x_transaction_coa_id => l_adr_transaction_coa_id
69235 , x_accounting_coa_id => l_adr_accounting_coa_id
69236 , x_flexfield_segment_code => l_adr_flexfield_segment_code
69237 , x_flex_value_set_id => l_adr_flex_value_set_id
69238 , x_value_type_code => l_adr_value_type_code
69239 , x_value_combination_id => l_adr_value_combination_id
69240 , x_value_segment_code => l_adr_value_segment_code
69241 , p_side => 'NA'
69242 , p_override_seg_flag => 'Y'
69243 );
69244
69245 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
69246
69247 xla_ae_lines_pkg.set_segment(
69248 p_to_segment_code => 'GL_BALANCING'
69249 , p_segment_value => l_segment
69250 , p_from_segment_code => l_adr_value_segment_code
69251 , p_from_combination_id => l_adr_value_combination_id
69252 , p_value_type_code => l_adr_value_type_code
69253 , p_transaction_coa_id => l_adr_transaction_coa_id
69254 , p_accounting_coa_id => l_adr_accounting_coa_id
69255 , p_flexfield_segment_code => l_adr_flexfield_segment_code
69256 , p_flex_value_set_id => l_adr_flex_value_set_id
69257 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
69258 , p_adr_type_code => 'S'
69259 , p_component_type => l_component_type
69260 , p_component_code => l_component_code
69261 , p_component_type_code => l_component_type_code
69262 , p_component_appl_id => l_component_appl_id
69263 , p_amb_context_code => l_amb_context_code
69264 , p_entity_code => 'AP_PAYMENTS'
69265 , p_event_class_code => 'RECONCILED PAYMENTS'
69266 , p_side => 'NA'
69267 );
69268
69269 END IF;
69270
69271 l_segment := AcctDerRule_17(
69272 p_application_id => p_application_id
69273 , p_ae_header_id => l_ae_header_id
69274 , p_source_15 => p_source_15
69275 , p_source_15_meaning => p_source_15_meaning
69276 , p_source_36 => p_source_36
69277 , p_source_37 => p_source_37
69278 , x_transaction_coa_id => l_adr_transaction_coa_id
69279 , x_accounting_coa_id => l_adr_accounting_coa_id
69280 , x_flexfield_segment_code => l_adr_flexfield_segment_code
69281 , x_flex_value_set_id => l_adr_flex_value_set_id
69282 , x_value_type_code => l_adr_value_type_code
69283 , x_value_combination_id => l_adr_value_combination_id
69284 , x_value_segment_code => l_adr_value_segment_code
69285 , p_side => 'NA'
69286 , p_override_seg_flag => 'Y'
69287 );
69288
69289 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
69290
69291 xla_ae_lines_pkg.set_segment(
69292 p_to_segment_code => 'GL_ACCOUNT'
69293 , p_segment_value => l_segment
69294 , p_from_segment_code => l_adr_value_segment_code
69295 , p_from_combination_id => l_adr_value_combination_id
69296 , p_value_type_code => l_adr_value_type_code
69297 , p_transaction_coa_id => l_adr_transaction_coa_id
69298 , p_accounting_coa_id => l_adr_accounting_coa_id
69299 , p_flexfield_segment_code => l_adr_flexfield_segment_code
69300 , p_flex_value_set_id => l_adr_flex_value_set_id
69301 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
69302 , p_adr_type_code => 'S'
69303 , p_component_type => l_component_type
69307 , p_amb_context_code => l_amb_context_code
69304 , p_component_code => l_component_code
69305 , p_component_type_code => l_component_type_code
69306 , p_component_appl_id => l_component_appl_id
69308 , p_entity_code => 'AP_PAYMENTS'
69309 , p_event_class_code => 'RECONCILED PAYMENTS'
69310 , p_side => 'NA'
69311 );
69312
69313 END IF;
69314
69315 --
69316 --
69317 END IF;
69318 --
69319 -- Bug 4922099
69320 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
69321 (NVL(l_enc_upg_option, 'N') = 'O')
69322 ) AND
69323 (l_bflow_method_code = 'PRIOR_ENTRY')
69324 )
69325 THEN
69326 IF
69327 --
69328 1 = 2
69329 --
69330 THEN
69331 xla_accounting_err_pkg.build_message
69332 (p_appli_s_name => 'XLA'
69333 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
69334 ,p_token_1 => 'LINE_NUMBER'
69335 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
69336 ,p_token_2 => 'LINE_TYPE_NAME'
69337 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
69338 l_component_type
69339 ,l_component_code
69340 ,l_component_type_code
69341 ,l_component_appl_id
69342 ,l_amb_context_code
69343 ,l_entity_code
69344 ,l_event_class_code
69345 )
69346 ,p_token_3 => 'OWNER'
69347 ,p_value_3 => xla_lookups_pkg.get_meaning(
69348 p_lookup_type => 'XLA_OWNER_TYPE'
69349 ,p_lookup_code => l_component_type_code
69350 )
69351 ,p_token_4 => 'PRODUCT_NAME'
69352 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
69353 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
69354 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
69355 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
69356 ,p_ae_header_id => NULL
69357 );
69358
69359 IF (C_LEVEL_ERROR>= g_log_level) THEN
69360 trace
69361 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
69362 ,p_level => C_LEVEL_ERROR
69363 ,p_module => l_log_module);
69364 END IF;
69365 END IF;
69366 END IF;
69367 --
69368 --
69369 ------------------------------------------------------------------------------------------------
69370 -- 4219869 Business Flow
69371 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
69372 -- Prior Entry. Currently, the following code is always generated.
69373 ------------------------------------------------------------------------------------------------
69374 XLA_AE_LINES_PKG.ValidateCurrentLine;
69375
69376 ------------------------------------------------------------------------------------
69377 -- 4219869 Business Flow
69378 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
69379 ------------------------------------------------------------------------------------
69380 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
69381
69382 ----------------------------------------------------------------------------------
69383 -- 4219869 Business Flow
69384 -- Update journal entry status -- Need to generate this within IF <condition>
69385 ----------------------------------------------------------------------------------
69386 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
69387 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
69388 ,p_balance_type_code => l_balance_type_code
69389 );
69390
69391 -------------------------------------------------------------------------------------------
69392 -- 4262811 - Generate the Accrual Reversal lines
69393 -------------------------------------------------------------------------------------------
69394 BEGIN
69395 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
69396 (g_array_event(p_event_id).array_value_num('header_index'));
69397 IF l_acc_rev_flag IS NULL THEN
69398 l_acc_rev_flag := 'N';
69399 END IF;
69400 EXCEPTION
69401 WHEN OTHERS THEN
69405 IF (l_acc_rev_flag = 'Y') THEN
69402 l_acc_rev_flag := 'N';
69403 END;
69404 --
69406
69407 -- 4645092 ------------------------------------------------------------------------------
69408 -- To allow MPA report to determine if it should generate report process
69409 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
69410 ------------------------------------------------------------------------------------------
69411
69412 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
69413 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
69414 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
69415 -- call ADRs
69416 -- Bug 4922099
69417 --
69418 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
69419 (NVL(l_actual_upg_option, 'N') = 'O') OR
69420 (NVL(l_enc_upg_option, 'N') = 'O')
69421 )
69422 THEN
69423 NULL;
69424 --
69425 --
69426
69427 l_ccid := AcctDerRule_38(
69428 p_application_id => p_application_id
69429 , p_ae_header_id => l_ae_header_id
69430 , p_source_15 => p_source_15
69431 , p_source_15_meaning => p_source_15_meaning
69432 , p_source_30 => p_source_30
69433 , p_source_36 => p_source_36
69434 , p_source_37 => p_source_37
69435 , x_transaction_coa_id => l_adr_transaction_coa_id
69436 , x_accounting_coa_id => l_adr_accounting_coa_id
69437 , x_value_type_code => l_adr_value_type_code
69438 , p_side => 'NA'
69439 );
69440
69441 xla_ae_lines_pkg.set_ccid(
69442 p_code_combination_id => l_ccid
69443 , p_value_type_code => l_adr_value_type_code
69444 , p_transaction_coa_id => l_adr_transaction_coa_id
69445 , p_accounting_coa_id => l_adr_accounting_coa_id
69446 , p_adr_code => 'AP_REAL_GAIN'
69447 , p_adr_type_code => 'S'
69448 , p_component_type => l_component_type
69449 , p_component_code => l_component_code
69450 , p_component_type_code => l_component_type_code
69451 , p_component_appl_id => l_component_appl_id
69452 , p_amb_context_code => l_amb_context_code
69453 , p_side => 'NA'
69454 );
69455
69456
69457 l_segment := AcctDerRule_22(
69458 p_application_id => p_application_id
69459 , p_ae_header_id => l_ae_header_id
69460 , p_source_15 => p_source_15
69461 , p_source_15_meaning => p_source_15_meaning
69462 , p_source_30 => p_source_30
69463 , x_transaction_coa_id => l_adr_transaction_coa_id
69464 , x_accounting_coa_id => l_adr_accounting_coa_id
69465 , x_flexfield_segment_code => l_adr_flexfield_segment_code
69466 , x_flex_value_set_id => l_adr_flex_value_set_id
69467 , x_value_type_code => l_adr_value_type_code
69468 , x_value_combination_id => l_adr_value_combination_id
69469 , x_value_segment_code => l_adr_value_segment_code
69470 , p_side => 'NA'
69471 , p_override_seg_flag => 'Y'
69472 );
69473
69474 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
69475
69476 xla_ae_lines_pkg.set_segment(
69477 p_to_segment_code => 'GL_BALANCING'
69478 , p_segment_value => l_segment
69479 , p_from_segment_code => l_adr_value_segment_code
69480 , p_from_combination_id => l_adr_value_combination_id
69481 , p_value_type_code => l_adr_value_type_code
69482 , p_transaction_coa_id => l_adr_transaction_coa_id
69483 , p_accounting_coa_id => l_adr_accounting_coa_id
69484 , p_flexfield_segment_code => l_adr_flexfield_segment_code
69485 , p_flex_value_set_id => l_adr_flex_value_set_id
69486 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
69487 , p_adr_type_code => 'S'
69488 , p_component_type => l_component_type
69489 , p_component_code => l_component_code
69490 , p_component_type_code => l_component_type_code
69491 , p_component_appl_id => l_component_appl_id
69492 , p_amb_context_code => l_amb_context_code
69493 , p_entity_code => 'AP_PAYMENTS'
69494 , p_event_class_code => 'RECONCILED PAYMENTS'
69495 , p_side => 'NA'
69496 );
69497
69498 END IF;
69499
69500 l_segment := AcctDerRule_17(
69501 p_application_id => p_application_id
69502 , p_ae_header_id => l_ae_header_id
69503 , p_source_15 => p_source_15
69504 , p_source_15_meaning => p_source_15_meaning
69505 , p_source_36 => p_source_36
69506 , p_source_37 => p_source_37
69507 , x_transaction_coa_id => l_adr_transaction_coa_id
69508 , x_accounting_coa_id => l_adr_accounting_coa_id
69509 , x_flexfield_segment_code => l_adr_flexfield_segment_code
69510 , x_flex_value_set_id => l_adr_flex_value_set_id
69511 , x_value_type_code => l_adr_value_type_code
69512 , x_value_combination_id => l_adr_value_combination_id
69513 , x_value_segment_code => l_adr_value_segment_code
69514 , p_side => 'NA'
69515 , p_override_seg_flag => 'Y'
69516 );
69517
69521 p_to_segment_code => 'GL_ACCOUNT'
69518 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
69519
69520 xla_ae_lines_pkg.set_segment(
69522 , p_segment_value => l_segment
69523 , p_from_segment_code => l_adr_value_segment_code
69524 , p_from_combination_id => l_adr_value_combination_id
69525 , p_value_type_code => l_adr_value_type_code
69526 , p_transaction_coa_id => l_adr_transaction_coa_id
69527 , p_accounting_coa_id => l_adr_accounting_coa_id
69528 , p_flexfield_segment_code => l_adr_flexfield_segment_code
69529 , p_flex_value_set_id => l_adr_flex_value_set_id
69530 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
69531 , p_adr_type_code => 'S'
69532 , p_component_type => l_component_type
69533 , p_component_code => l_component_code
69534 , p_component_type_code => l_component_type_code
69535 , p_component_appl_id => l_component_appl_id
69536 , p_amb_context_code => l_amb_context_code
69537 , p_entity_code => 'AP_PAYMENTS'
69538 , p_event_class_code => 'RECONCILED PAYMENTS'
69539 , p_side => 'NA'
69540 );
69541
69542 END IF;
69543
69544 --
69545 --
69546 END IF;
69547
69548 --
69549 -- Update the line information that should be overwritten
69550 --
69551 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
69552 p_header_num => 1);
69553 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
69554
69555 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
69556
69557 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
69558 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
69559 END IF;
69560
69561 --
69562 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
69563 --
69564 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
69565 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
69566 ELSE
69567 ---------------------------------------------------------------------------------------------------
69568 -- 4262811a Switch Sign
69569 ---------------------------------------------------------------------------------------------------
69570 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
69571 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
69572 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
69573 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
69574 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
69575 -- 5132302
69576 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
69577 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
69578
69579 END IF;
69580
69581 -- 4955764
69582 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
69583 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
69584
69585
69586 XLA_AE_LINES_PKG.ValidateCurrentLine;
69587 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
69588
69589 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
69590 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
69591 ,p_balance_type_code => l_balance_type_code);
69592
69593 END IF;
69594
69595 -----------------------------------------------------------------------------------------
69596 -- 4262811 Multiperiod Accounting
69597 -----------------------------------------------------------------------------------------
69598 -- No MPA option is assigned.
69599
69600
69601 END IF;
69602 END IF;
69603 --
69604
69605 --
69606 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
69607 trace
69608 (p_msg => 'END of AcctLineType_130'
69609 ,p_level => C_LEVEL_PROCEDURE
69610 ,p_module => l_log_module);
69611 END IF;
69612 --
69613 EXCEPTION
69614 WHEN xla_exceptions_pkg.application_exception THEN
69615 RAISE;
69616 WHEN OTHERS THEN
69617 xla_exceptions_pkg.raise_message
69618 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_130');
69619 END AcctLineType_130;
69620 --
69621
69622 ---------------------------------------
69623 --
69624 -- PRIVATE FUNCTION
69625 -- AcctLineType_131
69626 --
69627 ---------------------------------------
69628 PROCEDURE AcctLineType_131 (
69629 p_application_id IN NUMBER
69630 ,p_event_id IN NUMBER
69631 ,p_calculate_acctd_flag IN VARCHAR2
69632 ,p_calculate_g_l_flag IN VARCHAR2
69633 ,p_actual_flag IN OUT VARCHAR2
69634 ,p_balance_type_code OUT VARCHAR2
69638 , p_source_13 IN VARCHAR2
69635 ,p_gain_or_loss_ref OUT VARCHAR2
69636
69637 --Payment Currency Code
69639 --Automatic Offsets Value
69640 , p_source_15 IN VARCHAR2
69641 , p_source_15_meaning IN VARCHAR2
69642 --Invoice Distribution Account
69643 , p_source_30 IN NUMBER
69644 --Internal Realized Gain Account
69645 , p_source_36 IN NUMBER
69646 --Bank Gain Account
69647 , p_source_37 IN NUMBER
69648 --Accounting Reversal Indicator
69649 , p_source_53 IN VARCHAR2
69650 --Distribution Link Type
69651 , p_source_55 IN VARCHAR2
69652 --Override Accounted Amount Indicator
69653 , p_source_80 IN VARCHAR2
69654 , p_source_80_meaning IN VARCHAR2
69655 --Third Party Type
69656 , p_source_83 IN VARCHAR2
69657 --Invoice Distribution Tax Line Identifier
69658 , p_source_86 IN NUMBER
69659 --Invoice Distribution Tax Distribution Identifier from Tax
69660 , p_source_87 IN NUMBER
69661 --Invoice Distribution Summary Tax Line Identifier
69662 , p_source_88 IN NUMBER
69663 --Business Flow Accounts Payable Application Identifier
69664 , p_source_91 IN NUMBER
69665 --Business Flow Invoice Distribution Type
69666 , p_source_92 IN VARCHAR2
69667 --Business Flow Invoice Entity Code
69668 , p_source_93 IN VARCHAR2
69669 --Business Flow Invoice Distribution Identifier
69670 , p_source_94 IN NUMBER
69671 --Business Flow Invoice Identifier
69672 , p_source_95 IN NUMBER
69673 --When to Account for Payment Option
69674 , p_source_97 IN VARCHAR2
69675 --Payment Distribution Type
69676 , p_source_98 IN VARCHAR2
69677 , p_source_98_meaning IN VARCHAR2
69678 --Payment Distribution Amount
69679 , p_source_99 IN NUMBER
69680 --Payment Distribution Identifier
69681 , p_source_104 IN NUMBER
69682 --Payment Supplier Identifier
69683 , p_source_110 IN NUMBER
69684 --Payment Supplier Site Identifier
69685 , p_source_111 IN NUMBER
69686 --Payment Distribution Reversed Identifier
69687 , p_source_112 IN NUMBER
69688 --Payment Exchange Date
69689 , p_source_117 IN DATE
69690 --Payment Exchange Rate
69691 , p_source_118 IN NUMBER
69692 --Payment Exchange Rate Type
69693 , p_source_119 IN VARCHAR2
69694 --Payment Type
69695 , p_source_122 IN VARCHAR2
69696 , p_source_122_meaning IN VARCHAR2
69697 --Invoice Distribution Amount of the Payment Distribution
69698 , p_source_124 IN NUMBER
69699 --Invoice/Payment Ledger Amount Difference
69700 , p_source_153 IN NUMBER
69701 --Gain or Loss Indicator between Invoice and Payment
69702 , p_source_158 IN VARCHAR2
69703 )
69704 IS
69705
69706 l_component_type VARCHAR2(80);
69707 l_component_code VARCHAR2(30);
69708 l_component_type_code VARCHAR2(1);
69709 l_component_appl_id INTEGER;
69710 l_amb_context_code VARCHAR2(30);
69711 l_entity_code VARCHAR2(30);
69712 l_event_class_code VARCHAR2(30);
69713 l_ae_header_id NUMBER;
69714 l_event_type_code VARCHAR2(30);
69715 l_line_definition_code VARCHAR2(30);
69716 l_line_definition_owner_code VARCHAR2(1);
69717 --
69718 -- adr variables
69719 l_segment VARCHAR2(30);
69720 l_ccid NUMBER;
69721 l_adr_transaction_coa_id NUMBER;
69722 l_adr_accounting_coa_id NUMBER;
69723 l_adr_flexfield_segment_code VARCHAR2(30);
69724 l_adr_flex_value_set_id NUMBER;
69725 l_adr_value_type_code VARCHAR2(30);
69726 l_adr_value_combination_id NUMBER;
69727 l_adr_value_segment_code VARCHAR2(30);
69728
69729 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
69730 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
69731 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
69732 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
69733
69734 -- 4262811 Variables ------------------------------------------------------------------------------------------
69735 l_entered_amt_idx NUMBER;
69736 l_accted_amt_idx NUMBER;
69737 l_acc_rev_flag VARCHAR2(1);
69738 l_accrual_line_num NUMBER;
69739 l_tmp_amt NUMBER;
69740 l_acc_rev_natural_side_code VARCHAR2(1);
69741
69742 l_num_entries NUMBER;
69743 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
69744 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
69745 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
69746 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
69747 l_recog_line_1 NUMBER;
69748 l_recog_line_2 NUMBER;
69749
69750 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
69751 l_bflow_applied_to_amt NUMBER; -- 5132302
69752 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
69753
69754 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
69755
69756 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
69760
69757 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
69758
69759 ---------------------------------------------------------------------------------------------------------------
69761
69762 --
69763 -- bulk performance
69764 --
69765 l_balance_type_code VARCHAR2(1);
69766 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
69767 l_log_module VARCHAR2(240);
69768
69769 --
69770 -- Upgrade strategy
69771 --
69772 l_actual_upg_option VARCHAR2(1);
69773 l_enc_upg_option VARCHAR2(1);
69774
69775 --
69776 BEGIN
69777 --
69778 IF g_log_enabled THEN
69779 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_131';
69780 END IF;
69781 --
69782 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
69783
69784 trace
69785 (p_msg => 'BEGIN of AcctLineType_131'
69786 ,p_level => C_LEVEL_PROCEDURE
69787 ,p_module => l_log_module);
69788
69789 END IF;
69790 --
69791 l_component_type := 'AMB_JLT';
69792 l_component_code := 'AP_GAIN_PMT';
69793 l_component_type_code := 'S';
69794 l_component_appl_id := 200;
69795 l_amb_context_code := 'DEFAULT';
69796 l_entity_code := 'AP_PAYMENTS';
69797 l_event_class_code := 'PAYMENTS';
69798 l_event_type_code := 'PAYMENTS_ALL';
69799 l_line_definition_owner_code := 'S';
69800 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
69801 --
69802 l_balance_type_code := 'A';
69803 l_segment := NULL;
69804 l_ccid := NULL;
69805 l_adr_transaction_coa_id := NULL;
69806 l_adr_accounting_coa_id := NULL;
69807 l_adr_flexfield_segment_code := NULL;
69808 l_adr_flex_value_set_id := NULL;
69809 l_adr_value_type_code := NULL;
69810 l_adr_value_combination_id := NULL;
69811 l_adr_value_segment_code := NULL;
69812
69813 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
69814 l_bflow_class_code := ''; -- 4219869 Business Flow
69815 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
69816 l_budgetary_control_flag := 'N';
69817
69818 l_bflow_applied_to_amt_idx := NULL; -- 5132302
69819 l_bflow_applied_to_amt := NULL; -- 5132302
69820 l_entered_amt_idx := NULL; -- 4262811
69821 l_accted_amt_idx := NULL; -- 4262811
69822 l_acc_rev_flag := NULL; -- 4262811
69823 l_accrual_line_num := NULL; -- 4262811
69824 l_tmp_amt := NULL; -- 4262811
69825 --
69826 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
69827 (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
69828 return;
69829 END IF;
69830
69831 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
69832 l_balance_type_code <> 'B' THEN
69833 IF (NVL(p_source_97,'
69834 ') <> 'CLEAR_CLEAR' AND
69835 NVL(p_source_97,'
69836 ') <> 'ALWAYS_CLEAR') AND
69837 NVL(p_source_158,'
69838 ') = 'GAIN' AND
69839 NVL(p_source_98,'
69840 ') <> 'EXCHANGE RATE VARIANCE' AND
69841 NVL(p_source_98,'
69842 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
69843 NVL(p_source_98,'
69844 ') <> 'BANK ERROR' AND
69845 NVL(p_source_98,'
69846 ') <> 'BANK CHARGE' AND
69847 NVL(p_source_98,'
69848 ') <> 'AWT' AND
69849 NVL(p_source_122,'
69850 ') <> 'R'
69851 THEN
69852
69853 --
69854 XLA_AE_LINES_PKG.SetNewLine;
69855
69856 p_balance_type_code := l_balance_type_code;
69857 -- set the flag so later we will know whether the gain loss line needs to be created
69858
69859 IF(l_balance_type_code = 'A' ) THEN
69860 p_actual_flag :='G';
69861 END IF;
69862
69863 --
69864 -- bulk performance
69865 --
69866 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
69867 p_header_num => 0); -- 4262811
69868 --
69869 -- set accounting line options
69870 --
69871 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
69872 p_natural_side_code => 'C'
69873 , p_gain_or_loss_flag => 'Y'
69874 , p_gl_transfer_mode_code => 'S'
69875 , p_acct_entry_type_code => 'A'
69876 , p_switch_side_flag => 'Y'
69877 , p_merge_duplicate_code => 'A'
69878 );
69879 --
69880 l_acc_rev_natural_side_code := 'D'; -- 4262811
69881 --
69882 --
69883 -- set accounting line type info
69884 --
69885 xla_ae_lines_pkg.SetAcctLineType
69886 (p_component_type => l_component_type
69887 ,p_event_type_code => l_event_type_code
69888 ,p_line_definition_owner_code => l_line_definition_owner_code
69889 ,p_line_definition_code => l_line_definition_code
69890 ,p_accounting_line_code => l_component_code
69891 ,p_accounting_line_type_code => l_component_type_code
69892 ,p_accounting_line_appl_id => l_component_appl_id
69896 --
69893 ,p_amb_context_code => l_amb_context_code
69894 ,p_entity_code => l_entity_code
69895 ,p_event_class_code => l_event_class_code);
69897 -- set accounting class
69898 --
69899 xla_ae_lines_pkg.SetAcctClass(
69900 p_accounting_class_code => 'GAIN'
69901 , p_ae_header_id => l_ae_header_id
69902 );
69903
69904 --
69905 -- set rounding class
69906 --
69907 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
69908 'GAIN';
69909
69910 --
69911 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
69912 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
69913 --
69914 -- bulk performance
69915 --
69916 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
69917
69918 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
69919 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
69920
69921 -- 4955764
69922 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
69923 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
69924
69925 -- 4458381 Public Sector Enh
69926
69927 --
69928 -- set accounting attributes for the line type
69929 --
69930 l_entered_amt_idx := 10;
69931 l_accted_amt_idx := 15;
69932 l_bflow_applied_to_amt_idx := 2; -- 5132302
69933 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
69934 l_rec_acct_attrs.array_char_value(1) := p_source_53;
69935 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
69936 l_rec_acct_attrs.array_num_value(2) := p_source_124;
69937 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
69938 l_rec_acct_attrs.array_num_value(3) := p_source_91;
69939 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
69940 l_rec_acct_attrs.array_char_value(4) := p_source_92;
69941 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
69942 l_rec_acct_attrs.array_char_value(5) := p_source_93;
69943 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
69944 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
69945 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
69946 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
69947 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
69948 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
69949 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
69950 l_rec_acct_attrs.array_char_value(9) := p_source_55;
69951 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
69952 l_rec_acct_attrs.array_num_value(10) := p_source_99;
69953 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
69954 l_rec_acct_attrs.array_char_value(11) := p_source_13;
69955 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
69956 l_rec_acct_attrs.array_date_value(12) := p_source_117;
69957 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
69958 l_rec_acct_attrs.array_num_value(13) := p_source_118;
69959 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
69960 l_rec_acct_attrs.array_char_value(14) := p_source_119;
69961 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
69962 l_rec_acct_attrs.array_num_value(15) := p_source_153;
69963 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
69964 l_rec_acct_attrs.array_char_value(16) := p_source_80;
69965 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
69966 l_rec_acct_attrs.array_num_value(17) := p_source_110;
69967 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
69968 l_rec_acct_attrs.array_num_value(18) := p_source_111;
69969 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
69970 l_rec_acct_attrs.array_char_value(19) := p_source_83;
69971 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
69972 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
69973 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
69974 l_rec_acct_attrs.array_char_value(21) := p_source_55;
69975 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
69976 l_rec_acct_attrs.array_num_value(22) := p_source_86;
69977 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
69978 l_rec_acct_attrs.array_num_value(23) := p_source_87;
69979 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
69980 l_rec_acct_attrs.array_num_value(24) := p_source_88;
69981
69982 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
69983 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
69984
69985 ---------------------------------------------------------------------------------------------------------------
69986 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
69987 ---------------------------------------------------------------------------------------------------------------
69988 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
69989
69993 IF xla_accounting_cache_pkg.GetValueChar
69990 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
69991 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
69992
69994 (p_source_code => 'LEDGER_CATEGORY_CODE'
69995 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
69996 AND l_bflow_method_code = 'PRIOR_ENTRY'
69997 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
69998 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
69999 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
70000 )
70001 THEN
70002 xla_ae_lines_pkg.BflowUpgEntry
70003 (p_business_method_code => l_bflow_method_code
70004 ,p_business_class_code => l_bflow_class_code
70005 ,p_balance_type => l_balance_type_code);
70006 ELSE
70007 NULL;
70008 -- No business flow processing for business flow method of NONE.
70009 END IF;
70010
70011 --
70012 -- call analytical criteria
70013 --
70014
70015 --
70016 -- call description
70017 --
70018 -- No description or it is inherited.
70019 --
70020 -- call ADRs
70021 -- Bug 4922099
70022 --
70023 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
70024 (NVL(l_actual_upg_option, 'N') = 'O') OR
70025 (NVL(l_enc_upg_option, 'N') = 'O')
70026 )
70027 THEN
70028 NULL;
70029 --
70030 --
70031
70032 l_ccid := AcctDerRule_38(
70033 p_application_id => p_application_id
70034 , p_ae_header_id => l_ae_header_id
70035 , p_source_15 => p_source_15
70036 , p_source_15_meaning => p_source_15_meaning
70037 , p_source_30 => p_source_30
70038 , p_source_36 => p_source_36
70039 , p_source_37 => p_source_37
70040 , x_transaction_coa_id => l_adr_transaction_coa_id
70041 , x_accounting_coa_id => l_adr_accounting_coa_id
70042 , x_value_type_code => l_adr_value_type_code
70043 , p_side => 'NA'
70044 );
70045
70046 xla_ae_lines_pkg.set_ccid(
70047 p_code_combination_id => l_ccid
70048 , p_value_type_code => l_adr_value_type_code
70049 , p_transaction_coa_id => l_adr_transaction_coa_id
70050 , p_accounting_coa_id => l_adr_accounting_coa_id
70051 , p_adr_code => 'AP_REAL_GAIN'
70052 , p_adr_type_code => 'S'
70053 , p_component_type => l_component_type
70054 , p_component_code => l_component_code
70055 , p_component_type_code => l_component_type_code
70056 , p_component_appl_id => l_component_appl_id
70057 , p_amb_context_code => l_amb_context_code
70058 , p_side => 'NA'
70059 );
70060
70061
70062 l_segment := AcctDerRule_22(
70063 p_application_id => p_application_id
70064 , p_ae_header_id => l_ae_header_id
70065 , p_source_15 => p_source_15
70066 , p_source_15_meaning => p_source_15_meaning
70067 , p_source_30 => p_source_30
70068 , x_transaction_coa_id => l_adr_transaction_coa_id
70069 , x_accounting_coa_id => l_adr_accounting_coa_id
70070 , x_flexfield_segment_code => l_adr_flexfield_segment_code
70071 , x_flex_value_set_id => l_adr_flex_value_set_id
70072 , x_value_type_code => l_adr_value_type_code
70073 , x_value_combination_id => l_adr_value_combination_id
70074 , x_value_segment_code => l_adr_value_segment_code
70075 , p_side => 'NA'
70076 , p_override_seg_flag => 'Y'
70077 );
70078
70079 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
70080
70081 xla_ae_lines_pkg.set_segment(
70082 p_to_segment_code => 'GL_BALANCING'
70083 , p_segment_value => l_segment
70084 , p_from_segment_code => l_adr_value_segment_code
70085 , p_from_combination_id => l_adr_value_combination_id
70086 , p_value_type_code => l_adr_value_type_code
70087 , p_transaction_coa_id => l_adr_transaction_coa_id
70088 , p_accounting_coa_id => l_adr_accounting_coa_id
70089 , p_flexfield_segment_code => l_adr_flexfield_segment_code
70090 , p_flex_value_set_id => l_adr_flex_value_set_id
70091 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
70092 , p_adr_type_code => 'S'
70093 , p_component_type => l_component_type
70094 , p_component_code => l_component_code
70095 , p_component_type_code => l_component_type_code
70096 , p_component_appl_id => l_component_appl_id
70097 , p_amb_context_code => l_amb_context_code
70098 , p_entity_code => 'AP_PAYMENTS'
70099 , p_event_class_code => 'PAYMENTS'
70100 , p_side => 'NA'
70101 );
70102
70103 END IF;
70104
70105 l_segment := AcctDerRule_17(
70106 p_application_id => p_application_id
70107 , p_ae_header_id => l_ae_header_id
70108 , p_source_15 => p_source_15
70109 , p_source_15_meaning => p_source_15_meaning
70110 , p_source_36 => p_source_36
70111 , p_source_37 => p_source_37
70115 , x_flex_value_set_id => l_adr_flex_value_set_id
70112 , x_transaction_coa_id => l_adr_transaction_coa_id
70113 , x_accounting_coa_id => l_adr_accounting_coa_id
70114 , x_flexfield_segment_code => l_adr_flexfield_segment_code
70116 , x_value_type_code => l_adr_value_type_code
70117 , x_value_combination_id => l_adr_value_combination_id
70118 , x_value_segment_code => l_adr_value_segment_code
70119 , p_side => 'NA'
70120 , p_override_seg_flag => 'Y'
70121 );
70122
70123 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
70124
70125 xla_ae_lines_pkg.set_segment(
70126 p_to_segment_code => 'GL_ACCOUNT'
70127 , p_segment_value => l_segment
70128 , p_from_segment_code => l_adr_value_segment_code
70129 , p_from_combination_id => l_adr_value_combination_id
70130 , p_value_type_code => l_adr_value_type_code
70131 , p_transaction_coa_id => l_adr_transaction_coa_id
70132 , p_accounting_coa_id => l_adr_accounting_coa_id
70133 , p_flexfield_segment_code => l_adr_flexfield_segment_code
70134 , p_flex_value_set_id => l_adr_flex_value_set_id
70135 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
70136 , p_adr_type_code => 'S'
70137 , p_component_type => l_component_type
70138 , p_component_code => l_component_code
70139 , p_component_type_code => l_component_type_code
70140 , p_component_appl_id => l_component_appl_id
70141 , p_amb_context_code => l_amb_context_code
70142 , p_entity_code => 'AP_PAYMENTS'
70143 , p_event_class_code => 'PAYMENTS'
70144 , p_side => 'NA'
70145 );
70146
70147 END IF;
70148
70149 --
70150 --
70151 END IF;
70152 --
70153 -- Bug 4922099
70154 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
70155 (NVL(l_enc_upg_option, 'N') = 'O')
70156 ) AND
70157 (l_bflow_method_code = 'PRIOR_ENTRY')
70158 )
70159 THEN
70160 IF
70161 --
70162 1 = 2
70163 --
70164 THEN
70165 xla_accounting_err_pkg.build_message
70166 (p_appli_s_name => 'XLA'
70167 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
70168 ,p_token_1 => 'LINE_NUMBER'
70169 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
70170 ,p_token_2 => 'LINE_TYPE_NAME'
70171 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
70172 l_component_type
70173 ,l_component_code
70174 ,l_component_type_code
70175 ,l_component_appl_id
70176 ,l_amb_context_code
70177 ,l_entity_code
70178 ,l_event_class_code
70179 )
70180 ,p_token_3 => 'OWNER'
70181 ,p_value_3 => xla_lookups_pkg.get_meaning(
70182 p_lookup_type => 'XLA_OWNER_TYPE'
70183 ,p_lookup_code => l_component_type_code
70184 )
70185 ,p_token_4 => 'PRODUCT_NAME'
70186 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
70187 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
70188 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
70189 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
70190 ,p_ae_header_id => NULL
70191 );
70192
70193 IF (C_LEVEL_ERROR>= g_log_level) THEN
70194 trace
70195 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
70196 ,p_level => C_LEVEL_ERROR
70197 ,p_module => l_log_module);
70198 END IF;
70199 END IF;
70200 END IF;
70201 --
70202 --
70203 ------------------------------------------------------------------------------------------------
70204 -- 4219869 Business Flow
70205 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
70206 -- Prior Entry. Currently, the following code is always generated.
70207 ------------------------------------------------------------------------------------------------
70211 -- 4219869 Business Flow
70208 XLA_AE_LINES_PKG.ValidateCurrentLine;
70209
70210 ------------------------------------------------------------------------------------
70212 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
70213 ------------------------------------------------------------------------------------
70214 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
70215
70216 ----------------------------------------------------------------------------------
70217 -- 4219869 Business Flow
70218 -- Update journal entry status -- Need to generate this within IF <condition>
70219 ----------------------------------------------------------------------------------
70220 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
70221 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
70222 ,p_balance_type_code => l_balance_type_code
70223 );
70224
70225 -------------------------------------------------------------------------------------------
70226 -- 4262811 - Generate the Accrual Reversal lines
70227 -------------------------------------------------------------------------------------------
70228 BEGIN
70229 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
70230 (g_array_event(p_event_id).array_value_num('header_index'));
70231 IF l_acc_rev_flag IS NULL THEN
70232 l_acc_rev_flag := 'N';
70233 END IF;
70234 EXCEPTION
70235 WHEN OTHERS THEN
70236 l_acc_rev_flag := 'N';
70237 END;
70238 --
70239 IF (l_acc_rev_flag = 'Y') THEN
70240
70241 -- 4645092 ------------------------------------------------------------------------------
70242 -- To allow MPA report to determine if it should generate report process
70243 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
70244 ------------------------------------------------------------------------------------------
70245
70246 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
70247 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
70248 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
70249 -- call ADRs
70250 -- Bug 4922099
70251 --
70252 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
70253 (NVL(l_actual_upg_option, 'N') = 'O') OR
70254 (NVL(l_enc_upg_option, 'N') = 'O')
70255 )
70256 THEN
70257 NULL;
70258 --
70259 --
70260
70261 l_ccid := AcctDerRule_38(
70262 p_application_id => p_application_id
70263 , p_ae_header_id => l_ae_header_id
70264 , p_source_15 => p_source_15
70265 , p_source_15_meaning => p_source_15_meaning
70266 , p_source_30 => p_source_30
70267 , p_source_36 => p_source_36
70268 , p_source_37 => p_source_37
70269 , x_transaction_coa_id => l_adr_transaction_coa_id
70270 , x_accounting_coa_id => l_adr_accounting_coa_id
70271 , x_value_type_code => l_adr_value_type_code
70272 , p_side => 'NA'
70273 );
70274
70275 xla_ae_lines_pkg.set_ccid(
70276 p_code_combination_id => l_ccid
70277 , p_value_type_code => l_adr_value_type_code
70278 , p_transaction_coa_id => l_adr_transaction_coa_id
70279 , p_accounting_coa_id => l_adr_accounting_coa_id
70280 , p_adr_code => 'AP_REAL_GAIN'
70281 , p_adr_type_code => 'S'
70282 , p_component_type => l_component_type
70283 , p_component_code => l_component_code
70284 , p_component_type_code => l_component_type_code
70285 , p_component_appl_id => l_component_appl_id
70286 , p_amb_context_code => l_amb_context_code
70287 , p_side => 'NA'
70288 );
70289
70290
70291 l_segment := AcctDerRule_22(
70292 p_application_id => p_application_id
70293 , p_ae_header_id => l_ae_header_id
70294 , p_source_15 => p_source_15
70295 , p_source_15_meaning => p_source_15_meaning
70296 , p_source_30 => p_source_30
70297 , x_transaction_coa_id => l_adr_transaction_coa_id
70298 , x_accounting_coa_id => l_adr_accounting_coa_id
70299 , x_flexfield_segment_code => l_adr_flexfield_segment_code
70300 , x_flex_value_set_id => l_adr_flex_value_set_id
70301 , x_value_type_code => l_adr_value_type_code
70302 , x_value_combination_id => l_adr_value_combination_id
70303 , x_value_segment_code => l_adr_value_segment_code
70304 , p_side => 'NA'
70305 , p_override_seg_flag => 'Y'
70306 );
70307
70308 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
70309
70310 xla_ae_lines_pkg.set_segment(
70311 p_to_segment_code => 'GL_BALANCING'
70312 , p_segment_value => l_segment
70313 , p_from_segment_code => l_adr_value_segment_code
70314 , p_from_combination_id => l_adr_value_combination_id
70315 , p_value_type_code => l_adr_value_type_code
70316 , p_transaction_coa_id => l_adr_transaction_coa_id
70317 , p_accounting_coa_id => l_adr_accounting_coa_id
70318 , p_flexfield_segment_code => l_adr_flexfield_segment_code
70319 , p_flex_value_set_id => l_adr_flex_value_set_id
70323 , p_component_code => l_component_code
70320 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
70321 , p_adr_type_code => 'S'
70322 , p_component_type => l_component_type
70324 , p_component_type_code => l_component_type_code
70325 , p_component_appl_id => l_component_appl_id
70326 , p_amb_context_code => l_amb_context_code
70327 , p_entity_code => 'AP_PAYMENTS'
70328 , p_event_class_code => 'PAYMENTS'
70329 , p_side => 'NA'
70330 );
70331
70332 END IF;
70333
70334 l_segment := AcctDerRule_17(
70335 p_application_id => p_application_id
70336 , p_ae_header_id => l_ae_header_id
70337 , p_source_15 => p_source_15
70338 , p_source_15_meaning => p_source_15_meaning
70339 , p_source_36 => p_source_36
70340 , p_source_37 => p_source_37
70341 , x_transaction_coa_id => l_adr_transaction_coa_id
70342 , x_accounting_coa_id => l_adr_accounting_coa_id
70343 , x_flexfield_segment_code => l_adr_flexfield_segment_code
70344 , x_flex_value_set_id => l_adr_flex_value_set_id
70345 , x_value_type_code => l_adr_value_type_code
70346 , x_value_combination_id => l_adr_value_combination_id
70347 , x_value_segment_code => l_adr_value_segment_code
70348 , p_side => 'NA'
70349 , p_override_seg_flag => 'Y'
70350 );
70351
70352 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
70353
70354 xla_ae_lines_pkg.set_segment(
70355 p_to_segment_code => 'GL_ACCOUNT'
70356 , p_segment_value => l_segment
70357 , p_from_segment_code => l_adr_value_segment_code
70358 , p_from_combination_id => l_adr_value_combination_id
70359 , p_value_type_code => l_adr_value_type_code
70360 , p_transaction_coa_id => l_adr_transaction_coa_id
70361 , p_accounting_coa_id => l_adr_accounting_coa_id
70362 , p_flexfield_segment_code => l_adr_flexfield_segment_code
70363 , p_flex_value_set_id => l_adr_flex_value_set_id
70364 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
70365 , p_adr_type_code => 'S'
70366 , p_component_type => l_component_type
70367 , p_component_code => l_component_code
70368 , p_component_type_code => l_component_type_code
70369 , p_component_appl_id => l_component_appl_id
70370 , p_amb_context_code => l_amb_context_code
70371 , p_entity_code => 'AP_PAYMENTS'
70372 , p_event_class_code => 'PAYMENTS'
70373 , p_side => 'NA'
70374 );
70375
70376 END IF;
70377
70378 --
70379 --
70380 END IF;
70381
70382 --
70383 -- Update the line information that should be overwritten
70384 --
70385 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
70386 p_header_num => 1);
70387 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
70388
70389 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
70390
70391 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
70392 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
70393 END IF;
70394
70395 --
70396 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
70397 --
70398 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
70399 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
70400 ELSE
70401 ---------------------------------------------------------------------------------------------------
70402 -- 4262811a Switch Sign
70403 ---------------------------------------------------------------------------------------------------
70404 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
70405 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
70406 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
70407 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
70408 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
70409 -- 5132302
70410 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
70411 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
70412
70413 END IF;
70414
70415 -- 4955764
70416 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
70417 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
70418
70419
70420 XLA_AE_LINES_PKG.ValidateCurrentLine;
70421 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
70422
70423 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
70427 END IF;
70424 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
70425 ,p_balance_type_code => l_balance_type_code);
70426
70428
70429 -----------------------------------------------------------------------------------------
70430 -- 4262811 Multiperiod Accounting
70431 -----------------------------------------------------------------------------------------
70432 -- No MPA option is assigned.
70433
70434
70435 END IF;
70436 END IF;
70437 --
70438
70439 --
70440 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
70441 trace
70442 (p_msg => 'END of AcctLineType_131'
70443 ,p_level => C_LEVEL_PROCEDURE
70444 ,p_module => l_log_module);
70445 END IF;
70446 --
70447 EXCEPTION
70448 WHEN xla_exceptions_pkg.application_exception THEN
70449 RAISE;
70450 WHEN OTHERS THEN
70451 xla_exceptions_pkg.raise_message
70452 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_131');
70453 END AcctLineType_131;
70454 --
70455
70456 ---------------------------------------
70457 --
70458 -- PRIVATE FUNCTION
70459 -- AcctLineType_132
70460 --
70461 ---------------------------------------
70462 PROCEDURE AcctLineType_132 (
70463 p_application_id IN NUMBER
70464 ,p_event_id IN NUMBER
70465 ,p_calculate_acctd_flag IN VARCHAR2
70466 ,p_calculate_g_l_flag IN VARCHAR2
70467 ,p_actual_flag IN OUT VARCHAR2
70468 ,p_balance_type_code OUT VARCHAR2
70469 ,p_gain_or_loss_ref OUT VARCHAR2
70470
70471 --Payment Currency Code
70472 , p_source_13 IN VARCHAR2
70473 --Automatic Offsets Value
70474 , p_source_15 IN VARCHAR2
70475 , p_source_15_meaning IN VARCHAR2
70476 --Invoice Distribution Account
70477 , p_source_30 IN NUMBER
70478 --Internal Realized Gain Account
70479 , p_source_36 IN NUMBER
70480 --Bank Gain Account
70481 , p_source_37 IN NUMBER
70482 --Accounting Reversal Indicator
70483 , p_source_53 IN VARCHAR2
70484 --Distribution Link Type
70485 , p_source_55 IN VARCHAR2
70486 --Override Accounted Amount Indicator
70487 , p_source_80 IN VARCHAR2
70488 , p_source_80_meaning IN VARCHAR2
70489 --Third Party Type
70490 , p_source_83 IN VARCHAR2
70491 --Invoice Distribution Tax Line Identifier
70492 , p_source_86 IN NUMBER
70493 --Invoice Distribution Summary Tax Line Identifier
70494 , p_source_88 IN NUMBER
70495 --Business Flow Accounts Payable Application Identifier
70496 , p_source_91 IN NUMBER
70497 --When to Account for Payment Option
70498 , p_source_97 IN VARCHAR2
70499 --Payment Distribution Type
70500 , p_source_98 IN VARCHAR2
70501 , p_source_98_meaning IN VARCHAR2
70502 --Payment Distribution Amount
70503 , p_source_99 IN NUMBER
70504 --Business Flow Payment Distribution Type
70505 , p_source_100 IN VARCHAR2
70506 --Business Flow Payment Entity Code
70507 , p_source_101 IN VARCHAR2
70508 --Business Flow Payment Distribution Identifier
70509 , p_source_102 IN NUMBER
70510 --Business Flow Payment Identifier
70511 , p_source_103 IN NUMBER
70512 --Payment Distribution Identifier
70513 , p_source_104 IN NUMBER
70514 --Cleared Exchange Date
70515 , p_source_106 IN DATE
70516 --Cleared Exchange Rate
70517 , p_source_107 IN NUMBER
70518 --Cleared Exchange Rate Type
70519 , p_source_108 IN VARCHAR2
70520 --Payment Supplier Identifier
70521 , p_source_110 IN NUMBER
70522 --Payment Supplier Site Identifier
70523 , p_source_111 IN NUMBER
70524 --Payment Distribution Reversed Identifier
70525 , p_source_112 IN NUMBER
70526 --Payment Maturity Date
70527 , p_source_114 IN DATE
70528 --Gain or Loss Indicator between Payment and Clearing
70529 , p_source_159 IN VARCHAR2
70530 --Payment/Clearing Ledger Amount Difference
70531 , p_source_160 IN NUMBER
70532 )
70533 IS
70534
70535 l_component_type VARCHAR2(80);
70536 l_component_code VARCHAR2(30);
70537 l_component_type_code VARCHAR2(1);
70538 l_component_appl_id INTEGER;
70539 l_amb_context_code VARCHAR2(30);
70540 l_entity_code VARCHAR2(30);
70541 l_event_class_code VARCHAR2(30);
70542 l_ae_header_id NUMBER;
70543 l_event_type_code VARCHAR2(30);
70544 l_line_definition_code VARCHAR2(30);
70545 l_line_definition_owner_code VARCHAR2(1);
70546 --
70547 -- adr variables
70548 l_segment VARCHAR2(30);
70549 l_ccid NUMBER;
70550 l_adr_transaction_coa_id NUMBER;
70551 l_adr_accounting_coa_id NUMBER;
70552 l_adr_flexfield_segment_code VARCHAR2(30);
70553 l_adr_flex_value_set_id NUMBER;
70554 l_adr_value_type_code VARCHAR2(30);
70555 l_adr_value_combination_id NUMBER;
70556 l_adr_value_segment_code VARCHAR2(30);
70557
70558 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
70559 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
70563 -- 4262811 Variables ------------------------------------------------------------------------------------------
70560 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
70561 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
70562
70564 l_entered_amt_idx NUMBER;
70565 l_accted_amt_idx NUMBER;
70566 l_acc_rev_flag VARCHAR2(1);
70567 l_accrual_line_num NUMBER;
70568 l_tmp_amt NUMBER;
70569 l_acc_rev_natural_side_code VARCHAR2(1);
70570
70571 l_num_entries NUMBER;
70572 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
70573 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
70574 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
70575 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
70576 l_recog_line_1 NUMBER;
70577 l_recog_line_2 NUMBER;
70578
70579 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
70580 l_bflow_applied_to_amt NUMBER; -- 5132302
70581 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
70582
70583 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
70584
70585 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
70586 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
70587
70588 ---------------------------------------------------------------------------------------------------------------
70589
70590
70591 --
70592 -- bulk performance
70593 --
70594 l_balance_type_code VARCHAR2(1);
70595 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
70596 l_log_module VARCHAR2(240);
70597
70598 --
70599 -- Upgrade strategy
70600 --
70601 l_actual_upg_option VARCHAR2(1);
70602 l_enc_upg_option VARCHAR2(1);
70603
70604 --
70605 BEGIN
70606 --
70607 IF g_log_enabled THEN
70608 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_132';
70609 END IF;
70610 --
70611 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
70612
70613 trace
70614 (p_msg => 'BEGIN of AcctLineType_132'
70615 ,p_level => C_LEVEL_PROCEDURE
70616 ,p_module => l_log_module);
70617
70618 END IF;
70619 --
70620 l_component_type := 'AMB_JLT';
70621 l_component_code := 'AP_GAIN_PMT_CLEAR';
70622 l_component_type_code := 'S';
70623 l_component_appl_id := 200;
70624 l_amb_context_code := 'DEFAULT';
70625 l_entity_code := 'AP_PAYMENTS';
70626 l_event_class_code := 'RECONCILED PAYMENTS';
70627 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
70628 l_line_definition_owner_code := 'S';
70629 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
70630 --
70631 l_balance_type_code := 'A';
70632 l_segment := NULL;
70633 l_ccid := NULL;
70634 l_adr_transaction_coa_id := NULL;
70635 l_adr_accounting_coa_id := NULL;
70636 l_adr_flexfield_segment_code := NULL;
70637 l_adr_flex_value_set_id := NULL;
70638 l_adr_value_type_code := NULL;
70639 l_adr_value_combination_id := NULL;
70640 l_adr_value_segment_code := NULL;
70641
70642 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
70643 l_bflow_class_code := ''; -- 4219869 Business Flow
70644 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
70645 l_budgetary_control_flag := 'N';
70646
70647 l_bflow_applied_to_amt_idx := NULL; -- 5132302
70648 l_bflow_applied_to_amt := NULL; -- 5132302
70649 l_entered_amt_idx := NULL; -- 4262811
70650 l_accted_amt_idx := NULL; -- 4262811
70651 l_acc_rev_flag := NULL; -- 4262811
70652 l_accrual_line_num := NULL; -- 4262811
70653 l_tmp_amt := NULL; -- 4262811
70654 --
70655 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
70656 (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
70657 return;
70658 END IF;
70659
70660 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
70661 l_balance_type_code <> 'B' THEN
70662 IF NVL(p_source_97,'
70663 ') = 'ALWAYS_ALWAYS' AND
70664 p_source_114 IS NULL AND
70665 NVL(p_source_159,'
70666 ') = 'GAIN' AND
70667 NVL(p_source_98,'
70668 ') <> 'EXCHANGE RATE VARIANCE' AND
70669 NVL(p_source_98,'
70670 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
70671 NVL(p_source_98,'
70672 ') <> 'BANK CHARGE' AND
70673 NVL(p_source_98,'
70674 ') <> 'BANK ERROR' AND
70675 NVL(p_source_98,'
70676 ') <> 'AWT'
70677 THEN
70678
70679 --
70680 XLA_AE_LINES_PKG.SetNewLine;
70681
70682 p_balance_type_code := l_balance_type_code;
70683 -- set the flag so later we will know whether the gain loss line needs to be created
70684
70685 IF(l_balance_type_code = 'A' ) THEN
70686 p_actual_flag :='G';
70687 END IF;
70688
70689 --
70690 -- bulk performance
70691 --
70695 -- set accounting line options
70692 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
70693 p_header_num => 0); -- 4262811
70694 --
70696 --
70697 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
70698 p_natural_side_code => 'C'
70699 , p_gain_or_loss_flag => 'Y'
70700 , p_gl_transfer_mode_code => 'S'
70701 , p_acct_entry_type_code => 'A'
70702 , p_switch_side_flag => 'Y'
70703 , p_merge_duplicate_code => 'A'
70704 );
70705 --
70706 l_acc_rev_natural_side_code := 'D'; -- 4262811
70707 --
70708 --
70709 -- set accounting line type info
70710 --
70711 xla_ae_lines_pkg.SetAcctLineType
70712 (p_component_type => l_component_type
70713 ,p_event_type_code => l_event_type_code
70714 ,p_line_definition_owner_code => l_line_definition_owner_code
70715 ,p_line_definition_code => l_line_definition_code
70716 ,p_accounting_line_code => l_component_code
70717 ,p_accounting_line_type_code => l_component_type_code
70718 ,p_accounting_line_appl_id => l_component_appl_id
70719 ,p_amb_context_code => l_amb_context_code
70720 ,p_entity_code => l_entity_code
70721 ,p_event_class_code => l_event_class_code);
70722 --
70723 -- set accounting class
70724 --
70725 xla_ae_lines_pkg.SetAcctClass(
70726 p_accounting_class_code => 'GAIN'
70727 , p_ae_header_id => l_ae_header_id
70728 );
70729
70730 --
70731 -- set rounding class
70732 --
70733 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
70734 'GAIN';
70735
70736 --
70737 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
70738 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
70739 --
70740 -- bulk performance
70741 --
70742 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
70743
70744 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
70745 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
70746
70747 -- 4955764
70748 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
70749 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
70750
70751 -- 4458381 Public Sector Enh
70752
70753 --
70754 -- set accounting attributes for the line type
70755 --
70756 l_entered_amt_idx := 10;
70757 l_accted_amt_idx := 15;
70758 l_bflow_applied_to_amt_idx := 2; -- 5132302
70759 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
70760 l_rec_acct_attrs.array_char_value(1) := p_source_53;
70761 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
70762 l_rec_acct_attrs.array_num_value(2) := p_source_99;
70763 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
70764 l_rec_acct_attrs.array_num_value(3) := p_source_91;
70765 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
70766 l_rec_acct_attrs.array_char_value(4) := p_source_100;
70767 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
70768 l_rec_acct_attrs.array_char_value(5) := p_source_101;
70769 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
70770 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
70771 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
70772 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
70773 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
70774 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
70775 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
70776 l_rec_acct_attrs.array_char_value(9) := p_source_55;
70777 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
70778 l_rec_acct_attrs.array_num_value(10) := p_source_99;
70779 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
70780 l_rec_acct_attrs.array_char_value(11) := p_source_13;
70781 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
70782 l_rec_acct_attrs.array_date_value(12) := p_source_106;
70783 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
70784 l_rec_acct_attrs.array_num_value(13) := p_source_107;
70785 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
70786 l_rec_acct_attrs.array_char_value(14) := p_source_108;
70787 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
70788 l_rec_acct_attrs.array_num_value(15) := p_source_160;
70789 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
70790 l_rec_acct_attrs.array_char_value(16) := p_source_80;
70791 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
70792 l_rec_acct_attrs.array_num_value(17) := p_source_110;
70793 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
70794 l_rec_acct_attrs.array_num_value(18) := p_source_111;
70795 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
70796 l_rec_acct_attrs.array_char_value(19) := p_source_83;
70797 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
70801 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
70798 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
70799 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
70800 l_rec_acct_attrs.array_char_value(21) := p_source_55;
70802 l_rec_acct_attrs.array_num_value(22) := p_source_86;
70803 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
70804 l_rec_acct_attrs.array_num_value(23) := p_source_86;
70805 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
70806 l_rec_acct_attrs.array_num_value(24) := p_source_88;
70807
70808 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
70809 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
70810
70811 ---------------------------------------------------------------------------------------------------------------
70812 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
70813 ---------------------------------------------------------------------------------------------------------------
70814 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
70815
70816 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
70817 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
70818
70819 IF xla_accounting_cache_pkg.GetValueChar
70820 (p_source_code => 'LEDGER_CATEGORY_CODE'
70821 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
70822 AND l_bflow_method_code = 'PRIOR_ENTRY'
70823 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
70824 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
70825 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
70826 )
70827 THEN
70828 xla_ae_lines_pkg.BflowUpgEntry
70829 (p_business_method_code => l_bflow_method_code
70830 ,p_business_class_code => l_bflow_class_code
70831 ,p_balance_type => l_balance_type_code);
70832 ELSE
70833 NULL;
70834 -- No business flow processing for business flow method of NONE.
70835 END IF;
70836
70837 --
70838 -- call analytical criteria
70839 --
70840
70841 --
70842 -- call description
70843 --
70844 -- No description or it is inherited.
70845 --
70846 -- call ADRs
70847 -- Bug 4922099
70848 --
70849 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
70850 (NVL(l_actual_upg_option, 'N') = 'O') OR
70851 (NVL(l_enc_upg_option, 'N') = 'O')
70852 )
70853 THEN
70854 NULL;
70855 --
70856 --
70857
70858 l_ccid := AcctDerRule_38(
70859 p_application_id => p_application_id
70860 , p_ae_header_id => l_ae_header_id
70861 , p_source_15 => p_source_15
70862 , p_source_15_meaning => p_source_15_meaning
70863 , p_source_30 => p_source_30
70864 , p_source_36 => p_source_36
70865 , p_source_37 => p_source_37
70866 , x_transaction_coa_id => l_adr_transaction_coa_id
70867 , x_accounting_coa_id => l_adr_accounting_coa_id
70868 , x_value_type_code => l_adr_value_type_code
70869 , p_side => 'NA'
70870 );
70871
70872 xla_ae_lines_pkg.set_ccid(
70873 p_code_combination_id => l_ccid
70874 , p_value_type_code => l_adr_value_type_code
70875 , p_transaction_coa_id => l_adr_transaction_coa_id
70876 , p_accounting_coa_id => l_adr_accounting_coa_id
70877 , p_adr_code => 'AP_REAL_GAIN'
70878 , p_adr_type_code => 'S'
70879 , p_component_type => l_component_type
70880 , p_component_code => l_component_code
70881 , p_component_type_code => l_component_type_code
70882 , p_component_appl_id => l_component_appl_id
70883 , p_amb_context_code => l_amb_context_code
70884 , p_side => 'NA'
70885 );
70886
70887
70888 l_segment := AcctDerRule_22(
70889 p_application_id => p_application_id
70890 , p_ae_header_id => l_ae_header_id
70891 , p_source_15 => p_source_15
70892 , p_source_15_meaning => p_source_15_meaning
70893 , p_source_30 => p_source_30
70894 , x_transaction_coa_id => l_adr_transaction_coa_id
70895 , x_accounting_coa_id => l_adr_accounting_coa_id
70896 , x_flexfield_segment_code => l_adr_flexfield_segment_code
70897 , x_flex_value_set_id => l_adr_flex_value_set_id
70898 , x_value_type_code => l_adr_value_type_code
70899 , x_value_combination_id => l_adr_value_combination_id
70900 , x_value_segment_code => l_adr_value_segment_code
70901 , p_side => 'NA'
70902 , p_override_seg_flag => 'Y'
70903 );
70904
70905 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
70906
70907 xla_ae_lines_pkg.set_segment(
70908 p_to_segment_code => 'GL_BALANCING'
70909 , p_segment_value => l_segment
70910 , p_from_segment_code => l_adr_value_segment_code
70914 , p_accounting_coa_id => l_adr_accounting_coa_id
70911 , p_from_combination_id => l_adr_value_combination_id
70912 , p_value_type_code => l_adr_value_type_code
70913 , p_transaction_coa_id => l_adr_transaction_coa_id
70915 , p_flexfield_segment_code => l_adr_flexfield_segment_code
70916 , p_flex_value_set_id => l_adr_flex_value_set_id
70917 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
70918 , p_adr_type_code => 'S'
70919 , p_component_type => l_component_type
70920 , p_component_code => l_component_code
70921 , p_component_type_code => l_component_type_code
70922 , p_component_appl_id => l_component_appl_id
70923 , p_amb_context_code => l_amb_context_code
70924 , p_entity_code => 'AP_PAYMENTS'
70925 , p_event_class_code => 'RECONCILED PAYMENTS'
70926 , p_side => 'NA'
70927 );
70928
70929 END IF;
70930
70931 l_segment := AcctDerRule_17(
70932 p_application_id => p_application_id
70933 , p_ae_header_id => l_ae_header_id
70934 , p_source_15 => p_source_15
70935 , p_source_15_meaning => p_source_15_meaning
70936 , p_source_36 => p_source_36
70937 , p_source_37 => p_source_37
70938 , x_transaction_coa_id => l_adr_transaction_coa_id
70939 , x_accounting_coa_id => l_adr_accounting_coa_id
70940 , x_flexfield_segment_code => l_adr_flexfield_segment_code
70941 , x_flex_value_set_id => l_adr_flex_value_set_id
70942 , x_value_type_code => l_adr_value_type_code
70943 , x_value_combination_id => l_adr_value_combination_id
70944 , x_value_segment_code => l_adr_value_segment_code
70945 , p_side => 'NA'
70946 , p_override_seg_flag => 'Y'
70947 );
70948
70949 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
70950
70951 xla_ae_lines_pkg.set_segment(
70952 p_to_segment_code => 'GL_ACCOUNT'
70953 , p_segment_value => l_segment
70954 , p_from_segment_code => l_adr_value_segment_code
70955 , p_from_combination_id => l_adr_value_combination_id
70956 , p_value_type_code => l_adr_value_type_code
70957 , p_transaction_coa_id => l_adr_transaction_coa_id
70958 , p_accounting_coa_id => l_adr_accounting_coa_id
70959 , p_flexfield_segment_code => l_adr_flexfield_segment_code
70960 , p_flex_value_set_id => l_adr_flex_value_set_id
70961 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
70962 , p_adr_type_code => 'S'
70963 , p_component_type => l_component_type
70964 , p_component_code => l_component_code
70965 , p_component_type_code => l_component_type_code
70966 , p_component_appl_id => l_component_appl_id
70967 , p_amb_context_code => l_amb_context_code
70968 , p_entity_code => 'AP_PAYMENTS'
70969 , p_event_class_code => 'RECONCILED PAYMENTS'
70970 , p_side => 'NA'
70971 );
70972
70973 END IF;
70974
70975 --
70976 --
70977 END IF;
70978 --
70979 -- Bug 4922099
70980 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
70981 (NVL(l_enc_upg_option, 'N') = 'O')
70982 ) AND
70983 (l_bflow_method_code = 'PRIOR_ENTRY')
70984 )
70985 THEN
70986 IF
70987 --
70988 1 = 2
70989 --
70990 THEN
70991 xla_accounting_err_pkg.build_message
70992 (p_appli_s_name => 'XLA'
70993 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
70994 ,p_token_1 => 'LINE_NUMBER'
70995 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
70996 ,p_token_2 => 'LINE_TYPE_NAME'
70997 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
70998 l_component_type
70999 ,l_component_code
71000 ,l_component_type_code
71001 ,l_component_appl_id
71002 ,l_amb_context_code
71003 ,l_entity_code
71004 ,l_event_class_code
71005 )
71006 ,p_token_3 => 'OWNER'
71007 ,p_value_3 => xla_lookups_pkg.get_meaning(
71008 p_lookup_type => 'XLA_OWNER_TYPE'
71009 ,p_lookup_code => l_component_type_code
71010 )
71014 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
71011 ,p_token_4 => 'PRODUCT_NAME'
71012 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
71013 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
71015 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
71016 ,p_ae_header_id => NULL
71017 );
71018
71019 IF (C_LEVEL_ERROR>= g_log_level) THEN
71020 trace
71021 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
71022 ,p_level => C_LEVEL_ERROR
71023 ,p_module => l_log_module);
71024 END IF;
71025 END IF;
71026 END IF;
71027 --
71028 --
71029 ------------------------------------------------------------------------------------------------
71030 -- 4219869 Business Flow
71031 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
71032 -- Prior Entry. Currently, the following code is always generated.
71033 ------------------------------------------------------------------------------------------------
71034 XLA_AE_LINES_PKG.ValidateCurrentLine;
71035
71036 ------------------------------------------------------------------------------------
71037 -- 4219869 Business Flow
71038 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
71039 ------------------------------------------------------------------------------------
71040 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
71041
71042 ----------------------------------------------------------------------------------
71043 -- 4219869 Business Flow
71044 -- Update journal entry status -- Need to generate this within IF <condition>
71045 ----------------------------------------------------------------------------------
71046 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
71047 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
71048 ,p_balance_type_code => l_balance_type_code
71049 );
71050
71051 -------------------------------------------------------------------------------------------
71052 -- 4262811 - Generate the Accrual Reversal lines
71053 -------------------------------------------------------------------------------------------
71054 BEGIN
71055 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
71056 (g_array_event(p_event_id).array_value_num('header_index'));
71057 IF l_acc_rev_flag IS NULL THEN
71058 l_acc_rev_flag := 'N';
71059 END IF;
71060 EXCEPTION
71061 WHEN OTHERS THEN
71062 l_acc_rev_flag := 'N';
71063 END;
71064 --
71065 IF (l_acc_rev_flag = 'Y') THEN
71066
71067 -- 4645092 ------------------------------------------------------------------------------
71068 -- To allow MPA report to determine if it should generate report process
71069 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
71070 ------------------------------------------------------------------------------------------
71071
71072 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
71073 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
71074 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
71075 -- call ADRs
71076 -- Bug 4922099
71077 --
71078 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
71079 (NVL(l_actual_upg_option, 'N') = 'O') OR
71080 (NVL(l_enc_upg_option, 'N') = 'O')
71081 )
71082 THEN
71083 NULL;
71084 --
71085 --
71086
71087 l_ccid := AcctDerRule_38(
71088 p_application_id => p_application_id
71089 , p_ae_header_id => l_ae_header_id
71090 , p_source_15 => p_source_15
71091 , p_source_15_meaning => p_source_15_meaning
71092 , p_source_30 => p_source_30
71093 , p_source_36 => p_source_36
71094 , p_source_37 => p_source_37
71095 , x_transaction_coa_id => l_adr_transaction_coa_id
71096 , x_accounting_coa_id => l_adr_accounting_coa_id
71097 , x_value_type_code => l_adr_value_type_code
71098 , p_side => 'NA'
71099 );
71100
71101 xla_ae_lines_pkg.set_ccid(
71102 p_code_combination_id => l_ccid
71103 , p_value_type_code => l_adr_value_type_code
71104 , p_transaction_coa_id => l_adr_transaction_coa_id
71105 , p_accounting_coa_id => l_adr_accounting_coa_id
71106 , p_adr_code => 'AP_REAL_GAIN'
71107 , p_adr_type_code => 'S'
71108 , p_component_type => l_component_type
71109 , p_component_code => l_component_code
71110 , p_component_type_code => l_component_type_code
71111 , p_component_appl_id => l_component_appl_id
71112 , p_amb_context_code => l_amb_context_code
71113 , p_side => 'NA'
71114 );
71115
71116
71117 l_segment := AcctDerRule_22(
71118 p_application_id => p_application_id
71119 , p_ae_header_id => l_ae_header_id
71123 , x_transaction_coa_id => l_adr_transaction_coa_id
71120 , p_source_15 => p_source_15
71121 , p_source_15_meaning => p_source_15_meaning
71122 , p_source_30 => p_source_30
71124 , x_accounting_coa_id => l_adr_accounting_coa_id
71125 , x_flexfield_segment_code => l_adr_flexfield_segment_code
71126 , x_flex_value_set_id => l_adr_flex_value_set_id
71127 , x_value_type_code => l_adr_value_type_code
71128 , x_value_combination_id => l_adr_value_combination_id
71129 , x_value_segment_code => l_adr_value_segment_code
71130 , p_side => 'NA'
71131 , p_override_seg_flag => 'Y'
71132 );
71133
71134 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
71135
71136 xla_ae_lines_pkg.set_segment(
71137 p_to_segment_code => 'GL_BALANCING'
71138 , p_segment_value => l_segment
71139 , p_from_segment_code => l_adr_value_segment_code
71140 , p_from_combination_id => l_adr_value_combination_id
71141 , p_value_type_code => l_adr_value_type_code
71142 , p_transaction_coa_id => l_adr_transaction_coa_id
71143 , p_accounting_coa_id => l_adr_accounting_coa_id
71144 , p_flexfield_segment_code => l_adr_flexfield_segment_code
71145 , p_flex_value_set_id => l_adr_flex_value_set_id
71146 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
71147 , p_adr_type_code => 'S'
71148 , p_component_type => l_component_type
71149 , p_component_code => l_component_code
71150 , p_component_type_code => l_component_type_code
71151 , p_component_appl_id => l_component_appl_id
71152 , p_amb_context_code => l_amb_context_code
71153 , p_entity_code => 'AP_PAYMENTS'
71154 , p_event_class_code => 'RECONCILED PAYMENTS'
71155 , p_side => 'NA'
71156 );
71157
71158 END IF;
71159
71160 l_segment := AcctDerRule_17(
71161 p_application_id => p_application_id
71162 , p_ae_header_id => l_ae_header_id
71163 , p_source_15 => p_source_15
71164 , p_source_15_meaning => p_source_15_meaning
71165 , p_source_36 => p_source_36
71166 , p_source_37 => p_source_37
71167 , x_transaction_coa_id => l_adr_transaction_coa_id
71168 , x_accounting_coa_id => l_adr_accounting_coa_id
71169 , x_flexfield_segment_code => l_adr_flexfield_segment_code
71170 , x_flex_value_set_id => l_adr_flex_value_set_id
71171 , x_value_type_code => l_adr_value_type_code
71172 , x_value_combination_id => l_adr_value_combination_id
71173 , x_value_segment_code => l_adr_value_segment_code
71174 , p_side => 'NA'
71175 , p_override_seg_flag => 'Y'
71176 );
71177
71178 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
71179
71180 xla_ae_lines_pkg.set_segment(
71181 p_to_segment_code => 'GL_ACCOUNT'
71182 , p_segment_value => l_segment
71183 , p_from_segment_code => l_adr_value_segment_code
71184 , p_from_combination_id => l_adr_value_combination_id
71185 , p_value_type_code => l_adr_value_type_code
71186 , p_transaction_coa_id => l_adr_transaction_coa_id
71187 , p_accounting_coa_id => l_adr_accounting_coa_id
71188 , p_flexfield_segment_code => l_adr_flexfield_segment_code
71189 , p_flex_value_set_id => l_adr_flex_value_set_id
71190 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
71191 , p_adr_type_code => 'S'
71192 , p_component_type => l_component_type
71193 , p_component_code => l_component_code
71194 , p_component_type_code => l_component_type_code
71195 , p_component_appl_id => l_component_appl_id
71196 , p_amb_context_code => l_amb_context_code
71197 , p_entity_code => 'AP_PAYMENTS'
71198 , p_event_class_code => 'RECONCILED PAYMENTS'
71199 , p_side => 'NA'
71200 );
71201
71202 END IF;
71203
71204 --
71205 --
71206 END IF;
71207
71208 --
71209 -- Update the line information that should be overwritten
71210 --
71211 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
71212 p_header_num => 1);
71213 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
71214
71215 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
71216
71217 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
71218 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
71219 END IF;
71220
71221 --
71222 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
71223 --
71224 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
71225 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
71226 ELSE
71227 ---------------------------------------------------------------------------------------------------
71228 -- 4262811a Switch Sign
71232 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
71229 ---------------------------------------------------------------------------------------------------
71230 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
71231 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
71233 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
71234 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
71235 -- 5132302
71236 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
71237 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
71238
71239 END IF;
71240
71241 -- 4955764
71242 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
71243 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
71244
71245
71246 XLA_AE_LINES_PKG.ValidateCurrentLine;
71247 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
71248
71249 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
71250 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
71251 ,p_balance_type_code => l_balance_type_code);
71252
71253 END IF;
71254
71255 -----------------------------------------------------------------------------------------
71256 -- 4262811 Multiperiod Accounting
71257 -----------------------------------------------------------------------------------------
71258 -- No MPA option is assigned.
71259
71260
71261 END IF;
71262 END IF;
71263 --
71264
71265 --
71266 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
71267 trace
71268 (p_msg => 'END of AcctLineType_132'
71269 ,p_level => C_LEVEL_PROCEDURE
71270 ,p_module => l_log_module);
71271 END IF;
71272 --
71273 EXCEPTION
71274 WHEN xla_exceptions_pkg.application_exception THEN
71275 RAISE;
71276 WHEN OTHERS THEN
71277 xla_exceptions_pkg.raise_message
71278 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_132');
71279 END AcctLineType_132;
71280 --
71281
71282 ---------------------------------------
71283 --
71284 -- PRIVATE FUNCTION
71285 -- AcctLineType_133
71286 --
71287 ---------------------------------------
71288 PROCEDURE AcctLineType_133 (
71289 p_application_id IN NUMBER
71290 ,p_event_id IN NUMBER
71291 ,p_calculate_acctd_flag IN VARCHAR2
71292 ,p_calculate_g_l_flag IN VARCHAR2
71293 ,p_actual_flag IN OUT VARCHAR2
71294 ,p_balance_type_code OUT VARCHAR2
71295 ,p_gain_or_loss_ref OUT VARCHAR2
71296
71297 --Payment Currency Code
71298 , p_source_13 IN VARCHAR2
71299 --Automatic Offsets Value
71300 , p_source_15 IN VARCHAR2
71301 , p_source_15_meaning IN VARCHAR2
71302 --Invoice Distribution Account
71303 , p_source_30 IN NUMBER
71304 --Internal Realized Gain Account
71305 , p_source_36 IN NUMBER
71306 --Bank Gain Account
71307 , p_source_37 IN NUMBER
71308 --Accounting Reversal Indicator
71309 , p_source_53 IN VARCHAR2
71310 --Distribution Link Type
71311 , p_source_55 IN VARCHAR2
71312 --Override Accounted Amount Indicator
71313 , p_source_80 IN VARCHAR2
71314 , p_source_80_meaning IN VARCHAR2
71315 --Third Party Type
71316 , p_source_83 IN VARCHAR2
71317 --Business Flow Accounts Payable Application Identifier
71318 , p_source_91 IN NUMBER
71319 --When to Account for Payment Option
71320 , p_source_97 IN VARCHAR2
71321 --Payment Distribution Type
71322 , p_source_98 IN VARCHAR2
71323 , p_source_98_meaning IN VARCHAR2
71324 --Payment Distribution Amount
71325 , p_source_99 IN NUMBER
71326 --Business Flow Payment Distribution Type
71327 , p_source_100 IN VARCHAR2
71328 --Business Flow Payment Entity Code
71329 , p_source_101 IN VARCHAR2
71330 --Business Flow Payment Distribution Identifier
71331 , p_source_102 IN NUMBER
71332 --Business Flow Payment Identifier
71333 , p_source_103 IN NUMBER
71334 --Payment Distribution Identifier
71335 , p_source_104 IN NUMBER
71336 --Payment Supplier Identifier
71337 , p_source_110 IN NUMBER
71338 --Payment Supplier Site Identifier
71339 , p_source_111 IN NUMBER
71340 --Payment Distribution Reversed Identifier
71341 , p_source_112 IN NUMBER
71342 --Payment Maturity Date
71343 , p_source_114 IN DATE
71344 --Payment Exchange Date
71345 , p_source_117 IN DATE
71346 --Payment Exchange Rate
71347 , p_source_118 IN NUMBER
71348 --Payment Exchange Rate Type
71349 , p_source_119 IN VARCHAR2
71350 --Payment/Maturity Ledger Amount Difference
71351 , p_source_154 IN NUMBER
71352 --Gain or Loss Indicator between Payment and Maturity
71353 , p_source_161 IN VARCHAR2
71354 )
71355 IS
71356
71357 l_component_type VARCHAR2(80);
71358 l_component_code VARCHAR2(30);
71359 l_component_type_code VARCHAR2(1);
71360 l_component_appl_id INTEGER;
71364 l_ae_header_id NUMBER;
71361 l_amb_context_code VARCHAR2(30);
71362 l_entity_code VARCHAR2(30);
71363 l_event_class_code VARCHAR2(30);
71365 l_event_type_code VARCHAR2(30);
71366 l_line_definition_code VARCHAR2(30);
71367 l_line_definition_owner_code VARCHAR2(1);
71368 --
71369 -- adr variables
71370 l_segment VARCHAR2(30);
71371 l_ccid NUMBER;
71372 l_adr_transaction_coa_id NUMBER;
71373 l_adr_accounting_coa_id NUMBER;
71374 l_adr_flexfield_segment_code VARCHAR2(30);
71375 l_adr_flex_value_set_id NUMBER;
71376 l_adr_value_type_code VARCHAR2(30);
71377 l_adr_value_combination_id NUMBER;
71378 l_adr_value_segment_code VARCHAR2(30);
71379
71380 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
71381 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
71382 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
71383 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
71384
71385 -- 4262811 Variables ------------------------------------------------------------------------------------------
71386 l_entered_amt_idx NUMBER;
71387 l_accted_amt_idx NUMBER;
71388 l_acc_rev_flag VARCHAR2(1);
71389 l_accrual_line_num NUMBER;
71390 l_tmp_amt NUMBER;
71391 l_acc_rev_natural_side_code VARCHAR2(1);
71392
71393 l_num_entries NUMBER;
71394 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
71395 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
71396 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
71397 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
71398 l_recog_line_1 NUMBER;
71399 l_recog_line_2 NUMBER;
71400
71401 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
71402 l_bflow_applied_to_amt NUMBER; -- 5132302
71403 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
71404
71405 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
71406
71407 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
71408 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
71409
71410 ---------------------------------------------------------------------------------------------------------------
71411
71412
71413 --
71414 -- bulk performance
71415 --
71416 l_balance_type_code VARCHAR2(1);
71417 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
71418 l_log_module VARCHAR2(240);
71419
71420 --
71421 -- Upgrade strategy
71422 --
71423 l_actual_upg_option VARCHAR2(1);
71424 l_enc_upg_option VARCHAR2(1);
71425
71426 --
71427 BEGIN
71428 --
71429 IF g_log_enabled THEN
71430 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_133';
71431 END IF;
71432 --
71433 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
71434
71435 trace
71436 (p_msg => 'BEGIN of AcctLineType_133'
71437 ,p_level => C_LEVEL_PROCEDURE
71438 ,p_module => l_log_module);
71439
71440 END IF;
71441 --
71442 l_component_type := 'AMB_JLT';
71443 l_component_code := 'AP_GAIN_PMT_MAT';
71444 l_component_type_code := 'S';
71445 l_component_appl_id := 200;
71446 l_amb_context_code := 'DEFAULT';
71447 l_entity_code := 'AP_PAYMENTS';
71448 l_event_class_code := 'FUTURE DATED PAYMENTS';
71449 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
71450 l_line_definition_owner_code := 'S';
71451 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
71452 --
71453 l_balance_type_code := 'A';
71454 l_segment := NULL;
71455 l_ccid := NULL;
71456 l_adr_transaction_coa_id := NULL;
71457 l_adr_accounting_coa_id := NULL;
71458 l_adr_flexfield_segment_code := NULL;
71459 l_adr_flex_value_set_id := NULL;
71460 l_adr_value_type_code := NULL;
71461 l_adr_value_combination_id := NULL;
71462 l_adr_value_segment_code := NULL;
71463
71464 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
71465 l_bflow_class_code := ''; -- 4219869 Business Flow
71466 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
71467 l_budgetary_control_flag := 'N';
71468
71469 l_bflow_applied_to_amt_idx := NULL; -- 5132302
71470 l_bflow_applied_to_amt := NULL; -- 5132302
71471 l_entered_amt_idx := NULL; -- 4262811
71472 l_accted_amt_idx := NULL; -- 4262811
71473 l_acc_rev_flag := NULL; -- 4262811
71474 l_accrual_line_num := NULL; -- 4262811
71475 l_tmp_amt := NULL; -- 4262811
71476 --
71477 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
71478 (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
71479 return;
71480 END IF;
71481
71485 ') = 'ALWAYS_ALWAYS' OR
71482 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
71483 l_balance_type_code <> 'B' THEN
71484 IF (NVL(p_source_97,'
71486 NVL(p_source_97,'
71487 ') = 'ISSUE_ISSUE') AND
71488 p_source_114 IS NOT NULL AND
71489 NVL(p_source_161,'
71490 ') = 'GAIN' AND
71491 NVL(p_source_98,'
71492 ') <> 'EXCHANGE RATE VARIANCE' AND
71493 NVL(p_source_98,'
71494 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
71495 NVL(p_source_98,'
71496 ') <> 'BANK CHARGE' AND
71497 NVL(p_source_98,'
71498 ') <> 'BANK ERROR' AND
71499 NVL(p_source_98,'
71500 ') <> 'AWT'
71501 THEN
71502
71503 --
71504 XLA_AE_LINES_PKG.SetNewLine;
71505
71506 p_balance_type_code := l_balance_type_code;
71507 -- set the flag so later we will know whether the gain loss line needs to be created
71508
71509 IF(l_balance_type_code = 'A' ) THEN
71510 p_actual_flag :='G';
71511 END IF;
71512
71513 --
71514 -- bulk performance
71515 --
71516 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
71517 p_header_num => 0); -- 4262811
71518 --
71519 -- set accounting line options
71520 --
71521 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
71522 p_natural_side_code => 'C'
71523 , p_gain_or_loss_flag => 'Y'
71524 , p_gl_transfer_mode_code => 'S'
71525 , p_acct_entry_type_code => 'A'
71526 , p_switch_side_flag => 'Y'
71527 , p_merge_duplicate_code => 'A'
71528 );
71529 --
71530 l_acc_rev_natural_side_code := 'D'; -- 4262811
71531 --
71532 --
71533 -- set accounting line type info
71534 --
71535 xla_ae_lines_pkg.SetAcctLineType
71536 (p_component_type => l_component_type
71537 ,p_event_type_code => l_event_type_code
71538 ,p_line_definition_owner_code => l_line_definition_owner_code
71539 ,p_line_definition_code => l_line_definition_code
71540 ,p_accounting_line_code => l_component_code
71541 ,p_accounting_line_type_code => l_component_type_code
71542 ,p_accounting_line_appl_id => l_component_appl_id
71543 ,p_amb_context_code => l_amb_context_code
71544 ,p_entity_code => l_entity_code
71545 ,p_event_class_code => l_event_class_code);
71546 --
71547 -- set accounting class
71548 --
71549 xla_ae_lines_pkg.SetAcctClass(
71550 p_accounting_class_code => 'GAIN'
71551 , p_ae_header_id => l_ae_header_id
71552 );
71553
71554 --
71555 -- set rounding class
71556 --
71557 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
71558 'GAIN';
71559
71560 --
71561 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
71562 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
71563 --
71564 -- bulk performance
71565 --
71566 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
71567
71568 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
71569 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
71570
71571 -- 4955764
71572 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
71573 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
71574
71575 -- 4458381 Public Sector Enh
71576
71577 --
71578 -- set accounting attributes for the line type
71579 --
71580 l_entered_amt_idx := 9;
71581 l_accted_amt_idx := 14;
71582 l_bflow_applied_to_amt_idx := NULL; -- 5132302
71583 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
71584 l_rec_acct_attrs.array_char_value(1) := p_source_53;
71585 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
71586 l_rec_acct_attrs.array_num_value(2) := p_source_91;
71587 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
71588 l_rec_acct_attrs.array_char_value(3) := p_source_100;
71589 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
71590 l_rec_acct_attrs.array_char_value(4) := p_source_101;
71591 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
71592 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_102);
71593 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
71594 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_103);
71595 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
71596 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
71597 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
71598 l_rec_acct_attrs.array_char_value(8) := p_source_55;
71599 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
71600 l_rec_acct_attrs.array_num_value(9) := p_source_99;
71601 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
71602 l_rec_acct_attrs.array_char_value(10) := p_source_13;
71606 l_rec_acct_attrs.array_num_value(12) := p_source_118;
71603 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
71604 l_rec_acct_attrs.array_date_value(11) := p_source_117;
71605 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
71607 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
71608 l_rec_acct_attrs.array_char_value(13) := p_source_119;
71609 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
71610 l_rec_acct_attrs.array_num_value(14) := p_source_154;
71611 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
71612 l_rec_acct_attrs.array_char_value(15) := p_source_80;
71613 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
71614 l_rec_acct_attrs.array_num_value(16) := p_source_110;
71615 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
71616 l_rec_acct_attrs.array_num_value(17) := p_source_111;
71617 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
71618 l_rec_acct_attrs.array_char_value(18) := p_source_83;
71619 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
71620 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_112);
71621 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
71622 l_rec_acct_attrs.array_char_value(20) := p_source_55;
71623
71624 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
71625 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
71626
71627 ---------------------------------------------------------------------------------------------------------------
71628 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
71629 ---------------------------------------------------------------------------------------------------------------
71630 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
71631
71632 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
71633 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
71634
71635 IF xla_accounting_cache_pkg.GetValueChar
71636 (p_source_code => 'LEDGER_CATEGORY_CODE'
71637 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
71638 AND l_bflow_method_code = 'PRIOR_ENTRY'
71639 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
71640 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
71641 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
71642 )
71643 THEN
71644 xla_ae_lines_pkg.BflowUpgEntry
71645 (p_business_method_code => l_bflow_method_code
71646 ,p_business_class_code => l_bflow_class_code
71647 ,p_balance_type => l_balance_type_code);
71648 ELSE
71649 NULL;
71650 -- No business flow processing for business flow method of NONE.
71651 END IF;
71652
71653 --
71654 -- call analytical criteria
71655 --
71656
71657 --
71658 -- call description
71659 --
71660 -- No description or it is inherited.
71661 --
71662 -- call ADRs
71663 -- Bug 4922099
71664 --
71665 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
71666 (NVL(l_actual_upg_option, 'N') = 'O') OR
71667 (NVL(l_enc_upg_option, 'N') = 'O')
71668 )
71669 THEN
71670 NULL;
71671 --
71672 --
71673
71674 l_ccid := AcctDerRule_38(
71675 p_application_id => p_application_id
71676 , p_ae_header_id => l_ae_header_id
71677 , p_source_15 => p_source_15
71678 , p_source_15_meaning => p_source_15_meaning
71679 , p_source_30 => p_source_30
71680 , p_source_36 => p_source_36
71681 , p_source_37 => p_source_37
71682 , x_transaction_coa_id => l_adr_transaction_coa_id
71683 , x_accounting_coa_id => l_adr_accounting_coa_id
71684 , x_value_type_code => l_adr_value_type_code
71685 , p_side => 'NA'
71686 );
71687
71688 xla_ae_lines_pkg.set_ccid(
71689 p_code_combination_id => l_ccid
71690 , p_value_type_code => l_adr_value_type_code
71691 , p_transaction_coa_id => l_adr_transaction_coa_id
71692 , p_accounting_coa_id => l_adr_accounting_coa_id
71693 , p_adr_code => 'AP_REAL_GAIN'
71694 , p_adr_type_code => 'S'
71695 , p_component_type => l_component_type
71696 , p_component_code => l_component_code
71697 , p_component_type_code => l_component_type_code
71698 , p_component_appl_id => l_component_appl_id
71699 , p_amb_context_code => l_amb_context_code
71700 , p_side => 'NA'
71701 );
71702
71703
71704 l_segment := AcctDerRule_22(
71705 p_application_id => p_application_id
71706 , p_ae_header_id => l_ae_header_id
71707 , p_source_15 => p_source_15
71708 , p_source_15_meaning => p_source_15_meaning
71709 , p_source_30 => p_source_30
71710 , x_transaction_coa_id => l_adr_transaction_coa_id
71711 , x_accounting_coa_id => l_adr_accounting_coa_id
71712 , x_flexfield_segment_code => l_adr_flexfield_segment_code
71716 , x_value_segment_code => l_adr_value_segment_code
71713 , x_flex_value_set_id => l_adr_flex_value_set_id
71714 , x_value_type_code => l_adr_value_type_code
71715 , x_value_combination_id => l_adr_value_combination_id
71717 , p_side => 'NA'
71718 , p_override_seg_flag => 'Y'
71719 );
71720
71721 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
71722
71723 xla_ae_lines_pkg.set_segment(
71724 p_to_segment_code => 'GL_BALANCING'
71725 , p_segment_value => l_segment
71726 , p_from_segment_code => l_adr_value_segment_code
71727 , p_from_combination_id => l_adr_value_combination_id
71728 , p_value_type_code => l_adr_value_type_code
71729 , p_transaction_coa_id => l_adr_transaction_coa_id
71730 , p_accounting_coa_id => l_adr_accounting_coa_id
71731 , p_flexfield_segment_code => l_adr_flexfield_segment_code
71732 , p_flex_value_set_id => l_adr_flex_value_set_id
71733 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
71734 , p_adr_type_code => 'S'
71735 , p_component_type => l_component_type
71736 , p_component_code => l_component_code
71737 , p_component_type_code => l_component_type_code
71738 , p_component_appl_id => l_component_appl_id
71739 , p_amb_context_code => l_amb_context_code
71740 , p_entity_code => 'AP_PAYMENTS'
71741 , p_event_class_code => 'FUTURE DATED PAYMENTS'
71742 , p_side => 'NA'
71743 );
71744
71745 END IF;
71746
71747 l_segment := AcctDerRule_17(
71748 p_application_id => p_application_id
71749 , p_ae_header_id => l_ae_header_id
71750 , p_source_15 => p_source_15
71751 , p_source_15_meaning => p_source_15_meaning
71752 , p_source_36 => p_source_36
71753 , p_source_37 => p_source_37
71754 , x_transaction_coa_id => l_adr_transaction_coa_id
71755 , x_accounting_coa_id => l_adr_accounting_coa_id
71756 , x_flexfield_segment_code => l_adr_flexfield_segment_code
71757 , x_flex_value_set_id => l_adr_flex_value_set_id
71758 , x_value_type_code => l_adr_value_type_code
71759 , x_value_combination_id => l_adr_value_combination_id
71760 , x_value_segment_code => l_adr_value_segment_code
71761 , p_side => 'NA'
71762 , p_override_seg_flag => 'Y'
71763 );
71764
71765 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
71766
71767 xla_ae_lines_pkg.set_segment(
71768 p_to_segment_code => 'GL_ACCOUNT'
71769 , p_segment_value => l_segment
71770 , p_from_segment_code => l_adr_value_segment_code
71771 , p_from_combination_id => l_adr_value_combination_id
71772 , p_value_type_code => l_adr_value_type_code
71773 , p_transaction_coa_id => l_adr_transaction_coa_id
71774 , p_accounting_coa_id => l_adr_accounting_coa_id
71775 , p_flexfield_segment_code => l_adr_flexfield_segment_code
71776 , p_flex_value_set_id => l_adr_flex_value_set_id
71777 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
71778 , p_adr_type_code => 'S'
71779 , p_component_type => l_component_type
71780 , p_component_code => l_component_code
71781 , p_component_type_code => l_component_type_code
71782 , p_component_appl_id => l_component_appl_id
71783 , p_amb_context_code => l_amb_context_code
71784 , p_entity_code => 'AP_PAYMENTS'
71785 , p_event_class_code => 'FUTURE DATED PAYMENTS'
71786 , p_side => 'NA'
71787 );
71788
71789 END IF;
71790
71791 --
71792 --
71793 END IF;
71794 --
71795 -- Bug 4922099
71796 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
71797 (NVL(l_enc_upg_option, 'N') = 'O')
71798 ) AND
71799 (l_bflow_method_code = 'PRIOR_ENTRY')
71800 )
71801 THEN
71802 IF
71803 --
71804 1 = 2
71805 --
71806 THEN
71807 xla_accounting_err_pkg.build_message
71808 (p_appli_s_name => 'XLA'
71809 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
71810 ,p_token_1 => 'LINE_NUMBER'
71811 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
71812 ,p_token_2 => 'LINE_TYPE_NAME'
71813 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
71814 l_component_type
71815 ,l_component_code
71816 ,l_component_type_code
71817 ,l_component_appl_id
71818 ,l_amb_context_code
71819 ,l_entity_code
71823 ,p_value_3 => xla_lookups_pkg.get_meaning(
71820 ,l_event_class_code
71821 )
71822 ,p_token_3 => 'OWNER'
71824 p_lookup_type => 'XLA_OWNER_TYPE'
71825 ,p_lookup_code => l_component_type_code
71826 )
71827 ,p_token_4 => 'PRODUCT_NAME'
71828 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
71829 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
71830 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
71831 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
71832 ,p_ae_header_id => NULL
71833 );
71834
71835 IF (C_LEVEL_ERROR>= g_log_level) THEN
71836 trace
71837 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
71838 ,p_level => C_LEVEL_ERROR
71839 ,p_module => l_log_module);
71840 END IF;
71841 END IF;
71842 END IF;
71843 --
71844 --
71845 ------------------------------------------------------------------------------------------------
71846 -- 4219869 Business Flow
71847 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
71848 -- Prior Entry. Currently, the following code is always generated.
71849 ------------------------------------------------------------------------------------------------
71850 XLA_AE_LINES_PKG.ValidateCurrentLine;
71851
71852 ------------------------------------------------------------------------------------
71853 -- 4219869 Business Flow
71854 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
71855 ------------------------------------------------------------------------------------
71856 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
71857
71858 ----------------------------------------------------------------------------------
71859 -- 4219869 Business Flow
71860 -- Update journal entry status -- Need to generate this within IF <condition>
71861 ----------------------------------------------------------------------------------
71862 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
71863 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
71864 ,p_balance_type_code => l_balance_type_code
71865 );
71866
71867 -------------------------------------------------------------------------------------------
71868 -- 4262811 - Generate the Accrual Reversal lines
71869 -------------------------------------------------------------------------------------------
71870 BEGIN
71871 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
71872 (g_array_event(p_event_id).array_value_num('header_index'));
71873 IF l_acc_rev_flag IS NULL THEN
71874 l_acc_rev_flag := 'N';
71875 END IF;
71876 EXCEPTION
71877 WHEN OTHERS THEN
71878 l_acc_rev_flag := 'N';
71879 END;
71880 --
71881 IF (l_acc_rev_flag = 'Y') THEN
71882
71883 -- 4645092 ------------------------------------------------------------------------------
71884 -- To allow MPA report to determine if it should generate report process
71885 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
71886 ------------------------------------------------------------------------------------------
71887
71888 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
71889 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
71890 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
71891 -- call ADRs
71892 -- Bug 4922099
71893 --
71894 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
71895 (NVL(l_actual_upg_option, 'N') = 'O') OR
71896 (NVL(l_enc_upg_option, 'N') = 'O')
71897 )
71898 THEN
71899 NULL;
71900 --
71901 --
71902
71903 l_ccid := AcctDerRule_38(
71904 p_application_id => p_application_id
71905 , p_ae_header_id => l_ae_header_id
71906 , p_source_15 => p_source_15
71907 , p_source_15_meaning => p_source_15_meaning
71908 , p_source_30 => p_source_30
71909 , p_source_36 => p_source_36
71910 , p_source_37 => p_source_37
71911 , x_transaction_coa_id => l_adr_transaction_coa_id
71912 , x_accounting_coa_id => l_adr_accounting_coa_id
71913 , x_value_type_code => l_adr_value_type_code
71914 , p_side => 'NA'
71915 );
71916
71917 xla_ae_lines_pkg.set_ccid(
71918 p_code_combination_id => l_ccid
71919 , p_value_type_code => l_adr_value_type_code
71920 , p_transaction_coa_id => l_adr_transaction_coa_id
71921 , p_accounting_coa_id => l_adr_accounting_coa_id
71922 , p_adr_code => 'AP_REAL_GAIN'
71926 , p_component_type_code => l_component_type_code
71923 , p_adr_type_code => 'S'
71924 , p_component_type => l_component_type
71925 , p_component_code => l_component_code
71927 , p_component_appl_id => l_component_appl_id
71928 , p_amb_context_code => l_amb_context_code
71929 , p_side => 'NA'
71930 );
71931
71932
71933 l_segment := AcctDerRule_22(
71934 p_application_id => p_application_id
71935 , p_ae_header_id => l_ae_header_id
71936 , p_source_15 => p_source_15
71937 , p_source_15_meaning => p_source_15_meaning
71938 , p_source_30 => p_source_30
71939 , x_transaction_coa_id => l_adr_transaction_coa_id
71940 , x_accounting_coa_id => l_adr_accounting_coa_id
71941 , x_flexfield_segment_code => l_adr_flexfield_segment_code
71942 , x_flex_value_set_id => l_adr_flex_value_set_id
71943 , x_value_type_code => l_adr_value_type_code
71944 , x_value_combination_id => l_adr_value_combination_id
71945 , x_value_segment_code => l_adr_value_segment_code
71946 , p_side => 'NA'
71947 , p_override_seg_flag => 'Y'
71948 );
71949
71950 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
71951
71952 xla_ae_lines_pkg.set_segment(
71953 p_to_segment_code => 'GL_BALANCING'
71954 , p_segment_value => l_segment
71955 , p_from_segment_code => l_adr_value_segment_code
71956 , p_from_combination_id => l_adr_value_combination_id
71957 , p_value_type_code => l_adr_value_type_code
71958 , p_transaction_coa_id => l_adr_transaction_coa_id
71959 , p_accounting_coa_id => l_adr_accounting_coa_id
71960 , p_flexfield_segment_code => l_adr_flexfield_segment_code
71961 , p_flex_value_set_id => l_adr_flex_value_set_id
71962 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
71963 , p_adr_type_code => 'S'
71964 , p_component_type => l_component_type
71965 , p_component_code => l_component_code
71966 , p_component_type_code => l_component_type_code
71967 , p_component_appl_id => l_component_appl_id
71968 , p_amb_context_code => l_amb_context_code
71969 , p_entity_code => 'AP_PAYMENTS'
71970 , p_event_class_code => 'FUTURE DATED PAYMENTS'
71971 , p_side => 'NA'
71972 );
71973
71974 END IF;
71975
71976 l_segment := AcctDerRule_17(
71977 p_application_id => p_application_id
71978 , p_ae_header_id => l_ae_header_id
71979 , p_source_15 => p_source_15
71980 , p_source_15_meaning => p_source_15_meaning
71981 , p_source_36 => p_source_36
71982 , p_source_37 => p_source_37
71983 , x_transaction_coa_id => l_adr_transaction_coa_id
71984 , x_accounting_coa_id => l_adr_accounting_coa_id
71985 , x_flexfield_segment_code => l_adr_flexfield_segment_code
71986 , x_flex_value_set_id => l_adr_flex_value_set_id
71987 , x_value_type_code => l_adr_value_type_code
71988 , x_value_combination_id => l_adr_value_combination_id
71989 , x_value_segment_code => l_adr_value_segment_code
71990 , p_side => 'NA'
71991 , p_override_seg_flag => 'Y'
71992 );
71993
71994 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
71995
71996 xla_ae_lines_pkg.set_segment(
71997 p_to_segment_code => 'GL_ACCOUNT'
71998 , p_segment_value => l_segment
71999 , p_from_segment_code => l_adr_value_segment_code
72000 , p_from_combination_id => l_adr_value_combination_id
72001 , p_value_type_code => l_adr_value_type_code
72002 , p_transaction_coa_id => l_adr_transaction_coa_id
72003 , p_accounting_coa_id => l_adr_accounting_coa_id
72004 , p_flexfield_segment_code => l_adr_flexfield_segment_code
72005 , p_flex_value_set_id => l_adr_flex_value_set_id
72006 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
72007 , p_adr_type_code => 'S'
72008 , p_component_type => l_component_type
72009 , p_component_code => l_component_code
72010 , p_component_type_code => l_component_type_code
72011 , p_component_appl_id => l_component_appl_id
72012 , p_amb_context_code => l_amb_context_code
72013 , p_entity_code => 'AP_PAYMENTS'
72014 , p_event_class_code => 'FUTURE DATED PAYMENTS'
72015 , p_side => 'NA'
72016 );
72017
72018 END IF;
72019
72020 --
72021 --
72022 END IF;
72023
72024 --
72025 -- Update the line information that should be overwritten
72026 --
72027 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
72028 p_header_num => 1);
72029 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
72030
72031 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
72032
72033 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
72034 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
72038 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
72035 END IF;
72036
72037 --
72039 --
72040 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
72041 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
72042 ELSE
72043 ---------------------------------------------------------------------------------------------------
72044 -- 4262811a Switch Sign
72045 ---------------------------------------------------------------------------------------------------
72046 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
72047 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
72048 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
72049 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
72050 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
72051 -- 5132302
72052 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
72053 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
72054
72055 END IF;
72056
72057 -- 4955764
72058 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
72059 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
72060
72061
72062 XLA_AE_LINES_PKG.ValidateCurrentLine;
72063 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
72064
72065 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
72066 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
72067 ,p_balance_type_code => l_balance_type_code);
72068
72069 END IF;
72070
72071 -----------------------------------------------------------------------------------------
72072 -- 4262811 Multiperiod Accounting
72073 -----------------------------------------------------------------------------------------
72074 -- No MPA option is assigned.
72075
72076
72077 END IF;
72078 END IF;
72079 --
72080
72081 --
72082 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
72083 trace
72084 (p_msg => 'END of AcctLineType_133'
72085 ,p_level => C_LEVEL_PROCEDURE
72086 ,p_module => l_log_module);
72087 END IF;
72088 --
72089 EXCEPTION
72090 WHEN xla_exceptions_pkg.application_exception THEN
72091 RAISE;
72092 WHEN OTHERS THEN
72093 xla_exceptions_pkg.raise_message
72094 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_133');
72095 END AcctLineType_133;
72096 --
72097
72098 ---------------------------------------
72099 --
72100 -- PRIVATE FUNCTION
72101 -- AcctLineType_134
72102 --
72103 ---------------------------------------
72104 PROCEDURE AcctLineType_134 (
72105 p_application_id IN NUMBER
72106 ,p_event_id IN NUMBER
72107 ,p_calculate_acctd_flag IN VARCHAR2
72108 ,p_calculate_g_l_flag IN VARCHAR2
72109 ,p_actual_flag IN OUT VARCHAR2
72110 ,p_balance_type_code OUT VARCHAR2
72111 ,p_gain_or_loss_ref OUT VARCHAR2
72112
72113 --Automatic Offsets Value
72114 , p_source_15 IN VARCHAR2
72115 , p_source_15_meaning IN VARCHAR2
72116 --Invoice Distribution Account
72117 , p_source_30 IN NUMBER
72118 --Internal Realized Gain Account
72119 , p_source_36 IN NUMBER
72120 --Bank Gain Account
72121 , p_source_37 IN NUMBER
72122 --Accounting Reversal Indicator
72123 , p_source_53 IN VARCHAR2
72124 --Distribution Link Type
72125 , p_source_55 IN VARCHAR2
72126 --Invoice Identifier
72127 , p_source_58 IN NUMBER
72128 --Payables Encumbrance Upgrade Credit Account
72129 , p_source_65 IN NUMBER
72130 --Payables Encumbrance Upgrade Credit Amount
72131 , p_source_66 IN NUMBER
72132 --Invoice Currency Code
72133 , p_source_67 IN VARCHAR2
72134 --Payables Encumbrance Upgrade Credit Base Amount
72135 , p_source_68 IN NUMBER
72136 --Payables Encumbrance Upgrade Debit Account
72137 , p_source_69 IN NUMBER
72138 --Payables Encumbrance Upgrade Debit Amount
72139 , p_source_70 IN NUMBER
72140 --Payables Encumbrance Upgrade Debit Base Amount
72141 , p_source_71 IN NUMBER
72142 --Payables Encumbrance Upgrade Option
72143 , p_source_72 IN VARCHAR2
72144 --Deferred Accounting End Date
72145 , p_source_77 IN DATE
72146 --Deferred Accounting Option
72147 , p_source_78 IN VARCHAR2
72148 --Deferred Accounting Start Date
72149 , p_source_79 IN DATE
72150 --Override Accounted Amount Indicator
72151 , p_source_80 IN VARCHAR2
72152 , p_source_80_meaning IN VARCHAR2
72153 --Invoice Supplier Identifier
72154 , p_source_81 IN NUMBER
72155 --Invoice Supplier Site Identifier
72156 , p_source_82 IN NUMBER
72157 --Third Party Type
72158 , p_source_83 IN VARCHAR2
72159 --Invoice Distribution Tax Line Identifier
72160 , p_source_86 IN NUMBER
72164 , p_source_88 IN NUMBER
72161 --Invoice Distribution Tax Distribution Identifier from Tax
72162 , p_source_87 IN NUMBER
72163 --Invoice Distribution Summary Tax Line Identifier
72165 --Payables Upgrade Credit Encumbrance Type Identifier
72166 , p_source_89 IN NUMBER
72167 --Payables Upgrade Debit Encumbrance Type Identifier
72168 , p_source_90 IN NUMBER
72169 --Business Flow Accounts Payable Application Identifier
72170 , p_source_91 IN NUMBER
72171 --Prepayment Distribution Type
72172 , p_source_125 IN VARCHAR2
72173 --Prepayment Application Distribution Identifier
72174 , p_source_127 IN NUMBER
72175 --Upgrade Encumbrance Credit Account Class
72176 , p_source_132 IN VARCHAR2
72177 --Upgrade Encumbrance Debit Account Class
72178 , p_source_133 IN VARCHAR2
72179 --Prepayment Distribution Amount
72180 , p_source_134 IN NUMBER
72181 --Identifier of the Prepayment Application Reversed
72182 , p_source_136 IN NUMBER
72183 --Invoice Exchange Date
72184 , p_source_143 IN DATE
72185 --Invoice Exchange Rate
72186 , p_source_144 IN NUMBER
72187 --Invoice Exchange Rate Type
72188 , p_source_145 IN VARCHAR2
72189 --Business Flow Prepayment Invoice Distribution Type
72190 , p_source_146 IN VARCHAR2
72191 --Business Flow Prepayment Invoice Entity Code
72192 , p_source_147 IN VARCHAR2
72193 --Business Flow Prepayment Invoice Distribution Identifier
72194 , p_source_148 IN NUMBER
72195 --Business Flow Prepayment Invoice Identifier
72196 , p_source_149 IN NUMBER
72197 --Prepayment/Invoice Ledger Amount Difference
72198 , p_source_155 IN NUMBER
72199 --Gain or Loss Indicator between Prepayment and Invoice
72200 , p_source_162 IN VARCHAR2
72201 )
72202 IS
72203
72204 l_component_type VARCHAR2(80);
72205 l_component_code VARCHAR2(30);
72206 l_component_type_code VARCHAR2(1);
72207 l_component_appl_id INTEGER;
72208 l_amb_context_code VARCHAR2(30);
72209 l_entity_code VARCHAR2(30);
72210 l_event_class_code VARCHAR2(30);
72211 l_ae_header_id NUMBER;
72212 l_event_type_code VARCHAR2(30);
72213 l_line_definition_code VARCHAR2(30);
72214 l_line_definition_owner_code VARCHAR2(1);
72215 --
72216 -- adr variables
72217 l_segment VARCHAR2(30);
72218 l_ccid NUMBER;
72219 l_adr_transaction_coa_id NUMBER;
72220 l_adr_accounting_coa_id NUMBER;
72221 l_adr_flexfield_segment_code VARCHAR2(30);
72222 l_adr_flex_value_set_id NUMBER;
72223 l_adr_value_type_code VARCHAR2(30);
72224 l_adr_value_combination_id NUMBER;
72225 l_adr_value_segment_code VARCHAR2(30);
72226
72227 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
72228 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
72229 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
72230 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
72231
72232 -- 4262811 Variables ------------------------------------------------------------------------------------------
72233 l_entered_amt_idx NUMBER;
72234 l_accted_amt_idx NUMBER;
72235 l_acc_rev_flag VARCHAR2(1);
72236 l_accrual_line_num NUMBER;
72237 l_tmp_amt NUMBER;
72238 l_acc_rev_natural_side_code VARCHAR2(1);
72239
72240 l_num_entries NUMBER;
72241 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
72242 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
72243 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
72244 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
72245 l_recog_line_1 NUMBER;
72246 l_recog_line_2 NUMBER;
72247
72248 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
72249 l_bflow_applied_to_amt NUMBER; -- 5132302
72250 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
72251
72252 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
72253
72254 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
72255 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
72256
72257 ---------------------------------------------------------------------------------------------------------------
72258
72259
72260 --
72261 -- bulk performance
72262 --
72263 l_balance_type_code VARCHAR2(1);
72264 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
72265 l_log_module VARCHAR2(240);
72266
72267 --
72268 -- Upgrade strategy
72269 --
72270 l_actual_upg_option VARCHAR2(1);
72271 l_enc_upg_option VARCHAR2(1);
72272
72273 --
72274 BEGIN
72275 --
72276 IF g_log_enabled THEN
72277 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_134';
72278 END IF;
72279 --
72280 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
72281
72282 trace
72283 (p_msg => 'BEGIN of AcctLineType_134'
72284 ,p_level => C_LEVEL_PROCEDURE
72288 --
72285 ,p_module => l_log_module);
72286
72287 END IF;
72289 l_component_type := 'AMB_JLT';
72290 l_component_code := 'AP_GAIN_PREPAY_APP';
72291 l_component_type_code := 'S';
72292 l_component_appl_id := 200;
72293 l_amb_context_code := 'DEFAULT';
72294 l_entity_code := 'AP_INVOICES';
72295 l_event_class_code := 'PREPAYMENT APPLICATIONS';
72296 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
72297 l_line_definition_owner_code := 'S';
72298 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
72299 --
72300 l_balance_type_code := 'A';
72301 l_segment := NULL;
72302 l_ccid := NULL;
72303 l_adr_transaction_coa_id := NULL;
72304 l_adr_accounting_coa_id := NULL;
72305 l_adr_flexfield_segment_code := NULL;
72306 l_adr_flex_value_set_id := NULL;
72307 l_adr_value_type_code := NULL;
72308 l_adr_value_combination_id := NULL;
72309 l_adr_value_segment_code := NULL;
72310
72311 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
72312 l_bflow_class_code := ''; -- 4219869 Business Flow
72313 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
72314 l_budgetary_control_flag := 'N';
72315
72316 l_bflow_applied_to_amt_idx := NULL; -- 5132302
72317 l_bflow_applied_to_amt := NULL; -- 5132302
72318 l_entered_amt_idx := NULL; -- 4262811
72319 l_accted_amt_idx := NULL; -- 4262811
72320 l_acc_rev_flag := NULL; -- 4262811
72321 l_accrual_line_num := NULL; -- 4262811
72322 l_tmp_amt := NULL; -- 4262811
72323 --
72324 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
72325 (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
72326 return;
72327 END IF;
72328
72329 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
72330 l_balance_type_code <> 'B' THEN
72331 IF NVL(p_source_125,'
72332 ') = 'PREPAY APPL' AND
72333 NVL(p_source_162,'
72334 ') = 'GAIN'
72335 THEN
72336
72337 --
72338 XLA_AE_LINES_PKG.SetNewLine;
72339
72340 p_balance_type_code := l_balance_type_code;
72341 -- set the flag so later we will know whether the gain loss line needs to be created
72342
72343 IF(l_balance_type_code = 'A' ) THEN
72344 p_actual_flag :='G';
72345 END IF;
72346
72347 --
72348 -- bulk performance
72349 --
72350 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
72351 p_header_num => 0); -- 4262811
72352 --
72353 -- set accounting line options
72354 --
72355 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
72356 p_natural_side_code => 'D'
72357 , p_gain_or_loss_flag => 'Y'
72358 , p_gl_transfer_mode_code => 'S'
72359 , p_acct_entry_type_code => 'A'
72360 , p_switch_side_flag => 'Y'
72361 , p_merge_duplicate_code => 'A'
72362 );
72363 --
72364 l_acc_rev_natural_side_code := 'C'; -- 4262811
72365 --
72366 --
72367 -- set accounting line type info
72368 --
72369 xla_ae_lines_pkg.SetAcctLineType
72370 (p_component_type => l_component_type
72371 ,p_event_type_code => l_event_type_code
72372 ,p_line_definition_owner_code => l_line_definition_owner_code
72373 ,p_line_definition_code => l_line_definition_code
72374 ,p_accounting_line_code => l_component_code
72375 ,p_accounting_line_type_code => l_component_type_code
72376 ,p_accounting_line_appl_id => l_component_appl_id
72377 ,p_amb_context_code => l_amb_context_code
72378 ,p_entity_code => l_entity_code
72379 ,p_event_class_code => l_event_class_code);
72380 --
72381 -- set accounting class
72382 --
72383 xla_ae_lines_pkg.SetAcctClass(
72384 p_accounting_class_code => 'GAIN'
72385 , p_ae_header_id => l_ae_header_id
72386 );
72387
72388 --
72389 -- set rounding class
72390 --
72391 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
72392 'GAIN';
72393
72394 --
72395 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
72396 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
72397 --
72398 -- bulk performance
72399 --
72400 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
72401
72402 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
72403 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
72404
72405 -- 4955764
72406 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
72410
72407 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
72408
72409 -- 4458381 Public Sector Enh
72411 --
72412 -- set accounting attributes for the line type
72413 --
72414 l_entered_amt_idx := 25;
72415 l_accted_amt_idx := 30;
72416 l_bflow_applied_to_amt_idx := NULL; -- 5132302
72417 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
72418 l_rec_acct_attrs.array_char_value(1) := p_source_53;
72419 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
72420 l_rec_acct_attrs.array_num_value(2) :=
72421 xla_ae_sources_pkg.GetSystemSourceNum(
72422 p_source_code => 'XLA_EVENT_APPL_ID'
72423 , p_source_type_code => 'Y'
72424 , p_source_application_id => 602
72425 );
72426 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
72427 l_rec_acct_attrs.array_char_value(3) := p_source_55;
72428 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
72429 l_rec_acct_attrs.array_char_value(4) :=
72430 xla_ae_sources_pkg.GetSystemSourceChar(
72431 p_source_code => 'XLA_ENTITY_CODE'
72432 , p_source_type_code => 'Y'
72433 , p_source_application_id => 602
72434 );
72435 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
72436 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_127);
72437 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
72438 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
72439 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
72440 l_rec_acct_attrs.array_num_value(7) := p_source_91;
72441 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
72442 l_rec_acct_attrs.array_char_value(8) := p_source_146;
72443 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
72444 l_rec_acct_attrs.array_char_value(9) := p_source_147;
72445 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
72446 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_148);
72447 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
72448 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_149);
72449 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
72450 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_127);
72451 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
72452 l_rec_acct_attrs.array_char_value(13) := p_source_55;
72453 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
72454 l_rec_acct_attrs.array_char_value(14) := p_source_132;
72455 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
72456 l_rec_acct_attrs.array_num_value(15) := p_source_65;
72457 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
72458 l_rec_acct_attrs.array_num_value(16) := p_source_66;
72459 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
72460 l_rec_acct_attrs.array_char_value(17) := p_source_67;
72461 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
72462 l_rec_acct_attrs.array_num_value(18) := p_source_68;
72463 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
72464 l_rec_acct_attrs.array_char_value(19) := p_source_133;
72465 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
72466 l_rec_acct_attrs.array_num_value(20) := p_source_69;
72467 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
72468 l_rec_acct_attrs.array_num_value(21) := p_source_70;
72469 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
72470 l_rec_acct_attrs.array_char_value(22) := p_source_67;
72471 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
72472 l_rec_acct_attrs.array_num_value(23) := p_source_71;
72473 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
72474 l_rec_acct_attrs.array_char_value(24) := p_source_72;
72475 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
72476 l_rec_acct_attrs.array_num_value(25) := p_source_134;
72477 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
72478 l_rec_acct_attrs.array_char_value(26) := p_source_67;
72479 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_DATE';
72480 l_rec_acct_attrs.array_date_value(27) := p_source_143;
72481 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE';
72482 l_rec_acct_attrs.array_num_value(28) := p_source_144;
72483 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_RATE_TYPE';
72484 l_rec_acct_attrs.array_char_value(29) := p_source_145;
72485 l_rec_acct_attrs.array_acct_attr_code(30) := 'LEDGER_AMOUNT';
72486 l_rec_acct_attrs.array_num_value(30) := p_source_155;
72487 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_END_DATE';
72488 l_rec_acct_attrs.array_date_value(31) := p_source_77;
72489 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_OPTION';
72490 l_rec_acct_attrs.array_char_value(32) := p_source_78;
72491 l_rec_acct_attrs.array_acct_attr_code(33) := 'MULTIPERIOD_START_DATE';
72492 l_rec_acct_attrs.array_date_value(33) := p_source_79;
72493 l_rec_acct_attrs.array_acct_attr_code(34) := 'OVERRIDE_ACCTD_AMT_FLAG';
72494 l_rec_acct_attrs.array_char_value(34) := p_source_80;
72495 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_ID';
72496 l_rec_acct_attrs.array_num_value(35) := p_source_81;
72497 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_SITE_ID';
72498 l_rec_acct_attrs.array_num_value(36) := p_source_82;
72502 l_rec_acct_attrs.array_num_value(38) := to_char(p_source_136);
72499 l_rec_acct_attrs.array_acct_attr_code(37) := 'PARTY_TYPE';
72500 l_rec_acct_attrs.array_char_value(37) := p_source_83;
72501 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_ID1';
72503 l_rec_acct_attrs.array_acct_attr_code(39) := 'REVERSED_DISTRIBUTION_TYPE';
72504 l_rec_acct_attrs.array_char_value(39) := p_source_55;
72505 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
72506 l_rec_acct_attrs.array_num_value(40) := p_source_86;
72507 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
72508 l_rec_acct_attrs.array_num_value(41) := p_source_87;
72509 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
72510 l_rec_acct_attrs.array_num_value(42) := p_source_88;
72511 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
72512 l_rec_acct_attrs.array_num_value(43) := p_source_89;
72513 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
72514 l_rec_acct_attrs.array_num_value(44) := p_source_90;
72515
72516 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
72517 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
72518
72519 ---------------------------------------------------------------------------------------------------------------
72520 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
72521 ---------------------------------------------------------------------------------------------------------------
72522 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
72523
72524 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
72525 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
72526
72527 IF xla_accounting_cache_pkg.GetValueChar
72528 (p_source_code => 'LEDGER_CATEGORY_CODE'
72529 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
72530 AND l_bflow_method_code = 'PRIOR_ENTRY'
72531 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
72532 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
72533 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
72534 )
72535 THEN
72536 xla_ae_lines_pkg.BflowUpgEntry
72537 (p_business_method_code => l_bflow_method_code
72538 ,p_business_class_code => l_bflow_class_code
72539 ,p_balance_type => l_balance_type_code);
72540 ELSE
72541 NULL;
72542 -- No business flow processing for business flow method of NONE.
72543 END IF;
72544
72545 --
72546 -- call analytical criteria
72547 --
72548
72549 --
72550 -- call description
72551 --
72552 -- No description or it is inherited.
72553 --
72554 -- call ADRs
72555 -- Bug 4922099
72556 --
72557 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
72558 (NVL(l_actual_upg_option, 'N') = 'O') OR
72559 (NVL(l_enc_upg_option, 'N') = 'O')
72560 )
72561 THEN
72562 NULL;
72563 --
72564 --
72565
72566 l_ccid := AcctDerRule_38(
72567 p_application_id => p_application_id
72568 , p_ae_header_id => l_ae_header_id
72569 , p_source_15 => p_source_15
72570 , p_source_15_meaning => p_source_15_meaning
72571 , p_source_30 => p_source_30
72572 , p_source_36 => p_source_36
72573 , p_source_37 => p_source_37
72574 , x_transaction_coa_id => l_adr_transaction_coa_id
72575 , x_accounting_coa_id => l_adr_accounting_coa_id
72576 , x_value_type_code => l_adr_value_type_code
72577 , p_side => 'NA'
72578 );
72579
72580 xla_ae_lines_pkg.set_ccid(
72581 p_code_combination_id => l_ccid
72582 , p_value_type_code => l_adr_value_type_code
72583 , p_transaction_coa_id => l_adr_transaction_coa_id
72584 , p_accounting_coa_id => l_adr_accounting_coa_id
72585 , p_adr_code => 'AP_REAL_GAIN'
72586 , p_adr_type_code => 'S'
72587 , p_component_type => l_component_type
72588 , p_component_code => l_component_code
72589 , p_component_type_code => l_component_type_code
72590 , p_component_appl_id => l_component_appl_id
72591 , p_amb_context_code => l_amb_context_code
72592 , p_side => 'NA'
72593 );
72594
72595
72596 l_segment := AcctDerRule_22(
72597 p_application_id => p_application_id
72598 , p_ae_header_id => l_ae_header_id
72599 , p_source_15 => p_source_15
72600 , p_source_15_meaning => p_source_15_meaning
72601 , p_source_30 => p_source_30
72602 , x_transaction_coa_id => l_adr_transaction_coa_id
72603 , x_accounting_coa_id => l_adr_accounting_coa_id
72604 , x_flexfield_segment_code => l_adr_flexfield_segment_code
72605 , x_flex_value_set_id => l_adr_flex_value_set_id
72606 , x_value_type_code => l_adr_value_type_code
72607 , x_value_combination_id => l_adr_value_combination_id
72608 , x_value_segment_code => l_adr_value_segment_code
72609 , p_side => 'NA'
72610 , p_override_seg_flag => 'Y'
72611 );
72612
72616 p_to_segment_code => 'GL_BALANCING'
72613 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
72614
72615 xla_ae_lines_pkg.set_segment(
72617 , p_segment_value => l_segment
72618 , p_from_segment_code => l_adr_value_segment_code
72619 , p_from_combination_id => l_adr_value_combination_id
72620 , p_value_type_code => l_adr_value_type_code
72621 , p_transaction_coa_id => l_adr_transaction_coa_id
72622 , p_accounting_coa_id => l_adr_accounting_coa_id
72623 , p_flexfield_segment_code => l_adr_flexfield_segment_code
72624 , p_flex_value_set_id => l_adr_flex_value_set_id
72625 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
72626 , p_adr_type_code => 'S'
72627 , p_component_type => l_component_type
72628 , p_component_code => l_component_code
72629 , p_component_type_code => l_component_type_code
72630 , p_component_appl_id => l_component_appl_id
72631 , p_amb_context_code => l_amb_context_code
72632 , p_entity_code => 'AP_INVOICES'
72633 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
72634 , p_side => 'NA'
72635 );
72636
72637 END IF;
72638
72639 l_segment := AcctDerRule_17(
72640 p_application_id => p_application_id
72641 , p_ae_header_id => l_ae_header_id
72642 , p_source_15 => p_source_15
72643 , p_source_15_meaning => p_source_15_meaning
72644 , p_source_36 => p_source_36
72645 , p_source_37 => p_source_37
72646 , x_transaction_coa_id => l_adr_transaction_coa_id
72647 , x_accounting_coa_id => l_adr_accounting_coa_id
72648 , x_flexfield_segment_code => l_adr_flexfield_segment_code
72649 , x_flex_value_set_id => l_adr_flex_value_set_id
72650 , x_value_type_code => l_adr_value_type_code
72651 , x_value_combination_id => l_adr_value_combination_id
72652 , x_value_segment_code => l_adr_value_segment_code
72653 , p_side => 'NA'
72654 , p_override_seg_flag => 'Y'
72655 );
72656
72657 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
72658
72659 xla_ae_lines_pkg.set_segment(
72660 p_to_segment_code => 'GL_ACCOUNT'
72661 , p_segment_value => l_segment
72662 , p_from_segment_code => l_adr_value_segment_code
72663 , p_from_combination_id => l_adr_value_combination_id
72664 , p_value_type_code => l_adr_value_type_code
72665 , p_transaction_coa_id => l_adr_transaction_coa_id
72666 , p_accounting_coa_id => l_adr_accounting_coa_id
72667 , p_flexfield_segment_code => l_adr_flexfield_segment_code
72668 , p_flex_value_set_id => l_adr_flex_value_set_id
72669 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
72670 , p_adr_type_code => 'S'
72671 , p_component_type => l_component_type
72672 , p_component_code => l_component_code
72673 , p_component_type_code => l_component_type_code
72674 , p_component_appl_id => l_component_appl_id
72675 , p_amb_context_code => l_amb_context_code
72676 , p_entity_code => 'AP_INVOICES'
72677 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
72678 , p_side => 'NA'
72679 );
72680
72681 END IF;
72682
72683 --
72684 --
72685 END IF;
72686 --
72687 -- Bug 4922099
72688 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
72689 (NVL(l_enc_upg_option, 'N') = 'O')
72690 ) AND
72691 (l_bflow_method_code = 'PRIOR_ENTRY')
72692 )
72693 THEN
72694 IF
72695 --
72696 1 = 2
72697 --
72698 THEN
72699 xla_accounting_err_pkg.build_message
72700 (p_appli_s_name => 'XLA'
72701 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
72702 ,p_token_1 => 'LINE_NUMBER'
72703 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
72704 ,p_token_2 => 'LINE_TYPE_NAME'
72705 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
72706 l_component_type
72707 ,l_component_code
72708 ,l_component_type_code
72709 ,l_component_appl_id
72710 ,l_amb_context_code
72711 ,l_entity_code
72712 ,l_event_class_code
72713 )
72714 ,p_token_3 => 'OWNER'
72715 ,p_value_3 => xla_lookups_pkg.get_meaning(
72719 ,p_token_4 => 'PRODUCT_NAME'
72716 p_lookup_type => 'XLA_OWNER_TYPE'
72717 ,p_lookup_code => l_component_type_code
72718 )
72720 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
72721 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
72722 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
72723 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
72724 ,p_ae_header_id => NULL
72725 );
72726
72727 IF (C_LEVEL_ERROR>= g_log_level) THEN
72728 trace
72729 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
72730 ,p_level => C_LEVEL_ERROR
72731 ,p_module => l_log_module);
72732 END IF;
72733 END IF;
72734 END IF;
72735 --
72736 --
72737 ------------------------------------------------------------------------------------------------
72738 -- 4219869 Business Flow
72739 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
72740 -- Prior Entry. Currently, the following code is always generated.
72741 ------------------------------------------------------------------------------------------------
72742 XLA_AE_LINES_PKG.ValidateCurrentLine;
72743
72744 ------------------------------------------------------------------------------------
72745 -- 4219869 Business Flow
72746 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
72747 ------------------------------------------------------------------------------------
72748 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
72749
72750 ----------------------------------------------------------------------------------
72751 -- 4219869 Business Flow
72752 -- Update journal entry status -- Need to generate this within IF <condition>
72753 ----------------------------------------------------------------------------------
72754 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
72755 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
72756 ,p_balance_type_code => l_balance_type_code
72757 );
72758
72759 -------------------------------------------------------------------------------------------
72760 -- 4262811 - Generate the Accrual Reversal lines
72761 -------------------------------------------------------------------------------------------
72762 BEGIN
72763 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
72764 (g_array_event(p_event_id).array_value_num('header_index'));
72765 IF l_acc_rev_flag IS NULL THEN
72766 l_acc_rev_flag := 'N';
72767 END IF;
72768 EXCEPTION
72769 WHEN OTHERS THEN
72770 l_acc_rev_flag := 'N';
72771 END;
72772 --
72773 IF (l_acc_rev_flag = 'Y') THEN
72774
72775 -- 4645092 ------------------------------------------------------------------------------
72776 -- To allow MPA report to determine if it should generate report process
72777 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
72778 ------------------------------------------------------------------------------------------
72779
72780 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
72781 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
72782 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
72783 -- call ADRs
72784 -- Bug 4922099
72785 --
72786 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
72787 (NVL(l_actual_upg_option, 'N') = 'O') OR
72788 (NVL(l_enc_upg_option, 'N') = 'O')
72789 )
72790 THEN
72791 NULL;
72792 --
72793 --
72794
72795 l_ccid := AcctDerRule_38(
72796 p_application_id => p_application_id
72797 , p_ae_header_id => l_ae_header_id
72798 , p_source_15 => p_source_15
72799 , p_source_15_meaning => p_source_15_meaning
72800 , p_source_30 => p_source_30
72801 , p_source_36 => p_source_36
72802 , p_source_37 => p_source_37
72803 , x_transaction_coa_id => l_adr_transaction_coa_id
72804 , x_accounting_coa_id => l_adr_accounting_coa_id
72805 , x_value_type_code => l_adr_value_type_code
72806 , p_side => 'NA'
72807 );
72808
72809 xla_ae_lines_pkg.set_ccid(
72810 p_code_combination_id => l_ccid
72811 , p_value_type_code => l_adr_value_type_code
72812 , p_transaction_coa_id => l_adr_transaction_coa_id
72813 , p_accounting_coa_id => l_adr_accounting_coa_id
72814 , p_adr_code => 'AP_REAL_GAIN'
72815 , p_adr_type_code => 'S'
72816 , p_component_type => l_component_type
72817 , p_component_code => l_component_code
72818 , p_component_type_code => l_component_type_code
72819 , p_component_appl_id => l_component_appl_id
72820 , p_amb_context_code => l_amb_context_code
72821 , p_side => 'NA'
72825 l_segment := AcctDerRule_22(
72822 );
72823
72824
72826 p_application_id => p_application_id
72827 , p_ae_header_id => l_ae_header_id
72828 , p_source_15 => p_source_15
72829 , p_source_15_meaning => p_source_15_meaning
72830 , p_source_30 => p_source_30
72831 , x_transaction_coa_id => l_adr_transaction_coa_id
72832 , x_accounting_coa_id => l_adr_accounting_coa_id
72833 , x_flexfield_segment_code => l_adr_flexfield_segment_code
72834 , x_flex_value_set_id => l_adr_flex_value_set_id
72835 , x_value_type_code => l_adr_value_type_code
72836 , x_value_combination_id => l_adr_value_combination_id
72837 , x_value_segment_code => l_adr_value_segment_code
72838 , p_side => 'NA'
72839 , p_override_seg_flag => 'Y'
72840 );
72841
72842 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
72843
72844 xla_ae_lines_pkg.set_segment(
72845 p_to_segment_code => 'GL_BALANCING'
72846 , p_segment_value => l_segment
72847 , p_from_segment_code => l_adr_value_segment_code
72848 , p_from_combination_id => l_adr_value_combination_id
72849 , p_value_type_code => l_adr_value_type_code
72850 , p_transaction_coa_id => l_adr_transaction_coa_id
72851 , p_accounting_coa_id => l_adr_accounting_coa_id
72852 , p_flexfield_segment_code => l_adr_flexfield_segment_code
72853 , p_flex_value_set_id => l_adr_flex_value_set_id
72854 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
72855 , p_adr_type_code => 'S'
72856 , p_component_type => l_component_type
72857 , p_component_code => l_component_code
72858 , p_component_type_code => l_component_type_code
72859 , p_component_appl_id => l_component_appl_id
72860 , p_amb_context_code => l_amb_context_code
72861 , p_entity_code => 'AP_INVOICES'
72862 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
72863 , p_side => 'NA'
72864 );
72865
72866 END IF;
72867
72868 l_segment := AcctDerRule_17(
72869 p_application_id => p_application_id
72870 , p_ae_header_id => l_ae_header_id
72871 , p_source_15 => p_source_15
72872 , p_source_15_meaning => p_source_15_meaning
72873 , p_source_36 => p_source_36
72874 , p_source_37 => p_source_37
72875 , x_transaction_coa_id => l_adr_transaction_coa_id
72876 , x_accounting_coa_id => l_adr_accounting_coa_id
72877 , x_flexfield_segment_code => l_adr_flexfield_segment_code
72878 , x_flex_value_set_id => l_adr_flex_value_set_id
72879 , x_value_type_code => l_adr_value_type_code
72880 , x_value_combination_id => l_adr_value_combination_id
72881 , x_value_segment_code => l_adr_value_segment_code
72882 , p_side => 'NA'
72883 , p_override_seg_flag => 'Y'
72884 );
72885
72886 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
72887
72888 xla_ae_lines_pkg.set_segment(
72889 p_to_segment_code => 'GL_ACCOUNT'
72890 , p_segment_value => l_segment
72891 , p_from_segment_code => l_adr_value_segment_code
72892 , p_from_combination_id => l_adr_value_combination_id
72893 , p_value_type_code => l_adr_value_type_code
72894 , p_transaction_coa_id => l_adr_transaction_coa_id
72895 , p_accounting_coa_id => l_adr_accounting_coa_id
72896 , p_flexfield_segment_code => l_adr_flexfield_segment_code
72897 , p_flex_value_set_id => l_adr_flex_value_set_id
72898 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
72899 , p_adr_type_code => 'S'
72900 , p_component_type => l_component_type
72901 , p_component_code => l_component_code
72902 , p_component_type_code => l_component_type_code
72903 , p_component_appl_id => l_component_appl_id
72904 , p_amb_context_code => l_amb_context_code
72905 , p_entity_code => 'AP_INVOICES'
72906 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
72907 , p_side => 'NA'
72908 );
72909
72910 END IF;
72911
72912 --
72913 --
72914 END IF;
72915
72916 --
72917 -- Update the line information that should be overwritten
72918 --
72919 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
72920 p_header_num => 1);
72921 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
72922
72923 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
72924
72925 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
72926 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
72927 END IF;
72928
72929 --
72930 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
72931 --
72932 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
72936 -- 4262811a Switch Sign
72933 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
72934 ELSE
72935 ---------------------------------------------------------------------------------------------------
72937 ---------------------------------------------------------------------------------------------------
72938 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
72939 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
72940 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
72941 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
72942 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
72943 -- 5132302
72944 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
72945 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
72946
72947 END IF;
72948
72949 -- 4955764
72950 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
72951 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
72952
72953
72954 XLA_AE_LINES_PKG.ValidateCurrentLine;
72955 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
72956
72957 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
72958 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
72959 ,p_balance_type_code => l_balance_type_code);
72960
72961 END IF;
72962
72963 -----------------------------------------------------------------------------------------
72964 -- 4262811 Multiperiod Accounting
72965 -----------------------------------------------------------------------------------------
72966 -- No MPA option is assigned.
72967
72968
72969 END IF;
72970 END IF;
72971 --
72972
72973 --
72974 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
72975 trace
72976 (p_msg => 'END of AcctLineType_134'
72977 ,p_level => C_LEVEL_PROCEDURE
72978 ,p_module => l_log_module);
72979 END IF;
72980 --
72981 EXCEPTION
72982 WHEN xla_exceptions_pkg.application_exception THEN
72983 RAISE;
72984 WHEN OTHERS THEN
72985 xla_exceptions_pkg.raise_message
72986 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_134');
72987 END AcctLineType_134;
72988 --
72989
72990 ---------------------------------------
72991 --
72992 -- PRIVATE FUNCTION
72993 -- AcctLineType_135
72994 --
72995 ---------------------------------------
72996 PROCEDURE AcctLineType_135 (
72997 p_application_id IN NUMBER
72998 ,p_event_id IN NUMBER
72999 ,p_calculate_acctd_flag IN VARCHAR2
73000 ,p_calculate_g_l_flag IN VARCHAR2
73001 ,p_actual_flag IN OUT VARCHAR2
73002 ,p_balance_type_code OUT VARCHAR2
73003 ,p_gain_or_loss_ref OUT VARCHAR2
73004
73005 --Payment Currency Code
73006 , p_source_13 IN VARCHAR2
73007 --Automatic Offsets Value
73008 , p_source_15 IN VARCHAR2
73009 , p_source_15_meaning IN VARCHAR2
73010 --Invoice Distribution Account
73011 , p_source_30 IN NUMBER
73012 --Internal Realized Gain Account
73013 , p_source_36 IN NUMBER
73014 --Bank Gain Account
73015 , p_source_37 IN NUMBER
73016 --Accounting Reversal Indicator
73017 , p_source_53 IN VARCHAR2
73018 --Distribution Link Type
73019 , p_source_55 IN VARCHAR2
73020 --Override Accounted Amount Indicator
73021 , p_source_80 IN VARCHAR2
73022 , p_source_80_meaning IN VARCHAR2
73023 --Third Party Type
73024 , p_source_83 IN VARCHAR2
73025 --Invoice Distribution Tax Line Identifier
73026 , p_source_86 IN NUMBER
73027 --Invoice Distribution Tax Distribution Identifier from Tax
73028 , p_source_87 IN NUMBER
73029 --Invoice Distribution Summary Tax Line Identifier
73030 , p_source_88 IN NUMBER
73031 --Business Flow Accounts Payable Application Identifier
73032 , p_source_91 IN NUMBER
73033 --Business Flow Invoice Distribution Type
73034 , p_source_92 IN VARCHAR2
73035 --Business Flow Invoice Entity Code
73036 , p_source_93 IN VARCHAR2
73037 --Business Flow Invoice Distribution Identifier
73038 , p_source_94 IN NUMBER
73039 --Business Flow Invoice Identifier
73040 , p_source_95 IN NUMBER
73041 --When to Account for Payment Option
73042 , p_source_97 IN VARCHAR2
73043 --Payment Distribution Type
73044 , p_source_98 IN VARCHAR2
73045 , p_source_98_meaning IN VARCHAR2
73046 --Payment Distribution Amount
73047 , p_source_99 IN NUMBER
73048 --Payment Distribution Identifier
73049 , p_source_104 IN NUMBER
73050 --Payment Supplier Identifier
73051 , p_source_110 IN NUMBER
73052 --Payment Supplier Site Identifier
73053 , p_source_111 IN NUMBER
73054 --Payment Distribution Reversed Identifier
73055 , p_source_112 IN NUMBER
73056 --Payment Exchange Date
73057 , p_source_117 IN DATE
73061 , p_source_119 IN VARCHAR2
73058 --Payment Exchange Rate
73059 , p_source_118 IN NUMBER
73060 --Payment Exchange Rate Type
73062 --Payment Type
73063 , p_source_122 IN VARCHAR2
73064 , p_source_122_meaning IN VARCHAR2
73065 --Invoice/Payment Ledger Amount Difference
73066 , p_source_153 IN NUMBER
73067 --Gain or Loss Indicator between Invoice and Payment
73068 , p_source_158 IN VARCHAR2
73069 )
73070 IS
73071
73072 l_component_type VARCHAR2(80);
73073 l_component_code VARCHAR2(30);
73074 l_component_type_code VARCHAR2(1);
73075 l_component_appl_id INTEGER;
73076 l_amb_context_code VARCHAR2(30);
73077 l_entity_code VARCHAR2(30);
73078 l_event_class_code VARCHAR2(30);
73079 l_ae_header_id NUMBER;
73080 l_event_type_code VARCHAR2(30);
73081 l_line_definition_code VARCHAR2(30);
73082 l_line_definition_owner_code VARCHAR2(1);
73083 --
73084 -- adr variables
73085 l_segment VARCHAR2(30);
73086 l_ccid NUMBER;
73087 l_adr_transaction_coa_id NUMBER;
73088 l_adr_accounting_coa_id NUMBER;
73089 l_adr_flexfield_segment_code VARCHAR2(30);
73090 l_adr_flex_value_set_id NUMBER;
73091 l_adr_value_type_code VARCHAR2(30);
73092 l_adr_value_combination_id NUMBER;
73093 l_adr_value_segment_code VARCHAR2(30);
73094
73095 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
73096 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
73097 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
73098 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
73099
73100 -- 4262811 Variables ------------------------------------------------------------------------------------------
73101 l_entered_amt_idx NUMBER;
73102 l_accted_amt_idx NUMBER;
73103 l_acc_rev_flag VARCHAR2(1);
73104 l_accrual_line_num NUMBER;
73105 l_tmp_amt NUMBER;
73106 l_acc_rev_natural_side_code VARCHAR2(1);
73107
73108 l_num_entries NUMBER;
73109 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
73110 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
73111 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
73112 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
73113 l_recog_line_1 NUMBER;
73114 l_recog_line_2 NUMBER;
73115
73116 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
73117 l_bflow_applied_to_amt NUMBER; -- 5132302
73118 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
73119
73120 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
73121
73122 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
73123 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
73124
73125 ---------------------------------------------------------------------------------------------------------------
73126
73127
73128 --
73129 -- bulk performance
73130 --
73131 l_balance_type_code VARCHAR2(1);
73132 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
73133 l_log_module VARCHAR2(240);
73134
73135 --
73136 -- Upgrade strategy
73137 --
73138 l_actual_upg_option VARCHAR2(1);
73139 l_enc_upg_option VARCHAR2(1);
73140
73141 --
73142 BEGIN
73143 --
73144 IF g_log_enabled THEN
73145 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_135';
73146 END IF;
73147 --
73148 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
73149
73150 trace
73151 (p_msg => 'BEGIN of AcctLineType_135'
73152 ,p_level => C_LEVEL_PROCEDURE
73153 ,p_module => l_log_module);
73154
73155 END IF;
73156 --
73157 l_component_type := 'AMB_JLT';
73158 l_component_code := 'AP_GAIN_REF';
73159 l_component_type_code := 'S';
73160 l_component_appl_id := 200;
73161 l_amb_context_code := 'DEFAULT';
73162 l_entity_code := 'AP_PAYMENTS';
73163 l_event_class_code := 'REFUNDS';
73164 l_event_type_code := 'REFUNDS_ALL';
73165 l_line_definition_owner_code := 'S';
73166 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
73167 --
73168 l_balance_type_code := 'A';
73169 l_segment := NULL;
73170 l_ccid := NULL;
73171 l_adr_transaction_coa_id := NULL;
73172 l_adr_accounting_coa_id := NULL;
73173 l_adr_flexfield_segment_code := NULL;
73174 l_adr_flex_value_set_id := NULL;
73175 l_adr_value_type_code := NULL;
73176 l_adr_value_combination_id := NULL;
73177 l_adr_value_segment_code := NULL;
73178
73179 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
73180 l_bflow_class_code := ''; -- 4219869 Business Flow
73181 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
73182 l_budgetary_control_flag := 'N';
73183
73184 l_bflow_applied_to_amt_idx := NULL; -- 5132302
73185 l_bflow_applied_to_amt := NULL; -- 5132302
73189 l_accrual_line_num := NULL; -- 4262811
73186 l_entered_amt_idx := NULL; -- 4262811
73187 l_accted_amt_idx := NULL; -- 4262811
73188 l_acc_rev_flag := NULL; -- 4262811
73190 l_tmp_amt := NULL; -- 4262811
73191 --
73192 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
73193 (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
73194 return;
73195 END IF;
73196
73197 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
73198 l_balance_type_code <> 'B' THEN
73199 IF (NVL(p_source_97,'
73200 ') <> 'CLEAR_CLEAR' AND
73201 NVL(p_source_97,'
73202 ') <> 'ALWAYS_CLEAR') AND
73203 NVL(p_source_158,'
73204 ') = 'GAIN' AND
73205 NVL(p_source_122,'
73206 ') = 'R' AND
73207 NVL(p_source_98,'
73208 ') <> 'EXCHANGE RATE VARIANCE' AND
73209 NVL(p_source_98,'
73210 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
73211 NVL(p_source_98,'
73212 ') <> 'BANK CHARGE' AND
73213 NVL(p_source_98,'
73214 ') <> 'BANK ERROR'
73215 THEN
73216
73217 --
73218 XLA_AE_LINES_PKG.SetNewLine;
73219
73220 p_balance_type_code := l_balance_type_code;
73221 -- set the flag so later we will know whether the gain loss line needs to be created
73222
73223 IF(l_balance_type_code = 'A' ) THEN
73224 p_actual_flag :='G';
73225 END IF;
73226
73227 --
73228 -- bulk performance
73229 --
73230 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
73231 p_header_num => 0); -- 4262811
73232 --
73233 -- set accounting line options
73234 --
73235 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
73236 p_natural_side_code => 'C'
73237 , p_gain_or_loss_flag => 'Y'
73238 , p_gl_transfer_mode_code => 'S'
73239 , p_acct_entry_type_code => 'A'
73240 , p_switch_side_flag => 'Y'
73241 , p_merge_duplicate_code => 'A'
73242 );
73243 --
73244 l_acc_rev_natural_side_code := 'D'; -- 4262811
73245 --
73246 --
73247 -- set accounting line type info
73248 --
73249 xla_ae_lines_pkg.SetAcctLineType
73250 (p_component_type => l_component_type
73251 ,p_event_type_code => l_event_type_code
73252 ,p_line_definition_owner_code => l_line_definition_owner_code
73253 ,p_line_definition_code => l_line_definition_code
73254 ,p_accounting_line_code => l_component_code
73255 ,p_accounting_line_type_code => l_component_type_code
73256 ,p_accounting_line_appl_id => l_component_appl_id
73257 ,p_amb_context_code => l_amb_context_code
73258 ,p_entity_code => l_entity_code
73259 ,p_event_class_code => l_event_class_code);
73260 --
73261 -- set accounting class
73262 --
73263 xla_ae_lines_pkg.SetAcctClass(
73264 p_accounting_class_code => 'GAIN'
73265 , p_ae_header_id => l_ae_header_id
73266 );
73267
73268 --
73269 -- set rounding class
73270 --
73271 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
73272 'GAIN';
73273
73274 --
73275 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
73276 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
73277 --
73278 -- bulk performance
73279 --
73280 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
73281
73282 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
73283 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
73284
73285 -- 4955764
73286 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
73287 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
73288
73289 -- 4458381 Public Sector Enh
73290
73291 --
73292 -- set accounting attributes for the line type
73293 --
73294 l_entered_amt_idx := 9;
73295 l_accted_amt_idx := 14;
73296 l_bflow_applied_to_amt_idx := NULL; -- 5132302
73297 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
73298 l_rec_acct_attrs.array_char_value(1) := p_source_53;
73299 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
73300 l_rec_acct_attrs.array_num_value(2) := p_source_91;
73301 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
73302 l_rec_acct_attrs.array_char_value(3) := p_source_92;
73303 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
73304 l_rec_acct_attrs.array_char_value(4) := p_source_93;
73305 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
73306 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
73307 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
73308 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
73309 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
73313 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
73310 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
73311 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
73312 l_rec_acct_attrs.array_char_value(8) := p_source_55;
73314 l_rec_acct_attrs.array_num_value(9) := p_source_99;
73315 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
73316 l_rec_acct_attrs.array_char_value(10) := p_source_13;
73317 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
73318 l_rec_acct_attrs.array_date_value(11) := p_source_117;
73319 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
73320 l_rec_acct_attrs.array_num_value(12) := p_source_118;
73321 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
73322 l_rec_acct_attrs.array_char_value(13) := p_source_119;
73323 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
73324 l_rec_acct_attrs.array_num_value(14) := p_source_153;
73325 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
73326 l_rec_acct_attrs.array_char_value(15) := p_source_80;
73327 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
73328 l_rec_acct_attrs.array_num_value(16) := p_source_110;
73329 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
73330 l_rec_acct_attrs.array_num_value(17) := p_source_111;
73331 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
73332 l_rec_acct_attrs.array_char_value(18) := p_source_83;
73333 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
73334 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_112);
73335 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
73336 l_rec_acct_attrs.array_char_value(20) := p_source_55;
73337 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
73338 l_rec_acct_attrs.array_num_value(21) := p_source_86;
73339 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
73340 l_rec_acct_attrs.array_num_value(22) := p_source_87;
73341 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
73342 l_rec_acct_attrs.array_num_value(23) := p_source_88;
73343
73344 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
73345 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
73346
73347 ---------------------------------------------------------------------------------------------------------------
73348 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
73349 ---------------------------------------------------------------------------------------------------------------
73350 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
73351
73352 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
73353 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
73354
73355 IF xla_accounting_cache_pkg.GetValueChar
73356 (p_source_code => 'LEDGER_CATEGORY_CODE'
73357 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
73358 AND l_bflow_method_code = 'PRIOR_ENTRY'
73359 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
73360 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
73361 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
73362 )
73363 THEN
73364 xla_ae_lines_pkg.BflowUpgEntry
73365 (p_business_method_code => l_bflow_method_code
73366 ,p_business_class_code => l_bflow_class_code
73367 ,p_balance_type => l_balance_type_code);
73368 ELSE
73369 NULL;
73370 -- No business flow processing for business flow method of NONE.
73371 END IF;
73372
73373 --
73374 -- call analytical criteria
73375 --
73376
73377 --
73378 -- call description
73379 --
73380 -- No description or it is inherited.
73381 --
73382 -- call ADRs
73383 -- Bug 4922099
73384 --
73385 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
73386 (NVL(l_actual_upg_option, 'N') = 'O') OR
73387 (NVL(l_enc_upg_option, 'N') = 'O')
73388 )
73389 THEN
73390 NULL;
73391 --
73392 --
73393
73394 l_ccid := AcctDerRule_38(
73395 p_application_id => p_application_id
73396 , p_ae_header_id => l_ae_header_id
73397 , p_source_15 => p_source_15
73398 , p_source_15_meaning => p_source_15_meaning
73399 , p_source_30 => p_source_30
73400 , p_source_36 => p_source_36
73401 , p_source_37 => p_source_37
73402 , x_transaction_coa_id => l_adr_transaction_coa_id
73403 , x_accounting_coa_id => l_adr_accounting_coa_id
73404 , x_value_type_code => l_adr_value_type_code
73405 , p_side => 'NA'
73406 );
73407
73408 xla_ae_lines_pkg.set_ccid(
73409 p_code_combination_id => l_ccid
73410 , p_value_type_code => l_adr_value_type_code
73411 , p_transaction_coa_id => l_adr_transaction_coa_id
73412 , p_accounting_coa_id => l_adr_accounting_coa_id
73413 , p_adr_code => 'AP_REAL_GAIN'
73414 , p_adr_type_code => 'S'
73415 , p_component_type => l_component_type
73419 , p_amb_context_code => l_amb_context_code
73416 , p_component_code => l_component_code
73417 , p_component_type_code => l_component_type_code
73418 , p_component_appl_id => l_component_appl_id
73420 , p_side => 'NA'
73421 );
73422
73423
73424 l_segment := AcctDerRule_22(
73425 p_application_id => p_application_id
73426 , p_ae_header_id => l_ae_header_id
73427 , p_source_15 => p_source_15
73428 , p_source_15_meaning => p_source_15_meaning
73429 , p_source_30 => p_source_30
73430 , x_transaction_coa_id => l_adr_transaction_coa_id
73431 , x_accounting_coa_id => l_adr_accounting_coa_id
73432 , x_flexfield_segment_code => l_adr_flexfield_segment_code
73433 , x_flex_value_set_id => l_adr_flex_value_set_id
73434 , x_value_type_code => l_adr_value_type_code
73435 , x_value_combination_id => l_adr_value_combination_id
73436 , x_value_segment_code => l_adr_value_segment_code
73437 , p_side => 'NA'
73438 , p_override_seg_flag => 'Y'
73439 );
73440
73441 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
73442
73443 xla_ae_lines_pkg.set_segment(
73444 p_to_segment_code => 'GL_BALANCING'
73445 , p_segment_value => l_segment
73446 , p_from_segment_code => l_adr_value_segment_code
73447 , p_from_combination_id => l_adr_value_combination_id
73448 , p_value_type_code => l_adr_value_type_code
73449 , p_transaction_coa_id => l_adr_transaction_coa_id
73450 , p_accounting_coa_id => l_adr_accounting_coa_id
73451 , p_flexfield_segment_code => l_adr_flexfield_segment_code
73452 , p_flex_value_set_id => l_adr_flex_value_set_id
73453 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
73454 , p_adr_type_code => 'S'
73455 , p_component_type => l_component_type
73456 , p_component_code => l_component_code
73457 , p_component_type_code => l_component_type_code
73458 , p_component_appl_id => l_component_appl_id
73459 , p_amb_context_code => l_amb_context_code
73460 , p_entity_code => 'AP_PAYMENTS'
73461 , p_event_class_code => 'REFUNDS'
73462 , p_side => 'NA'
73463 );
73464
73465 END IF;
73466
73467 l_segment := AcctDerRule_17(
73468 p_application_id => p_application_id
73469 , p_ae_header_id => l_ae_header_id
73470 , p_source_15 => p_source_15
73471 , p_source_15_meaning => p_source_15_meaning
73472 , p_source_36 => p_source_36
73473 , p_source_37 => p_source_37
73474 , x_transaction_coa_id => l_adr_transaction_coa_id
73475 , x_accounting_coa_id => l_adr_accounting_coa_id
73476 , x_flexfield_segment_code => l_adr_flexfield_segment_code
73477 , x_flex_value_set_id => l_adr_flex_value_set_id
73478 , x_value_type_code => l_adr_value_type_code
73479 , x_value_combination_id => l_adr_value_combination_id
73480 , x_value_segment_code => l_adr_value_segment_code
73481 , p_side => 'NA'
73482 , p_override_seg_flag => 'Y'
73483 );
73484
73485 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
73486
73487 xla_ae_lines_pkg.set_segment(
73488 p_to_segment_code => 'GL_ACCOUNT'
73489 , p_segment_value => l_segment
73490 , p_from_segment_code => l_adr_value_segment_code
73491 , p_from_combination_id => l_adr_value_combination_id
73492 , p_value_type_code => l_adr_value_type_code
73493 , p_transaction_coa_id => l_adr_transaction_coa_id
73494 , p_accounting_coa_id => l_adr_accounting_coa_id
73495 , p_flexfield_segment_code => l_adr_flexfield_segment_code
73496 , p_flex_value_set_id => l_adr_flex_value_set_id
73497 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
73498 , p_adr_type_code => 'S'
73499 , p_component_type => l_component_type
73500 , p_component_code => l_component_code
73501 , p_component_type_code => l_component_type_code
73502 , p_component_appl_id => l_component_appl_id
73503 , p_amb_context_code => l_amb_context_code
73504 , p_entity_code => 'AP_PAYMENTS'
73505 , p_event_class_code => 'REFUNDS'
73506 , p_side => 'NA'
73507 );
73508
73509 END IF;
73510
73511 --
73512 --
73513 END IF;
73514 --
73515 -- Bug 4922099
73516 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
73517 (NVL(l_enc_upg_option, 'N') = 'O')
73518 ) AND
73519 (l_bflow_method_code = 'PRIOR_ENTRY')
73520 )
73521 THEN
73522 IF
73523 --
73524 1 = 2
73525 --
73526 THEN
73527 xla_accounting_err_pkg.build_message
73528 (p_appli_s_name => 'XLA'
73529 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
73530 ,p_token_1 => 'LINE_NUMBER'
73531 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
73535 ,l_component_code
73532 ,p_token_2 => 'LINE_TYPE_NAME'
73533 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
73534 l_component_type
73536 ,l_component_type_code
73537 ,l_component_appl_id
73538 ,l_amb_context_code
73539 ,l_entity_code
73540 ,l_event_class_code
73541 )
73542 ,p_token_3 => 'OWNER'
73543 ,p_value_3 => xla_lookups_pkg.get_meaning(
73544 p_lookup_type => 'XLA_OWNER_TYPE'
73545 ,p_lookup_code => l_component_type_code
73546 )
73547 ,p_token_4 => 'PRODUCT_NAME'
73548 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
73549 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
73550 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
73551 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
73552 ,p_ae_header_id => NULL
73553 );
73554
73555 IF (C_LEVEL_ERROR>= g_log_level) THEN
73556 trace
73557 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
73558 ,p_level => C_LEVEL_ERROR
73559 ,p_module => l_log_module);
73560 END IF;
73561 END IF;
73562 END IF;
73563 --
73564 --
73565 ------------------------------------------------------------------------------------------------
73566 -- 4219869 Business Flow
73567 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
73568 -- Prior Entry. Currently, the following code is always generated.
73569 ------------------------------------------------------------------------------------------------
73570 XLA_AE_LINES_PKG.ValidateCurrentLine;
73571
73572 ------------------------------------------------------------------------------------
73573 -- 4219869 Business Flow
73574 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
73575 ------------------------------------------------------------------------------------
73576 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
73577
73578 ----------------------------------------------------------------------------------
73579 -- 4219869 Business Flow
73580 -- Update journal entry status -- Need to generate this within IF <condition>
73581 ----------------------------------------------------------------------------------
73582 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
73583 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
73584 ,p_balance_type_code => l_balance_type_code
73585 );
73586
73587 -------------------------------------------------------------------------------------------
73588 -- 4262811 - Generate the Accrual Reversal lines
73589 -------------------------------------------------------------------------------------------
73590 BEGIN
73591 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
73592 (g_array_event(p_event_id).array_value_num('header_index'));
73593 IF l_acc_rev_flag IS NULL THEN
73594 l_acc_rev_flag := 'N';
73595 END IF;
73596 EXCEPTION
73597 WHEN OTHERS THEN
73598 l_acc_rev_flag := 'N';
73599 END;
73600 --
73601 IF (l_acc_rev_flag = 'Y') THEN
73602
73603 -- 4645092 ------------------------------------------------------------------------------
73604 -- To allow MPA report to determine if it should generate report process
73605 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
73606 ------------------------------------------------------------------------------------------
73607
73608 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
73609 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
73610 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
73611 -- call ADRs
73612 -- Bug 4922099
73613 --
73614 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
73615 (NVL(l_actual_upg_option, 'N') = 'O') OR
73616 (NVL(l_enc_upg_option, 'N') = 'O')
73617 )
73618 THEN
73619 NULL;
73620 --
73621 --
73622
73623 l_ccid := AcctDerRule_38(
73624 p_application_id => p_application_id
73625 , p_ae_header_id => l_ae_header_id
73626 , p_source_15 => p_source_15
73630 , p_source_37 => p_source_37
73627 , p_source_15_meaning => p_source_15_meaning
73628 , p_source_30 => p_source_30
73629 , p_source_36 => p_source_36
73631 , x_transaction_coa_id => l_adr_transaction_coa_id
73632 , x_accounting_coa_id => l_adr_accounting_coa_id
73633 , x_value_type_code => l_adr_value_type_code
73634 , p_side => 'NA'
73635 );
73636
73637 xla_ae_lines_pkg.set_ccid(
73638 p_code_combination_id => l_ccid
73639 , p_value_type_code => l_adr_value_type_code
73640 , p_transaction_coa_id => l_adr_transaction_coa_id
73641 , p_accounting_coa_id => l_adr_accounting_coa_id
73642 , p_adr_code => 'AP_REAL_GAIN'
73643 , p_adr_type_code => 'S'
73644 , p_component_type => l_component_type
73645 , p_component_code => l_component_code
73646 , p_component_type_code => l_component_type_code
73647 , p_component_appl_id => l_component_appl_id
73648 , p_amb_context_code => l_amb_context_code
73649 , p_side => 'NA'
73650 );
73651
73652
73653 l_segment := AcctDerRule_22(
73654 p_application_id => p_application_id
73655 , p_ae_header_id => l_ae_header_id
73656 , p_source_15 => p_source_15
73657 , p_source_15_meaning => p_source_15_meaning
73658 , p_source_30 => p_source_30
73659 , x_transaction_coa_id => l_adr_transaction_coa_id
73660 , x_accounting_coa_id => l_adr_accounting_coa_id
73661 , x_flexfield_segment_code => l_adr_flexfield_segment_code
73662 , x_flex_value_set_id => l_adr_flex_value_set_id
73663 , x_value_type_code => l_adr_value_type_code
73664 , x_value_combination_id => l_adr_value_combination_id
73665 , x_value_segment_code => l_adr_value_segment_code
73666 , p_side => 'NA'
73667 , p_override_seg_flag => 'Y'
73668 );
73669
73670 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
73671
73672 xla_ae_lines_pkg.set_segment(
73673 p_to_segment_code => 'GL_BALANCING'
73674 , p_segment_value => l_segment
73675 , p_from_segment_code => l_adr_value_segment_code
73676 , p_from_combination_id => l_adr_value_combination_id
73677 , p_value_type_code => l_adr_value_type_code
73678 , p_transaction_coa_id => l_adr_transaction_coa_id
73679 , p_accounting_coa_id => l_adr_accounting_coa_id
73680 , p_flexfield_segment_code => l_adr_flexfield_segment_code
73681 , p_flex_value_set_id => l_adr_flex_value_set_id
73682 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
73683 , p_adr_type_code => 'S'
73684 , p_component_type => l_component_type
73685 , p_component_code => l_component_code
73686 , p_component_type_code => l_component_type_code
73687 , p_component_appl_id => l_component_appl_id
73688 , p_amb_context_code => l_amb_context_code
73689 , p_entity_code => 'AP_PAYMENTS'
73690 , p_event_class_code => 'REFUNDS'
73691 , p_side => 'NA'
73692 );
73693
73694 END IF;
73695
73696 l_segment := AcctDerRule_17(
73697 p_application_id => p_application_id
73698 , p_ae_header_id => l_ae_header_id
73699 , p_source_15 => p_source_15
73700 , p_source_15_meaning => p_source_15_meaning
73701 , p_source_36 => p_source_36
73702 , p_source_37 => p_source_37
73703 , x_transaction_coa_id => l_adr_transaction_coa_id
73704 , x_accounting_coa_id => l_adr_accounting_coa_id
73705 , x_flexfield_segment_code => l_adr_flexfield_segment_code
73706 , x_flex_value_set_id => l_adr_flex_value_set_id
73707 , x_value_type_code => l_adr_value_type_code
73708 , x_value_combination_id => l_adr_value_combination_id
73709 , x_value_segment_code => l_adr_value_segment_code
73710 , p_side => 'NA'
73711 , p_override_seg_flag => 'Y'
73712 );
73713
73714 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
73715
73716 xla_ae_lines_pkg.set_segment(
73717 p_to_segment_code => 'GL_ACCOUNT'
73718 , p_segment_value => l_segment
73719 , p_from_segment_code => l_adr_value_segment_code
73720 , p_from_combination_id => l_adr_value_combination_id
73721 , p_value_type_code => l_adr_value_type_code
73722 , p_transaction_coa_id => l_adr_transaction_coa_id
73723 , p_accounting_coa_id => l_adr_accounting_coa_id
73724 , p_flexfield_segment_code => l_adr_flexfield_segment_code
73725 , p_flex_value_set_id => l_adr_flex_value_set_id
73726 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
73727 , p_adr_type_code => 'S'
73728 , p_component_type => l_component_type
73729 , p_component_code => l_component_code
73730 , p_component_type_code => l_component_type_code
73731 , p_component_appl_id => l_component_appl_id
73732 , p_amb_context_code => l_amb_context_code
73733 , p_entity_code => 'AP_PAYMENTS'
73737
73734 , p_event_class_code => 'REFUNDS'
73735 , p_side => 'NA'
73736 );
73738 END IF;
73739
73740 --
73741 --
73742 END IF;
73743
73744 --
73745 -- Update the line information that should be overwritten
73746 --
73747 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
73748 p_header_num => 1);
73749 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
73750
73751 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
73752
73753 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
73754 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
73755 END IF;
73756
73757 --
73758 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
73759 --
73760 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
73761 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
73762 ELSE
73763 ---------------------------------------------------------------------------------------------------
73764 -- 4262811a Switch Sign
73765 ---------------------------------------------------------------------------------------------------
73766 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
73767 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
73768 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
73769 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
73770 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
73771 -- 5132302
73772 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
73773 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
73774
73775 END IF;
73776
73777 -- 4955764
73778 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
73779 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
73780
73781
73782 XLA_AE_LINES_PKG.ValidateCurrentLine;
73783 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
73784
73785 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
73786 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
73787 ,p_balance_type_code => l_balance_type_code);
73788
73789 END IF;
73790
73791 -----------------------------------------------------------------------------------------
73792 -- 4262811 Multiperiod Accounting
73793 -----------------------------------------------------------------------------------------
73794 -- No MPA option is assigned.
73795
73796
73797 END IF;
73798 END IF;
73799 --
73800
73801 --
73802 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
73803 trace
73804 (p_msg => 'END of AcctLineType_135'
73805 ,p_level => C_LEVEL_PROCEDURE
73806 ,p_module => l_log_module);
73807 END IF;
73808 --
73809 EXCEPTION
73810 WHEN xla_exceptions_pkg.application_exception THEN
73811 RAISE;
73812 WHEN OTHERS THEN
73813 xla_exceptions_pkg.raise_message
73814 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_135');
73815 END AcctLineType_135;
73816 --
73817
73818 ---------------------------------------
73819 --
73820 -- PRIVATE FUNCTION
73821 -- AcctLineType_136
73822 --
73823 ---------------------------------------
73824 PROCEDURE AcctLineType_136 (
73825 p_application_id IN NUMBER
73826 ,p_event_id IN NUMBER
73827 ,p_calculate_acctd_flag IN VARCHAR2
73828 ,p_calculate_g_l_flag IN VARCHAR2
73829 ,p_actual_flag IN OUT VARCHAR2
73830 ,p_balance_type_code OUT VARCHAR2
73831 ,p_gain_or_loss_ref OUT VARCHAR2
73832
73833 --Payment Currency Code
73834 , p_source_13 IN VARCHAR2
73835 --Interest Account
73836 , p_source_28 IN NUMBER
73837 --Prorate Interest Invoice Across Distributions Option
73838 , p_source_29 IN VARCHAR2
73839 --Invoice Distribution Account
73840 , p_source_30 IN NUMBER
73841 --Invoice Distribution Type
73842 , p_source_33 IN VARCHAR2
73843 , p_source_33_meaning IN VARCHAR2
73844 --Accounting Reversal Indicator
73845 , p_source_53 IN VARCHAR2
73846 --Distribution Link Type
73847 , p_source_55 IN VARCHAR2
73848 --Override Accounted Amount Indicator
73849 , p_source_80 IN VARCHAR2
73850 , p_source_80_meaning IN VARCHAR2
73851 --Third Party Type
73852 , p_source_83 IN VARCHAR2
73853 --Invoice Distribution Tax Line Identifier
73854 , p_source_86 IN NUMBER
73855 --Invoice Distribution Summary Tax Line Identifier
73856 , p_source_88 IN NUMBER
73857 --Business Flow Accounts Payable Application Identifier
73858 , p_source_91 IN NUMBER
73862 , p_source_98 IN VARCHAR2
73859 --When to Account for Payment Option
73860 , p_source_97 IN VARCHAR2
73861 --Payment Distribution Type
73863 , p_source_98_meaning IN VARCHAR2
73864 --Payment Distribution Amount
73865 , p_source_99 IN NUMBER
73866 --Business Flow Payment Distribution Type
73867 , p_source_100 IN VARCHAR2
73868 --Business Flow Payment Entity Code
73869 , p_source_101 IN VARCHAR2
73870 --Business Flow Payment Distribution Identifier
73871 , p_source_102 IN NUMBER
73872 --Business Flow Payment Identifier
73873 , p_source_103 IN NUMBER
73874 --Payment Distribution Identifier
73875 , p_source_104 IN NUMBER
73876 --Cleared Exchange Date
73877 , p_source_106 IN DATE
73878 --Cleared Exchange Rate
73879 , p_source_107 IN NUMBER
73880 --Cleared Exchange Rate Type
73881 , p_source_108 IN VARCHAR2
73882 --Payment Distribution (Cleared Rate) Ledger Amount
73883 , p_source_109 IN NUMBER
73884 --Payment Supplier Identifier
73885 , p_source_110 IN NUMBER
73886 --Payment Supplier Site Identifier
73887 , p_source_111 IN NUMBER
73888 --Payment Distribution Reversed Identifier
73889 , p_source_112 IN NUMBER
73890 --Payment Type
73891 , p_source_122 IN VARCHAR2
73892 , p_source_122_meaning IN VARCHAR2
73893 --Invoice Type Paid
73894 , p_source_163 IN VARCHAR2
73895 , p_source_163_meaning IN VARCHAR2
73896 )
73897 IS
73898
73899 l_component_type VARCHAR2(80);
73900 l_component_code VARCHAR2(30);
73901 l_component_type_code VARCHAR2(1);
73902 l_component_appl_id INTEGER;
73903 l_amb_context_code VARCHAR2(30);
73904 l_entity_code VARCHAR2(30);
73905 l_event_class_code VARCHAR2(30);
73906 l_ae_header_id NUMBER;
73907 l_event_type_code VARCHAR2(30);
73908 l_line_definition_code VARCHAR2(30);
73909 l_line_definition_owner_code VARCHAR2(1);
73910 --
73911 -- adr variables
73912 l_segment VARCHAR2(30);
73913 l_ccid NUMBER;
73914 l_adr_transaction_coa_id NUMBER;
73915 l_adr_accounting_coa_id NUMBER;
73916 l_adr_flexfield_segment_code VARCHAR2(30);
73917 l_adr_flex_value_set_id NUMBER;
73918 l_adr_value_type_code VARCHAR2(30);
73919 l_adr_value_combination_id NUMBER;
73920 l_adr_value_segment_code VARCHAR2(30);
73921
73922 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
73923 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
73924 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
73925 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
73926
73927 -- 4262811 Variables ------------------------------------------------------------------------------------------
73928 l_entered_amt_idx NUMBER;
73929 l_accted_amt_idx NUMBER;
73930 l_acc_rev_flag VARCHAR2(1);
73931 l_accrual_line_num NUMBER;
73932 l_tmp_amt NUMBER;
73933 l_acc_rev_natural_side_code VARCHAR2(1);
73934
73935 l_num_entries NUMBER;
73936 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
73937 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
73938 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
73939 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
73940 l_recog_line_1 NUMBER;
73941 l_recog_line_2 NUMBER;
73942
73943 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
73944 l_bflow_applied_to_amt NUMBER; -- 5132302
73945 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
73946
73947 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
73948
73949 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
73950 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
73951
73952 ---------------------------------------------------------------------------------------------------------------
73953
73954
73955 --
73956 -- bulk performance
73957 --
73958 l_balance_type_code VARCHAR2(1);
73959 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
73960 l_log_module VARCHAR2(240);
73961
73962 --
73963 -- Upgrade strategy
73964 --
73965 l_actual_upg_option VARCHAR2(1);
73966 l_enc_upg_option VARCHAR2(1);
73967
73968 --
73969 BEGIN
73970 --
73971 IF g_log_enabled THEN
73972 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_136';
73973 END IF;
73974 --
73975 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
73976
73977 trace
73978 (p_msg => 'BEGIN of AcctLineType_136'
73979 ,p_level => C_LEVEL_PROCEDURE
73980 ,p_module => l_log_module);
73981
73982 END IF;
73983 --
73984 l_component_type := 'AMB_JLT';
73985 l_component_code := 'AP_INTEREST_EXPENSE_CLEAR';
73986 l_component_type_code := 'S';
73987 l_component_appl_id := 200;
73988 l_amb_context_code := 'DEFAULT';
73989 l_entity_code := 'AP_PAYMENTS';
73990 l_event_class_code := 'RECONCILED PAYMENTS';
73994 --
73991 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
73992 l_line_definition_owner_code := 'S';
73993 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
73995 l_balance_type_code := 'A';
73996 l_segment := NULL;
73997 l_ccid := NULL;
73998 l_adr_transaction_coa_id := NULL;
73999 l_adr_accounting_coa_id := NULL;
74000 l_adr_flexfield_segment_code := NULL;
74001 l_adr_flex_value_set_id := NULL;
74002 l_adr_value_type_code := NULL;
74003 l_adr_value_combination_id := NULL;
74004 l_adr_value_segment_code := NULL;
74005
74006 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
74007 l_bflow_class_code := ''; -- 4219869 Business Flow
74008 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
74009 l_budgetary_control_flag := 'N';
74010
74011 l_bflow_applied_to_amt_idx := NULL; -- 5132302
74012 l_bflow_applied_to_amt := NULL; -- 5132302
74013 l_entered_amt_idx := NULL; -- 4262811
74014 l_accted_amt_idx := NULL; -- 4262811
74015 l_acc_rev_flag := NULL; -- 4262811
74016 l_accrual_line_num := NULL; -- 4262811
74017 l_tmp_amt := NULL; -- 4262811
74018 --
74019
74020 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
74021 l_balance_type_code <> 'B' THEN
74022 IF NVL(p_source_97,'
74023 ') = 'CLEAR_CLEAR' AND
74024 NVL(p_source_33,'
74025 ') = 'ITEM' AND
74026 NVL(p_source_163,'
74027 ') = 'INTEREST' AND
74028 (NVL(p_source_98,'
74029 ') = 'CASH' OR
74030 NVL(p_source_98,'
74031 ') = 'DISCOUNT') AND
74032 NVL(p_source_122,'
74033 ') <> 'R'
74034 THEN
74035
74036 --
74037 XLA_AE_LINES_PKG.SetNewLine;
74038
74039 p_balance_type_code := l_balance_type_code;
74040 -- set the flag so later we will know whether the gain loss line needs to be created
74041
74042 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
74043 p_actual_flag :='A';
74044 END IF;
74045
74046 --
74047 -- bulk performance
74048 --
74049 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
74050 p_header_num => 0); -- 4262811
74051 --
74052 -- set accounting line options
74053 --
74054 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
74055 p_natural_side_code => 'D'
74056 , p_gain_or_loss_flag => 'N'
74057 , p_gl_transfer_mode_code => 'S'
74058 , p_acct_entry_type_code => 'A'
74059 , p_switch_side_flag => 'Y'
74060 , p_merge_duplicate_code => 'A'
74061 );
74062 --
74063 l_acc_rev_natural_side_code := 'C'; -- 4262811
74064 --
74065 --
74066 -- set accounting line type info
74067 --
74068 xla_ae_lines_pkg.SetAcctLineType
74069 (p_component_type => l_component_type
74070 ,p_event_type_code => l_event_type_code
74071 ,p_line_definition_owner_code => l_line_definition_owner_code
74072 ,p_line_definition_code => l_line_definition_code
74073 ,p_accounting_line_code => l_component_code
74074 ,p_accounting_line_type_code => l_component_type_code
74075 ,p_accounting_line_appl_id => l_component_appl_id
74076 ,p_amb_context_code => l_amb_context_code
74077 ,p_entity_code => l_entity_code
74078 ,p_event_class_code => l_event_class_code);
74079 --
74080 -- set accounting class
74081 --
74082 xla_ae_lines_pkg.SetAcctClass(
74083 p_accounting_class_code => 'INTEREST_EXPENSE'
74084 , p_ae_header_id => l_ae_header_id
74085 );
74086
74087 --
74088 -- set rounding class
74089 --
74090 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
74091 'INTEREST_EXPENSE';
74092
74093 --
74094 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
74095 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
74096 --
74097 -- bulk performance
74098 --
74099 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
74100
74101 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
74102 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
74103
74104 -- 4955764
74105 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
74106 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
74107
74108 -- 4458381 Public Sector Enh
74109
74110 --
74111 -- set accounting attributes for the line type
74112 --
74113 l_entered_amt_idx := 10;
74114 l_accted_amt_idx := 15;
74115 l_bflow_applied_to_amt_idx := 2; -- 5132302
74116 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
74117 l_rec_acct_attrs.array_char_value(1) := p_source_53;
74118 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
74119 l_rec_acct_attrs.array_num_value(2) := p_source_99;
74123 l_rec_acct_attrs.array_char_value(4) := p_source_100;
74120 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
74121 l_rec_acct_attrs.array_num_value(3) := p_source_91;
74122 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
74124 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
74125 l_rec_acct_attrs.array_char_value(5) := p_source_101;
74126 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
74127 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
74128 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
74129 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
74130 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
74131 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
74132 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
74133 l_rec_acct_attrs.array_char_value(9) := p_source_55;
74134 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
74135 l_rec_acct_attrs.array_num_value(10) := p_source_99;
74136 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
74137 l_rec_acct_attrs.array_char_value(11) := p_source_13;
74138 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
74139 l_rec_acct_attrs.array_date_value(12) := p_source_106;
74140 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
74141 l_rec_acct_attrs.array_num_value(13) := p_source_107;
74142 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
74143 l_rec_acct_attrs.array_char_value(14) := p_source_108;
74144 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
74145 l_rec_acct_attrs.array_num_value(15) := p_source_109;
74146 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
74147 l_rec_acct_attrs.array_char_value(16) := p_source_80;
74148 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
74149 l_rec_acct_attrs.array_num_value(17) := p_source_110;
74150 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
74151 l_rec_acct_attrs.array_num_value(18) := p_source_111;
74152 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
74153 l_rec_acct_attrs.array_char_value(19) := p_source_83;
74154 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
74155 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
74156 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
74157 l_rec_acct_attrs.array_char_value(21) := p_source_55;
74158 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
74159 l_rec_acct_attrs.array_num_value(22) := p_source_86;
74160 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
74161 l_rec_acct_attrs.array_num_value(23) := p_source_86;
74162 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
74163 l_rec_acct_attrs.array_num_value(24) := p_source_88;
74164
74165 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
74166 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
74167
74168 ---------------------------------------------------------------------------------------------------------------
74169 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
74170 ---------------------------------------------------------------------------------------------------------------
74171 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
74172
74173 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
74174 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
74175
74176 IF xla_accounting_cache_pkg.GetValueChar
74177 (p_source_code => 'LEDGER_CATEGORY_CODE'
74178 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
74179 AND l_bflow_method_code = 'PRIOR_ENTRY'
74180 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
74181 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
74182 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
74183 )
74184 THEN
74185 xla_ae_lines_pkg.BflowUpgEntry
74186 (p_business_method_code => l_bflow_method_code
74187 ,p_business_class_code => l_bflow_class_code
74188 ,p_balance_type => l_balance_type_code);
74189 ELSE
74190 NULL;
74191 -- No business flow processing for business flow method of NONE.
74192 END IF;
74193
74194 --
74195 -- call analytical criteria
74196 --
74197
74198 --
74199 -- call description
74200 --
74201 -- No description or it is inherited.
74202 --
74203 -- call ADRs
74204 -- Bug 4922099
74205 --
74206 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
74207 (NVL(l_actual_upg_option, 'N') = 'O') OR
74208 (NVL(l_enc_upg_option, 'N') = 'O')
74209 )
74210 THEN
74211 NULL;
74212 --
74213 --
74214
74215 l_ccid := AcctDerRule_32(
74216 p_application_id => p_application_id
74217 , p_ae_header_id => l_ae_header_id
74218 , p_source_28 => p_source_28
74219 , p_source_29 => p_source_29
74220 , p_source_30 => p_source_30
74224 , p_side => 'NA'
74221 , x_transaction_coa_id => l_adr_transaction_coa_id
74222 , x_accounting_coa_id => l_adr_accounting_coa_id
74223 , x_value_type_code => l_adr_value_type_code
74225 );
74226
74227 xla_ae_lines_pkg.set_ccid(
74228 p_code_combination_id => l_ccid
74229 , p_value_type_code => l_adr_value_type_code
74230 , p_transaction_coa_id => l_adr_transaction_coa_id
74231 , p_accounting_coa_id => l_adr_accounting_coa_id
74232 , p_adr_code => 'AP_INTEREST'
74233 , p_adr_type_code => 'S'
74234 , p_component_type => l_component_type
74235 , p_component_code => l_component_code
74236 , p_component_type_code => l_component_type_code
74237 , p_component_appl_id => l_component_appl_id
74238 , p_amb_context_code => l_amb_context_code
74239 , p_side => 'NA'
74240 );
74241
74242
74243 l_segment := AcctDerRule_12(
74244 p_application_id => p_application_id
74245 , p_ae_header_id => l_ae_header_id
74246 , p_source_28 => p_source_28
74247 , p_source_29 => p_source_29
74248 , x_transaction_coa_id => l_adr_transaction_coa_id
74249 , x_accounting_coa_id => l_adr_accounting_coa_id
74250 , x_flexfield_segment_code => l_adr_flexfield_segment_code
74251 , x_flex_value_set_id => l_adr_flex_value_set_id
74252 , x_value_type_code => l_adr_value_type_code
74253 , x_value_combination_id => l_adr_value_combination_id
74254 , x_value_segment_code => l_adr_value_segment_code
74255 , p_side => 'NA'
74256 , p_override_seg_flag => 'Y'
74257 );
74258
74259 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
74260
74261 xla_ae_lines_pkg.set_segment(
74262 p_to_segment_code => 'GL_ACCOUNT'
74263 , p_segment_value => l_segment
74264 , p_from_segment_code => l_adr_value_segment_code
74265 , p_from_combination_id => l_adr_value_combination_id
74266 , p_value_type_code => l_adr_value_type_code
74267 , p_transaction_coa_id => l_adr_transaction_coa_id
74268 , p_accounting_coa_id => l_adr_accounting_coa_id
74269 , p_flexfield_segment_code => l_adr_flexfield_segment_code
74270 , p_flex_value_set_id => l_adr_flex_value_set_id
74271 , p_adr_code => 'AP_INTEREST_NAT_ACCT_SEG'
74272 , p_adr_type_code => 'S'
74273 , p_component_type => l_component_type
74274 , p_component_code => l_component_code
74275 , p_component_type_code => l_component_type_code
74276 , p_component_appl_id => l_component_appl_id
74277 , p_amb_context_code => l_amb_context_code
74278 , p_entity_code => 'AP_PAYMENTS'
74279 , p_event_class_code => 'RECONCILED PAYMENTS'
74280 , p_side => 'NA'
74281 );
74282
74283 END IF;
74284
74285 --
74286 --
74287 END IF;
74288 --
74289 -- Bug 4922099
74290 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
74291 (NVL(l_enc_upg_option, 'N') = 'O')
74292 ) AND
74293 (l_bflow_method_code = 'PRIOR_ENTRY')
74294 )
74295 THEN
74296 IF
74297 --
74298 1 = 2
74299 --
74300 THEN
74301 xla_accounting_err_pkg.build_message
74302 (p_appli_s_name => 'XLA'
74303 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
74304 ,p_token_1 => 'LINE_NUMBER'
74305 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
74306 ,p_token_2 => 'LINE_TYPE_NAME'
74307 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
74308 l_component_type
74309 ,l_component_code
74310 ,l_component_type_code
74311 ,l_component_appl_id
74312 ,l_amb_context_code
74313 ,l_entity_code
74314 ,l_event_class_code
74315 )
74316 ,p_token_3 => 'OWNER'
74317 ,p_value_3 => xla_lookups_pkg.get_meaning(
74318 p_lookup_type => 'XLA_OWNER_TYPE'
74319 ,p_lookup_code => l_component_type_code
74320 )
74321 ,p_token_4 => 'PRODUCT_NAME'
74325 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
74322 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
74323 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
74324 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
74326 ,p_ae_header_id => NULL
74327 );
74328
74329 IF (C_LEVEL_ERROR>= g_log_level) THEN
74330 trace
74331 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
74332 ,p_level => C_LEVEL_ERROR
74333 ,p_module => l_log_module);
74334 END IF;
74335 END IF;
74336 END IF;
74337 --
74338 --
74339 ------------------------------------------------------------------------------------------------
74340 -- 4219869 Business Flow
74341 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
74342 -- Prior Entry. Currently, the following code is always generated.
74343 ------------------------------------------------------------------------------------------------
74344 XLA_AE_LINES_PKG.ValidateCurrentLine;
74345
74346 ------------------------------------------------------------------------------------
74347 -- 4219869 Business Flow
74348 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
74349 ------------------------------------------------------------------------------------
74350 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
74351
74352 ----------------------------------------------------------------------------------
74353 -- 4219869 Business Flow
74354 -- Update journal entry status -- Need to generate this within IF <condition>
74355 ----------------------------------------------------------------------------------
74356 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
74357 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
74358 ,p_balance_type_code => l_balance_type_code
74359 );
74360
74361 -------------------------------------------------------------------------------------------
74362 -- 4262811 - Generate the Accrual Reversal lines
74363 -------------------------------------------------------------------------------------------
74364 BEGIN
74365 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
74366 (g_array_event(p_event_id).array_value_num('header_index'));
74367 IF l_acc_rev_flag IS NULL THEN
74368 l_acc_rev_flag := 'N';
74369 END IF;
74370 EXCEPTION
74371 WHEN OTHERS THEN
74372 l_acc_rev_flag := 'N';
74373 END;
74374 --
74375 IF (l_acc_rev_flag = 'Y') THEN
74376
74377 -- 4645092 ------------------------------------------------------------------------------
74378 -- To allow MPA report to determine if it should generate report process
74379 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
74380 ------------------------------------------------------------------------------------------
74381
74382 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
74383 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
74384 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
74385 -- call ADRs
74386 -- Bug 4922099
74387 --
74388 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
74389 (NVL(l_actual_upg_option, 'N') = 'O') OR
74390 (NVL(l_enc_upg_option, 'N') = 'O')
74391 )
74392 THEN
74393 NULL;
74394 --
74395 --
74396
74397 l_ccid := AcctDerRule_32(
74398 p_application_id => p_application_id
74399 , p_ae_header_id => l_ae_header_id
74400 , p_source_28 => p_source_28
74401 , p_source_29 => p_source_29
74402 , p_source_30 => p_source_30
74403 , x_transaction_coa_id => l_adr_transaction_coa_id
74404 , x_accounting_coa_id => l_adr_accounting_coa_id
74405 , x_value_type_code => l_adr_value_type_code
74406 , p_side => 'NA'
74407 );
74408
74409 xla_ae_lines_pkg.set_ccid(
74410 p_code_combination_id => l_ccid
74411 , p_value_type_code => l_adr_value_type_code
74412 , p_transaction_coa_id => l_adr_transaction_coa_id
74413 , p_accounting_coa_id => l_adr_accounting_coa_id
74414 , p_adr_code => 'AP_INTEREST'
74415 , p_adr_type_code => 'S'
74416 , p_component_type => l_component_type
74417 , p_component_code => l_component_code
74418 , p_component_type_code => l_component_type_code
74419 , p_component_appl_id => l_component_appl_id
74420 , p_amb_context_code => l_amb_context_code
74421 , p_side => 'NA'
74422 );
74423
74424
74425 l_segment := AcctDerRule_12(
74426 p_application_id => p_application_id
74427 , p_ae_header_id => l_ae_header_id
74428 , p_source_28 => p_source_28
74429 , p_source_29 => p_source_29
74430 , x_transaction_coa_id => l_adr_transaction_coa_id
74431 , x_accounting_coa_id => l_adr_accounting_coa_id
74435 , x_value_combination_id => l_adr_value_combination_id
74432 , x_flexfield_segment_code => l_adr_flexfield_segment_code
74433 , x_flex_value_set_id => l_adr_flex_value_set_id
74434 , x_value_type_code => l_adr_value_type_code
74436 , x_value_segment_code => l_adr_value_segment_code
74437 , p_side => 'NA'
74438 , p_override_seg_flag => 'Y'
74439 );
74440
74441 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
74442
74443 xla_ae_lines_pkg.set_segment(
74444 p_to_segment_code => 'GL_ACCOUNT'
74445 , p_segment_value => l_segment
74446 , p_from_segment_code => l_adr_value_segment_code
74447 , p_from_combination_id => l_adr_value_combination_id
74448 , p_value_type_code => l_adr_value_type_code
74449 , p_transaction_coa_id => l_adr_transaction_coa_id
74450 , p_accounting_coa_id => l_adr_accounting_coa_id
74451 , p_flexfield_segment_code => l_adr_flexfield_segment_code
74452 , p_flex_value_set_id => l_adr_flex_value_set_id
74453 , p_adr_code => 'AP_INTEREST_NAT_ACCT_SEG'
74454 , p_adr_type_code => 'S'
74455 , p_component_type => l_component_type
74456 , p_component_code => l_component_code
74457 , p_component_type_code => l_component_type_code
74458 , p_component_appl_id => l_component_appl_id
74459 , p_amb_context_code => l_amb_context_code
74460 , p_entity_code => 'AP_PAYMENTS'
74461 , p_event_class_code => 'RECONCILED PAYMENTS'
74462 , p_side => 'NA'
74463 );
74464
74465 END IF;
74466
74467 --
74468 --
74469 END IF;
74470
74471 --
74472 -- Update the line information that should be overwritten
74473 --
74474 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
74475 p_header_num => 1);
74476 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
74477
74478 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
74479
74480 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
74481 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
74482 END IF;
74483
74484 --
74485 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
74486 --
74487 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
74488 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
74489 ELSE
74490 ---------------------------------------------------------------------------------------------------
74491 -- 4262811a Switch Sign
74492 ---------------------------------------------------------------------------------------------------
74493 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
74494 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
74495 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
74496 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
74497 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
74498 -- 5132302
74499 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
74500 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
74501
74502 END IF;
74503
74504 -- 4955764
74505 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
74506 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
74507
74508
74509 XLA_AE_LINES_PKG.ValidateCurrentLine;
74510 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
74511
74512 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
74513 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
74514 ,p_balance_type_code => l_balance_type_code);
74515
74516 END IF;
74517
74518 -----------------------------------------------------------------------------------------
74519 -- 4262811 Multiperiod Accounting
74520 -----------------------------------------------------------------------------------------
74521 -- No MPA option is assigned.
74522
74523
74524 END IF;
74525 END IF;
74526 --
74527
74528 --
74529 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
74530 trace
74531 (p_msg => 'END of AcctLineType_136'
74532 ,p_level => C_LEVEL_PROCEDURE
74533 ,p_module => l_log_module);
74534 END IF;
74535 --
74536 EXCEPTION
74537 WHEN xla_exceptions_pkg.application_exception THEN
74538 RAISE;
74539 WHEN OTHERS THEN
74540 xla_exceptions_pkg.raise_message
74541 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_136');
74542 END AcctLineType_136;
74543 --
74544
74545 ---------------------------------------
74546 --
74550 ---------------------------------------
74547 -- PRIVATE FUNCTION
74548 -- AcctLineType_137
74549 --
74551 PROCEDURE AcctLineType_137 (
74552 p_application_id IN NUMBER
74553 ,p_event_id IN NUMBER
74554 ,p_calculate_acctd_flag IN VARCHAR2
74555 ,p_calculate_g_l_flag IN VARCHAR2
74556 ,p_actual_flag IN OUT VARCHAR2
74557 ,p_balance_type_code OUT VARCHAR2
74558 ,p_gain_or_loss_ref OUT VARCHAR2
74559
74560 --Payment Currency Code
74561 , p_source_13 IN VARCHAR2
74562 --Interest Account
74563 , p_source_28 IN NUMBER
74564 --Prorate Interest Invoice Across Distributions Option
74565 , p_source_29 IN VARCHAR2
74566 --Invoice Distribution Account
74567 , p_source_30 IN NUMBER
74568 --Invoice Distribution Type
74569 , p_source_33 IN VARCHAR2
74570 , p_source_33_meaning IN VARCHAR2
74571 --Accounting Reversal Indicator
74572 , p_source_53 IN VARCHAR2
74573 --Distribution Link Type
74574 , p_source_55 IN VARCHAR2
74575 --Override Accounted Amount Indicator
74576 , p_source_80 IN VARCHAR2
74577 , p_source_80_meaning IN VARCHAR2
74578 --Third Party Type
74579 , p_source_83 IN VARCHAR2
74580 --Invoice Distribution Tax Line Identifier
74581 , p_source_86 IN NUMBER
74582 --Invoice Distribution Tax Distribution Identifier from Tax
74583 , p_source_87 IN NUMBER
74584 --Invoice Distribution Summary Tax Line Identifier
74585 , p_source_88 IN NUMBER
74586 --Business Flow Accounts Payable Application Identifier
74587 , p_source_91 IN NUMBER
74588 --Business Flow Invoice Distribution Type
74589 , p_source_92 IN VARCHAR2
74590 --Business Flow Invoice Entity Code
74591 , p_source_93 IN VARCHAR2
74592 --Business Flow Invoice Distribution Identifier
74593 , p_source_94 IN NUMBER
74594 --Business Flow Invoice Identifier
74595 , p_source_95 IN NUMBER
74596 --When to Account for Payment Option
74597 , p_source_97 IN VARCHAR2
74598 --Payment Distribution Type
74599 , p_source_98 IN VARCHAR2
74600 , p_source_98_meaning IN VARCHAR2
74601 --Payment Distribution Amount
74602 , p_source_99 IN NUMBER
74603 --Payment Distribution Identifier
74604 , p_source_104 IN NUMBER
74605 --Payment Supplier Identifier
74606 , p_source_110 IN NUMBER
74607 --Payment Supplier Site Identifier
74608 , p_source_111 IN NUMBER
74609 --Payment Distribution Reversed Identifier
74610 , p_source_112 IN NUMBER
74611 --Payment Distribution (Payment Rate) Ledger Amount
74612 , p_source_115 IN NUMBER
74613 --Payment Exchange Date
74614 , p_source_117 IN DATE
74615 --Payment Exchange Rate
74616 , p_source_118 IN NUMBER
74617 --Payment Exchange Rate Type
74618 , p_source_119 IN VARCHAR2
74619 --Payment Processing Type
74620 , p_source_123 IN VARCHAR2
74621 --Invoice Distribution Amount of the Payment Distribution
74622 , p_source_124 IN NUMBER
74623 --Invoice Type Paid
74624 , p_source_163 IN VARCHAR2
74625 , p_source_163_meaning IN VARCHAR2
74626 )
74627 IS
74628
74629 l_component_type VARCHAR2(80);
74630 l_component_code VARCHAR2(30);
74631 l_component_type_code VARCHAR2(1);
74632 l_component_appl_id INTEGER;
74633 l_amb_context_code VARCHAR2(30);
74634 l_entity_code VARCHAR2(30);
74635 l_event_class_code VARCHAR2(30);
74636 l_ae_header_id NUMBER;
74637 l_event_type_code VARCHAR2(30);
74638 l_line_definition_code VARCHAR2(30);
74639 l_line_definition_owner_code VARCHAR2(1);
74640 --
74641 -- adr variables
74642 l_segment VARCHAR2(30);
74643 l_ccid NUMBER;
74644 l_adr_transaction_coa_id NUMBER;
74645 l_adr_accounting_coa_id NUMBER;
74646 l_adr_flexfield_segment_code VARCHAR2(30);
74647 l_adr_flex_value_set_id NUMBER;
74648 l_adr_value_type_code VARCHAR2(30);
74649 l_adr_value_combination_id NUMBER;
74650 l_adr_value_segment_code VARCHAR2(30);
74651
74652 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
74653 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
74654 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
74655 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
74656
74657 -- 4262811 Variables ------------------------------------------------------------------------------------------
74658 l_entered_amt_idx NUMBER;
74659 l_accted_amt_idx NUMBER;
74660 l_acc_rev_flag VARCHAR2(1);
74661 l_accrual_line_num NUMBER;
74662 l_tmp_amt NUMBER;
74663 l_acc_rev_natural_side_code VARCHAR2(1);
74664
74665 l_num_entries NUMBER;
74666 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
74667 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
74668 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
74669 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
74670 l_recog_line_1 NUMBER;
74671 l_recog_line_2 NUMBER;
74672
74673 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
74677 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
74674 l_bflow_applied_to_amt NUMBER; -- 5132302
74675 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
74676
74678
74679 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
74680 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
74681
74682 ---------------------------------------------------------------------------------------------------------------
74683
74684
74685 --
74686 -- bulk performance
74687 --
74688 l_balance_type_code VARCHAR2(1);
74689 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
74690 l_log_module VARCHAR2(240);
74691
74692 --
74693 -- Upgrade strategy
74694 --
74695 l_actual_upg_option VARCHAR2(1);
74696 l_enc_upg_option VARCHAR2(1);
74697
74698 --
74699 BEGIN
74700 --
74701 IF g_log_enabled THEN
74702 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_137';
74703 END IF;
74704 --
74705 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
74706
74707 trace
74708 (p_msg => 'BEGIN of AcctLineType_137'
74709 ,p_level => C_LEVEL_PROCEDURE
74710 ,p_module => l_log_module);
74711
74712 END IF;
74713 --
74714 l_component_type := 'AMB_JLT';
74715 l_component_code := 'AP_INTEREST_EXPENSE_PMT';
74716 l_component_type_code := 'S';
74717 l_component_appl_id := 200;
74718 l_amb_context_code := 'DEFAULT';
74719 l_entity_code := 'AP_PAYMENTS';
74720 l_event_class_code := 'PAYMENTS';
74721 l_event_type_code := 'PAYMENTS_ALL';
74722 l_line_definition_owner_code := 'S';
74723 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
74724 --
74725 l_balance_type_code := 'A';
74726 l_segment := NULL;
74727 l_ccid := NULL;
74728 l_adr_transaction_coa_id := NULL;
74729 l_adr_accounting_coa_id := NULL;
74730 l_adr_flexfield_segment_code := NULL;
74731 l_adr_flex_value_set_id := NULL;
74732 l_adr_value_type_code := NULL;
74733 l_adr_value_combination_id := NULL;
74734 l_adr_value_segment_code := NULL;
74735
74736 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
74737 l_bflow_class_code := ''; -- 4219869 Business Flow
74738 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
74739 l_budgetary_control_flag := 'N';
74740
74741 l_bflow_applied_to_amt_idx := NULL; -- 5132302
74742 l_bflow_applied_to_amt := NULL; -- 5132302
74743 l_entered_amt_idx := NULL; -- 4262811
74744 l_accted_amt_idx := NULL; -- 4262811
74745 l_acc_rev_flag := NULL; -- 4262811
74746 l_accrual_line_num := NULL; -- 4262811
74747 l_tmp_amt := NULL; -- 4262811
74748 --
74749
74750 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
74751 l_balance_type_code <> 'B' THEN
74752 IF NVL(p_source_97,'
74753 ') <> 'CLEAR_CLEAR' AND
74754 NVL(p_source_163,'
74755 ') = 'INTEREST' AND
74756 NVL(p_source_33,'
74757 ') = 'ITEM' AND
74758 (NVL(p_source_98,'
74759 ') = 'CASH' OR
74760 NVL(p_source_98,'
74761 ') = 'DISCOUNT') AND
74762 NVL(p_source_123,'
74763 ') <> 'PAYMENTCARD'
74764 THEN
74765
74766 --
74767 XLA_AE_LINES_PKG.SetNewLine;
74768
74769 p_balance_type_code := l_balance_type_code;
74770 -- set the flag so later we will know whether the gain loss line needs to be created
74771
74772 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
74773 p_actual_flag :='A';
74774 END IF;
74775
74776 --
74777 -- bulk performance
74778 --
74779 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
74780 p_header_num => 0); -- 4262811
74781 --
74782 -- set accounting line options
74783 --
74784 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
74785 p_natural_side_code => 'D'
74786 , p_gain_or_loss_flag => 'N'
74787 , p_gl_transfer_mode_code => 'S'
74788 , p_acct_entry_type_code => 'A'
74789 , p_switch_side_flag => 'Y'
74790 , p_merge_duplicate_code => 'A'
74791 );
74792 --
74793 l_acc_rev_natural_side_code := 'C'; -- 4262811
74794 --
74795 --
74796 -- set accounting line type info
74797 --
74798 xla_ae_lines_pkg.SetAcctLineType
74799 (p_component_type => l_component_type
74800 ,p_event_type_code => l_event_type_code
74801 ,p_line_definition_owner_code => l_line_definition_owner_code
74802 ,p_line_definition_code => l_line_definition_code
74803 ,p_accounting_line_code => l_component_code
74804 ,p_accounting_line_type_code => l_component_type_code
74805 ,p_accounting_line_appl_id => l_component_appl_id
74806 ,p_amb_context_code => l_amb_context_code
74807 ,p_entity_code => l_entity_code
74808 ,p_event_class_code => l_event_class_code);
74809 --
74810 -- set accounting class
74811 --
74815 );
74812 xla_ae_lines_pkg.SetAcctClass(
74813 p_accounting_class_code => 'INTEREST_EXPENSE'
74814 , p_ae_header_id => l_ae_header_id
74816
74817 --
74818 -- set rounding class
74819 --
74820 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
74821 'INTEREST_EXPENSE';
74822
74823 --
74824 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
74825 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
74826 --
74827 -- bulk performance
74828 --
74829 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
74830
74831 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
74832 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
74833
74834 -- 4955764
74835 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
74836 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
74837
74838 -- 4458381 Public Sector Enh
74839
74840 --
74841 -- set accounting attributes for the line type
74842 --
74843 l_entered_amt_idx := 10;
74844 l_accted_amt_idx := 15;
74845 l_bflow_applied_to_amt_idx := 2; -- 5132302
74846 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
74847 l_rec_acct_attrs.array_char_value(1) := p_source_53;
74848 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
74849 l_rec_acct_attrs.array_num_value(2) := p_source_124;
74850 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
74851 l_rec_acct_attrs.array_num_value(3) := p_source_91;
74852 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
74853 l_rec_acct_attrs.array_char_value(4) := p_source_92;
74854 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
74855 l_rec_acct_attrs.array_char_value(5) := p_source_93;
74856 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
74857 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
74858 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
74859 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
74860 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
74861 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
74862 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
74863 l_rec_acct_attrs.array_char_value(9) := p_source_55;
74864 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
74865 l_rec_acct_attrs.array_num_value(10) := p_source_99;
74866 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
74867 l_rec_acct_attrs.array_char_value(11) := p_source_13;
74868 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
74869 l_rec_acct_attrs.array_date_value(12) := p_source_117;
74870 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
74871 l_rec_acct_attrs.array_num_value(13) := p_source_118;
74872 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
74873 l_rec_acct_attrs.array_char_value(14) := p_source_119;
74874 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
74875 l_rec_acct_attrs.array_num_value(15) := p_source_115;
74876 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
74877 l_rec_acct_attrs.array_char_value(16) := p_source_80;
74878 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
74879 l_rec_acct_attrs.array_num_value(17) := p_source_110;
74880 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
74881 l_rec_acct_attrs.array_num_value(18) := p_source_111;
74882 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
74883 l_rec_acct_attrs.array_char_value(19) := p_source_83;
74884 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
74885 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
74886 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
74887 l_rec_acct_attrs.array_char_value(21) := p_source_55;
74888 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
74889 l_rec_acct_attrs.array_num_value(22) := p_source_86;
74890 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
74891 l_rec_acct_attrs.array_num_value(23) := p_source_87;
74892 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
74893 l_rec_acct_attrs.array_num_value(24) := p_source_88;
74894
74895 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
74896 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
74897
74898 ---------------------------------------------------------------------------------------------------------------
74899 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
74900 ---------------------------------------------------------------------------------------------------------------
74901 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
74902
74903 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
74907 (p_source_code => 'LEDGER_CATEGORY_CODE'
74904 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
74905
74906 IF xla_accounting_cache_pkg.GetValueChar
74908 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
74909 AND l_bflow_method_code = 'PRIOR_ENTRY'
74910 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
74911 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
74912 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
74913 )
74914 THEN
74915 xla_ae_lines_pkg.BflowUpgEntry
74916 (p_business_method_code => l_bflow_method_code
74917 ,p_business_class_code => l_bflow_class_code
74918 ,p_balance_type => l_balance_type_code);
74919 ELSE
74920 NULL;
74921 -- No business flow processing for business flow method of NONE.
74922 END IF;
74923
74924 --
74925 -- call analytical criteria
74926 --
74927
74928 --
74929 -- call description
74930 --
74931 -- No description or it is inherited.
74932 --
74933 -- call ADRs
74934 -- Bug 4922099
74935 --
74936 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
74937 (NVL(l_actual_upg_option, 'N') = 'O') OR
74938 (NVL(l_enc_upg_option, 'N') = 'O')
74939 )
74940 THEN
74941 NULL;
74942 --
74943 --
74944
74945 l_ccid := AcctDerRule_32(
74946 p_application_id => p_application_id
74947 , p_ae_header_id => l_ae_header_id
74948 , p_source_28 => p_source_28
74949 , p_source_29 => p_source_29
74950 , p_source_30 => p_source_30
74951 , x_transaction_coa_id => l_adr_transaction_coa_id
74952 , x_accounting_coa_id => l_adr_accounting_coa_id
74953 , x_value_type_code => l_adr_value_type_code
74954 , p_side => 'NA'
74955 );
74956
74957 xla_ae_lines_pkg.set_ccid(
74958 p_code_combination_id => l_ccid
74959 , p_value_type_code => l_adr_value_type_code
74960 , p_transaction_coa_id => l_adr_transaction_coa_id
74961 , p_accounting_coa_id => l_adr_accounting_coa_id
74962 , p_adr_code => 'AP_INTEREST'
74963 , p_adr_type_code => 'S'
74964 , p_component_type => l_component_type
74965 , p_component_code => l_component_code
74966 , p_component_type_code => l_component_type_code
74967 , p_component_appl_id => l_component_appl_id
74968 , p_amb_context_code => l_amb_context_code
74969 , p_side => 'NA'
74970 );
74971
74972
74973 l_segment := AcctDerRule_12(
74974 p_application_id => p_application_id
74975 , p_ae_header_id => l_ae_header_id
74976 , p_source_28 => p_source_28
74977 , p_source_29 => p_source_29
74978 , x_transaction_coa_id => l_adr_transaction_coa_id
74979 , x_accounting_coa_id => l_adr_accounting_coa_id
74980 , x_flexfield_segment_code => l_adr_flexfield_segment_code
74981 , x_flex_value_set_id => l_adr_flex_value_set_id
74982 , x_value_type_code => l_adr_value_type_code
74983 , x_value_combination_id => l_adr_value_combination_id
74984 , x_value_segment_code => l_adr_value_segment_code
74985 , p_side => 'NA'
74986 , p_override_seg_flag => 'Y'
74987 );
74988
74989 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
74990
74991 xla_ae_lines_pkg.set_segment(
74992 p_to_segment_code => 'GL_ACCOUNT'
74993 , p_segment_value => l_segment
74994 , p_from_segment_code => l_adr_value_segment_code
74995 , p_from_combination_id => l_adr_value_combination_id
74996 , p_value_type_code => l_adr_value_type_code
74997 , p_transaction_coa_id => l_adr_transaction_coa_id
74998 , p_accounting_coa_id => l_adr_accounting_coa_id
74999 , p_flexfield_segment_code => l_adr_flexfield_segment_code
75000 , p_flex_value_set_id => l_adr_flex_value_set_id
75001 , p_adr_code => 'AP_INTEREST_NAT_ACCT_SEG'
75002 , p_adr_type_code => 'S'
75003 , p_component_type => l_component_type
75004 , p_component_code => l_component_code
75005 , p_component_type_code => l_component_type_code
75006 , p_component_appl_id => l_component_appl_id
75007 , p_amb_context_code => l_amb_context_code
75008 , p_entity_code => 'AP_PAYMENTS'
75009 , p_event_class_code => 'PAYMENTS'
75010 , p_side => 'NA'
75011 );
75012
75013 END IF;
75014
75015 --
75016 --
75017 END IF;
75018 --
75019 -- Bug 4922099
75020 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
75021 (NVL(l_enc_upg_option, 'N') = 'O')
75022 ) AND
75023 (l_bflow_method_code = 'PRIOR_ENTRY')
75024 )
75025 THEN
75026 IF
75027 --
75028 1 = 2
75029 --
75030 THEN
75031 xla_accounting_err_pkg.build_message
75035 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
75032 (p_appli_s_name => 'XLA'
75033 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
75034 ,p_token_1 => 'LINE_NUMBER'
75036 ,p_token_2 => 'LINE_TYPE_NAME'
75037 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
75038 l_component_type
75039 ,l_component_code
75040 ,l_component_type_code
75041 ,l_component_appl_id
75042 ,l_amb_context_code
75043 ,l_entity_code
75044 ,l_event_class_code
75045 )
75046 ,p_token_3 => 'OWNER'
75047 ,p_value_3 => xla_lookups_pkg.get_meaning(
75048 p_lookup_type => 'XLA_OWNER_TYPE'
75049 ,p_lookup_code => l_component_type_code
75050 )
75051 ,p_token_4 => 'PRODUCT_NAME'
75052 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
75053 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
75054 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
75055 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
75056 ,p_ae_header_id => NULL
75057 );
75058
75059 IF (C_LEVEL_ERROR>= g_log_level) THEN
75060 trace
75061 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
75062 ,p_level => C_LEVEL_ERROR
75063 ,p_module => l_log_module);
75064 END IF;
75065 END IF;
75066 END IF;
75067 --
75068 --
75069 ------------------------------------------------------------------------------------------------
75070 -- 4219869 Business Flow
75071 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
75072 -- Prior Entry. Currently, the following code is always generated.
75073 ------------------------------------------------------------------------------------------------
75074 XLA_AE_LINES_PKG.ValidateCurrentLine;
75075
75076 ------------------------------------------------------------------------------------
75077 -- 4219869 Business Flow
75078 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
75079 ------------------------------------------------------------------------------------
75080 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
75081
75082 ----------------------------------------------------------------------------------
75083 -- 4219869 Business Flow
75084 -- Update journal entry status -- Need to generate this within IF <condition>
75085 ----------------------------------------------------------------------------------
75086 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
75087 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
75088 ,p_balance_type_code => l_balance_type_code
75089 );
75090
75091 -------------------------------------------------------------------------------------------
75092 -- 4262811 - Generate the Accrual Reversal lines
75093 -------------------------------------------------------------------------------------------
75094 BEGIN
75095 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
75096 (g_array_event(p_event_id).array_value_num('header_index'));
75097 IF l_acc_rev_flag IS NULL THEN
75098 l_acc_rev_flag := 'N';
75099 END IF;
75100 EXCEPTION
75101 WHEN OTHERS THEN
75102 l_acc_rev_flag := 'N';
75103 END;
75104 --
75105 IF (l_acc_rev_flag = 'Y') THEN
75106
75107 -- 4645092 ------------------------------------------------------------------------------
75108 -- To allow MPA report to determine if it should generate report process
75109 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
75110 ------------------------------------------------------------------------------------------
75111
75112 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
75113 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
75114 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
75115 -- call ADRs
75116 -- Bug 4922099
75117 --
75118 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
75119 (NVL(l_actual_upg_option, 'N') = 'O') OR
75123 NULL;
75120 (NVL(l_enc_upg_option, 'N') = 'O')
75121 )
75122 THEN
75124 --
75125 --
75126
75127 l_ccid := AcctDerRule_32(
75128 p_application_id => p_application_id
75129 , p_ae_header_id => l_ae_header_id
75130 , p_source_28 => p_source_28
75131 , p_source_29 => p_source_29
75132 , p_source_30 => p_source_30
75133 , x_transaction_coa_id => l_adr_transaction_coa_id
75134 , x_accounting_coa_id => l_adr_accounting_coa_id
75135 , x_value_type_code => l_adr_value_type_code
75136 , p_side => 'NA'
75137 );
75138
75139 xla_ae_lines_pkg.set_ccid(
75140 p_code_combination_id => l_ccid
75141 , p_value_type_code => l_adr_value_type_code
75142 , p_transaction_coa_id => l_adr_transaction_coa_id
75143 , p_accounting_coa_id => l_adr_accounting_coa_id
75144 , p_adr_code => 'AP_INTEREST'
75145 , p_adr_type_code => 'S'
75146 , p_component_type => l_component_type
75147 , p_component_code => l_component_code
75148 , p_component_type_code => l_component_type_code
75149 , p_component_appl_id => l_component_appl_id
75150 , p_amb_context_code => l_amb_context_code
75151 , p_side => 'NA'
75152 );
75153
75154
75155 l_segment := AcctDerRule_12(
75156 p_application_id => p_application_id
75157 , p_ae_header_id => l_ae_header_id
75158 , p_source_28 => p_source_28
75159 , p_source_29 => p_source_29
75160 , x_transaction_coa_id => l_adr_transaction_coa_id
75161 , x_accounting_coa_id => l_adr_accounting_coa_id
75162 , x_flexfield_segment_code => l_adr_flexfield_segment_code
75163 , x_flex_value_set_id => l_adr_flex_value_set_id
75164 , x_value_type_code => l_adr_value_type_code
75165 , x_value_combination_id => l_adr_value_combination_id
75166 , x_value_segment_code => l_adr_value_segment_code
75167 , p_side => 'NA'
75168 , p_override_seg_flag => 'Y'
75169 );
75170
75171 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
75172
75173 xla_ae_lines_pkg.set_segment(
75174 p_to_segment_code => 'GL_ACCOUNT'
75175 , p_segment_value => l_segment
75176 , p_from_segment_code => l_adr_value_segment_code
75177 , p_from_combination_id => l_adr_value_combination_id
75178 , p_value_type_code => l_adr_value_type_code
75179 , p_transaction_coa_id => l_adr_transaction_coa_id
75180 , p_accounting_coa_id => l_adr_accounting_coa_id
75181 , p_flexfield_segment_code => l_adr_flexfield_segment_code
75182 , p_flex_value_set_id => l_adr_flex_value_set_id
75183 , p_adr_code => 'AP_INTEREST_NAT_ACCT_SEG'
75184 , p_adr_type_code => 'S'
75185 , p_component_type => l_component_type
75186 , p_component_code => l_component_code
75187 , p_component_type_code => l_component_type_code
75188 , p_component_appl_id => l_component_appl_id
75189 , p_amb_context_code => l_amb_context_code
75190 , p_entity_code => 'AP_PAYMENTS'
75191 , p_event_class_code => 'PAYMENTS'
75192 , p_side => 'NA'
75193 );
75194
75195 END IF;
75196
75197 --
75198 --
75199 END IF;
75200
75201 --
75202 -- Update the line information that should be overwritten
75203 --
75204 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
75205 p_header_num => 1);
75206 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
75207
75208 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
75209
75210 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
75211 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
75212 END IF;
75213
75214 --
75215 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
75216 --
75217 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
75218 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
75219 ELSE
75220 ---------------------------------------------------------------------------------------------------
75221 -- 4262811a Switch Sign
75222 ---------------------------------------------------------------------------------------------------
75223 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
75224 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
75225 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
75226 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
75227 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
75228 -- 5132302
75232 END IF;
75229 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
75230 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
75231
75233
75234 -- 4955764
75235 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
75236 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
75237
75238
75239 XLA_AE_LINES_PKG.ValidateCurrentLine;
75240 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
75241
75242 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
75243 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
75244 ,p_balance_type_code => l_balance_type_code);
75245
75246 END IF;
75247
75248 -----------------------------------------------------------------------------------------
75249 -- 4262811 Multiperiod Accounting
75250 -----------------------------------------------------------------------------------------
75251 -- No MPA option is assigned.
75252
75253
75254 END IF;
75255 END IF;
75256 --
75257
75258 --
75259 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
75260 trace
75261 (p_msg => 'END of AcctLineType_137'
75262 ,p_level => C_LEVEL_PROCEDURE
75263 ,p_module => l_log_module);
75264 END IF;
75265 --
75266 EXCEPTION
75267 WHEN xla_exceptions_pkg.application_exception THEN
75268 RAISE;
75269 WHEN OTHERS THEN
75270 xla_exceptions_pkg.raise_message
75271 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_137');
75272 END AcctLineType_137;
75273 --
75274
75275 ---------------------------------------
75276 --
75277 -- PRIVATE FUNCTION
75278 -- AcctLineType_138
75279 --
75280 ---------------------------------------
75281 PROCEDURE AcctLineType_138 (
75282 p_application_id IN NUMBER
75283 ,p_event_id IN NUMBER
75284 ,p_calculate_acctd_flag IN VARCHAR2
75285 ,p_calculate_g_l_flag IN VARCHAR2
75286 ,p_actual_flag IN OUT VARCHAR2
75287 ,p_balance_type_code OUT VARCHAR2
75288 ,p_gain_or_loss_ref OUT VARCHAR2
75289
75290 --Invoice Distribution Description
75291 , p_source_1 IN VARCHAR2
75292 --Invoice Distribution Ledger Amount
75293 , p_source_21 IN NUMBER
75294 --Invoice Distribution Account
75295 , p_source_30 IN NUMBER
75296 --Invoice Distribution Type
75297 , p_source_33 IN VARCHAR2
75298 , p_source_33_meaning IN VARCHAR2
75299 --Accounting Reversal Indicator
75300 , p_source_53 IN VARCHAR2
75301 --Distribution Link Type
75302 , p_source_55 IN VARCHAR2
75303 --Allocation to Main Distribution Identifier
75304 , p_source_57 IN NUMBER
75305 --Invoice Identifier
75306 , p_source_58 IN NUMBER
75307 --Invoice Distribution Identifier
75308 , p_source_64 IN NUMBER
75309 --Payables Encumbrance Upgrade Credit Account
75310 , p_source_65 IN NUMBER
75311 --Payables Encumbrance Upgrade Credit Amount
75312 , p_source_66 IN NUMBER
75313 --Invoice Currency Code
75314 , p_source_67 IN VARCHAR2
75315 --Payables Encumbrance Upgrade Credit Base Amount
75316 , p_source_68 IN NUMBER
75317 --Payables Encumbrance Upgrade Debit Account
75318 , p_source_69 IN NUMBER
75319 --Payables Encumbrance Upgrade Debit Amount
75320 , p_source_70 IN NUMBER
75321 --Payables Encumbrance Upgrade Debit Base Amount
75322 , p_source_71 IN NUMBER
75323 --Payables Encumbrance Upgrade Option
75324 , p_source_72 IN VARCHAR2
75325 --Invoice Distribution Amount
75326 , p_source_73 IN NUMBER
75327 --Deferred Accounting End Date
75328 , p_source_77 IN DATE
75329 --Deferred Accounting Option
75330 , p_source_78 IN VARCHAR2
75331 --Deferred Accounting Start Date
75332 , p_source_79 IN DATE
75333 --Override Accounted Amount Indicator
75334 , p_source_80 IN VARCHAR2
75335 , p_source_80_meaning IN VARCHAR2
75336 --Invoice Supplier Identifier
75337 , p_source_81 IN NUMBER
75338 --Invoice Supplier Site Identifier
75339 , p_source_82 IN NUMBER
75340 --Third Party Type
75341 , p_source_83 IN VARCHAR2
75342 --Parent Reversal Identifier
75343 , p_source_84 IN NUMBER
75344 --Invoice Distribution Statistical Amount
75345 , p_source_85 IN NUMBER
75346 --Invoice Distribution Tax Line Identifier
75347 , p_source_86 IN NUMBER
75348 --Invoice Distribution Tax Distribution Identifier from Tax
75349 , p_source_87 IN NUMBER
75350 --Invoice Distribution Summary Tax Line Identifier
75351 , p_source_88 IN NUMBER
75352 --Payables Upgrade Credit Encumbrance Type Identifier
75353 , p_source_89 IN NUMBER
75354 --Payables Upgrade Debit Encumbrance Type Identifier
75355 , p_source_90 IN NUMBER
75356 --Business Flow Accounts Payable Application Identifier
75357 , p_source_91 IN NUMBER
75358 --Business Flow Invoice Distribution Type
75359 , p_source_92 IN VARCHAR2
75360 --Business Flow Invoice Entity Code
75361 , p_source_93 IN VARCHAR2
75362 --Business Flow Invoice Distribution Identifier
75363 , p_source_94 IN NUMBER
75364 --Business Flow Invoice Identifier
75368 , p_source_96_meaning IN VARCHAR2
75365 , p_source_95 IN NUMBER
75366 --Accrue on Receipt Option
75367 , p_source_96 IN VARCHAR2
75369 --Invoice Exchange Date
75370 , p_source_143 IN DATE
75371 --Invoice Exchange Rate
75372 , p_source_144 IN NUMBER
75373 --Invoice Exchange Rate Type
75374 , p_source_145 IN VARCHAR2
75375 )
75376 IS
75377
75378 l_component_type VARCHAR2(80);
75379 l_component_code VARCHAR2(30);
75380 l_component_type_code VARCHAR2(1);
75381 l_component_appl_id INTEGER;
75382 l_amb_context_code VARCHAR2(30);
75383 l_entity_code VARCHAR2(30);
75384 l_event_class_code VARCHAR2(30);
75385 l_ae_header_id NUMBER;
75386 l_event_type_code VARCHAR2(30);
75387 l_line_definition_code VARCHAR2(30);
75388 l_line_definition_owner_code VARCHAR2(1);
75389 --
75390 -- adr variables
75391 l_segment VARCHAR2(30);
75392 l_ccid NUMBER;
75393 l_adr_transaction_coa_id NUMBER;
75394 l_adr_accounting_coa_id NUMBER;
75395 l_adr_flexfield_segment_code VARCHAR2(30);
75396 l_adr_flex_value_set_id NUMBER;
75397 l_adr_value_type_code VARCHAR2(30);
75398 l_adr_value_combination_id NUMBER;
75399 l_adr_value_segment_code VARCHAR2(30);
75400
75401 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
75402 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
75403 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
75404 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
75405
75406 -- 4262811 Variables ------------------------------------------------------------------------------------------
75407 l_entered_amt_idx NUMBER;
75408 l_accted_amt_idx NUMBER;
75409 l_acc_rev_flag VARCHAR2(1);
75410 l_accrual_line_num NUMBER;
75411 l_tmp_amt NUMBER;
75412 l_acc_rev_natural_side_code VARCHAR2(1);
75413
75414 l_num_entries NUMBER;
75415 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
75416 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
75417 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
75418 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
75419 l_recog_line_1 NUMBER;
75420 l_recog_line_2 NUMBER;
75421
75422 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
75423 l_bflow_applied_to_amt NUMBER; -- 5132302
75424 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
75425
75426 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
75427
75428 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
75429 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
75430
75431 ---------------------------------------------------------------------------------------------------------------
75432
75433
75434 --
75435 -- bulk performance
75436 --
75437 l_balance_type_code VARCHAR2(1);
75438 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
75439 l_log_module VARCHAR2(240);
75440
75441 --
75442 -- Upgrade strategy
75443 --
75444 l_actual_upg_option VARCHAR2(1);
75445 l_enc_upg_option VARCHAR2(1);
75446
75447 --
75448 BEGIN
75449 --
75450 IF g_log_enabled THEN
75451 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_138';
75452 END IF;
75453 --
75454 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
75455
75456 trace
75457 (p_msg => 'BEGIN of AcctLineType_138'
75458 ,p_level => C_LEVEL_PROCEDURE
75459 ,p_module => l_log_module);
75460
75461 END IF;
75462 --
75463 l_component_type := 'AMB_JLT';
75464 l_component_code := 'AP_INV_PRICE_VAR_CM';
75465 l_component_type_code := 'S';
75466 l_component_appl_id := 200;
75467 l_amb_context_code := 'DEFAULT';
75468 l_entity_code := 'AP_INVOICES';
75469 l_event_class_code := 'CREDIT MEMOS';
75470 l_event_type_code := 'CREDIT MEMOS_ALL';
75471 l_line_definition_owner_code := 'S';
75472 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
75473 --
75474 l_balance_type_code := 'A';
75475 l_segment := NULL;
75476 l_ccid := NULL;
75477 l_adr_transaction_coa_id := NULL;
75478 l_adr_accounting_coa_id := NULL;
75479 l_adr_flexfield_segment_code := NULL;
75480 l_adr_flex_value_set_id := NULL;
75481 l_adr_value_type_code := NULL;
75482 l_adr_value_combination_id := NULL;
75483 l_adr_value_segment_code := NULL;
75484
75485 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
75486 l_bflow_class_code := ''; -- 4219869 Business Flow
75487 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
75488 l_budgetary_control_flag := 'N';
75489
75490 l_bflow_applied_to_amt_idx := NULL; -- 5132302
75491 l_bflow_applied_to_amt := NULL; -- 5132302
75492 l_entered_amt_idx := NULL; -- 4262811
75493 l_accted_amt_idx := NULL; -- 4262811
75494 l_acc_rev_flag := NULL; -- 4262811
75498
75495 l_accrual_line_num := NULL; -- 4262811
75496 l_tmp_amt := NULL; -- 4262811
75497 --
75499 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
75500 l_balance_type_code <> 'B' THEN
75501 IF NVL(p_source_33,'
75502 ') = 'IPV' AND
75503 NVL(p_source_96,'
75504 ') = 'Y'
75505 THEN
75506
75507 --
75508 XLA_AE_LINES_PKG.SetNewLine;
75509
75510 p_balance_type_code := l_balance_type_code;
75511 -- set the flag so later we will know whether the gain loss line needs to be created
75512
75513 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
75514 p_actual_flag :='A';
75515 END IF;
75516
75517 --
75518 -- bulk performance
75519 --
75520 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
75521 p_header_num => 0); -- 4262811
75522 --
75523 -- set accounting line options
75524 --
75525 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
75526 p_natural_side_code => 'D'
75527 , p_gain_or_loss_flag => 'N'
75528 , p_gl_transfer_mode_code => 'S'
75529 , p_acct_entry_type_code => 'A'
75530 , p_switch_side_flag => 'Y'
75531 , p_merge_duplicate_code => 'A'
75532 );
75533 --
75534 l_acc_rev_natural_side_code := 'C'; -- 4262811
75535 --
75536 --
75537 -- set accounting line type info
75538 --
75539 xla_ae_lines_pkg.SetAcctLineType
75540 (p_component_type => l_component_type
75541 ,p_event_type_code => l_event_type_code
75542 ,p_line_definition_owner_code => l_line_definition_owner_code
75543 ,p_line_definition_code => l_line_definition_code
75544 ,p_accounting_line_code => l_component_code
75545 ,p_accounting_line_type_code => l_component_type_code
75546 ,p_accounting_line_appl_id => l_component_appl_id
75547 ,p_amb_context_code => l_amb_context_code
75548 ,p_entity_code => l_entity_code
75549 ,p_event_class_code => l_event_class_code);
75550 --
75551 -- set accounting class
75552 --
75553 xla_ae_lines_pkg.SetAcctClass(
75554 p_accounting_class_code => 'IPV'
75555 , p_ae_header_id => l_ae_header_id
75556 );
75557
75558 --
75559 -- set rounding class
75560 --
75561 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
75562 'IPV';
75563
75564 --
75565 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
75566 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
75567 --
75568 -- bulk performance
75569 --
75570 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
75571
75572 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
75573 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
75574
75575 -- 4955764
75576 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
75577 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
75578
75579 -- 4458381 Public Sector Enh
75580
75581 --
75582 -- set accounting attributes for the line type
75583 --
75584 l_entered_amt_idx := 23;
75585 l_accted_amt_idx := 28;
75586 l_bflow_applied_to_amt_idx := NULL; -- 5132302
75587 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
75588 l_rec_acct_attrs.array_char_value(1) := p_source_53;
75589 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
75590 l_rec_acct_attrs.array_num_value(2) :=
75591 xla_ae_sources_pkg.GetSystemSourceNum(
75592 p_source_code => 'XLA_EVENT_APPL_ID'
75593 , p_source_type_code => 'Y'
75594 , p_source_application_id => 602
75595 );
75596 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
75597 l_rec_acct_attrs.array_char_value(3) := p_source_55;
75598 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
75599 l_rec_acct_attrs.array_char_value(4) :=
75600 xla_ae_sources_pkg.GetSystemSourceChar(
75601 p_source_code => 'XLA_ENTITY_CODE'
75602 , p_source_type_code => 'Y'
75603 , p_source_application_id => 602
75604 );
75605 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
75606 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
75607 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
75608 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
75609 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
75610 l_rec_acct_attrs.array_num_value(7) := p_source_91;
75611 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
75612 l_rec_acct_attrs.array_char_value(8) := p_source_92;
75613 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
75614 l_rec_acct_attrs.array_char_value(9) := p_source_93;
75615 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
75616 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
75620 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
75617 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
75618 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
75619 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
75621 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
75622 l_rec_acct_attrs.array_char_value(13) := p_source_55;
75623 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
75624 l_rec_acct_attrs.array_num_value(14) := p_source_65;
75625 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
75626 l_rec_acct_attrs.array_num_value(15) := p_source_66;
75627 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
75628 l_rec_acct_attrs.array_char_value(16) := p_source_67;
75629 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
75630 l_rec_acct_attrs.array_num_value(17) := p_source_68;
75631 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
75632 l_rec_acct_attrs.array_num_value(18) := p_source_69;
75633 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
75634 l_rec_acct_attrs.array_num_value(19) := p_source_70;
75635 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
75636 l_rec_acct_attrs.array_char_value(20) := p_source_67;
75637 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
75638 l_rec_acct_attrs.array_num_value(21) := p_source_71;
75639 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
75640 l_rec_acct_attrs.array_char_value(22) := p_source_72;
75641 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
75642 l_rec_acct_attrs.array_num_value(23) := p_source_73;
75643 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
75644 l_rec_acct_attrs.array_char_value(24) := p_source_67;
75645 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
75646 l_rec_acct_attrs.array_date_value(25) := p_source_143;
75647 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
75648 l_rec_acct_attrs.array_num_value(26) := p_source_144;
75649 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
75650 l_rec_acct_attrs.array_char_value(27) := p_source_145;
75651 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
75652 l_rec_acct_attrs.array_num_value(28) := p_source_21;
75653 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
75654 l_rec_acct_attrs.array_date_value(29) := p_source_77;
75655 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
75656 l_rec_acct_attrs.array_char_value(30) := p_source_78;
75657 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
75658 l_rec_acct_attrs.array_date_value(31) := p_source_79;
75659 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
75660 l_rec_acct_attrs.array_char_value(32) := p_source_80;
75661 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
75662 l_rec_acct_attrs.array_num_value(33) := p_source_81;
75663 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
75664 l_rec_acct_attrs.array_num_value(34) := p_source_82;
75665 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
75666 l_rec_acct_attrs.array_char_value(35) := p_source_83;
75667 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
75668 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
75669 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
75670 l_rec_acct_attrs.array_char_value(37) := p_source_55;
75671 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
75672 l_rec_acct_attrs.array_num_value(38) := p_source_85;
75673 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
75674 l_rec_acct_attrs.array_num_value(39) := p_source_86;
75675 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
75676 l_rec_acct_attrs.array_num_value(40) := p_source_87;
75677 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
75678 l_rec_acct_attrs.array_num_value(41) := p_source_88;
75679 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
75680 l_rec_acct_attrs.array_num_value(42) := p_source_89;
75681 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
75682 l_rec_acct_attrs.array_num_value(43) := p_source_90;
75683
75684 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
75685 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
75686
75687 ---------------------------------------------------------------------------------------------------------------
75688 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
75689 ---------------------------------------------------------------------------------------------------------------
75690 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
75691
75692 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
75693 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
75694
75695 IF xla_accounting_cache_pkg.GetValueChar
75696 (p_source_code => 'LEDGER_CATEGORY_CODE'
75697 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
75701 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
75698 AND l_bflow_method_code = 'PRIOR_ENTRY'
75699 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
75700 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
75702 )
75703 THEN
75704 xla_ae_lines_pkg.BflowUpgEntry
75705 (p_business_method_code => l_bflow_method_code
75706 ,p_business_class_code => l_bflow_class_code
75707 ,p_balance_type => l_balance_type_code);
75708 ELSE
75709 NULL;
75710 -- No business flow processing for business flow method of NONE.
75711 END IF;
75712
75713 --
75714 -- call analytical criteria
75715 --
75716
75717 --
75718 -- call description
75719 --
75720
75721 xla_ae_lines_pkg.SetLineDescription(
75722 p_ae_header_id => l_ae_header_id
75723 ,p_description => Description_1 (
75724 p_application_id => p_application_id
75725 , p_ae_header_id => l_ae_header_id
75726 , p_source_1 => p_source_1
75727 )
75728 );
75729
75730
75731 --
75732 -- call ADRs
75733 -- Bug 4922099
75734 --
75735 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
75736 (NVL(l_actual_upg_option, 'N') = 'O') OR
75737 (NVL(l_enc_upg_option, 'N') = 'O')
75738 )
75739 THEN
75740 NULL;
75741 --
75742 --
75743
75744 l_ccid := AcctDerRule_33(
75745 p_application_id => p_application_id
75746 , p_ae_header_id => l_ae_header_id
75747 , p_source_30 => p_source_30
75748 , x_transaction_coa_id => l_adr_transaction_coa_id
75749 , x_accounting_coa_id => l_adr_accounting_coa_id
75750 , x_value_type_code => l_adr_value_type_code
75751 , p_side => 'NA'
75752 );
75753
75754 xla_ae_lines_pkg.set_ccid(
75755 p_code_combination_id => l_ccid
75756 , p_value_type_code => l_adr_value_type_code
75757 , p_transaction_coa_id => l_adr_transaction_coa_id
75758 , p_accounting_coa_id => l_adr_accounting_coa_id
75759 , p_adr_code => 'AP_INVOICE_DIST'
75760 , p_adr_type_code => 'S'
75761 , p_component_type => l_component_type
75762 , p_component_code => l_component_code
75763 , p_component_type_code => l_component_type_code
75764 , p_component_appl_id => l_component_appl_id
75765 , p_amb_context_code => l_amb_context_code
75766 , p_side => 'NA'
75767 );
75768
75769
75770 --
75771 --
75772 END IF;
75773 --
75774 -- Bug 4922099
75775 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
75776 (NVL(l_enc_upg_option, 'N') = 'O')
75777 ) AND
75778 (l_bflow_method_code = 'PRIOR_ENTRY')
75779 )
75780 THEN
75781 IF
75782 --
75783 1 = 2
75784 --
75785 THEN
75786 xla_accounting_err_pkg.build_message
75787 (p_appli_s_name => 'XLA'
75788 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
75789 ,p_token_1 => 'LINE_NUMBER'
75790 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
75791 ,p_token_2 => 'LINE_TYPE_NAME'
75792 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
75793 l_component_type
75794 ,l_component_code
75795 ,l_component_type_code
75796 ,l_component_appl_id
75797 ,l_amb_context_code
75798 ,l_entity_code
75799 ,l_event_class_code
75800 )
75801 ,p_token_3 => 'OWNER'
75802 ,p_value_3 => xla_lookups_pkg.get_meaning(
75803 p_lookup_type => 'XLA_OWNER_TYPE'
75804 ,p_lookup_code => l_component_type_code
75805 )
75806 ,p_token_4 => 'PRODUCT_NAME'
75807 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
75808 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
75809 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
75810 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
75814 IF (C_LEVEL_ERROR>= g_log_level) THEN
75811 ,p_ae_header_id => NULL
75812 );
75813
75815 trace
75816 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
75817 ,p_level => C_LEVEL_ERROR
75818 ,p_module => l_log_module);
75819 END IF;
75820 END IF;
75821 END IF;
75822 --
75823 --
75824 ------------------------------------------------------------------------------------------------
75825 -- 4219869 Business Flow
75826 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
75827 -- Prior Entry. Currently, the following code is always generated.
75828 ------------------------------------------------------------------------------------------------
75829 XLA_AE_LINES_PKG.ValidateCurrentLine;
75830
75831 ------------------------------------------------------------------------------------
75832 -- 4219869 Business Flow
75833 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
75834 ------------------------------------------------------------------------------------
75835 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
75836
75837 ----------------------------------------------------------------------------------
75838 -- 4219869 Business Flow
75839 -- Update journal entry status -- Need to generate this within IF <condition>
75840 ----------------------------------------------------------------------------------
75841 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
75842 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
75843 ,p_balance_type_code => l_balance_type_code
75844 );
75845
75846 -------------------------------------------------------------------------------------------
75847 -- 4262811 - Generate the Accrual Reversal lines
75848 -------------------------------------------------------------------------------------------
75849 BEGIN
75850 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
75851 (g_array_event(p_event_id).array_value_num('header_index'));
75852 IF l_acc_rev_flag IS NULL THEN
75853 l_acc_rev_flag := 'N';
75854 END IF;
75855 EXCEPTION
75856 WHEN OTHERS THEN
75857 l_acc_rev_flag := 'N';
75858 END;
75859 --
75860 IF (l_acc_rev_flag = 'Y') THEN
75861
75862 -- 4645092 ------------------------------------------------------------------------------
75863 -- To allow MPA report to determine if it should generate report process
75864 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
75865 ------------------------------------------------------------------------------------------
75866
75867 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
75868 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
75869 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
75870 -- call ADRs
75871 -- Bug 4922099
75872 --
75873 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
75874 (NVL(l_actual_upg_option, 'N') = 'O') OR
75875 (NVL(l_enc_upg_option, 'N') = 'O')
75876 )
75877 THEN
75878 NULL;
75879 --
75880 --
75881
75882 l_ccid := AcctDerRule_33(
75883 p_application_id => p_application_id
75884 , p_ae_header_id => l_ae_header_id
75885 , p_source_30 => p_source_30
75886 , x_transaction_coa_id => l_adr_transaction_coa_id
75887 , x_accounting_coa_id => l_adr_accounting_coa_id
75888 , x_value_type_code => l_adr_value_type_code
75889 , p_side => 'NA'
75890 );
75891
75892 xla_ae_lines_pkg.set_ccid(
75893 p_code_combination_id => l_ccid
75894 , p_value_type_code => l_adr_value_type_code
75895 , p_transaction_coa_id => l_adr_transaction_coa_id
75896 , p_accounting_coa_id => l_adr_accounting_coa_id
75897 , p_adr_code => 'AP_INVOICE_DIST'
75898 , p_adr_type_code => 'S'
75899 , p_component_type => l_component_type
75900 , p_component_code => l_component_code
75901 , p_component_type_code => l_component_type_code
75902 , p_component_appl_id => l_component_appl_id
75903 , p_amb_context_code => l_amb_context_code
75904 , p_side => 'NA'
75905 );
75906
75907
75908 --
75909 --
75910 END IF;
75911
75912 --
75913 -- Update the line information that should be overwritten
75914 --
75915 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
75916 p_header_num => 1);
75917 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
75918
75919 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
75920
75921 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
75922 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
75923 END IF;
75924
75925 --
75926 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
75930 ELSE
75927 --
75928 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
75929 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
75931 ---------------------------------------------------------------------------------------------------
75932 -- 4262811a Switch Sign
75933 ---------------------------------------------------------------------------------------------------
75934 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
75935 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
75936 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
75937 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
75938 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
75939 -- 5132302
75940 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
75941 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
75942
75943 END IF;
75944
75945 -- 4955764
75946 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
75947 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
75948
75949
75950 XLA_AE_LINES_PKG.ValidateCurrentLine;
75951 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
75952
75953 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
75954 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
75955 ,p_balance_type_code => l_balance_type_code);
75956
75957 END IF;
75958
75959 -----------------------------------------------------------------------------------------
75960 -- 4262811 Multiperiod Accounting
75961 -----------------------------------------------------------------------------------------
75962 -- No MPA option is assigned.
75963
75964
75965 END IF;
75966 END IF;
75967 --
75968
75969 --
75970 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
75971 trace
75972 (p_msg => 'END of AcctLineType_138'
75973 ,p_level => C_LEVEL_PROCEDURE
75974 ,p_module => l_log_module);
75975 END IF;
75976 --
75977 EXCEPTION
75978 WHEN xla_exceptions_pkg.application_exception THEN
75979 RAISE;
75980 WHEN OTHERS THEN
75981 xla_exceptions_pkg.raise_message
75982 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_138');
75983 END AcctLineType_138;
75984 --
75985
75986 ---------------------------------------
75987 --
75988 -- PRIVATE FUNCTION
75989 -- AcctLineType_139
75990 --
75991 ---------------------------------------
75992 PROCEDURE AcctLineType_139 (
75993 p_application_id IN NUMBER
75994 ,p_event_id IN NUMBER
75995 ,p_calculate_acctd_flag IN VARCHAR2
75996 ,p_calculate_g_l_flag IN VARCHAR2
75997 ,p_actual_flag IN OUT VARCHAR2
75998 ,p_balance_type_code OUT VARCHAR2
75999 ,p_gain_or_loss_ref OUT VARCHAR2
76000
76001 --Invoice Distribution Description
76002 , p_source_1 IN VARCHAR2
76003 --Invoice Distribution Ledger Amount
76004 , p_source_21 IN NUMBER
76005 --Invoice Distribution Account
76006 , p_source_30 IN NUMBER
76007 --Invoice Distribution Type
76008 , p_source_33 IN VARCHAR2
76009 , p_source_33_meaning IN VARCHAR2
76010 --Accounting Reversal Indicator
76011 , p_source_53 IN VARCHAR2
76012 --Distribution Link Type
76013 , p_source_55 IN VARCHAR2
76014 --Allocation to Main Distribution Identifier
76015 , p_source_57 IN NUMBER
76016 --Invoice Identifier
76017 , p_source_58 IN NUMBER
76018 --Invoice Distribution Identifier
76019 , p_source_64 IN NUMBER
76020 --Payables Encumbrance Upgrade Credit Account
76021 , p_source_65 IN NUMBER
76022 --Payables Encumbrance Upgrade Credit Amount
76023 , p_source_66 IN NUMBER
76024 --Invoice Currency Code
76025 , p_source_67 IN VARCHAR2
76026 --Payables Encumbrance Upgrade Credit Base Amount
76027 , p_source_68 IN NUMBER
76028 --Payables Encumbrance Upgrade Debit Account
76029 , p_source_69 IN NUMBER
76030 --Payables Encumbrance Upgrade Debit Amount
76031 , p_source_70 IN NUMBER
76032 --Payables Encumbrance Upgrade Debit Base Amount
76033 , p_source_71 IN NUMBER
76034 --Payables Encumbrance Upgrade Option
76035 , p_source_72 IN VARCHAR2
76036 --Invoice Distribution Amount
76037 , p_source_73 IN NUMBER
76038 --Deferred Accounting End Date
76039 , p_source_77 IN DATE
76040 --Deferred Accounting Option
76041 , p_source_78 IN VARCHAR2
76042 --Deferred Accounting Start Date
76043 , p_source_79 IN DATE
76044 --Override Accounted Amount Indicator
76045 , p_source_80 IN VARCHAR2
76046 , p_source_80_meaning IN VARCHAR2
76047 --Invoice Supplier Identifier
76048 , p_source_81 IN NUMBER
76049 --Invoice Supplier Site Identifier
76050 , p_source_82 IN NUMBER
76051 --Third Party Type
76052 , p_source_83 IN VARCHAR2
76056 , p_source_86 IN NUMBER
76053 --Parent Reversal Identifier
76054 , p_source_84 IN NUMBER
76055 --Invoice Distribution Tax Line Identifier
76057 --Invoice Distribution Tax Distribution Identifier from Tax
76058 , p_source_87 IN NUMBER
76059 --Invoice Distribution Summary Tax Line Identifier
76060 , p_source_88 IN NUMBER
76061 --Payables Upgrade Credit Encumbrance Type Identifier
76062 , p_source_89 IN NUMBER
76063 --Payables Upgrade Debit Encumbrance Type Identifier
76064 , p_source_90 IN NUMBER
76065 --Business Flow Accounts Payable Application Identifier
76066 , p_source_91 IN NUMBER
76067 --Business Flow Invoice Distribution Type
76068 , p_source_92 IN VARCHAR2
76069 --Business Flow Invoice Entity Code
76070 , p_source_93 IN VARCHAR2
76071 --Business Flow Invoice Distribution Identifier
76072 , p_source_94 IN NUMBER
76073 --Business Flow Invoice Identifier
76074 , p_source_95 IN NUMBER
76075 --Accrue on Receipt Option
76076 , p_source_96 IN VARCHAR2
76077 , p_source_96_meaning IN VARCHAR2
76078 --Invoice Exchange Date
76079 , p_source_143 IN DATE
76080 --Invoice Exchange Rate
76081 , p_source_144 IN NUMBER
76082 --Invoice Exchange Rate Type
76083 , p_source_145 IN VARCHAR2
76084 )
76085 IS
76086
76087 l_component_type VARCHAR2(80);
76088 l_component_code VARCHAR2(30);
76089 l_component_type_code VARCHAR2(1);
76090 l_component_appl_id INTEGER;
76091 l_amb_context_code VARCHAR2(30);
76092 l_entity_code VARCHAR2(30);
76093 l_event_class_code VARCHAR2(30);
76094 l_ae_header_id NUMBER;
76095 l_event_type_code VARCHAR2(30);
76096 l_line_definition_code VARCHAR2(30);
76097 l_line_definition_owner_code VARCHAR2(1);
76098 --
76099 -- adr variables
76100 l_segment VARCHAR2(30);
76101 l_ccid NUMBER;
76102 l_adr_transaction_coa_id NUMBER;
76103 l_adr_accounting_coa_id NUMBER;
76104 l_adr_flexfield_segment_code VARCHAR2(30);
76105 l_adr_flex_value_set_id NUMBER;
76106 l_adr_value_type_code VARCHAR2(30);
76107 l_adr_value_combination_id NUMBER;
76108 l_adr_value_segment_code VARCHAR2(30);
76109
76110 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
76111 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
76112 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
76113 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
76114
76115 -- 4262811 Variables ------------------------------------------------------------------------------------------
76116 l_entered_amt_idx NUMBER;
76117 l_accted_amt_idx NUMBER;
76118 l_acc_rev_flag VARCHAR2(1);
76119 l_accrual_line_num NUMBER;
76120 l_tmp_amt NUMBER;
76121 l_acc_rev_natural_side_code VARCHAR2(1);
76122
76123 l_num_entries NUMBER;
76124 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
76125 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
76126 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
76127 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
76128 l_recog_line_1 NUMBER;
76129 l_recog_line_2 NUMBER;
76130
76131 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
76132 l_bflow_applied_to_amt NUMBER; -- 5132302
76133 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
76134
76135 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
76136
76137 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
76138 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
76139
76140 ---------------------------------------------------------------------------------------------------------------
76141
76142
76143 --
76144 -- bulk performance
76145 --
76146 l_balance_type_code VARCHAR2(1);
76147 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
76148 l_log_module VARCHAR2(240);
76149
76150 --
76151 -- Upgrade strategy
76152 --
76153 l_actual_upg_option VARCHAR2(1);
76154 l_enc_upg_option VARCHAR2(1);
76155
76156 --
76157 BEGIN
76158 --
76159 IF g_log_enabled THEN
76160 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_139';
76161 END IF;
76162 --
76163 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
76164
76165 trace
76166 (p_msg => 'BEGIN of AcctLineType_139'
76167 ,p_level => C_LEVEL_PROCEDURE
76168 ,p_module => l_log_module);
76169
76170 END IF;
76171 --
76172 l_component_type := 'AMB_JLT';
76173 l_component_code := 'AP_INV_PRICE_VAR_DM';
76174 l_component_type_code := 'S';
76175 l_component_appl_id := 200;
76176 l_amb_context_code := 'DEFAULT';
76177 l_entity_code := 'AP_INVOICES';
76178 l_event_class_code := 'DEBIT MEMOS';
76179 l_event_type_code := 'DEBIT MEMOS_ALL';
76180 l_line_definition_owner_code := 'S';
76181 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
76182 --
76183 l_balance_type_code := 'A';
76187 l_adr_accounting_coa_id := NULL;
76184 l_segment := NULL;
76185 l_ccid := NULL;
76186 l_adr_transaction_coa_id := NULL;
76188 l_adr_flexfield_segment_code := NULL;
76189 l_adr_flex_value_set_id := NULL;
76190 l_adr_value_type_code := NULL;
76191 l_adr_value_combination_id := NULL;
76192 l_adr_value_segment_code := NULL;
76193
76194 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
76195 l_bflow_class_code := ''; -- 4219869 Business Flow
76196 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
76197 l_budgetary_control_flag := 'N';
76198
76199 l_bflow_applied_to_amt_idx := NULL; -- 5132302
76200 l_bflow_applied_to_amt := NULL; -- 5132302
76201 l_entered_amt_idx := NULL; -- 4262811
76202 l_accted_amt_idx := NULL; -- 4262811
76203 l_acc_rev_flag := NULL; -- 4262811
76204 l_accrual_line_num := NULL; -- 4262811
76205 l_tmp_amt := NULL; -- 4262811
76206 --
76207
76208 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
76209 l_balance_type_code <> 'B' THEN
76210 IF NVL(p_source_33,'
76211 ') = 'IPV' AND
76212 NVL(p_source_96,'
76213 ') = 'Y'
76214 THEN
76215
76216 --
76217 XLA_AE_LINES_PKG.SetNewLine;
76218
76219 p_balance_type_code := l_balance_type_code;
76220 -- set the flag so later we will know whether the gain loss line needs to be created
76221
76222 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
76223 p_actual_flag :='A';
76224 END IF;
76225
76226 --
76227 -- bulk performance
76228 --
76229 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
76230 p_header_num => 0); -- 4262811
76231 --
76232 -- set accounting line options
76233 --
76234 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
76235 p_natural_side_code => 'D'
76236 , p_gain_or_loss_flag => 'N'
76237 , p_gl_transfer_mode_code => 'S'
76238 , p_acct_entry_type_code => 'A'
76239 , p_switch_side_flag => 'Y'
76240 , p_merge_duplicate_code => 'A'
76241 );
76242 --
76243 l_acc_rev_natural_side_code := 'C'; -- 4262811
76244 --
76245 --
76246 -- set accounting line type info
76247 --
76248 xla_ae_lines_pkg.SetAcctLineType
76249 (p_component_type => l_component_type
76250 ,p_event_type_code => l_event_type_code
76251 ,p_line_definition_owner_code => l_line_definition_owner_code
76252 ,p_line_definition_code => l_line_definition_code
76253 ,p_accounting_line_code => l_component_code
76254 ,p_accounting_line_type_code => l_component_type_code
76255 ,p_accounting_line_appl_id => l_component_appl_id
76256 ,p_amb_context_code => l_amb_context_code
76257 ,p_entity_code => l_entity_code
76258 ,p_event_class_code => l_event_class_code);
76259 --
76260 -- set accounting class
76261 --
76262 xla_ae_lines_pkg.SetAcctClass(
76263 p_accounting_class_code => 'IPV'
76264 , p_ae_header_id => l_ae_header_id
76265 );
76266
76267 --
76268 -- set rounding class
76269 --
76270 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
76271 'IPV';
76272
76273 --
76274 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
76275 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
76276 --
76277 -- bulk performance
76278 --
76279 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
76280
76281 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
76282 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
76283
76284 -- 4955764
76285 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
76286 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
76287
76288 -- 4458381 Public Sector Enh
76289
76290 --
76291 -- set accounting attributes for the line type
76292 --
76293 l_entered_amt_idx := 23;
76294 l_accted_amt_idx := 28;
76295 l_bflow_applied_to_amt_idx := NULL; -- 5132302
76296 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
76297 l_rec_acct_attrs.array_char_value(1) := p_source_53;
76298 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
76299 l_rec_acct_attrs.array_num_value(2) :=
76300 xla_ae_sources_pkg.GetSystemSourceNum(
76301 p_source_code => 'XLA_EVENT_APPL_ID'
76302 , p_source_type_code => 'Y'
76303 , p_source_application_id => 602
76304 );
76305 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
76306 l_rec_acct_attrs.array_char_value(3) := p_source_55;
76307 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
76308 l_rec_acct_attrs.array_char_value(4) :=
76309 xla_ae_sources_pkg.GetSystemSourceChar(
76313 );
76310 p_source_code => 'XLA_ENTITY_CODE'
76311 , p_source_type_code => 'Y'
76312 , p_source_application_id => 602
76314 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
76315 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
76316 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
76317 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
76318 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
76319 l_rec_acct_attrs.array_num_value(7) := p_source_91;
76320 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
76321 l_rec_acct_attrs.array_char_value(8) := p_source_92;
76322 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
76323 l_rec_acct_attrs.array_char_value(9) := p_source_93;
76324 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
76325 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
76326 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
76327 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
76328 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
76329 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
76330 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
76331 l_rec_acct_attrs.array_char_value(13) := p_source_55;
76332 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
76333 l_rec_acct_attrs.array_num_value(14) := p_source_65;
76334 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
76335 l_rec_acct_attrs.array_num_value(15) := p_source_66;
76336 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
76337 l_rec_acct_attrs.array_char_value(16) := p_source_67;
76338 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
76339 l_rec_acct_attrs.array_num_value(17) := p_source_68;
76340 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
76341 l_rec_acct_attrs.array_num_value(18) := p_source_69;
76342 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
76343 l_rec_acct_attrs.array_num_value(19) := p_source_70;
76344 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
76345 l_rec_acct_attrs.array_char_value(20) := p_source_67;
76346 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
76347 l_rec_acct_attrs.array_num_value(21) := p_source_71;
76348 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
76349 l_rec_acct_attrs.array_char_value(22) := p_source_72;
76350 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
76351 l_rec_acct_attrs.array_num_value(23) := p_source_73;
76352 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
76353 l_rec_acct_attrs.array_char_value(24) := p_source_67;
76354 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
76355 l_rec_acct_attrs.array_date_value(25) := p_source_143;
76356 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
76357 l_rec_acct_attrs.array_num_value(26) := p_source_144;
76358 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
76359 l_rec_acct_attrs.array_char_value(27) := p_source_145;
76360 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
76361 l_rec_acct_attrs.array_num_value(28) := p_source_21;
76362 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
76363 l_rec_acct_attrs.array_date_value(29) := p_source_77;
76364 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
76365 l_rec_acct_attrs.array_char_value(30) := p_source_78;
76366 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
76367 l_rec_acct_attrs.array_date_value(31) := p_source_79;
76368 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
76369 l_rec_acct_attrs.array_char_value(32) := p_source_80;
76370 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
76371 l_rec_acct_attrs.array_num_value(33) := p_source_81;
76372 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
76373 l_rec_acct_attrs.array_num_value(34) := p_source_82;
76374 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
76375 l_rec_acct_attrs.array_char_value(35) := p_source_83;
76376 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
76377 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
76378 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
76379 l_rec_acct_attrs.array_char_value(37) := p_source_55;
76380 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
76381 l_rec_acct_attrs.array_num_value(38) := p_source_86;
76382 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
76383 l_rec_acct_attrs.array_num_value(39) := p_source_87;
76384 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
76385 l_rec_acct_attrs.array_num_value(40) := p_source_88;
76386 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
76387 l_rec_acct_attrs.array_num_value(41) := p_source_89;
76388 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
76389 l_rec_acct_attrs.array_num_value(42) := p_source_90;
76390
76391 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
76392 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
76393
76397 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
76394 ---------------------------------------------------------------------------------------------------------------
76395 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
76396 ---------------------------------------------------------------------------------------------------------------
76398
76399 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
76400 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
76401
76402 IF xla_accounting_cache_pkg.GetValueChar
76403 (p_source_code => 'LEDGER_CATEGORY_CODE'
76404 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
76405 AND l_bflow_method_code = 'PRIOR_ENTRY'
76406 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
76407 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
76408 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
76409 )
76410 THEN
76411 xla_ae_lines_pkg.BflowUpgEntry
76412 (p_business_method_code => l_bflow_method_code
76413 ,p_business_class_code => l_bflow_class_code
76414 ,p_balance_type => l_balance_type_code);
76415 ELSE
76416 NULL;
76417 -- No business flow processing for business flow method of NONE.
76418 END IF;
76419
76420 --
76421 -- call analytical criteria
76422 --
76423
76424 --
76425 -- call description
76426 --
76427
76428 xla_ae_lines_pkg.SetLineDescription(
76429 p_ae_header_id => l_ae_header_id
76430 ,p_description => Description_1 (
76431 p_application_id => p_application_id
76432 , p_ae_header_id => l_ae_header_id
76433 , p_source_1 => p_source_1
76434 )
76435 );
76436
76437
76438 --
76439 -- call ADRs
76440 -- Bug 4922099
76441 --
76442 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
76443 (NVL(l_actual_upg_option, 'N') = 'O') OR
76444 (NVL(l_enc_upg_option, 'N') = 'O')
76445 )
76446 THEN
76447 NULL;
76448 --
76449 --
76450
76451 l_ccid := AcctDerRule_33(
76452 p_application_id => p_application_id
76453 , p_ae_header_id => l_ae_header_id
76454 , p_source_30 => p_source_30
76455 , x_transaction_coa_id => l_adr_transaction_coa_id
76456 , x_accounting_coa_id => l_adr_accounting_coa_id
76457 , x_value_type_code => l_adr_value_type_code
76458 , p_side => 'NA'
76459 );
76460
76461 xla_ae_lines_pkg.set_ccid(
76462 p_code_combination_id => l_ccid
76463 , p_value_type_code => l_adr_value_type_code
76464 , p_transaction_coa_id => l_adr_transaction_coa_id
76465 , p_accounting_coa_id => l_adr_accounting_coa_id
76466 , p_adr_code => 'AP_INVOICE_DIST'
76467 , p_adr_type_code => 'S'
76468 , p_component_type => l_component_type
76469 , p_component_code => l_component_code
76470 , p_component_type_code => l_component_type_code
76471 , p_component_appl_id => l_component_appl_id
76472 , p_amb_context_code => l_amb_context_code
76473 , p_side => 'NA'
76474 );
76475
76476
76477 --
76478 --
76479 END IF;
76480 --
76481 -- Bug 4922099
76482 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
76483 (NVL(l_enc_upg_option, 'N') = 'O')
76484 ) AND
76485 (l_bflow_method_code = 'PRIOR_ENTRY')
76486 )
76487 THEN
76488 IF
76489 --
76490 1 = 2
76491 --
76492 THEN
76493 xla_accounting_err_pkg.build_message
76494 (p_appli_s_name => 'XLA'
76495 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
76496 ,p_token_1 => 'LINE_NUMBER'
76497 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
76498 ,p_token_2 => 'LINE_TYPE_NAME'
76499 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
76500 l_component_type
76501 ,l_component_code
76502 ,l_component_type_code
76503 ,l_component_appl_id
76504 ,l_amb_context_code
76505 ,l_entity_code
76506 ,l_event_class_code
76507 )
76508 ,p_token_3 => 'OWNER'
76512 )
76509 ,p_value_3 => xla_lookups_pkg.get_meaning(
76510 p_lookup_type => 'XLA_OWNER_TYPE'
76511 ,p_lookup_code => l_component_type_code
76513 ,p_token_4 => 'PRODUCT_NAME'
76514 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
76515 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
76516 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
76517 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
76518 ,p_ae_header_id => NULL
76519 );
76520
76521 IF (C_LEVEL_ERROR>= g_log_level) THEN
76522 trace
76523 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
76524 ,p_level => C_LEVEL_ERROR
76525 ,p_module => l_log_module);
76526 END IF;
76527 END IF;
76528 END IF;
76529 --
76530 --
76531 ------------------------------------------------------------------------------------------------
76532 -- 4219869 Business Flow
76533 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
76534 -- Prior Entry. Currently, the following code is always generated.
76535 ------------------------------------------------------------------------------------------------
76536 XLA_AE_LINES_PKG.ValidateCurrentLine;
76537
76538 ------------------------------------------------------------------------------------
76539 -- 4219869 Business Flow
76540 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
76541 ------------------------------------------------------------------------------------
76542 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
76543
76544 ----------------------------------------------------------------------------------
76545 -- 4219869 Business Flow
76546 -- Update journal entry status -- Need to generate this within IF <condition>
76547 ----------------------------------------------------------------------------------
76548 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
76549 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
76550 ,p_balance_type_code => l_balance_type_code
76551 );
76552
76553 -------------------------------------------------------------------------------------------
76554 -- 4262811 - Generate the Accrual Reversal lines
76555 -------------------------------------------------------------------------------------------
76556 BEGIN
76557 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
76558 (g_array_event(p_event_id).array_value_num('header_index'));
76559 IF l_acc_rev_flag IS NULL THEN
76560 l_acc_rev_flag := 'N';
76561 END IF;
76562 EXCEPTION
76563 WHEN OTHERS THEN
76564 l_acc_rev_flag := 'N';
76565 END;
76566 --
76567 IF (l_acc_rev_flag = 'Y') THEN
76568
76569 -- 4645092 ------------------------------------------------------------------------------
76570 -- To allow MPA report to determine if it should generate report process
76571 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
76572 ------------------------------------------------------------------------------------------
76573
76574 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
76575 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
76576 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
76577 -- call ADRs
76578 -- Bug 4922099
76579 --
76580 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
76581 (NVL(l_actual_upg_option, 'N') = 'O') OR
76582 (NVL(l_enc_upg_option, 'N') = 'O')
76583 )
76584 THEN
76585 NULL;
76586 --
76587 --
76588
76589 l_ccid := AcctDerRule_33(
76590 p_application_id => p_application_id
76591 , p_ae_header_id => l_ae_header_id
76592 , p_source_30 => p_source_30
76593 , x_transaction_coa_id => l_adr_transaction_coa_id
76594 , x_accounting_coa_id => l_adr_accounting_coa_id
76595 , x_value_type_code => l_adr_value_type_code
76596 , p_side => 'NA'
76597 );
76598
76599 xla_ae_lines_pkg.set_ccid(
76600 p_code_combination_id => l_ccid
76601 , p_value_type_code => l_adr_value_type_code
76602 , p_transaction_coa_id => l_adr_transaction_coa_id
76603 , p_accounting_coa_id => l_adr_accounting_coa_id
76604 , p_adr_code => 'AP_INVOICE_DIST'
76605 , p_adr_type_code => 'S'
76606 , p_component_type => l_component_type
76607 , p_component_code => l_component_code
76608 , p_component_type_code => l_component_type_code
76609 , p_component_appl_id => l_component_appl_id
76610 , p_amb_context_code => l_amb_context_code
76611 , p_side => 'NA'
76612 );
76613
76614
76618
76615 --
76616 --
76617 END IF;
76619 --
76620 -- Update the line information that should be overwritten
76621 --
76622 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
76623 p_header_num => 1);
76624 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
76625
76626 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
76627
76628 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
76629 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
76630 END IF;
76631
76632 --
76633 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
76634 --
76635 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
76636 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
76637 ELSE
76638 ---------------------------------------------------------------------------------------------------
76639 -- 4262811a Switch Sign
76640 ---------------------------------------------------------------------------------------------------
76641 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
76642 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
76643 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
76644 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
76645 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
76646 -- 5132302
76647 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
76648 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
76649
76650 END IF;
76651
76652 -- 4955764
76653 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
76654 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
76655
76656
76657 XLA_AE_LINES_PKG.ValidateCurrentLine;
76658 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
76659
76660 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
76661 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
76662 ,p_balance_type_code => l_balance_type_code);
76663
76664 END IF;
76665
76666 -----------------------------------------------------------------------------------------
76667 -- 4262811 Multiperiod Accounting
76668 -----------------------------------------------------------------------------------------
76669 -- No MPA option is assigned.
76670
76671
76672 END IF;
76673 END IF;
76674 --
76675
76676 --
76677 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
76678 trace
76679 (p_msg => 'END of AcctLineType_139'
76680 ,p_level => C_LEVEL_PROCEDURE
76681 ,p_module => l_log_module);
76682 END IF;
76683 --
76684 EXCEPTION
76685 WHEN xla_exceptions_pkg.application_exception THEN
76686 RAISE;
76687 WHEN OTHERS THEN
76688 xla_exceptions_pkg.raise_message
76689 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_139');
76690 END AcctLineType_139;
76691 --
76692
76693 ---------------------------------------
76694 --
76695 -- PRIVATE FUNCTION
76696 -- AcctLineType_140
76697 --
76698 ---------------------------------------
76699 PROCEDURE AcctLineType_140 (
76700 p_application_id IN NUMBER
76701 ,p_event_id IN NUMBER
76702 ,p_calculate_acctd_flag IN VARCHAR2
76703 ,p_calculate_g_l_flag IN VARCHAR2
76704 ,p_actual_flag IN OUT VARCHAR2
76705 ,p_balance_type_code OUT VARCHAR2
76706 ,p_gain_or_loss_ref OUT VARCHAR2
76707
76708 --Invoice Distribution Description
76709 , p_source_1 IN VARCHAR2
76710 --Invoice Distribution Ledger Amount
76711 , p_source_21 IN NUMBER
76712 --Invoice Distribution Account
76713 , p_source_30 IN NUMBER
76714 --Invoice Distribution Type
76715 , p_source_33 IN VARCHAR2
76716 , p_source_33_meaning IN VARCHAR2
76717 --Accounting Reversal Indicator
76718 , p_source_53 IN VARCHAR2
76719 --Distribution Link Type
76720 , p_source_55 IN VARCHAR2
76721 --Allocation to Main Distribution Identifier
76722 , p_source_57 IN NUMBER
76723 --Invoice Identifier
76724 , p_source_58 IN NUMBER
76725 --Invoice Distribution Identifier
76726 , p_source_64 IN NUMBER
76727 --Payables Encumbrance Upgrade Credit Account
76728 , p_source_65 IN NUMBER
76729 --Payables Encumbrance Upgrade Credit Amount
76730 , p_source_66 IN NUMBER
76731 --Invoice Currency Code
76732 , p_source_67 IN VARCHAR2
76733 --Payables Encumbrance Upgrade Credit Base Amount
76734 , p_source_68 IN NUMBER
76735 --Payables Encumbrance Upgrade Debit Account
76736 , p_source_69 IN NUMBER
76737 --Payables Encumbrance Upgrade Debit Amount
76738 , p_source_70 IN NUMBER
76742 , p_source_72 IN VARCHAR2
76739 --Payables Encumbrance Upgrade Debit Base Amount
76740 , p_source_71 IN NUMBER
76741 --Payables Encumbrance Upgrade Option
76743 --Invoice Distribution Amount
76744 , p_source_73 IN NUMBER
76745 --Deferred Accounting End Date
76746 , p_source_77 IN DATE
76747 --Deferred Accounting Option
76748 , p_source_78 IN VARCHAR2
76749 --Deferred Accounting Start Date
76750 , p_source_79 IN DATE
76751 --Override Accounted Amount Indicator
76752 , p_source_80 IN VARCHAR2
76753 , p_source_80_meaning IN VARCHAR2
76754 --Invoice Supplier Identifier
76755 , p_source_81 IN NUMBER
76756 --Invoice Supplier Site Identifier
76757 , p_source_82 IN NUMBER
76758 --Third Party Type
76759 , p_source_83 IN VARCHAR2
76760 --Parent Reversal Identifier
76761 , p_source_84 IN NUMBER
76762 --Invoice Distribution Statistical Amount
76763 , p_source_85 IN NUMBER
76764 --Invoice Distribution Tax Line Identifier
76765 , p_source_86 IN NUMBER
76766 --Invoice Distribution Tax Distribution Identifier from Tax
76767 , p_source_87 IN NUMBER
76768 --Invoice Distribution Summary Tax Line Identifier
76769 , p_source_88 IN NUMBER
76770 --Payables Upgrade Credit Encumbrance Type Identifier
76771 , p_source_89 IN NUMBER
76772 --Payables Upgrade Debit Encumbrance Type Identifier
76773 , p_source_90 IN NUMBER
76774 --Business Flow Accounts Payable Application Identifier
76775 , p_source_91 IN NUMBER
76776 --Business Flow Invoice Distribution Type
76777 , p_source_92 IN VARCHAR2
76778 --Business Flow Invoice Entity Code
76779 , p_source_93 IN VARCHAR2
76780 --Business Flow Invoice Distribution Identifier
76781 , p_source_94 IN NUMBER
76782 --Business Flow Invoice Identifier
76783 , p_source_95 IN NUMBER
76784 --Accrue on Receipt Option
76785 , p_source_96 IN VARCHAR2
76786 , p_source_96_meaning IN VARCHAR2
76787 --Invoice Exchange Date
76788 , p_source_143 IN DATE
76789 --Invoice Exchange Rate
76790 , p_source_144 IN NUMBER
76791 --Invoice Exchange Rate Type
76792 , p_source_145 IN VARCHAR2
76793 )
76794 IS
76795
76796 l_component_type VARCHAR2(80);
76797 l_component_code VARCHAR2(30);
76798 l_component_type_code VARCHAR2(1);
76799 l_component_appl_id INTEGER;
76800 l_amb_context_code VARCHAR2(30);
76801 l_entity_code VARCHAR2(30);
76802 l_event_class_code VARCHAR2(30);
76803 l_ae_header_id NUMBER;
76804 l_event_type_code VARCHAR2(30);
76805 l_line_definition_code VARCHAR2(30);
76806 l_line_definition_owner_code VARCHAR2(1);
76807 --
76808 -- adr variables
76809 l_segment VARCHAR2(30);
76810 l_ccid NUMBER;
76811 l_adr_transaction_coa_id NUMBER;
76812 l_adr_accounting_coa_id NUMBER;
76813 l_adr_flexfield_segment_code VARCHAR2(30);
76814 l_adr_flex_value_set_id NUMBER;
76815 l_adr_value_type_code VARCHAR2(30);
76816 l_adr_value_combination_id NUMBER;
76817 l_adr_value_segment_code VARCHAR2(30);
76818
76819 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
76820 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
76821 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
76822 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
76823
76824 -- 4262811 Variables ------------------------------------------------------------------------------------------
76825 l_entered_amt_idx NUMBER;
76826 l_accted_amt_idx NUMBER;
76827 l_acc_rev_flag VARCHAR2(1);
76828 l_accrual_line_num NUMBER;
76829 l_tmp_amt NUMBER;
76830 l_acc_rev_natural_side_code VARCHAR2(1);
76831
76832 l_num_entries NUMBER;
76833 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
76834 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
76835 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
76836 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
76837 l_recog_line_1 NUMBER;
76838 l_recog_line_2 NUMBER;
76839
76840 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
76841 l_bflow_applied_to_amt NUMBER; -- 5132302
76842 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
76843
76844 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
76845
76846 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
76847 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
76848
76849 ---------------------------------------------------------------------------------------------------------------
76850
76851
76852 --
76853 -- bulk performance
76854 --
76855 l_balance_type_code VARCHAR2(1);
76856 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
76857 l_log_module VARCHAR2(240);
76858
76859 --
76860 -- Upgrade strategy
76861 --
76862 l_actual_upg_option VARCHAR2(1);
76863 l_enc_upg_option VARCHAR2(1);
76864
76865 --
76869 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_140';
76866 BEGIN
76867 --
76868 IF g_log_enabled THEN
76870 END IF;
76871 --
76872 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
76873
76874 trace
76875 (p_msg => 'BEGIN of AcctLineType_140'
76876 ,p_level => C_LEVEL_PROCEDURE
76877 ,p_module => l_log_module);
76878
76879 END IF;
76880 --
76881 l_component_type := 'AMB_JLT';
76882 l_component_code := 'AP_INV_PRICE_VAR_INV';
76883 l_component_type_code := 'S';
76884 l_component_appl_id := 200;
76885 l_amb_context_code := 'DEFAULT';
76886 l_entity_code := 'AP_INVOICES';
76887 l_event_class_code := 'INVOICES';
76888 l_event_type_code := 'INVOICES_ALL';
76889 l_line_definition_owner_code := 'S';
76890 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
76891 --
76892 l_balance_type_code := 'A';
76893 l_segment := NULL;
76894 l_ccid := NULL;
76895 l_adr_transaction_coa_id := NULL;
76896 l_adr_accounting_coa_id := NULL;
76897 l_adr_flexfield_segment_code := NULL;
76898 l_adr_flex_value_set_id := NULL;
76899 l_adr_value_type_code := NULL;
76900 l_adr_value_combination_id := NULL;
76901 l_adr_value_segment_code := NULL;
76902
76903 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
76904 l_bflow_class_code := ''; -- 4219869 Business Flow
76905 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
76906 l_budgetary_control_flag := 'N';
76907
76908 l_bflow_applied_to_amt_idx := NULL; -- 5132302
76909 l_bflow_applied_to_amt := NULL; -- 5132302
76910 l_entered_amt_idx := NULL; -- 4262811
76911 l_accted_amt_idx := NULL; -- 4262811
76912 l_acc_rev_flag := NULL; -- 4262811
76913 l_accrual_line_num := NULL; -- 4262811
76914 l_tmp_amt := NULL; -- 4262811
76915 --
76916
76917 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
76918 l_balance_type_code <> 'B' THEN
76919 IF NVL(p_source_33,'
76920 ') = 'IPV' AND
76921 NVL(p_source_96,'
76922 ') = 'Y'
76923 THEN
76924
76925 --
76926 XLA_AE_LINES_PKG.SetNewLine;
76927
76928 p_balance_type_code := l_balance_type_code;
76929 -- set the flag so later we will know whether the gain loss line needs to be created
76930
76931 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
76932 p_actual_flag :='A';
76933 END IF;
76934
76935 --
76936 -- bulk performance
76937 --
76938 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
76939 p_header_num => 0); -- 4262811
76940 --
76941 -- set accounting line options
76942 --
76943 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
76944 p_natural_side_code => 'D'
76945 , p_gain_or_loss_flag => 'N'
76946 , p_gl_transfer_mode_code => 'S'
76947 , p_acct_entry_type_code => 'A'
76948 , p_switch_side_flag => 'Y'
76949 , p_merge_duplicate_code => 'A'
76950 );
76951 --
76952 l_acc_rev_natural_side_code := 'C'; -- 4262811
76953 --
76954 --
76955 -- set accounting line type info
76956 --
76957 xla_ae_lines_pkg.SetAcctLineType
76958 (p_component_type => l_component_type
76959 ,p_event_type_code => l_event_type_code
76960 ,p_line_definition_owner_code => l_line_definition_owner_code
76961 ,p_line_definition_code => l_line_definition_code
76962 ,p_accounting_line_code => l_component_code
76963 ,p_accounting_line_type_code => l_component_type_code
76964 ,p_accounting_line_appl_id => l_component_appl_id
76965 ,p_amb_context_code => l_amb_context_code
76966 ,p_entity_code => l_entity_code
76967 ,p_event_class_code => l_event_class_code);
76968 --
76969 -- set accounting class
76970 --
76971 xla_ae_lines_pkg.SetAcctClass(
76972 p_accounting_class_code => 'IPV'
76973 , p_ae_header_id => l_ae_header_id
76974 );
76975
76976 --
76977 -- set rounding class
76978 --
76979 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
76980 'IPV';
76981
76982 --
76983 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
76984 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
76985 --
76986 -- bulk performance
76987 --
76988 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
76989
76990 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
76991 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
76992
76993 -- 4955764
76994 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
76995 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
76996
76997 -- 4458381 Public Sector Enh
76998
76999 --
77003 l_accted_amt_idx := 29;
77000 -- set accounting attributes for the line type
77001 --
77002 l_entered_amt_idx := 24;
77004 l_bflow_applied_to_amt_idx := 7; -- 5132302
77005 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
77006 l_rec_acct_attrs.array_char_value(1) := p_source_53;
77007 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
77008 l_rec_acct_attrs.array_num_value(2) :=
77009 xla_ae_sources_pkg.GetSystemSourceNum(
77010 p_source_code => 'XLA_EVENT_APPL_ID'
77011 , p_source_type_code => 'Y'
77012 , p_source_application_id => 602
77013 );
77014 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
77015 l_rec_acct_attrs.array_char_value(3) := p_source_55;
77016 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
77017 l_rec_acct_attrs.array_char_value(4) :=
77018 xla_ae_sources_pkg.GetSystemSourceChar(
77019 p_source_code => 'XLA_ENTITY_CODE'
77020 , p_source_type_code => 'Y'
77021 , p_source_application_id => 602
77022 );
77023 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
77024 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
77025 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
77026 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
77027 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
77028 l_rec_acct_attrs.array_num_value(7) := p_source_73;
77029 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
77030 l_rec_acct_attrs.array_num_value(8) := p_source_91;
77031 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
77032 l_rec_acct_attrs.array_char_value(9) := p_source_92;
77033 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
77034 l_rec_acct_attrs.array_char_value(10) := p_source_93;
77035 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
77036 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
77037 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
77038 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_95);
77039 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
77040 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_64);
77041 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
77042 l_rec_acct_attrs.array_char_value(14) := p_source_55;
77043 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
77044 l_rec_acct_attrs.array_num_value(15) := p_source_65;
77045 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
77046 l_rec_acct_attrs.array_num_value(16) := p_source_66;
77047 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
77048 l_rec_acct_attrs.array_char_value(17) := p_source_67;
77049 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
77050 l_rec_acct_attrs.array_num_value(18) := p_source_68;
77051 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
77052 l_rec_acct_attrs.array_num_value(19) := p_source_69;
77053 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
77054 l_rec_acct_attrs.array_num_value(20) := p_source_70;
77055 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
77056 l_rec_acct_attrs.array_char_value(21) := p_source_67;
77057 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
77058 l_rec_acct_attrs.array_num_value(22) := p_source_71;
77059 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
77060 l_rec_acct_attrs.array_char_value(23) := p_source_72;
77061 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
77062 l_rec_acct_attrs.array_num_value(24) := p_source_73;
77063 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
77064 l_rec_acct_attrs.array_char_value(25) := p_source_67;
77065 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
77066 l_rec_acct_attrs.array_date_value(26) := p_source_143;
77067 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
77068 l_rec_acct_attrs.array_num_value(27) := p_source_144;
77069 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
77070 l_rec_acct_attrs.array_char_value(28) := p_source_145;
77071 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
77072 l_rec_acct_attrs.array_num_value(29) := p_source_21;
77073 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
77074 l_rec_acct_attrs.array_date_value(30) := p_source_77;
77075 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
77076 l_rec_acct_attrs.array_char_value(31) := p_source_78;
77077 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
77078 l_rec_acct_attrs.array_date_value(32) := p_source_79;
77079 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
77080 l_rec_acct_attrs.array_char_value(33) := p_source_80;
77081 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
77082 l_rec_acct_attrs.array_num_value(34) := p_source_81;
77083 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
77084 l_rec_acct_attrs.array_num_value(35) := p_source_82;
77085 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
77086 l_rec_acct_attrs.array_char_value(36) := p_source_83;
77087 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
77091 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
77088 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_84);
77089 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
77090 l_rec_acct_attrs.array_char_value(38) := p_source_55;
77092 l_rec_acct_attrs.array_num_value(39) := p_source_85;
77093 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
77094 l_rec_acct_attrs.array_num_value(40) := p_source_86;
77095 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
77096 l_rec_acct_attrs.array_num_value(41) := p_source_87;
77097 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
77098 l_rec_acct_attrs.array_num_value(42) := p_source_88;
77099 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
77100 l_rec_acct_attrs.array_num_value(43) := p_source_89;
77101 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
77102 l_rec_acct_attrs.array_num_value(44) := p_source_90;
77103
77104 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
77105 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
77106
77107 ---------------------------------------------------------------------------------------------------------------
77108 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
77109 ---------------------------------------------------------------------------------------------------------------
77110 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
77111
77112 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
77113 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
77114
77115 IF xla_accounting_cache_pkg.GetValueChar
77116 (p_source_code => 'LEDGER_CATEGORY_CODE'
77117 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
77118 AND l_bflow_method_code = 'PRIOR_ENTRY'
77119 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
77120 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
77121 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
77122 )
77123 THEN
77124 xla_ae_lines_pkg.BflowUpgEntry
77125 (p_business_method_code => l_bflow_method_code
77126 ,p_business_class_code => l_bflow_class_code
77127 ,p_balance_type => l_balance_type_code);
77128 ELSE
77129 NULL;
77130 -- No business flow processing for business flow method of NONE.
77131 END IF;
77132
77133 --
77134 -- call analytical criteria
77135 --
77136
77137 --
77138 -- call description
77139 --
77140
77141 xla_ae_lines_pkg.SetLineDescription(
77142 p_ae_header_id => l_ae_header_id
77143 ,p_description => Description_1 (
77144 p_application_id => p_application_id
77145 , p_ae_header_id => l_ae_header_id
77146 , p_source_1 => p_source_1
77147 )
77148 );
77149
77150
77151 --
77152 -- call ADRs
77153 -- Bug 4922099
77154 --
77155 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
77156 (NVL(l_actual_upg_option, 'N') = 'O') OR
77157 (NVL(l_enc_upg_option, 'N') = 'O')
77158 )
77159 THEN
77160 NULL;
77161 --
77162 --
77163
77164 l_ccid := AcctDerRule_33(
77165 p_application_id => p_application_id
77166 , p_ae_header_id => l_ae_header_id
77167 , p_source_30 => p_source_30
77168 , x_transaction_coa_id => l_adr_transaction_coa_id
77169 , x_accounting_coa_id => l_adr_accounting_coa_id
77170 , x_value_type_code => l_adr_value_type_code
77171 , p_side => 'NA'
77172 );
77173
77174 xla_ae_lines_pkg.set_ccid(
77175 p_code_combination_id => l_ccid
77176 , p_value_type_code => l_adr_value_type_code
77177 , p_transaction_coa_id => l_adr_transaction_coa_id
77178 , p_accounting_coa_id => l_adr_accounting_coa_id
77179 , p_adr_code => 'AP_INVOICE_DIST'
77180 , p_adr_type_code => 'S'
77181 , p_component_type => l_component_type
77182 , p_component_code => l_component_code
77183 , p_component_type_code => l_component_type_code
77184 , p_component_appl_id => l_component_appl_id
77185 , p_amb_context_code => l_amb_context_code
77186 , p_side => 'NA'
77187 );
77188
77189
77190 --
77191 --
77192 END IF;
77193 --
77194 -- Bug 4922099
77195 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
77196 (NVL(l_enc_upg_option, 'N') = 'O')
77197 ) AND
77198 (l_bflow_method_code = 'PRIOR_ENTRY')
77199 )
77200 THEN
77201 IF
77202 --
77203 1 = 2
77204 --
77205 THEN
77206 xla_accounting_err_pkg.build_message
77207 (p_appli_s_name => 'XLA'
77208 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
77212 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
77209 ,p_token_1 => 'LINE_NUMBER'
77210 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
77211 ,p_token_2 => 'LINE_TYPE_NAME'
77213 l_component_type
77214 ,l_component_code
77215 ,l_component_type_code
77216 ,l_component_appl_id
77217 ,l_amb_context_code
77218 ,l_entity_code
77219 ,l_event_class_code
77220 )
77221 ,p_token_3 => 'OWNER'
77222 ,p_value_3 => xla_lookups_pkg.get_meaning(
77223 p_lookup_type => 'XLA_OWNER_TYPE'
77224 ,p_lookup_code => l_component_type_code
77225 )
77226 ,p_token_4 => 'PRODUCT_NAME'
77227 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
77228 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
77229 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
77230 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
77231 ,p_ae_header_id => NULL
77232 );
77233
77234 IF (C_LEVEL_ERROR>= g_log_level) THEN
77235 trace
77236 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
77237 ,p_level => C_LEVEL_ERROR
77238 ,p_module => l_log_module);
77239 END IF;
77240 END IF;
77241 END IF;
77242 --
77243 --
77244 ------------------------------------------------------------------------------------------------
77245 -- 4219869 Business Flow
77246 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
77247 -- Prior Entry. Currently, the following code is always generated.
77248 ------------------------------------------------------------------------------------------------
77249 XLA_AE_LINES_PKG.ValidateCurrentLine;
77250
77251 ------------------------------------------------------------------------------------
77252 -- 4219869 Business Flow
77253 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
77254 ------------------------------------------------------------------------------------
77255 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
77256
77257 ----------------------------------------------------------------------------------
77258 -- 4219869 Business Flow
77259 -- Update journal entry status -- Need to generate this within IF <condition>
77260 ----------------------------------------------------------------------------------
77261 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
77262 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
77263 ,p_balance_type_code => l_balance_type_code
77264 );
77265
77266 -------------------------------------------------------------------------------------------
77267 -- 4262811 - Generate the Accrual Reversal lines
77268 -------------------------------------------------------------------------------------------
77269 BEGIN
77270 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
77271 (g_array_event(p_event_id).array_value_num('header_index'));
77272 IF l_acc_rev_flag IS NULL THEN
77273 l_acc_rev_flag := 'N';
77274 END IF;
77275 EXCEPTION
77276 WHEN OTHERS THEN
77277 l_acc_rev_flag := 'N';
77278 END;
77279 --
77280 IF (l_acc_rev_flag = 'Y') THEN
77281
77282 -- 4645092 ------------------------------------------------------------------------------
77283 -- To allow MPA report to determine if it should generate report process
77284 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
77285 ------------------------------------------------------------------------------------------
77286
77287 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
77288 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
77289 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
77290 -- call ADRs
77291 -- Bug 4922099
77292 --
77293 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
77294 (NVL(l_actual_upg_option, 'N') = 'O') OR
77295 (NVL(l_enc_upg_option, 'N') = 'O')
77296 )
77297 THEN
77298 NULL;
77299 --
77300 --
77301
77302 l_ccid := AcctDerRule_33(
77306 , x_transaction_coa_id => l_adr_transaction_coa_id
77303 p_application_id => p_application_id
77304 , p_ae_header_id => l_ae_header_id
77305 , p_source_30 => p_source_30
77307 , x_accounting_coa_id => l_adr_accounting_coa_id
77308 , x_value_type_code => l_adr_value_type_code
77309 , p_side => 'NA'
77310 );
77311
77312 xla_ae_lines_pkg.set_ccid(
77313 p_code_combination_id => l_ccid
77314 , p_value_type_code => l_adr_value_type_code
77315 , p_transaction_coa_id => l_adr_transaction_coa_id
77316 , p_accounting_coa_id => l_adr_accounting_coa_id
77317 , p_adr_code => 'AP_INVOICE_DIST'
77318 , p_adr_type_code => 'S'
77319 , p_component_type => l_component_type
77320 , p_component_code => l_component_code
77321 , p_component_type_code => l_component_type_code
77322 , p_component_appl_id => l_component_appl_id
77323 , p_amb_context_code => l_amb_context_code
77324 , p_side => 'NA'
77325 );
77326
77327
77328 --
77329 --
77330 END IF;
77331
77332 --
77333 -- Update the line information that should be overwritten
77334 --
77335 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
77336 p_header_num => 1);
77337 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
77338
77339 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
77340
77341 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
77342 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
77343 END IF;
77344
77345 --
77346 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
77347 --
77348 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
77349 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
77350 ELSE
77351 ---------------------------------------------------------------------------------------------------
77352 -- 4262811a Switch Sign
77353 ---------------------------------------------------------------------------------------------------
77354 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
77355 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
77356 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
77357 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
77358 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
77359 -- 5132302
77360 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
77361 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
77362
77363 END IF;
77364
77365 -- 4955764
77366 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
77367 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
77368
77369
77370 XLA_AE_LINES_PKG.ValidateCurrentLine;
77371 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
77372
77373 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
77374 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
77375 ,p_balance_type_code => l_balance_type_code);
77376
77377 END IF;
77378
77379 -----------------------------------------------------------------------------------------
77380 -- 4262811 Multiperiod Accounting
77381 -----------------------------------------------------------------------------------------
77382 -- No MPA option is assigned.
77383
77384
77385 END IF;
77386 END IF;
77387 --
77388
77389 --
77390 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
77391 trace
77392 (p_msg => 'END of AcctLineType_140'
77393 ,p_level => C_LEVEL_PROCEDURE
77394 ,p_module => l_log_module);
77395 END IF;
77396 --
77397 EXCEPTION
77398 WHEN xla_exceptions_pkg.application_exception THEN
77399 RAISE;
77400 WHEN OTHERS THEN
77401 xla_exceptions_pkg.raise_message
77402 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_140');
77403 END AcctLineType_140;
77404 --
77405
77406 ---------------------------------------
77407 --
77408 -- PRIVATE FUNCTION
77409 -- AcctLineType_141
77410 --
77411 ---------------------------------------
77412 PROCEDURE AcctLineType_141 (
77413 p_application_id IN NUMBER
77414 ,p_event_id IN NUMBER
77415 ,p_calculate_acctd_flag IN VARCHAR2
77416 ,p_calculate_g_l_flag IN VARCHAR2
77417 ,p_actual_flag IN OUT VARCHAR2
77418 ,p_balance_type_code OUT VARCHAR2
77419 ,p_gain_or_loss_ref OUT VARCHAR2
77420
77421 --Invoice Distribution Description
77422 , p_source_1 IN VARCHAR2
77423 --Invoice Distribution Ledger Amount
77424 , p_source_21 IN NUMBER
77428 , p_source_33 IN VARCHAR2
77425 --Invoice Distribution Account
77426 , p_source_30 IN NUMBER
77427 --Invoice Distribution Type
77429 , p_source_33_meaning IN VARCHAR2
77430 --Accounting Reversal Indicator
77431 , p_source_53 IN VARCHAR2
77432 --Distribution Link Type
77433 , p_source_55 IN VARCHAR2
77434 --Allocation to Main Distribution Identifier
77435 , p_source_57 IN NUMBER
77436 --Invoice Identifier
77437 , p_source_58 IN NUMBER
77438 --Invoice Distribution Identifier
77439 , p_source_64 IN NUMBER
77440 --Payables Encumbrance Upgrade Credit Account
77441 , p_source_65 IN NUMBER
77442 --Payables Encumbrance Upgrade Credit Amount
77443 , p_source_66 IN NUMBER
77444 --Invoice Currency Code
77445 , p_source_67 IN VARCHAR2
77446 --Payables Encumbrance Upgrade Credit Base Amount
77447 , p_source_68 IN NUMBER
77448 --Payables Encumbrance Upgrade Debit Account
77449 , p_source_69 IN NUMBER
77450 --Payables Encumbrance Upgrade Debit Amount
77451 , p_source_70 IN NUMBER
77452 --Payables Encumbrance Upgrade Debit Base Amount
77453 , p_source_71 IN NUMBER
77454 --Payables Encumbrance Upgrade Option
77455 , p_source_72 IN VARCHAR2
77456 --Invoice Distribution Amount
77457 , p_source_73 IN NUMBER
77458 --Deferred Accounting End Date
77459 , p_source_77 IN DATE
77460 --Deferred Accounting Option
77461 , p_source_78 IN VARCHAR2
77462 --Deferred Accounting Start Date
77463 , p_source_79 IN DATE
77464 --Override Accounted Amount Indicator
77465 , p_source_80 IN VARCHAR2
77466 , p_source_80_meaning IN VARCHAR2
77467 --Invoice Supplier Identifier
77468 , p_source_81 IN NUMBER
77469 --Invoice Supplier Site Identifier
77470 , p_source_82 IN NUMBER
77471 --Third Party Type
77472 , p_source_83 IN VARCHAR2
77473 --Parent Reversal Identifier
77474 , p_source_84 IN NUMBER
77475 --Invoice Distribution Statistical Amount
77476 , p_source_85 IN NUMBER
77477 --Invoice Distribution Tax Line Identifier
77478 , p_source_86 IN NUMBER
77479 --Invoice Distribution Tax Distribution Identifier from Tax
77480 , p_source_87 IN NUMBER
77481 --Invoice Distribution Summary Tax Line Identifier
77482 , p_source_88 IN NUMBER
77483 --Payables Upgrade Credit Encumbrance Type Identifier
77484 , p_source_89 IN NUMBER
77485 --Payables Upgrade Debit Encumbrance Type Identifier
77486 , p_source_90 IN NUMBER
77487 --Business Flow Accounts Payable Application Identifier
77488 , p_source_91 IN NUMBER
77489 --Business Flow Invoice Distribution Type
77490 , p_source_92 IN VARCHAR2
77491 --Business Flow Invoice Entity Code
77492 , p_source_93 IN VARCHAR2
77493 --Business Flow Invoice Distribution Identifier
77494 , p_source_94 IN NUMBER
77495 --Business Flow Invoice Identifier
77496 , p_source_95 IN NUMBER
77497 --Accrue on Receipt Option
77498 , p_source_96 IN VARCHAR2
77499 , p_source_96_meaning IN VARCHAR2
77500 --Invoice Exchange Date
77501 , p_source_143 IN DATE
77502 --Invoice Exchange Rate
77503 , p_source_144 IN NUMBER
77504 --Invoice Exchange Rate Type
77505 , p_source_145 IN VARCHAR2
77506 )
77507 IS
77508
77509 l_component_type VARCHAR2(80);
77510 l_component_code VARCHAR2(30);
77511 l_component_type_code VARCHAR2(1);
77512 l_component_appl_id INTEGER;
77513 l_amb_context_code VARCHAR2(30);
77514 l_entity_code VARCHAR2(30);
77515 l_event_class_code VARCHAR2(30);
77516 l_ae_header_id NUMBER;
77517 l_event_type_code VARCHAR2(30);
77518 l_line_definition_code VARCHAR2(30);
77519 l_line_definition_owner_code VARCHAR2(1);
77520 --
77521 -- adr variables
77522 l_segment VARCHAR2(30);
77523 l_ccid NUMBER;
77524 l_adr_transaction_coa_id NUMBER;
77525 l_adr_accounting_coa_id NUMBER;
77526 l_adr_flexfield_segment_code VARCHAR2(30);
77527 l_adr_flex_value_set_id NUMBER;
77528 l_adr_value_type_code VARCHAR2(30);
77529 l_adr_value_combination_id NUMBER;
77530 l_adr_value_segment_code VARCHAR2(30);
77531
77532 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
77533 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
77534 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
77535 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
77536
77537 -- 4262811 Variables ------------------------------------------------------------------------------------------
77538 l_entered_amt_idx NUMBER;
77539 l_accted_amt_idx NUMBER;
77540 l_acc_rev_flag VARCHAR2(1);
77541 l_accrual_line_num NUMBER;
77542 l_tmp_amt NUMBER;
77543 l_acc_rev_natural_side_code VARCHAR2(1);
77544
77545 l_num_entries NUMBER;
77546 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
77547 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
77548 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
77549 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
77550 l_recog_line_1 NUMBER;
77554 l_bflow_applied_to_amt NUMBER; -- 5132302
77551 l_recog_line_2 NUMBER;
77552
77553 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
77555 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
77556
77557 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
77558
77559 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
77560 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
77561
77562 ---------------------------------------------------------------------------------------------------------------
77563
77564
77565 --
77566 -- bulk performance
77567 --
77568 l_balance_type_code VARCHAR2(1);
77569 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
77570 l_log_module VARCHAR2(240);
77571
77572 --
77573 -- Upgrade strategy
77574 --
77575 l_actual_upg_option VARCHAR2(1);
77576 l_enc_upg_option VARCHAR2(1);
77577
77578 --
77579 BEGIN
77580 --
77581 IF g_log_enabled THEN
77582 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_141';
77583 END IF;
77584 --
77585 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
77586
77587 trace
77588 (p_msg => 'BEGIN of AcctLineType_141'
77589 ,p_level => C_LEVEL_PROCEDURE
77590 ,p_module => l_log_module);
77591
77592 END IF;
77593 --
77594 l_component_type := 'AMB_JLT';
77595 l_component_code := 'AP_INV_PRICE_VAR_PREPAY';
77596 l_component_type_code := 'S';
77597 l_component_appl_id := 200;
77598 l_amb_context_code := 'DEFAULT';
77599 l_entity_code := 'AP_INVOICES';
77600 l_event_class_code := 'PREPAYMENTS';
77601 l_event_type_code := 'PREPAYMENTS_ALL';
77602 l_line_definition_owner_code := 'S';
77603 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
77604 --
77605 l_balance_type_code := 'A';
77606 l_segment := NULL;
77607 l_ccid := NULL;
77608 l_adr_transaction_coa_id := NULL;
77609 l_adr_accounting_coa_id := NULL;
77610 l_adr_flexfield_segment_code := NULL;
77611 l_adr_flex_value_set_id := NULL;
77612 l_adr_value_type_code := NULL;
77613 l_adr_value_combination_id := NULL;
77614 l_adr_value_segment_code := NULL;
77615
77616 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
77617 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
77618 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
77619 l_budgetary_control_flag := 'N';
77620
77621 l_bflow_applied_to_amt_idx := NULL; -- 5132302
77622 l_bflow_applied_to_amt := NULL; -- 5132302
77623 l_entered_amt_idx := NULL; -- 4262811
77624 l_accted_amt_idx := NULL; -- 4262811
77625 l_acc_rev_flag := NULL; -- 4262811
77626 l_accrual_line_num := NULL; -- 4262811
77627 l_tmp_amt := NULL; -- 4262811
77628 --
77629
77630 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
77631 l_balance_type_code <> 'B' THEN
77632 IF NVL(p_source_33,'
77633 ') = 'IPV' AND
77634 NVL(p_source_96,'
77635 ') = 'Y'
77636 THEN
77637
77638 --
77639 XLA_AE_LINES_PKG.SetNewLine;
77640
77641 p_balance_type_code := l_balance_type_code;
77642 -- set the flag so later we will know whether the gain loss line needs to be created
77643
77644 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
77645 p_actual_flag :='A';
77646 END IF;
77647
77648 --
77649 -- bulk performance
77650 --
77651 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
77652 p_header_num => 0); -- 4262811
77653 --
77654 -- set accounting line options
77655 --
77656 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
77657 p_natural_side_code => 'D'
77658 , p_gain_or_loss_flag => 'N'
77659 , p_gl_transfer_mode_code => 'S'
77660 , p_acct_entry_type_code => 'A'
77661 , p_switch_side_flag => 'Y'
77662 , p_merge_duplicate_code => 'A'
77663 );
77664 --
77665 l_acc_rev_natural_side_code := 'C'; -- 4262811
77666 --
77667 --
77668 -- set accounting line type info
77669 --
77670 xla_ae_lines_pkg.SetAcctLineType
77671 (p_component_type => l_component_type
77672 ,p_event_type_code => l_event_type_code
77673 ,p_line_definition_owner_code => l_line_definition_owner_code
77674 ,p_line_definition_code => l_line_definition_code
77675 ,p_accounting_line_code => l_component_code
77676 ,p_accounting_line_type_code => l_component_type_code
77677 ,p_accounting_line_appl_id => l_component_appl_id
77678 ,p_amb_context_code => l_amb_context_code
77679 ,p_entity_code => l_entity_code
77680 ,p_event_class_code => l_event_class_code);
77681 --
77682 -- set accounting class
77683 --
77684 xla_ae_lines_pkg.SetAcctClass(
77685 p_accounting_class_code => 'IPV'
77686 , p_ae_header_id => l_ae_header_id
77687 );
77691 --
77688
77689 --
77690 -- set rounding class
77692 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
77693 'IPV';
77694
77695 --
77696 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
77697 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
77698 --
77699 -- bulk performance
77700 --
77701 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
77702
77703 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
77704 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
77705
77706 -- 4955764
77707 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
77708 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
77709
77710 -- 4458381 Public Sector Enh
77711
77712 --
77713 -- set accounting attributes for the line type
77714 --
77715 l_entered_amt_idx := 23;
77716 l_accted_amt_idx := 28;
77717 l_bflow_applied_to_amt_idx := NULL; -- 5132302
77718 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
77719 l_rec_acct_attrs.array_char_value(1) := p_source_53;
77720 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
77721 l_rec_acct_attrs.array_num_value(2) :=
77722 xla_ae_sources_pkg.GetSystemSourceNum(
77723 p_source_code => 'XLA_EVENT_APPL_ID'
77724 , p_source_type_code => 'Y'
77725 , p_source_application_id => 602
77726 );
77727 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
77728 l_rec_acct_attrs.array_char_value(3) := p_source_55;
77729 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
77730 l_rec_acct_attrs.array_char_value(4) :=
77731 xla_ae_sources_pkg.GetSystemSourceChar(
77732 p_source_code => 'XLA_ENTITY_CODE'
77733 , p_source_type_code => 'Y'
77734 , p_source_application_id => 602
77735 );
77736 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
77737 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
77738 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
77739 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
77740 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
77741 l_rec_acct_attrs.array_num_value(7) := p_source_91;
77742 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
77743 l_rec_acct_attrs.array_char_value(8) := p_source_92;
77744 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
77745 l_rec_acct_attrs.array_char_value(9) := p_source_93;
77746 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
77747 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
77748 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
77749 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
77750 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
77751 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
77752 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
77753 l_rec_acct_attrs.array_char_value(13) := p_source_55;
77754 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
77755 l_rec_acct_attrs.array_num_value(14) := p_source_65;
77756 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
77757 l_rec_acct_attrs.array_num_value(15) := p_source_66;
77758 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
77759 l_rec_acct_attrs.array_char_value(16) := p_source_67;
77760 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
77761 l_rec_acct_attrs.array_num_value(17) := p_source_68;
77762 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
77763 l_rec_acct_attrs.array_num_value(18) := p_source_69;
77764 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
77765 l_rec_acct_attrs.array_num_value(19) := p_source_70;
77766 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
77767 l_rec_acct_attrs.array_char_value(20) := p_source_67;
77768 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
77769 l_rec_acct_attrs.array_num_value(21) := p_source_71;
77770 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
77771 l_rec_acct_attrs.array_char_value(22) := p_source_72;
77772 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
77773 l_rec_acct_attrs.array_num_value(23) := p_source_73;
77774 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
77775 l_rec_acct_attrs.array_char_value(24) := p_source_67;
77776 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
77777 l_rec_acct_attrs.array_date_value(25) := p_source_143;
77778 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
77779 l_rec_acct_attrs.array_num_value(26) := p_source_144;
77780 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
77781 l_rec_acct_attrs.array_char_value(27) := p_source_145;
77782 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
77783 l_rec_acct_attrs.array_num_value(28) := p_source_21;
77784 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
77788 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
77785 l_rec_acct_attrs.array_date_value(29) := p_source_77;
77786 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
77787 l_rec_acct_attrs.array_char_value(30) := p_source_78;
77789 l_rec_acct_attrs.array_date_value(31) := p_source_79;
77790 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
77791 l_rec_acct_attrs.array_char_value(32) := p_source_80;
77792 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
77793 l_rec_acct_attrs.array_num_value(33) := p_source_81;
77794 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
77795 l_rec_acct_attrs.array_num_value(34) := p_source_82;
77796 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
77797 l_rec_acct_attrs.array_char_value(35) := p_source_83;
77798 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
77799 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
77800 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
77801 l_rec_acct_attrs.array_char_value(37) := p_source_55;
77802 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
77803 l_rec_acct_attrs.array_num_value(38) := p_source_85;
77804 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
77805 l_rec_acct_attrs.array_num_value(39) := p_source_86;
77806 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
77807 l_rec_acct_attrs.array_num_value(40) := p_source_87;
77808 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
77809 l_rec_acct_attrs.array_num_value(41) := p_source_88;
77810 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
77811 l_rec_acct_attrs.array_num_value(42) := p_source_89;
77812 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
77813 l_rec_acct_attrs.array_num_value(43) := p_source_90;
77814
77815 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
77816 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
77817
77818 ---------------------------------------------------------------------------------------------------------------
77819 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
77820 ---------------------------------------------------------------------------------------------------------------
77821 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
77822
77823 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
77824 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
77825
77826 IF xla_accounting_cache_pkg.GetValueChar
77827 (p_source_code => 'LEDGER_CATEGORY_CODE'
77828 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
77829 AND l_bflow_method_code = 'PRIOR_ENTRY'
77830 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
77831 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
77832 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
77833 )
77834 THEN
77835 xla_ae_lines_pkg.BflowUpgEntry
77836 (p_business_method_code => l_bflow_method_code
77837 ,p_business_class_code => l_bflow_class_code
77838 ,p_balance_type => l_balance_type_code);
77839 ELSE
77840 NULL;
77841 -- No business flow processing for business flow method of NONE.
77842 END IF;
77843
77844 --
77845 -- call analytical criteria
77846 --
77847
77848 --
77849 -- call description
77850 --
77851
77852 xla_ae_lines_pkg.SetLineDescription(
77853 p_ae_header_id => l_ae_header_id
77854 ,p_description => Description_1 (
77855 p_application_id => p_application_id
77856 , p_ae_header_id => l_ae_header_id
77857 , p_source_1 => p_source_1
77858 )
77859 );
77860
77861
77862 --
77863 -- call ADRs
77864 -- Bug 4922099
77865 --
77866 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
77867 (NVL(l_actual_upg_option, 'N') = 'O') OR
77868 (NVL(l_enc_upg_option, 'N') = 'O')
77869 )
77870 THEN
77871 NULL;
77872 --
77873 --
77874
77875 l_ccid := AcctDerRule_33(
77876 p_application_id => p_application_id
77877 , p_ae_header_id => l_ae_header_id
77878 , p_source_30 => p_source_30
77879 , x_transaction_coa_id => l_adr_transaction_coa_id
77880 , x_accounting_coa_id => l_adr_accounting_coa_id
77881 , x_value_type_code => l_adr_value_type_code
77882 , p_side => 'NA'
77883 );
77884
77885 xla_ae_lines_pkg.set_ccid(
77886 p_code_combination_id => l_ccid
77887 , p_value_type_code => l_adr_value_type_code
77888 , p_transaction_coa_id => l_adr_transaction_coa_id
77889 , p_accounting_coa_id => l_adr_accounting_coa_id
77890 , p_adr_code => 'AP_INVOICE_DIST'
77891 , p_adr_type_code => 'S'
77892 , p_component_type => l_component_type
77893 , p_component_code => l_component_code
77894 , p_component_type_code => l_component_type_code
77898 );
77895 , p_component_appl_id => l_component_appl_id
77896 , p_amb_context_code => l_amb_context_code
77897 , p_side => 'NA'
77899
77900
77901 --
77902 --
77903 END IF;
77904 --
77905 -- Bug 4922099
77906 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
77907 (NVL(l_enc_upg_option, 'N') = 'O')
77908 ) AND
77909 (l_bflow_method_code = 'PRIOR_ENTRY')
77910 )
77911 THEN
77912 IF
77913 --
77914 1 = 2
77915 --
77916 THEN
77917 xla_accounting_err_pkg.build_message
77918 (p_appli_s_name => 'XLA'
77919 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
77920 ,p_token_1 => 'LINE_NUMBER'
77921 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
77922 ,p_token_2 => 'LINE_TYPE_NAME'
77923 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
77924 l_component_type
77925 ,l_component_code
77926 ,l_component_type_code
77927 ,l_component_appl_id
77928 ,l_amb_context_code
77929 ,l_entity_code
77930 ,l_event_class_code
77931 )
77932 ,p_token_3 => 'OWNER'
77933 ,p_value_3 => xla_lookups_pkg.get_meaning(
77934 p_lookup_type => 'XLA_OWNER_TYPE'
77935 ,p_lookup_code => l_component_type_code
77936 )
77937 ,p_token_4 => 'PRODUCT_NAME'
77938 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
77939 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
77940 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
77941 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
77942 ,p_ae_header_id => NULL
77943 );
77944
77945 IF (C_LEVEL_ERROR>= g_log_level) THEN
77946 trace
77947 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
77948 ,p_level => C_LEVEL_ERROR
77949 ,p_module => l_log_module);
77950 END IF;
77951 END IF;
77952 END IF;
77953 --
77954 --
77955 ------------------------------------------------------------------------------------------------
77956 -- 4219869 Business Flow
77957 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
77958 -- Prior Entry. Currently, the following code is always generated.
77959 ------------------------------------------------------------------------------------------------
77960 XLA_AE_LINES_PKG.ValidateCurrentLine;
77961
77962 ------------------------------------------------------------------------------------
77963 -- 4219869 Business Flow
77964 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
77965 ------------------------------------------------------------------------------------
77966 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
77967
77968 ----------------------------------------------------------------------------------
77969 -- 4219869 Business Flow
77970 -- Update journal entry status -- Need to generate this within IF <condition>
77971 ----------------------------------------------------------------------------------
77972 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
77973 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
77974 ,p_balance_type_code => l_balance_type_code
77975 );
77976
77977 -------------------------------------------------------------------------------------------
77978 -- 4262811 - Generate the Accrual Reversal lines
77979 -------------------------------------------------------------------------------------------
77980 BEGIN
77981 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
77982 (g_array_event(p_event_id).array_value_num('header_index'));
77983 IF l_acc_rev_flag IS NULL THEN
77984 l_acc_rev_flag := 'N';
77985 END IF;
77986 EXCEPTION
77987 WHEN OTHERS THEN
77988 l_acc_rev_flag := 'N';
77989 END;
77990 --
77991 IF (l_acc_rev_flag = 'Y') THEN
77992
77996 ------------------------------------------------------------------------------------------
77993 -- 4645092 ------------------------------------------------------------------------------
77994 -- To allow MPA report to determine if it should generate report process
77995 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
77997
77998 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
77999 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
78000 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
78001 -- call ADRs
78002 -- Bug 4922099
78003 --
78004 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
78005 (NVL(l_actual_upg_option, 'N') = 'O') OR
78006 (NVL(l_enc_upg_option, 'N') = 'O')
78007 )
78008 THEN
78009 NULL;
78010 --
78011 --
78012
78013 l_ccid := AcctDerRule_33(
78014 p_application_id => p_application_id
78015 , p_ae_header_id => l_ae_header_id
78016 , p_source_30 => p_source_30
78017 , x_transaction_coa_id => l_adr_transaction_coa_id
78018 , x_accounting_coa_id => l_adr_accounting_coa_id
78019 , x_value_type_code => l_adr_value_type_code
78020 , p_side => 'NA'
78021 );
78022
78023 xla_ae_lines_pkg.set_ccid(
78024 p_code_combination_id => l_ccid
78025 , p_value_type_code => l_adr_value_type_code
78026 , p_transaction_coa_id => l_adr_transaction_coa_id
78027 , p_accounting_coa_id => l_adr_accounting_coa_id
78028 , p_adr_code => 'AP_INVOICE_DIST'
78029 , p_adr_type_code => 'S'
78030 , p_component_type => l_component_type
78031 , p_component_code => l_component_code
78032 , p_component_type_code => l_component_type_code
78033 , p_component_appl_id => l_component_appl_id
78034 , p_amb_context_code => l_amb_context_code
78035 , p_side => 'NA'
78036 );
78037
78038
78039 --
78040 --
78041 END IF;
78042
78043 --
78044 -- Update the line information that should be overwritten
78045 --
78046 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
78047 p_header_num => 1);
78048 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
78049
78050 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
78051
78052 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
78053 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
78054 END IF;
78055
78056 --
78057 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
78058 --
78059 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
78060 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
78061 ELSE
78062 ---------------------------------------------------------------------------------------------------
78063 -- 4262811a Switch Sign
78064 ---------------------------------------------------------------------------------------------------
78065 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
78066 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
78067 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
78068 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
78069 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
78070 -- 5132302
78071 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
78072 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
78073
78074 END IF;
78075
78076 -- 4955764
78077 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
78078 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
78079
78080
78081 XLA_AE_LINES_PKG.ValidateCurrentLine;
78082 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
78083
78084 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
78085 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
78086 ,p_balance_type_code => l_balance_type_code);
78087
78088 END IF;
78089
78090 -----------------------------------------------------------------------------------------
78091 -- 4262811 Multiperiod Accounting
78092 -----------------------------------------------------------------------------------------
78093 -- No MPA option is assigned.
78094
78095
78096 END IF;
78097 END IF;
78098 --
78099
78100 --
78101 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
78102 trace
78103 (p_msg => 'END of AcctLineType_141'
78104 ,p_level => C_LEVEL_PROCEDURE
78105 ,p_module => l_log_module);
78106 END IF;
78107 --
78108 EXCEPTION
78109 WHEN xla_exceptions_pkg.application_exception THEN
78113 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_141');
78110 RAISE;
78111 WHEN OTHERS THEN
78112 xla_exceptions_pkg.raise_message
78114 END AcctLineType_141;
78115 --
78116
78117 ---------------------------------------
78118 --
78119 -- PRIVATE FUNCTION
78120 -- AcctLineType_142
78121 --
78122 ---------------------------------------
78123 PROCEDURE AcctLineType_142 (
78124 p_application_id IN NUMBER
78125 ,p_event_id IN NUMBER
78126 ,p_calculate_acctd_flag IN VARCHAR2
78127 ,p_calculate_g_l_flag IN VARCHAR2
78128 ,p_actual_flag IN OUT VARCHAR2
78129 ,p_balance_type_code OUT VARCHAR2
78130 ,p_gain_or_loss_ref OUT VARCHAR2
78131
78132 --Invoice Distribution Description
78133 , p_source_1 IN VARCHAR2
78134 --Invoice Distribution Ledger Amount
78135 , p_source_21 IN NUMBER
78136 --Invoice Distribution Account
78137 , p_source_30 IN NUMBER
78138 --Invoice Distribution Type
78139 , p_source_33 IN VARCHAR2
78140 , p_source_33_meaning IN VARCHAR2
78141 --Accounting Reversal Indicator
78142 , p_source_53 IN VARCHAR2
78143 --Distribution Link Type
78144 , p_source_55 IN VARCHAR2
78145 --Allocation to Main Distribution Identifier
78146 , p_source_57 IN NUMBER
78147 --Invoice Identifier
78148 , p_source_58 IN NUMBER
78149 --Invoice Distribution Identifier
78150 , p_source_64 IN NUMBER
78151 --Payables Encumbrance Upgrade Credit Account
78152 , p_source_65 IN NUMBER
78153 --Payables Encumbrance Upgrade Credit Amount
78154 , p_source_66 IN NUMBER
78155 --Invoice Currency Code
78156 , p_source_67 IN VARCHAR2
78157 --Payables Encumbrance Upgrade Credit Base Amount
78158 , p_source_68 IN NUMBER
78159 --Payables Encumbrance Upgrade Debit Account
78160 , p_source_69 IN NUMBER
78161 --Payables Encumbrance Upgrade Debit Amount
78162 , p_source_70 IN NUMBER
78163 --Payables Encumbrance Upgrade Debit Base Amount
78164 , p_source_71 IN NUMBER
78165 --Payables Encumbrance Upgrade Option
78166 , p_source_72 IN VARCHAR2
78167 --Invoice Distribution Amount
78168 , p_source_73 IN NUMBER
78169 --Deferred Accounting End Date
78170 , p_source_77 IN DATE
78171 --Deferred Accounting Option
78172 , p_source_78 IN VARCHAR2
78173 --Deferred Accounting Start Date
78174 , p_source_79 IN DATE
78175 --Override Accounted Amount Indicator
78176 , p_source_80 IN VARCHAR2
78177 , p_source_80_meaning IN VARCHAR2
78178 --Invoice Supplier Identifier
78179 , p_source_81 IN NUMBER
78180 --Invoice Supplier Site Identifier
78181 , p_source_82 IN NUMBER
78182 --Third Party Type
78183 , p_source_83 IN VARCHAR2
78184 --Parent Reversal Identifier
78185 , p_source_84 IN NUMBER
78186 --Invoice Distribution Statistical Amount
78187 , p_source_85 IN NUMBER
78188 --Invoice Distribution Tax Line Identifier
78189 , p_source_86 IN NUMBER
78190 --Invoice Distribution Tax Distribution Identifier from Tax
78191 , p_source_87 IN NUMBER
78192 --Invoice Distribution Summary Tax Line Identifier
78193 , p_source_88 IN NUMBER
78194 --Payables Upgrade Credit Encumbrance Type Identifier
78195 , p_source_89 IN NUMBER
78196 --Payables Upgrade Debit Encumbrance Type Identifier
78197 , p_source_90 IN NUMBER
78198 --Business Flow Accounts Payable Application Identifier
78199 , p_source_91 IN NUMBER
78200 --Business Flow Invoice Distribution Type
78201 , p_source_92 IN VARCHAR2
78202 --Business Flow Invoice Entity Code
78203 , p_source_93 IN VARCHAR2
78204 --Business Flow Invoice Distribution Identifier
78205 , p_source_94 IN NUMBER
78206 --Business Flow Invoice Identifier
78207 , p_source_95 IN NUMBER
78208 --Accrue on Receipt Option
78209 , p_source_96 IN VARCHAR2
78210 , p_source_96_meaning IN VARCHAR2
78211 --Invoice Exchange Date
78212 , p_source_143 IN DATE
78213 --Invoice Exchange Rate
78214 , p_source_144 IN NUMBER
78215 --Invoice Exchange Rate Type
78216 , p_source_145 IN VARCHAR2
78217 )
78218 IS
78219
78220 l_component_type VARCHAR2(80);
78221 l_component_code VARCHAR2(30);
78222 l_component_type_code VARCHAR2(1);
78223 l_component_appl_id INTEGER;
78224 l_amb_context_code VARCHAR2(30);
78225 l_entity_code VARCHAR2(30);
78226 l_event_class_code VARCHAR2(30);
78227 l_ae_header_id NUMBER;
78228 l_event_type_code VARCHAR2(30);
78229 l_line_definition_code VARCHAR2(30);
78230 l_line_definition_owner_code VARCHAR2(1);
78231 --
78232 -- adr variables
78233 l_segment VARCHAR2(30);
78234 l_ccid NUMBER;
78235 l_adr_transaction_coa_id NUMBER;
78236 l_adr_accounting_coa_id NUMBER;
78237 l_adr_flexfield_segment_code VARCHAR2(30);
78238 l_adr_flex_value_set_id NUMBER;
78239 l_adr_value_type_code VARCHAR2(30);
78240 l_adr_value_combination_id NUMBER;
78241 l_adr_value_segment_code VARCHAR2(30);
78242
78246 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
78243 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
78244 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
78245 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
78247
78248 -- 4262811 Variables ------------------------------------------------------------------------------------------
78249 l_entered_amt_idx NUMBER;
78250 l_accted_amt_idx NUMBER;
78251 l_acc_rev_flag VARCHAR2(1);
78252 l_accrual_line_num NUMBER;
78253 l_tmp_amt NUMBER;
78254 l_acc_rev_natural_side_code VARCHAR2(1);
78255
78256 l_num_entries NUMBER;
78257 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
78258 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
78259 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
78260 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
78261 l_recog_line_1 NUMBER;
78262 l_recog_line_2 NUMBER;
78263
78264 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
78265 l_bflow_applied_to_amt NUMBER; -- 5132302
78266 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
78267
78268 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
78269
78270 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
78271 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
78272
78273 ---------------------------------------------------------------------------------------------------------------
78274
78275
78276 --
78277 -- bulk performance
78278 --
78279 l_balance_type_code VARCHAR2(1);
78280 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
78281 l_log_module VARCHAR2(240);
78282
78283 --
78284 -- Upgrade strategy
78285 --
78286 l_actual_upg_option VARCHAR2(1);
78287 l_enc_upg_option VARCHAR2(1);
78288
78289 --
78290 BEGIN
78291 --
78292 IF g_log_enabled THEN
78293 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_142';
78294 END IF;
78295 --
78296 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
78297
78298 trace
78299 (p_msg => 'BEGIN of AcctLineType_142'
78300 ,p_level => C_LEVEL_PROCEDURE
78301 ,p_module => l_log_module);
78302
78303 END IF;
78304 --
78305 l_component_type := 'AMB_JLT';
78306 l_component_code := 'AP_ITEM_EXPENSE_CM';
78307 l_component_type_code := 'S';
78308 l_component_appl_id := 200;
78309 l_amb_context_code := 'DEFAULT';
78310 l_entity_code := 'AP_INVOICES';
78311 l_event_class_code := 'CREDIT MEMOS';
78312 l_event_type_code := 'CREDIT MEMOS_ALL';
78313 l_line_definition_owner_code := 'S';
78314 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
78315 --
78316 l_balance_type_code := 'A';
78317 l_segment := NULL;
78318 l_ccid := NULL;
78319 l_adr_transaction_coa_id := NULL;
78320 l_adr_accounting_coa_id := NULL;
78321 l_adr_flexfield_segment_code := NULL;
78322 l_adr_flex_value_set_id := NULL;
78323 l_adr_value_type_code := NULL;
78324 l_adr_value_combination_id := NULL;
78325 l_adr_value_segment_code := NULL;
78326
78327 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
78328 l_bflow_class_code := ''; -- 4219869 Business Flow
78329 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
78330 l_budgetary_control_flag := 'N';
78331
78332 l_bflow_applied_to_amt_idx := NULL; -- 5132302
78333 l_bflow_applied_to_amt := NULL; -- 5132302
78334 l_entered_amt_idx := NULL; -- 4262811
78335 l_accted_amt_idx := NULL; -- 4262811
78336 l_acc_rev_flag := NULL; -- 4262811
78337 l_accrual_line_num := NULL; -- 4262811
78338 l_tmp_amt := NULL; -- 4262811
78339 --
78340
78341 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
78342 l_balance_type_code <> 'B' THEN
78343 IF NVL(p_source_33,'
78344 ') = 'RETROEXPENSE' OR
78345 NVL(p_source_33,'
78346 ') = 'ITEM' OR
78347 (NVL(p_source_33,'
78348 ') = 'ERV' AND
78349 NVL(p_source_96,'
78350 ') <> 'Y') OR
78351 (NVL(p_source_33,'
78352 ') = 'IPV' AND
78353 NVL(p_source_96,'
78354 ') <> 'Y')
78355 THEN
78356
78357 --
78358 XLA_AE_LINES_PKG.SetNewLine;
78359
78360 p_balance_type_code := l_balance_type_code;
78361 -- set the flag so later we will know whether the gain loss line needs to be created
78362
78363 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
78364 p_actual_flag :='A';
78365 END IF;
78366
78367 --
78368 -- bulk performance
78369 --
78370 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
78371 p_header_num => 0); -- 4262811
78372 --
78373 -- set accounting line options
78374 --
78375 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
78376 p_natural_side_code => 'D'
78377 , p_gain_or_loss_flag => 'N'
78381 , p_merge_duplicate_code => 'A'
78378 , p_gl_transfer_mode_code => 'S'
78379 , p_acct_entry_type_code => 'A'
78380 , p_switch_side_flag => 'Y'
78382 );
78383 --
78384 l_acc_rev_natural_side_code := 'C'; -- 4262811
78385 --
78386 --
78387 -- set accounting line type info
78388 --
78389 xla_ae_lines_pkg.SetAcctLineType
78390 (p_component_type => l_component_type
78391 ,p_event_type_code => l_event_type_code
78392 ,p_line_definition_owner_code => l_line_definition_owner_code
78393 ,p_line_definition_code => l_line_definition_code
78394 ,p_accounting_line_code => l_component_code
78395 ,p_accounting_line_type_code => l_component_type_code
78396 ,p_accounting_line_appl_id => l_component_appl_id
78397 ,p_amb_context_code => l_amb_context_code
78398 ,p_entity_code => l_entity_code
78399 ,p_event_class_code => l_event_class_code);
78400 --
78401 -- set accounting class
78402 --
78403 xla_ae_lines_pkg.SetAcctClass(
78404 p_accounting_class_code => 'ITEM EXPENSE'
78405 , p_ae_header_id => l_ae_header_id
78406 );
78407
78408 --
78409 -- set rounding class
78410 --
78411 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
78412 'ITEM EXPENSE';
78413
78414 --
78415 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
78416 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
78417 --
78418 -- bulk performance
78419 --
78420 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
78421
78422 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
78423 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
78424
78425 -- 4955764
78426 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
78427 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
78428
78429 -- 4458381 Public Sector Enh
78430
78431 --
78432 -- set accounting attributes for the line type
78433 --
78434 l_entered_amt_idx := 23;
78435 l_accted_amt_idx := 28;
78436 l_bflow_applied_to_amt_idx := NULL; -- 5132302
78437 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
78438 l_rec_acct_attrs.array_char_value(1) := p_source_53;
78439 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
78440 l_rec_acct_attrs.array_num_value(2) :=
78441 xla_ae_sources_pkg.GetSystemSourceNum(
78442 p_source_code => 'XLA_EVENT_APPL_ID'
78443 , p_source_type_code => 'Y'
78444 , p_source_application_id => 602
78445 );
78446 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
78447 l_rec_acct_attrs.array_char_value(3) := p_source_55;
78448 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
78449 l_rec_acct_attrs.array_char_value(4) :=
78450 xla_ae_sources_pkg.GetSystemSourceChar(
78451 p_source_code => 'XLA_ENTITY_CODE'
78452 , p_source_type_code => 'Y'
78453 , p_source_application_id => 602
78454 );
78455 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
78456 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
78457 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
78458 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
78459 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
78460 l_rec_acct_attrs.array_num_value(7) := p_source_91;
78461 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
78462 l_rec_acct_attrs.array_char_value(8) := p_source_92;
78463 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
78464 l_rec_acct_attrs.array_char_value(9) := p_source_93;
78465 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
78466 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
78467 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
78468 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
78469 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
78470 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
78471 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
78472 l_rec_acct_attrs.array_char_value(13) := p_source_55;
78473 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
78474 l_rec_acct_attrs.array_num_value(14) := p_source_65;
78475 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
78476 l_rec_acct_attrs.array_num_value(15) := p_source_66;
78477 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
78478 l_rec_acct_attrs.array_char_value(16) := p_source_67;
78479 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
78480 l_rec_acct_attrs.array_num_value(17) := p_source_68;
78481 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
78482 l_rec_acct_attrs.array_num_value(18) := p_source_69;
78483 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
78487 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
78484 l_rec_acct_attrs.array_num_value(19) := p_source_70;
78485 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
78486 l_rec_acct_attrs.array_char_value(20) := p_source_67;
78488 l_rec_acct_attrs.array_num_value(21) := p_source_71;
78489 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
78490 l_rec_acct_attrs.array_char_value(22) := p_source_72;
78491 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
78492 l_rec_acct_attrs.array_num_value(23) := p_source_73;
78493 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
78494 l_rec_acct_attrs.array_char_value(24) := p_source_67;
78495 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
78496 l_rec_acct_attrs.array_date_value(25) := p_source_143;
78497 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
78498 l_rec_acct_attrs.array_num_value(26) := p_source_144;
78499 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
78500 l_rec_acct_attrs.array_char_value(27) := p_source_145;
78501 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
78502 l_rec_acct_attrs.array_num_value(28) := p_source_21;
78503 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
78504 l_rec_acct_attrs.array_date_value(29) := p_source_77;
78505 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
78506 l_rec_acct_attrs.array_char_value(30) := p_source_78;
78507 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
78508 l_rec_acct_attrs.array_date_value(31) := p_source_79;
78509 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
78510 l_rec_acct_attrs.array_char_value(32) := p_source_80;
78511 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
78512 l_rec_acct_attrs.array_num_value(33) := p_source_81;
78513 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
78514 l_rec_acct_attrs.array_num_value(34) := p_source_82;
78515 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
78516 l_rec_acct_attrs.array_char_value(35) := p_source_83;
78517 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
78518 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
78519 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
78520 l_rec_acct_attrs.array_char_value(37) := p_source_55;
78521 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
78522 l_rec_acct_attrs.array_num_value(38) := p_source_85;
78523 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
78524 l_rec_acct_attrs.array_num_value(39) := p_source_86;
78525 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
78526 l_rec_acct_attrs.array_num_value(40) := p_source_87;
78527 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
78528 l_rec_acct_attrs.array_num_value(41) := p_source_88;
78529 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
78530 l_rec_acct_attrs.array_num_value(42) := p_source_89;
78531 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
78532 l_rec_acct_attrs.array_num_value(43) := p_source_90;
78533
78534 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
78535 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
78536
78537 ---------------------------------------------------------------------------------------------------------------
78538 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
78539 ---------------------------------------------------------------------------------------------------------------
78540 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
78541
78542 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
78543 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
78544
78545 IF xla_accounting_cache_pkg.GetValueChar
78546 (p_source_code => 'LEDGER_CATEGORY_CODE'
78547 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
78548 AND l_bflow_method_code = 'PRIOR_ENTRY'
78549 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
78550 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
78551 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
78552 )
78553 THEN
78554 xla_ae_lines_pkg.BflowUpgEntry
78555 (p_business_method_code => l_bflow_method_code
78556 ,p_business_class_code => l_bflow_class_code
78557 ,p_balance_type => l_balance_type_code);
78558 ELSE
78559 NULL;
78560 -- No business flow processing for business flow method of NONE.
78561 END IF;
78562
78563 --
78564 -- call analytical criteria
78565 --
78566
78567 --
78568 -- call description
78569 --
78570
78571 xla_ae_lines_pkg.SetLineDescription(
78572 p_ae_header_id => l_ae_header_id
78573 ,p_description => Description_1 (
78574 p_application_id => p_application_id
78575 , p_ae_header_id => l_ae_header_id
78576 , p_source_1 => p_source_1
78577 )
78578 );
78579
78580
78581 --
78582 -- call ADRs
78586 (NVL(l_actual_upg_option, 'N') = 'O') OR
78583 -- Bug 4922099
78584 --
78585 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
78587 (NVL(l_enc_upg_option, 'N') = 'O')
78588 )
78589 THEN
78590 NULL;
78591 --
78592 --
78593
78594 l_ccid := AcctDerRule_33(
78595 p_application_id => p_application_id
78596 , p_ae_header_id => l_ae_header_id
78597 , p_source_30 => p_source_30
78598 , x_transaction_coa_id => l_adr_transaction_coa_id
78599 , x_accounting_coa_id => l_adr_accounting_coa_id
78600 , x_value_type_code => l_adr_value_type_code
78601 , p_side => 'NA'
78602 );
78603
78604 xla_ae_lines_pkg.set_ccid(
78605 p_code_combination_id => l_ccid
78606 , p_value_type_code => l_adr_value_type_code
78607 , p_transaction_coa_id => l_adr_transaction_coa_id
78608 , p_accounting_coa_id => l_adr_accounting_coa_id
78609 , p_adr_code => 'AP_INVOICE_DIST'
78610 , p_adr_type_code => 'S'
78611 , p_component_type => l_component_type
78612 , p_component_code => l_component_code
78613 , p_component_type_code => l_component_type_code
78614 , p_component_appl_id => l_component_appl_id
78615 , p_amb_context_code => l_amb_context_code
78616 , p_side => 'NA'
78617 );
78618
78619
78620 --
78621 --
78622 END IF;
78623 --
78624 -- Bug 4922099
78625 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
78626 (NVL(l_enc_upg_option, 'N') = 'O')
78627 ) AND
78628 (l_bflow_method_code = 'PRIOR_ENTRY')
78629 )
78630 THEN
78631 IF
78632 --
78633 1 = 2
78634 --
78635 THEN
78636 xla_accounting_err_pkg.build_message
78637 (p_appli_s_name => 'XLA'
78638 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
78639 ,p_token_1 => 'LINE_NUMBER'
78640 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
78641 ,p_token_2 => 'LINE_TYPE_NAME'
78642 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
78643 l_component_type
78644 ,l_component_code
78645 ,l_component_type_code
78646 ,l_component_appl_id
78647 ,l_amb_context_code
78648 ,l_entity_code
78649 ,l_event_class_code
78650 )
78651 ,p_token_3 => 'OWNER'
78652 ,p_value_3 => xla_lookups_pkg.get_meaning(
78653 p_lookup_type => 'XLA_OWNER_TYPE'
78654 ,p_lookup_code => l_component_type_code
78655 )
78656 ,p_token_4 => 'PRODUCT_NAME'
78657 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
78658 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
78659 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
78660 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
78661 ,p_ae_header_id => NULL
78662 );
78663
78664 IF (C_LEVEL_ERROR>= g_log_level) THEN
78665 trace
78666 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
78667 ,p_level => C_LEVEL_ERROR
78668 ,p_module => l_log_module);
78669 END IF;
78670 END IF;
78671 END IF;
78672 --
78673 --
78674 ------------------------------------------------------------------------------------------------
78675 -- 4219869 Business Flow
78676 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
78677 -- Prior Entry. Currently, the following code is always generated.
78678 ------------------------------------------------------------------------------------------------
78679 XLA_AE_LINES_PKG.ValidateCurrentLine;
78680
78681 ------------------------------------------------------------------------------------
78682 -- 4219869 Business Flow
78683 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
78684 ------------------------------------------------------------------------------------
78688 -- 4219869 Business Flow
78685 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
78686
78687 ----------------------------------------------------------------------------------
78689 -- Update journal entry status -- Need to generate this within IF <condition>
78690 ----------------------------------------------------------------------------------
78691 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
78692 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
78693 ,p_balance_type_code => l_balance_type_code
78694 );
78695
78696 -------------------------------------------------------------------------------------------
78697 -- 4262811 - Generate the Accrual Reversal lines
78698 -------------------------------------------------------------------------------------------
78699 BEGIN
78700 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
78701 (g_array_event(p_event_id).array_value_num('header_index'));
78702 IF l_acc_rev_flag IS NULL THEN
78703 l_acc_rev_flag := 'N';
78704 END IF;
78705 EXCEPTION
78706 WHEN OTHERS THEN
78707 l_acc_rev_flag := 'N';
78708 END;
78709 --
78710 IF (l_acc_rev_flag = 'Y') THEN
78711
78712 -- 4645092 ------------------------------------------------------------------------------
78713 -- To allow MPA report to determine if it should generate report process
78714 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
78715 ------------------------------------------------------------------------------------------
78716
78717 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
78718 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
78719 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
78720 -- call ADRs
78721 -- Bug 4922099
78722 --
78723 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
78724 (NVL(l_actual_upg_option, 'N') = 'O') OR
78725 (NVL(l_enc_upg_option, 'N') = 'O')
78726 )
78727 THEN
78728 NULL;
78729 --
78730 --
78731
78732 l_ccid := AcctDerRule_33(
78733 p_application_id => p_application_id
78734 , p_ae_header_id => l_ae_header_id
78735 , p_source_30 => p_source_30
78736 , x_transaction_coa_id => l_adr_transaction_coa_id
78737 , x_accounting_coa_id => l_adr_accounting_coa_id
78738 , x_value_type_code => l_adr_value_type_code
78739 , p_side => 'NA'
78740 );
78741
78742 xla_ae_lines_pkg.set_ccid(
78743 p_code_combination_id => l_ccid
78744 , p_value_type_code => l_adr_value_type_code
78745 , p_transaction_coa_id => l_adr_transaction_coa_id
78746 , p_accounting_coa_id => l_adr_accounting_coa_id
78747 , p_adr_code => 'AP_INVOICE_DIST'
78748 , p_adr_type_code => 'S'
78749 , p_component_type => l_component_type
78750 , p_component_code => l_component_code
78751 , p_component_type_code => l_component_type_code
78752 , p_component_appl_id => l_component_appl_id
78753 , p_amb_context_code => l_amb_context_code
78754 , p_side => 'NA'
78755 );
78756
78757
78758 --
78759 --
78760 END IF;
78761
78762 --
78763 -- Update the line information that should be overwritten
78764 --
78765 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
78766 p_header_num => 1);
78767 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
78768
78769 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
78770
78771 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
78772 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
78773 END IF;
78774
78775 --
78776 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
78777 --
78778 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
78779 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
78780 ELSE
78781 ---------------------------------------------------------------------------------------------------
78782 -- 4262811a Switch Sign
78783 ---------------------------------------------------------------------------------------------------
78784 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
78785 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
78786 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
78787 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
78788 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
78789 -- 5132302
78790 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
78791 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
78792
78793 END IF;
78794
78795 -- 4955764
78799
78796 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
78797 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
78798
78800 XLA_AE_LINES_PKG.ValidateCurrentLine;
78801 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
78802
78803 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
78804 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
78805 ,p_balance_type_code => l_balance_type_code);
78806
78807 END IF;
78808
78809 -----------------------------------------------------------------------------------------
78810 -- 4262811 Multiperiod Accounting
78811 -----------------------------------------------------------------------------------------
78812 -- No MPA option is assigned.
78813
78814
78815 END IF;
78816 END IF;
78817 --
78818
78819 --
78820 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
78821 trace
78822 (p_msg => 'END of AcctLineType_142'
78823 ,p_level => C_LEVEL_PROCEDURE
78824 ,p_module => l_log_module);
78825 END IF;
78826 --
78827 EXCEPTION
78828 WHEN xla_exceptions_pkg.application_exception THEN
78829 RAISE;
78830 WHEN OTHERS THEN
78831 xla_exceptions_pkg.raise_message
78832 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_142');
78833 END AcctLineType_142;
78834 --
78835
78836 ---------------------------------------
78837 --
78838 -- PRIVATE FUNCTION
78839 -- AcctLineType_143
78840 --
78841 ---------------------------------------
78842 PROCEDURE AcctLineType_143 (
78843 p_application_id IN NUMBER
78844 ,p_event_id IN NUMBER
78845 ,p_calculate_acctd_flag IN VARCHAR2
78846 ,p_calculate_g_l_flag IN VARCHAR2
78847 ,p_actual_flag IN OUT VARCHAR2
78848 ,p_balance_type_code OUT VARCHAR2
78849 ,p_gain_or_loss_ref OUT VARCHAR2
78850
78851 --Invoice Distribution Description
78852 , p_source_1 IN VARCHAR2
78853 --Invoice Distribution Ledger Amount
78854 , p_source_21 IN NUMBER
78855 --Invoice Distribution Account
78856 , p_source_30 IN NUMBER
78857 --Invoice Distribution Type
78858 , p_source_33 IN VARCHAR2
78859 , p_source_33_meaning IN VARCHAR2
78860 --Accounting Reversal Indicator
78861 , p_source_53 IN VARCHAR2
78862 --Distribution Link Type
78863 , p_source_55 IN VARCHAR2
78864 --Allocation to Main Distribution Identifier
78865 , p_source_57 IN NUMBER
78866 --Invoice Identifier
78867 , p_source_58 IN NUMBER
78868 --Invoice Distribution Identifier
78869 , p_source_64 IN NUMBER
78870 --Payables Encumbrance Upgrade Credit Account
78871 , p_source_65 IN NUMBER
78872 --Payables Encumbrance Upgrade Credit Amount
78873 , p_source_66 IN NUMBER
78874 --Invoice Currency Code
78875 , p_source_67 IN VARCHAR2
78876 --Payables Encumbrance Upgrade Credit Base Amount
78877 , p_source_68 IN NUMBER
78878 --Payables Encumbrance Upgrade Debit Account
78879 , p_source_69 IN NUMBER
78880 --Payables Encumbrance Upgrade Debit Amount
78881 , p_source_70 IN NUMBER
78882 --Payables Encumbrance Upgrade Debit Base Amount
78883 , p_source_71 IN NUMBER
78884 --Payables Encumbrance Upgrade Option
78885 , p_source_72 IN VARCHAR2
78886 --Invoice Distribution Amount
78887 , p_source_73 IN NUMBER
78888 --Deferred Accounting End Date
78889 , p_source_77 IN DATE
78890 --Deferred Accounting Option
78891 , p_source_78 IN VARCHAR2
78892 --Deferred Accounting Start Date
78893 , p_source_79 IN DATE
78894 --Override Accounted Amount Indicator
78895 , p_source_80 IN VARCHAR2
78896 , p_source_80_meaning IN VARCHAR2
78897 --Invoice Supplier Identifier
78898 , p_source_81 IN NUMBER
78899 --Invoice Supplier Site Identifier
78900 , p_source_82 IN NUMBER
78901 --Third Party Type
78902 , p_source_83 IN VARCHAR2
78903 --Parent Reversal Identifier
78904 , p_source_84 IN NUMBER
78905 --Invoice Distribution Tax Line Identifier
78906 , p_source_86 IN NUMBER
78907 --Invoice Distribution Tax Distribution Identifier from Tax
78908 , p_source_87 IN NUMBER
78909 --Invoice Distribution Summary Tax Line Identifier
78910 , p_source_88 IN NUMBER
78911 --Payables Upgrade Credit Encumbrance Type Identifier
78912 , p_source_89 IN NUMBER
78913 --Payables Upgrade Debit Encumbrance Type Identifier
78914 , p_source_90 IN NUMBER
78915 --Business Flow Accounts Payable Application Identifier
78916 , p_source_91 IN NUMBER
78917 --Business Flow Invoice Distribution Type
78918 , p_source_92 IN VARCHAR2
78919 --Business Flow Invoice Entity Code
78920 , p_source_93 IN VARCHAR2
78921 --Business Flow Invoice Distribution Identifier
78922 , p_source_94 IN NUMBER
78923 --Business Flow Invoice Identifier
78924 , p_source_95 IN NUMBER
78925 --Accrue on Receipt Option
78926 , p_source_96 IN VARCHAR2
78927 , p_source_96_meaning IN VARCHAR2
78928 --Invoice Exchange Date
78929 , p_source_143 IN DATE
78933 , p_source_145 IN VARCHAR2
78930 --Invoice Exchange Rate
78931 , p_source_144 IN NUMBER
78932 --Invoice Exchange Rate Type
78934 )
78935 IS
78936
78937 l_component_type VARCHAR2(80);
78938 l_component_code VARCHAR2(30);
78939 l_component_type_code VARCHAR2(1);
78940 l_component_appl_id INTEGER;
78941 l_amb_context_code VARCHAR2(30);
78942 l_entity_code VARCHAR2(30);
78943 l_event_class_code VARCHAR2(30);
78944 l_ae_header_id NUMBER;
78945 l_event_type_code VARCHAR2(30);
78946 l_line_definition_code VARCHAR2(30);
78947 l_line_definition_owner_code VARCHAR2(1);
78948 --
78949 -- adr variables
78950 l_segment VARCHAR2(30);
78951 l_ccid NUMBER;
78952 l_adr_transaction_coa_id NUMBER;
78953 l_adr_accounting_coa_id NUMBER;
78954 l_adr_flexfield_segment_code VARCHAR2(30);
78955 l_adr_flex_value_set_id NUMBER;
78956 l_adr_value_type_code VARCHAR2(30);
78957 l_adr_value_combination_id NUMBER;
78958 l_adr_value_segment_code VARCHAR2(30);
78959
78960 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
78961 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
78962 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
78963 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
78964
78965 -- 4262811 Variables ------------------------------------------------------------------------------------------
78966 l_entered_amt_idx NUMBER;
78967 l_accted_amt_idx NUMBER;
78968 l_acc_rev_flag VARCHAR2(1);
78969 l_accrual_line_num NUMBER;
78970 l_tmp_amt NUMBER;
78971 l_acc_rev_natural_side_code VARCHAR2(1);
78972
78973 l_num_entries NUMBER;
78974 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
78975 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
78976 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
78977 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
78978 l_recog_line_1 NUMBER;
78979 l_recog_line_2 NUMBER;
78980
78981 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
78982 l_bflow_applied_to_amt NUMBER; -- 5132302
78983 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
78984
78985 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
78986
78987 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
78988 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
78989
78990 ---------------------------------------------------------------------------------------------------------------
78991
78992
78993 --
78994 -- bulk performance
78995 --
78996 l_balance_type_code VARCHAR2(1);
78997 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
78998 l_log_module VARCHAR2(240);
78999
79000 --
79001 -- Upgrade strategy
79002 --
79003 l_actual_upg_option VARCHAR2(1);
79004 l_enc_upg_option VARCHAR2(1);
79005
79006 --
79007 BEGIN
79008 --
79009 IF g_log_enabled THEN
79010 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_143';
79011 END IF;
79012 --
79013 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
79014
79015 trace
79016 (p_msg => 'BEGIN of AcctLineType_143'
79017 ,p_level => C_LEVEL_PROCEDURE
79018 ,p_module => l_log_module);
79019
79020 END IF;
79021 --
79022 l_component_type := 'AMB_JLT';
79023 l_component_code := 'AP_ITEM_EXPENSE_DM';
79024 l_component_type_code := 'S';
79025 l_component_appl_id := 200;
79026 l_amb_context_code := 'DEFAULT';
79027 l_entity_code := 'AP_INVOICES';
79028 l_event_class_code := 'DEBIT MEMOS';
79029 l_event_type_code := 'DEBIT MEMOS_ALL';
79030 l_line_definition_owner_code := 'S';
79031 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
79032 --
79033 l_balance_type_code := 'A';
79034 l_segment := NULL;
79035 l_ccid := NULL;
79036 l_adr_transaction_coa_id := NULL;
79037 l_adr_accounting_coa_id := NULL;
79038 l_adr_flexfield_segment_code := NULL;
79039 l_adr_flex_value_set_id := NULL;
79040 l_adr_value_type_code := NULL;
79041 l_adr_value_combination_id := NULL;
79042 l_adr_value_segment_code := NULL;
79043
79044 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
79045 l_bflow_class_code := ''; -- 4219869 Business Flow
79046 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
79047 l_budgetary_control_flag := 'N';
79048
79049 l_bflow_applied_to_amt_idx := NULL; -- 5132302
79050 l_bflow_applied_to_amt := NULL; -- 5132302
79051 l_entered_amt_idx := NULL; -- 4262811
79052 l_accted_amt_idx := NULL; -- 4262811
79053 l_acc_rev_flag := NULL; -- 4262811
79054 l_accrual_line_num := NULL; -- 4262811
79055 l_tmp_amt := NULL; -- 4262811
79056 --
79057
79058 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
79062 NVL(p_source_33,'
79059 l_balance_type_code <> 'B' THEN
79060 IF NVL(p_source_33,'
79061 ') = 'RETROEXPENSE' OR
79063 ') = 'ITEM' OR
79064 (NVL(p_source_33,'
79065 ') = 'ERV' AND
79066 NVL(p_source_96,'
79067 ') <> 'Y') OR
79068 (NVL(p_source_33,'
79069 ') = 'IPV' AND
79070 NVL(p_source_96,'
79071 ') <> 'Y')
79072 THEN
79073
79074 --
79075 XLA_AE_LINES_PKG.SetNewLine;
79076
79077 p_balance_type_code := l_balance_type_code;
79078 -- set the flag so later we will know whether the gain loss line needs to be created
79079
79080 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
79081 p_actual_flag :='A';
79082 END IF;
79083
79084 --
79085 -- bulk performance
79086 --
79087 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
79088 p_header_num => 0); -- 4262811
79089 --
79090 -- set accounting line options
79091 --
79092 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
79093 p_natural_side_code => 'D'
79094 , p_gain_or_loss_flag => 'N'
79095 , p_gl_transfer_mode_code => 'S'
79096 , p_acct_entry_type_code => 'A'
79097 , p_switch_side_flag => 'Y'
79098 , p_merge_duplicate_code => 'A'
79099 );
79100 --
79101 l_acc_rev_natural_side_code := 'C'; -- 4262811
79102 --
79103 --
79104 -- set accounting line type info
79105 --
79106 xla_ae_lines_pkg.SetAcctLineType
79107 (p_component_type => l_component_type
79108 ,p_event_type_code => l_event_type_code
79109 ,p_line_definition_owner_code => l_line_definition_owner_code
79110 ,p_line_definition_code => l_line_definition_code
79111 ,p_accounting_line_code => l_component_code
79112 ,p_accounting_line_type_code => l_component_type_code
79113 ,p_accounting_line_appl_id => l_component_appl_id
79114 ,p_amb_context_code => l_amb_context_code
79115 ,p_entity_code => l_entity_code
79116 ,p_event_class_code => l_event_class_code);
79117 --
79118 -- set accounting class
79119 --
79120 xla_ae_lines_pkg.SetAcctClass(
79121 p_accounting_class_code => 'ITEM EXPENSE'
79122 , p_ae_header_id => l_ae_header_id
79123 );
79124
79125 --
79126 -- set rounding class
79127 --
79128 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
79129 'ITEM EXPENSE';
79130
79131 --
79132 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
79133 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
79134 --
79135 -- bulk performance
79136 --
79137 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
79138
79139 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
79140 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
79141
79142 -- 4955764
79143 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
79144 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
79145
79146 -- 4458381 Public Sector Enh
79147
79148 --
79149 -- set accounting attributes for the line type
79150 --
79151 l_entered_amt_idx := 23;
79152 l_accted_amt_idx := 28;
79153 l_bflow_applied_to_amt_idx := NULL; -- 5132302
79154 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
79155 l_rec_acct_attrs.array_char_value(1) := p_source_53;
79156 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
79157 l_rec_acct_attrs.array_num_value(2) :=
79158 xla_ae_sources_pkg.GetSystemSourceNum(
79159 p_source_code => 'XLA_EVENT_APPL_ID'
79160 , p_source_type_code => 'Y'
79161 , p_source_application_id => 602
79162 );
79163 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
79164 l_rec_acct_attrs.array_char_value(3) := p_source_55;
79165 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
79166 l_rec_acct_attrs.array_char_value(4) :=
79167 xla_ae_sources_pkg.GetSystemSourceChar(
79168 p_source_code => 'XLA_ENTITY_CODE'
79169 , p_source_type_code => 'Y'
79170 , p_source_application_id => 602
79171 );
79172 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
79173 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
79174 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
79175 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
79176 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
79177 l_rec_acct_attrs.array_num_value(7) := p_source_91;
79178 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
79179 l_rec_acct_attrs.array_char_value(8) := p_source_92;
79180 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
79181 l_rec_acct_attrs.array_char_value(9) := p_source_93;
79182 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
79186 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
79183 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
79184 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
79185 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
79187 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
79188 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
79189 l_rec_acct_attrs.array_char_value(13) := p_source_55;
79190 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
79191 l_rec_acct_attrs.array_num_value(14) := p_source_65;
79192 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
79193 l_rec_acct_attrs.array_num_value(15) := p_source_66;
79194 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
79195 l_rec_acct_attrs.array_char_value(16) := p_source_67;
79196 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
79197 l_rec_acct_attrs.array_num_value(17) := p_source_68;
79198 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
79199 l_rec_acct_attrs.array_num_value(18) := p_source_69;
79200 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
79201 l_rec_acct_attrs.array_num_value(19) := p_source_70;
79202 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
79203 l_rec_acct_attrs.array_char_value(20) := p_source_67;
79204 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
79205 l_rec_acct_attrs.array_num_value(21) := p_source_71;
79206 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
79207 l_rec_acct_attrs.array_char_value(22) := p_source_72;
79208 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
79209 l_rec_acct_attrs.array_num_value(23) := p_source_73;
79210 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
79211 l_rec_acct_attrs.array_char_value(24) := p_source_67;
79212 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
79213 l_rec_acct_attrs.array_date_value(25) := p_source_143;
79214 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
79215 l_rec_acct_attrs.array_num_value(26) := p_source_144;
79216 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
79217 l_rec_acct_attrs.array_char_value(27) := p_source_145;
79218 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
79219 l_rec_acct_attrs.array_num_value(28) := p_source_21;
79220 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
79221 l_rec_acct_attrs.array_date_value(29) := p_source_77;
79222 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
79223 l_rec_acct_attrs.array_char_value(30) := p_source_78;
79224 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
79225 l_rec_acct_attrs.array_date_value(31) := p_source_79;
79226 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
79227 l_rec_acct_attrs.array_char_value(32) := p_source_80;
79228 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
79229 l_rec_acct_attrs.array_num_value(33) := p_source_81;
79230 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
79231 l_rec_acct_attrs.array_num_value(34) := p_source_82;
79232 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
79233 l_rec_acct_attrs.array_char_value(35) := p_source_83;
79234 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
79235 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
79236 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
79237 l_rec_acct_attrs.array_char_value(37) := p_source_55;
79238 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
79239 l_rec_acct_attrs.array_num_value(38) := p_source_86;
79240 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
79241 l_rec_acct_attrs.array_num_value(39) := p_source_87;
79242 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
79243 l_rec_acct_attrs.array_num_value(40) := p_source_88;
79244 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
79245 l_rec_acct_attrs.array_num_value(41) := p_source_89;
79246 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
79247 l_rec_acct_attrs.array_num_value(42) := p_source_90;
79248
79249 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
79250 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
79251
79252 ---------------------------------------------------------------------------------------------------------------
79253 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
79254 ---------------------------------------------------------------------------------------------------------------
79255 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
79256
79257 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
79258 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
79259
79260 IF xla_accounting_cache_pkg.GetValueChar
79261 (p_source_code => 'LEDGER_CATEGORY_CODE'
79262 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
79263 AND l_bflow_method_code = 'PRIOR_ENTRY'
79267 )
79264 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
79265 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
79266 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
79268 THEN
79269 xla_ae_lines_pkg.BflowUpgEntry
79270 (p_business_method_code => l_bflow_method_code
79271 ,p_business_class_code => l_bflow_class_code
79272 ,p_balance_type => l_balance_type_code);
79273 ELSE
79274 NULL;
79275 -- No business flow processing for business flow method of NONE.
79276 END IF;
79277
79278 --
79279 -- call analytical criteria
79280 --
79281
79282 --
79283 -- call description
79284 --
79285
79286 xla_ae_lines_pkg.SetLineDescription(
79287 p_ae_header_id => l_ae_header_id
79288 ,p_description => Description_1 (
79289 p_application_id => p_application_id
79290 , p_ae_header_id => l_ae_header_id
79291 , p_source_1 => p_source_1
79292 )
79293 );
79294
79295
79296 --
79297 -- call ADRs
79298 -- Bug 4922099
79299 --
79300 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
79301 (NVL(l_actual_upg_option, 'N') = 'O') OR
79302 (NVL(l_enc_upg_option, 'N') = 'O')
79303 )
79304 THEN
79305 NULL;
79306 --
79307 --
79308
79309 l_ccid := AcctDerRule_33(
79310 p_application_id => p_application_id
79311 , p_ae_header_id => l_ae_header_id
79312 , p_source_30 => p_source_30
79313 , x_transaction_coa_id => l_adr_transaction_coa_id
79314 , x_accounting_coa_id => l_adr_accounting_coa_id
79315 , x_value_type_code => l_adr_value_type_code
79316 , p_side => 'NA'
79317 );
79318
79319 xla_ae_lines_pkg.set_ccid(
79320 p_code_combination_id => l_ccid
79321 , p_value_type_code => l_adr_value_type_code
79322 , p_transaction_coa_id => l_adr_transaction_coa_id
79323 , p_accounting_coa_id => l_adr_accounting_coa_id
79324 , p_adr_code => 'AP_INVOICE_DIST'
79325 , p_adr_type_code => 'S'
79326 , p_component_type => l_component_type
79327 , p_component_code => l_component_code
79328 , p_component_type_code => l_component_type_code
79329 , p_component_appl_id => l_component_appl_id
79330 , p_amb_context_code => l_amb_context_code
79331 , p_side => 'NA'
79332 );
79333
79334
79335 --
79336 --
79337 END IF;
79338 --
79339 -- Bug 4922099
79340 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
79341 (NVL(l_enc_upg_option, 'N') = 'O')
79342 ) AND
79343 (l_bflow_method_code = 'PRIOR_ENTRY')
79344 )
79345 THEN
79346 IF
79347 --
79348 1 = 2
79349 --
79350 THEN
79351 xla_accounting_err_pkg.build_message
79352 (p_appli_s_name => 'XLA'
79353 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
79354 ,p_token_1 => 'LINE_NUMBER'
79355 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
79356 ,p_token_2 => 'LINE_TYPE_NAME'
79357 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
79358 l_component_type
79359 ,l_component_code
79360 ,l_component_type_code
79361 ,l_component_appl_id
79362 ,l_amb_context_code
79363 ,l_entity_code
79364 ,l_event_class_code
79365 )
79366 ,p_token_3 => 'OWNER'
79367 ,p_value_3 => xla_lookups_pkg.get_meaning(
79368 p_lookup_type => 'XLA_OWNER_TYPE'
79369 ,p_lookup_code => l_component_type_code
79370 )
79371 ,p_token_4 => 'PRODUCT_NAME'
79372 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
79373 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
79374 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
79375 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
79376 ,p_ae_header_id => NULL
79377 );
79378
79382 ,p_level => C_LEVEL_ERROR
79379 IF (C_LEVEL_ERROR>= g_log_level) THEN
79380 trace
79381 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
79383 ,p_module => l_log_module);
79384 END IF;
79385 END IF;
79386 END IF;
79387 --
79388 --
79389 ------------------------------------------------------------------------------------------------
79390 -- 4219869 Business Flow
79391 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
79392 -- Prior Entry. Currently, the following code is always generated.
79393 ------------------------------------------------------------------------------------------------
79394 XLA_AE_LINES_PKG.ValidateCurrentLine;
79395
79396 ------------------------------------------------------------------------------------
79397 -- 4219869 Business Flow
79398 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
79399 ------------------------------------------------------------------------------------
79400 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
79401
79402 ----------------------------------------------------------------------------------
79403 -- 4219869 Business Flow
79404 -- Update journal entry status -- Need to generate this within IF <condition>
79405 ----------------------------------------------------------------------------------
79406 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
79407 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
79408 ,p_balance_type_code => l_balance_type_code
79409 );
79410
79411 -------------------------------------------------------------------------------------------
79412 -- 4262811 - Generate the Accrual Reversal lines
79413 -------------------------------------------------------------------------------------------
79414 BEGIN
79415 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
79416 (g_array_event(p_event_id).array_value_num('header_index'));
79417 IF l_acc_rev_flag IS NULL THEN
79418 l_acc_rev_flag := 'N';
79419 END IF;
79420 EXCEPTION
79421 WHEN OTHERS THEN
79422 l_acc_rev_flag := 'N';
79423 END;
79424 --
79425 IF (l_acc_rev_flag = 'Y') THEN
79426
79427 -- 4645092 ------------------------------------------------------------------------------
79428 -- To allow MPA report to determine if it should generate report process
79429 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
79430 ------------------------------------------------------------------------------------------
79431
79432 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
79433 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
79434 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
79435 -- call ADRs
79436 -- Bug 4922099
79437 --
79438 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
79439 (NVL(l_actual_upg_option, 'N') = 'O') OR
79440 (NVL(l_enc_upg_option, 'N') = 'O')
79441 )
79442 THEN
79443 NULL;
79444 --
79445 --
79446
79447 l_ccid := AcctDerRule_33(
79448 p_application_id => p_application_id
79449 , p_ae_header_id => l_ae_header_id
79450 , p_source_30 => p_source_30
79451 , x_transaction_coa_id => l_adr_transaction_coa_id
79452 , x_accounting_coa_id => l_adr_accounting_coa_id
79453 , x_value_type_code => l_adr_value_type_code
79454 , p_side => 'NA'
79455 );
79456
79457 xla_ae_lines_pkg.set_ccid(
79458 p_code_combination_id => l_ccid
79459 , p_value_type_code => l_adr_value_type_code
79460 , p_transaction_coa_id => l_adr_transaction_coa_id
79461 , p_accounting_coa_id => l_adr_accounting_coa_id
79462 , p_adr_code => 'AP_INVOICE_DIST'
79463 , p_adr_type_code => 'S'
79464 , p_component_type => l_component_type
79465 , p_component_code => l_component_code
79466 , p_component_type_code => l_component_type_code
79467 , p_component_appl_id => l_component_appl_id
79468 , p_amb_context_code => l_amb_context_code
79469 , p_side => 'NA'
79470 );
79471
79472
79473 --
79474 --
79475 END IF;
79476
79477 --
79478 -- Update the line information that should be overwritten
79479 --
79480 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
79481 p_header_num => 1);
79482 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
79483
79484 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
79485
79486 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
79487 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
79488 END IF;
79489
79490 --
79491 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
79492 --
79493 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
79497 -- 4262811a Switch Sign
79494 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
79495 ELSE
79496 ---------------------------------------------------------------------------------------------------
79498 ---------------------------------------------------------------------------------------------------
79499 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
79500 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
79501 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
79502 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
79503 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
79504 -- 5132302
79505 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
79506 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
79507
79508 END IF;
79509
79510 -- 4955764
79511 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
79512 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
79513
79514
79515 XLA_AE_LINES_PKG.ValidateCurrentLine;
79516 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
79517
79518 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
79519 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
79520 ,p_balance_type_code => l_balance_type_code);
79521
79522 END IF;
79523
79524 -----------------------------------------------------------------------------------------
79525 -- 4262811 Multiperiod Accounting
79526 -----------------------------------------------------------------------------------------
79527 -- No MPA option is assigned.
79528
79529
79530 END IF;
79531 END IF;
79532 --
79533
79534 --
79535 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
79536 trace
79537 (p_msg => 'END of AcctLineType_143'
79538 ,p_level => C_LEVEL_PROCEDURE
79539 ,p_module => l_log_module);
79540 END IF;
79541 --
79542 EXCEPTION
79543 WHEN xla_exceptions_pkg.application_exception THEN
79544 RAISE;
79545 WHEN OTHERS THEN
79546 xla_exceptions_pkg.raise_message
79547 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_143');
79548 END AcctLineType_143;
79549 --
79550
79551 ---------------------------------------
79552 --
79553 -- PRIVATE FUNCTION
79554 -- AcctLineType_144
79555 --
79556 ---------------------------------------
79557 PROCEDURE AcctLineType_144 (
79558 p_application_id IN NUMBER
79559 ,p_event_id IN NUMBER
79560 ,p_calculate_acctd_flag IN VARCHAR2
79561 ,p_calculate_g_l_flag IN VARCHAR2
79562 ,p_actual_flag IN OUT VARCHAR2
79563 ,p_balance_type_code OUT VARCHAR2
79564 ,p_gain_or_loss_ref OUT VARCHAR2
79565
79566 --Invoice Distribution Description
79567 , p_source_1 IN VARCHAR2
79568 --Invoice Distribution Ledger Amount
79569 , p_source_21 IN NUMBER
79570 --Invoice Distribution Account
79571 , p_source_30 IN NUMBER
79572 --Invoice Distribution Type
79573 , p_source_33 IN VARCHAR2
79574 , p_source_33_meaning IN VARCHAR2
79575 --Accounting Reversal Indicator
79576 , p_source_53 IN VARCHAR2
79577 --Distribution Link Type
79578 , p_source_55 IN VARCHAR2
79579 --Allocation to Main Distribution Identifier
79580 , p_source_57 IN NUMBER
79581 --Invoice Identifier
79582 , p_source_58 IN NUMBER
79583 --Invoice Distribution Identifier
79584 , p_source_64 IN NUMBER
79585 --Payables Encumbrance Upgrade Credit Account
79586 , p_source_65 IN NUMBER
79587 --Payables Encumbrance Upgrade Credit Amount
79588 , p_source_66 IN NUMBER
79589 --Invoice Currency Code
79590 , p_source_67 IN VARCHAR2
79591 --Payables Encumbrance Upgrade Credit Base Amount
79592 , p_source_68 IN NUMBER
79593 --Payables Encumbrance Upgrade Debit Account
79594 , p_source_69 IN NUMBER
79595 --Payables Encumbrance Upgrade Debit Amount
79596 , p_source_70 IN NUMBER
79597 --Payables Encumbrance Upgrade Debit Base Amount
79598 , p_source_71 IN NUMBER
79599 --Payables Encumbrance Upgrade Option
79600 , p_source_72 IN VARCHAR2
79601 --Invoice Distribution Amount
79602 , p_source_73 IN NUMBER
79603 --Deferred Accounting End Date
79604 , p_source_77 IN DATE
79605 --Deferred Accounting Option
79606 , p_source_78 IN VARCHAR2
79607 --Deferred Accounting Start Date
79608 , p_source_79 IN DATE
79609 --Override Accounted Amount Indicator
79610 , p_source_80 IN VARCHAR2
79611 , p_source_80_meaning IN VARCHAR2
79612 --Invoice Supplier Identifier
79613 , p_source_81 IN NUMBER
79614 --Invoice Supplier Site Identifier
79615 , p_source_82 IN NUMBER
79616 --Third Party Type
79617 , p_source_83 IN VARCHAR2
79618 --Parent Reversal Identifier
79619 , p_source_84 IN NUMBER
79620 --Invoice Distribution Statistical Amount
79621 , p_source_85 IN NUMBER
79625 , p_source_87 IN NUMBER
79622 --Invoice Distribution Tax Line Identifier
79623 , p_source_86 IN NUMBER
79624 --Invoice Distribution Tax Distribution Identifier from Tax
79626 --Invoice Distribution Summary Tax Line Identifier
79627 , p_source_88 IN NUMBER
79628 --Payables Upgrade Credit Encumbrance Type Identifier
79629 , p_source_89 IN NUMBER
79630 --Payables Upgrade Debit Encumbrance Type Identifier
79631 , p_source_90 IN NUMBER
79632 --Business Flow Accounts Payable Application Identifier
79633 , p_source_91 IN NUMBER
79634 --Business Flow Invoice Distribution Type
79635 , p_source_92 IN VARCHAR2
79636 --Business Flow Invoice Entity Code
79637 , p_source_93 IN VARCHAR2
79638 --Business Flow Invoice Distribution Identifier
79639 , p_source_94 IN NUMBER
79640 --Business Flow Invoice Identifier
79641 , p_source_95 IN NUMBER
79642 --Accrue on Receipt Option
79643 , p_source_96 IN VARCHAR2
79644 , p_source_96_meaning IN VARCHAR2
79645 --Invoice Exchange Date
79646 , p_source_143 IN DATE
79647 --Invoice Exchange Rate
79648 , p_source_144 IN NUMBER
79649 --Invoice Exchange Rate Type
79650 , p_source_145 IN VARCHAR2
79651 )
79652 IS
79653
79654 l_component_type VARCHAR2(80);
79655 l_component_code VARCHAR2(30);
79656 l_component_type_code VARCHAR2(1);
79657 l_component_appl_id INTEGER;
79658 l_amb_context_code VARCHAR2(30);
79659 l_entity_code VARCHAR2(30);
79660 l_event_class_code VARCHAR2(30);
79661 l_ae_header_id NUMBER;
79662 l_event_type_code VARCHAR2(30);
79663 l_line_definition_code VARCHAR2(30);
79664 l_line_definition_owner_code VARCHAR2(1);
79665 --
79666 -- adr variables
79667 l_segment VARCHAR2(30);
79668 l_ccid NUMBER;
79669 l_adr_transaction_coa_id NUMBER;
79670 l_adr_accounting_coa_id NUMBER;
79671 l_adr_flexfield_segment_code VARCHAR2(30);
79672 l_adr_flex_value_set_id NUMBER;
79673 l_adr_value_type_code VARCHAR2(30);
79674 l_adr_value_combination_id NUMBER;
79675 l_adr_value_segment_code VARCHAR2(30);
79676
79677 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
79678 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
79679 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
79680 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
79681
79682 -- 4262811 Variables ------------------------------------------------------------------------------------------
79683 l_entered_amt_idx NUMBER;
79684 l_accted_amt_idx NUMBER;
79685 l_acc_rev_flag VARCHAR2(1);
79686 l_accrual_line_num NUMBER;
79687 l_tmp_amt NUMBER;
79688 l_acc_rev_natural_side_code VARCHAR2(1);
79689
79690 l_num_entries NUMBER;
79691 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
79692 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
79693 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
79694 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
79695 l_recog_line_1 NUMBER;
79696 l_recog_line_2 NUMBER;
79697
79698 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
79699 l_bflow_applied_to_amt NUMBER; -- 5132302
79700 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
79701
79702 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
79703
79704 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
79705 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
79706
79707 ---------------------------------------------------------------------------------------------------------------
79708
79709
79710 --
79711 -- bulk performance
79712 --
79713 l_balance_type_code VARCHAR2(1);
79714 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
79715 l_log_module VARCHAR2(240);
79716
79717 --
79718 -- Upgrade strategy
79719 --
79720 l_actual_upg_option VARCHAR2(1);
79721 l_enc_upg_option VARCHAR2(1);
79722
79723 --
79724 BEGIN
79725 --
79726 IF g_log_enabled THEN
79727 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_144';
79728 END IF;
79729 --
79730 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
79731
79732 trace
79733 (p_msg => 'BEGIN of AcctLineType_144'
79734 ,p_level => C_LEVEL_PROCEDURE
79735 ,p_module => l_log_module);
79736
79737 END IF;
79738 --
79739 l_component_type := 'AMB_JLT';
79740 l_component_code := 'AP_ITEM_EXPENSE_INV';
79741 l_component_type_code := 'S';
79742 l_component_appl_id := 200;
79743 l_amb_context_code := 'DEFAULT';
79744 l_entity_code := 'AP_INVOICES';
79745 l_event_class_code := 'INVOICES';
79746 l_event_type_code := 'INVOICES_ALL';
79747 l_line_definition_owner_code := 'S';
79748 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
79749 --
79750 l_balance_type_code := 'A';
79754 l_adr_accounting_coa_id := NULL;
79751 l_segment := NULL;
79752 l_ccid := NULL;
79753 l_adr_transaction_coa_id := NULL;
79755 l_adr_flexfield_segment_code := NULL;
79756 l_adr_flex_value_set_id := NULL;
79757 l_adr_value_type_code := NULL;
79758 l_adr_value_combination_id := NULL;
79759 l_adr_value_segment_code := NULL;
79760
79761 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
79762 l_bflow_class_code := ''; -- 4219869 Business Flow
79763 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
79764 l_budgetary_control_flag := 'N';
79765
79766 l_bflow_applied_to_amt_idx := NULL; -- 5132302
79767 l_bflow_applied_to_amt := NULL; -- 5132302
79768 l_entered_amt_idx := NULL; -- 4262811
79769 l_accted_amt_idx := NULL; -- 4262811
79770 l_acc_rev_flag := NULL; -- 4262811
79771 l_accrual_line_num := NULL; -- 4262811
79772 l_tmp_amt := NULL; -- 4262811
79773 --
79774
79775 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
79776 l_balance_type_code <> 'B' THEN
79777 IF NVL(p_source_33,'
79778 ') = 'RETROEXPENSE' OR
79779 NVL(p_source_33,'
79780 ') = 'ITEM' OR
79781 (NVL(p_source_33,'
79782 ') = 'ERV' AND
79783 NVL(p_source_96,'
79784 ') <> 'Y') OR
79785 (NVL(p_source_33,'
79786 ') = 'IPV' AND
79787 NVL(p_source_96,'
79788 ') <> 'Y')
79789 THEN
79790
79791 --
79792 XLA_AE_LINES_PKG.SetNewLine;
79793
79794 p_balance_type_code := l_balance_type_code;
79795 -- set the flag so later we will know whether the gain loss line needs to be created
79796
79797 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
79798 p_actual_flag :='A';
79799 END IF;
79800
79801 --
79802 -- bulk performance
79803 --
79804 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
79805 p_header_num => 0); -- 4262811
79806 --
79807 -- set accounting line options
79808 --
79809 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
79810 p_natural_side_code => 'D'
79811 , p_gain_or_loss_flag => 'N'
79812 , p_gl_transfer_mode_code => 'S'
79813 , p_acct_entry_type_code => 'A'
79814 , p_switch_side_flag => 'Y'
79815 , p_merge_duplicate_code => 'A'
79816 );
79817 --
79818 l_acc_rev_natural_side_code := 'C'; -- 4262811
79819 --
79820 --
79821 -- set accounting line type info
79822 --
79823 xla_ae_lines_pkg.SetAcctLineType
79824 (p_component_type => l_component_type
79825 ,p_event_type_code => l_event_type_code
79826 ,p_line_definition_owner_code => l_line_definition_owner_code
79827 ,p_line_definition_code => l_line_definition_code
79828 ,p_accounting_line_code => l_component_code
79829 ,p_accounting_line_type_code => l_component_type_code
79830 ,p_accounting_line_appl_id => l_component_appl_id
79831 ,p_amb_context_code => l_amb_context_code
79832 ,p_entity_code => l_entity_code
79833 ,p_event_class_code => l_event_class_code);
79834 --
79835 -- set accounting class
79836 --
79837 xla_ae_lines_pkg.SetAcctClass(
79838 p_accounting_class_code => 'ITEM EXPENSE'
79839 , p_ae_header_id => l_ae_header_id
79840 );
79841
79842 --
79843 -- set rounding class
79844 --
79845 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
79846 'ITEM EXPENSE';
79847
79848 --
79849 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
79850 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
79851 --
79852 -- bulk performance
79853 --
79854 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
79855
79856 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
79857 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
79858
79859 -- 4955764
79860 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
79861 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
79862
79863 -- 4458381 Public Sector Enh
79864
79865 --
79866 -- set accounting attributes for the line type
79867 --
79868 l_entered_amt_idx := 24;
79869 l_accted_amt_idx := 29;
79870 l_bflow_applied_to_amt_idx := 7; -- 5132302
79871 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
79872 l_rec_acct_attrs.array_char_value(1) := p_source_53;
79873 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
79874 l_rec_acct_attrs.array_num_value(2) :=
79875 xla_ae_sources_pkg.GetSystemSourceNum(
79876 p_source_code => 'XLA_EVENT_APPL_ID'
79877 , p_source_type_code => 'Y'
79878 , p_source_application_id => 602
79879 );
79880 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
79884 xla_ae_sources_pkg.GetSystemSourceChar(
79881 l_rec_acct_attrs.array_char_value(3) := p_source_55;
79882 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
79883 l_rec_acct_attrs.array_char_value(4) :=
79885 p_source_code => 'XLA_ENTITY_CODE'
79886 , p_source_type_code => 'Y'
79887 , p_source_application_id => 602
79888 );
79889 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
79890 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
79891 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
79892 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
79893 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
79894 l_rec_acct_attrs.array_num_value(7) := p_source_73;
79895 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
79896 l_rec_acct_attrs.array_num_value(8) := p_source_91;
79897 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
79898 l_rec_acct_attrs.array_char_value(9) := p_source_92;
79899 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
79900 l_rec_acct_attrs.array_char_value(10) := p_source_93;
79901 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
79902 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
79903 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
79904 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_95);
79905 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
79906 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_64);
79907 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
79908 l_rec_acct_attrs.array_char_value(14) := p_source_55;
79909 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
79910 l_rec_acct_attrs.array_num_value(15) := p_source_65;
79911 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
79912 l_rec_acct_attrs.array_num_value(16) := p_source_66;
79913 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
79914 l_rec_acct_attrs.array_char_value(17) := p_source_67;
79915 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
79916 l_rec_acct_attrs.array_num_value(18) := p_source_68;
79917 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
79918 l_rec_acct_attrs.array_num_value(19) := p_source_69;
79919 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
79920 l_rec_acct_attrs.array_num_value(20) := p_source_70;
79921 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
79922 l_rec_acct_attrs.array_char_value(21) := p_source_67;
79923 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
79924 l_rec_acct_attrs.array_num_value(22) := p_source_71;
79925 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
79926 l_rec_acct_attrs.array_char_value(23) := p_source_72;
79927 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
79928 l_rec_acct_attrs.array_num_value(24) := p_source_73;
79929 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
79930 l_rec_acct_attrs.array_char_value(25) := p_source_67;
79931 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
79932 l_rec_acct_attrs.array_date_value(26) := p_source_143;
79933 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
79934 l_rec_acct_attrs.array_num_value(27) := p_source_144;
79935 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
79936 l_rec_acct_attrs.array_char_value(28) := p_source_145;
79937 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
79938 l_rec_acct_attrs.array_num_value(29) := p_source_21;
79939 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
79940 l_rec_acct_attrs.array_date_value(30) := p_source_77;
79941 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
79942 l_rec_acct_attrs.array_char_value(31) := p_source_78;
79943 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
79944 l_rec_acct_attrs.array_date_value(32) := p_source_79;
79945 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
79946 l_rec_acct_attrs.array_char_value(33) := p_source_80;
79947 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
79948 l_rec_acct_attrs.array_num_value(34) := p_source_81;
79949 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
79950 l_rec_acct_attrs.array_num_value(35) := p_source_82;
79951 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
79952 l_rec_acct_attrs.array_char_value(36) := p_source_83;
79953 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
79954 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_84);
79955 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
79956 l_rec_acct_attrs.array_char_value(38) := p_source_55;
79957 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
79958 l_rec_acct_attrs.array_num_value(39) := p_source_85;
79959 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
79960 l_rec_acct_attrs.array_num_value(40) := p_source_86;
79961 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
79962 l_rec_acct_attrs.array_num_value(41) := p_source_87;
79963 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
79964 l_rec_acct_attrs.array_num_value(42) := p_source_88;
79968 l_rec_acct_attrs.array_num_value(44) := p_source_90;
79965 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
79966 l_rec_acct_attrs.array_num_value(43) := p_source_89;
79967 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
79969
79970 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
79971 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
79972
79973 ---------------------------------------------------------------------------------------------------------------
79974 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
79975 ---------------------------------------------------------------------------------------------------------------
79976 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
79977
79978 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
79979 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
79980
79981 IF xla_accounting_cache_pkg.GetValueChar
79982 (p_source_code => 'LEDGER_CATEGORY_CODE'
79983 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
79984 AND l_bflow_method_code = 'PRIOR_ENTRY'
79985 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
79986 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
79987 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
79988 )
79989 THEN
79990 xla_ae_lines_pkg.BflowUpgEntry
79991 (p_business_method_code => l_bflow_method_code
79992 ,p_business_class_code => l_bflow_class_code
79993 ,p_balance_type => l_balance_type_code);
79994 ELSE
79995 NULL;
79996 -- No business flow processing for business flow method of NONE.
79997 END IF;
79998
79999 --
80000 -- call analytical criteria
80001 --
80002
80003 --
80004 -- call description
80005 --
80006
80007 xla_ae_lines_pkg.SetLineDescription(
80008 p_ae_header_id => l_ae_header_id
80009 ,p_description => Description_1 (
80010 p_application_id => p_application_id
80011 , p_ae_header_id => l_ae_header_id
80012 , p_source_1 => p_source_1
80013 )
80014 );
80015
80016
80017 --
80018 -- call ADRs
80019 -- Bug 4922099
80020 --
80021 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
80022 (NVL(l_actual_upg_option, 'N') = 'O') OR
80023 (NVL(l_enc_upg_option, 'N') = 'O')
80024 )
80025 THEN
80026 NULL;
80027 --
80028 --
80029
80030 l_ccid := AcctDerRule_33(
80031 p_application_id => p_application_id
80032 , p_ae_header_id => l_ae_header_id
80033 , p_source_30 => p_source_30
80034 , x_transaction_coa_id => l_adr_transaction_coa_id
80035 , x_accounting_coa_id => l_adr_accounting_coa_id
80036 , x_value_type_code => l_adr_value_type_code
80037 , p_side => 'NA'
80038 );
80039
80040 xla_ae_lines_pkg.set_ccid(
80041 p_code_combination_id => l_ccid
80042 , p_value_type_code => l_adr_value_type_code
80043 , p_transaction_coa_id => l_adr_transaction_coa_id
80044 , p_accounting_coa_id => l_adr_accounting_coa_id
80045 , p_adr_code => 'AP_INVOICE_DIST'
80046 , p_adr_type_code => 'S'
80047 , p_component_type => l_component_type
80048 , p_component_code => l_component_code
80049 , p_component_type_code => l_component_type_code
80050 , p_component_appl_id => l_component_appl_id
80051 , p_amb_context_code => l_amb_context_code
80052 , p_side => 'NA'
80053 );
80054
80055
80056 --
80057 --
80058 END IF;
80059 --
80060 -- Bug 4922099
80061 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
80062 (NVL(l_enc_upg_option, 'N') = 'O')
80063 ) AND
80064 (l_bflow_method_code = 'PRIOR_ENTRY')
80065 )
80066 THEN
80067 IF
80068 --
80069 1 = 2
80070 --
80071 THEN
80072 xla_accounting_err_pkg.build_message
80073 (p_appli_s_name => 'XLA'
80074 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
80075 ,p_token_1 => 'LINE_NUMBER'
80076 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
80077 ,p_token_2 => 'LINE_TYPE_NAME'
80078 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
80079 l_component_type
80080 ,l_component_code
80081 ,l_component_type_code
80082 ,l_component_appl_id
80083 ,l_amb_context_code
80087 ,p_token_3 => 'OWNER'
80084 ,l_entity_code
80085 ,l_event_class_code
80086 )
80088 ,p_value_3 => xla_lookups_pkg.get_meaning(
80089 p_lookup_type => 'XLA_OWNER_TYPE'
80090 ,p_lookup_code => l_component_type_code
80091 )
80092 ,p_token_4 => 'PRODUCT_NAME'
80093 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
80094 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
80095 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
80096 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
80097 ,p_ae_header_id => NULL
80098 );
80099
80100 IF (C_LEVEL_ERROR>= g_log_level) THEN
80101 trace
80102 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
80103 ,p_level => C_LEVEL_ERROR
80104 ,p_module => l_log_module);
80105 END IF;
80106 END IF;
80107 END IF;
80108 --
80109 --
80110 ------------------------------------------------------------------------------------------------
80111 -- 4219869 Business Flow
80112 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
80113 -- Prior Entry. Currently, the following code is always generated.
80114 ------------------------------------------------------------------------------------------------
80115 XLA_AE_LINES_PKG.ValidateCurrentLine;
80116
80117 ------------------------------------------------------------------------------------
80118 -- 4219869 Business Flow
80119 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
80120 ------------------------------------------------------------------------------------
80121 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
80122
80123 ----------------------------------------------------------------------------------
80124 -- 4219869 Business Flow
80125 -- Update journal entry status -- Need to generate this within IF <condition>
80126 ----------------------------------------------------------------------------------
80127 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
80128 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
80129 ,p_balance_type_code => l_balance_type_code
80130 );
80131
80132 -------------------------------------------------------------------------------------------
80133 -- 4262811 - Generate the Accrual Reversal lines
80134 -------------------------------------------------------------------------------------------
80135 BEGIN
80136 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
80137 (g_array_event(p_event_id).array_value_num('header_index'));
80138 IF l_acc_rev_flag IS NULL THEN
80139 l_acc_rev_flag := 'N';
80140 END IF;
80141 EXCEPTION
80142 WHEN OTHERS THEN
80143 l_acc_rev_flag := 'N';
80144 END;
80145 --
80146 IF (l_acc_rev_flag = 'Y') THEN
80147
80148 -- 4645092 ------------------------------------------------------------------------------
80149 -- To allow MPA report to determine if it should generate report process
80150 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
80151 ------------------------------------------------------------------------------------------
80152
80153 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
80154 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
80155 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
80156 -- call ADRs
80157 -- Bug 4922099
80158 --
80159 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
80160 (NVL(l_actual_upg_option, 'N') = 'O') OR
80161 (NVL(l_enc_upg_option, 'N') = 'O')
80162 )
80163 THEN
80164 NULL;
80165 --
80166 --
80167
80168 l_ccid := AcctDerRule_33(
80169 p_application_id => p_application_id
80170 , p_ae_header_id => l_ae_header_id
80171 , p_source_30 => p_source_30
80172 , x_transaction_coa_id => l_adr_transaction_coa_id
80173 , x_accounting_coa_id => l_adr_accounting_coa_id
80174 , x_value_type_code => l_adr_value_type_code
80175 , p_side => 'NA'
80176 );
80177
80178 xla_ae_lines_pkg.set_ccid(
80179 p_code_combination_id => l_ccid
80180 , p_value_type_code => l_adr_value_type_code
80181 , p_transaction_coa_id => l_adr_transaction_coa_id
80182 , p_accounting_coa_id => l_adr_accounting_coa_id
80183 , p_adr_code => 'AP_INVOICE_DIST'
80184 , p_adr_type_code => 'S'
80188 , p_component_appl_id => l_component_appl_id
80185 , p_component_type => l_component_type
80186 , p_component_code => l_component_code
80187 , p_component_type_code => l_component_type_code
80189 , p_amb_context_code => l_amb_context_code
80190 , p_side => 'NA'
80191 );
80192
80193
80194 --
80195 --
80196 END IF;
80197
80198 --
80199 -- Update the line information that should be overwritten
80200 --
80201 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
80202 p_header_num => 1);
80203 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
80204
80205 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
80206
80207 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
80208 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
80209 END IF;
80210
80211 --
80212 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
80213 --
80214 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
80215 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
80216 ELSE
80217 ---------------------------------------------------------------------------------------------------
80218 -- 4262811a Switch Sign
80219 ---------------------------------------------------------------------------------------------------
80220 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
80221 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
80222 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
80223 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
80224 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
80225 -- 5132302
80226 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
80227 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
80228
80229 END IF;
80230
80231 -- 4955764
80232 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
80233 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
80234
80235
80236 XLA_AE_LINES_PKG.ValidateCurrentLine;
80237 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
80238
80239 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
80240 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
80241 ,p_balance_type_code => l_balance_type_code);
80242
80243 END IF;
80244
80245 -----------------------------------------------------------------------------------------
80246 -- 4262811 Multiperiod Accounting
80247 -----------------------------------------------------------------------------------------
80248 -- No MPA option is assigned.
80249
80250
80251 END IF;
80252 END IF;
80253 --
80254
80255 --
80256 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
80257 trace
80258 (p_msg => 'END of AcctLineType_144'
80259 ,p_level => C_LEVEL_PROCEDURE
80260 ,p_module => l_log_module);
80261 END IF;
80262 --
80263 EXCEPTION
80264 WHEN xla_exceptions_pkg.application_exception THEN
80265 RAISE;
80266 WHEN OTHERS THEN
80267 xla_exceptions_pkg.raise_message
80268 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_144');
80269 END AcctLineType_144;
80270 --
80271
80272 ---------------------------------------
80273 --
80274 -- PRIVATE FUNCTION
80275 -- AcctLineType_145
80276 --
80277 ---------------------------------------
80278 PROCEDURE AcctLineType_145 (
80279 p_application_id IN NUMBER
80280 ,p_event_id IN NUMBER
80281 ,p_calculate_acctd_flag IN VARCHAR2
80282 ,p_calculate_g_l_flag IN VARCHAR2
80283 ,p_actual_flag IN OUT VARCHAR2
80284 ,p_balance_type_code OUT VARCHAR2
80285 ,p_gain_or_loss_ref OUT VARCHAR2
80286
80287 --Payment Currency Code
80288 , p_source_13 IN VARCHAR2
80289 --Accounting Reversal Indicator
80290 , p_source_53 IN VARCHAR2
80291 --Distribution Link Type
80292 , p_source_55 IN VARCHAR2
80293 --Override Accounted Amount Indicator
80294 , p_source_80 IN VARCHAR2
80295 , p_source_80_meaning IN VARCHAR2
80296 --Third Party Type
80297 , p_source_83 IN VARCHAR2
80298 --Invoice Distribution Tax Line Identifier
80299 , p_source_86 IN NUMBER
80300 --Invoice Distribution Summary Tax Line Identifier
80301 , p_source_88 IN NUMBER
80302 --Business Flow Accounts Payable Application Identifier
80303 , p_source_91 IN NUMBER
80304 --Business Flow Invoice Distribution Type
80305 , p_source_92 IN VARCHAR2
80306 --Business Flow Invoice Entity Code
80307 , p_source_93 IN VARCHAR2
80308 --Business Flow Invoice Distribution Identifier
80312 --When to Account for Payment Option
80309 , p_source_94 IN NUMBER
80310 --Business Flow Invoice Identifier
80311 , p_source_95 IN NUMBER
80313 , p_source_97 IN VARCHAR2
80314 --Payment Distribution Type
80315 , p_source_98 IN VARCHAR2
80316 , p_source_98_meaning IN VARCHAR2
80317 --Payment Distribution Amount
80318 , p_source_99 IN NUMBER
80319 --Payment Distribution Identifier
80320 , p_source_104 IN NUMBER
80321 --Payment Distribution Reversed Identifier
80322 , p_source_112 IN NUMBER
80323 --Payment Distribution (Invoice Rate) Ledger Amount
80324 , p_source_116 IN NUMBER
80325 --Payment Type
80326 , p_source_122 IN VARCHAR2
80327 , p_source_122_meaning IN VARCHAR2
80328 --Invoice Type Paid
80329 , p_source_163 IN VARCHAR2
80330 , p_source_163_meaning IN VARCHAR2
80331 --Withholding at Payment Indicator
80332 , p_source_164 IN VARCHAR2
80333 , p_source_164_meaning IN VARCHAR2
80334 )
80335 IS
80336
80337 l_component_type VARCHAR2(80);
80338 l_component_code VARCHAR2(30);
80339 l_component_type_code VARCHAR2(1);
80340 l_component_appl_id INTEGER;
80341 l_amb_context_code VARCHAR2(30);
80342 l_entity_code VARCHAR2(30);
80343 l_event_class_code VARCHAR2(30);
80344 l_ae_header_id NUMBER;
80345 l_event_type_code VARCHAR2(30);
80346 l_line_definition_code VARCHAR2(30);
80347 l_line_definition_owner_code VARCHAR2(1);
80348 --
80349 -- adr variables
80350 l_segment VARCHAR2(30);
80351 l_ccid NUMBER;
80352 l_adr_transaction_coa_id NUMBER;
80353 l_adr_accounting_coa_id NUMBER;
80354 l_adr_flexfield_segment_code VARCHAR2(30);
80355 l_adr_flex_value_set_id NUMBER;
80356 l_adr_value_type_code VARCHAR2(30);
80357 l_adr_value_combination_id NUMBER;
80358 l_adr_value_segment_code VARCHAR2(30);
80359
80360 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
80361 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
80362 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
80363 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
80364
80365 -- 4262811 Variables ------------------------------------------------------------------------------------------
80366 l_entered_amt_idx NUMBER;
80367 l_accted_amt_idx NUMBER;
80368 l_acc_rev_flag VARCHAR2(1);
80369 l_accrual_line_num NUMBER;
80370 l_tmp_amt NUMBER;
80371 l_acc_rev_natural_side_code VARCHAR2(1);
80372
80373 l_num_entries NUMBER;
80374 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
80375 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
80376 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
80377 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
80378 l_recog_line_1 NUMBER;
80379 l_recog_line_2 NUMBER;
80380
80381 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
80382 l_bflow_applied_to_amt NUMBER; -- 5132302
80383 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
80384
80385 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
80386
80387 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
80388 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
80389
80390 ---------------------------------------------------------------------------------------------------------------
80391
80392
80393 --
80394 -- bulk performance
80395 --
80396 l_balance_type_code VARCHAR2(1);
80397 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
80398 l_log_module VARCHAR2(240);
80399
80400 --
80401 -- Upgrade strategy
80402 --
80403 l_actual_upg_option VARCHAR2(1);
80404 l_enc_upg_option VARCHAR2(1);
80405
80406 --
80407 BEGIN
80408 --
80409 IF g_log_enabled THEN
80410 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_145';
80411 END IF;
80412 --
80413 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
80414
80415 trace
80416 (p_msg => 'BEGIN of AcctLineType_145'
80417 ,p_level => C_LEVEL_PROCEDURE
80418 ,p_module => l_log_module);
80419
80420 END IF;
80421 --
80422 l_component_type := 'AMB_JLT';
80423 l_component_code := 'AP_LIAB_AWT_CLEAR';
80424 l_component_type_code := 'S';
80425 l_component_appl_id := 200;
80426 l_amb_context_code := 'DEFAULT';
80427 l_entity_code := 'AP_PAYMENTS';
80428 l_event_class_code := 'RECONCILED PAYMENTS';
80429 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
80430 l_line_definition_owner_code := 'S';
80431 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
80432 --
80433 l_balance_type_code := 'A';
80434 l_segment := NULL;
80435 l_ccid := NULL;
80436 l_adr_transaction_coa_id := NULL;
80437 l_adr_accounting_coa_id := NULL;
80438 l_adr_flexfield_segment_code := NULL;
80442 l_adr_value_segment_code := NULL;
80439 l_adr_flex_value_set_id := NULL;
80440 l_adr_value_type_code := NULL;
80441 l_adr_value_combination_id := NULL;
80443
80444 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
80445 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
80446 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
80447 l_budgetary_control_flag := 'N';
80448
80449 l_bflow_applied_to_amt_idx := NULL; -- 5132302
80450 l_bflow_applied_to_amt := NULL; -- 5132302
80451 l_entered_amt_idx := NULL; -- 4262811
80452 l_accted_amt_idx := NULL; -- 4262811
80453 l_acc_rev_flag := NULL; -- 4262811
80454 l_accrual_line_num := NULL; -- 4262811
80455 l_tmp_amt := NULL; -- 4262811
80456 --
80457
80458 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
80459 l_balance_type_code <> 'B' THEN
80460 IF NVL(p_source_97,'
80461 ') = 'CLEAR_CLEAR' AND
80462 NVL(p_source_163,'
80463 ') <> 'INTEREST' AND
80464 NVL(p_source_98,'
80465 ') = 'AWT' AND
80466 NVL(p_source_164,'
80467 ') = 'Y' AND
80468 NVL(p_source_122,'
80469 ') <> 'R'
80470 THEN
80471
80472 --
80473 XLA_AE_LINES_PKG.SetNewLine;
80474
80475 p_balance_type_code := l_balance_type_code;
80476 -- set the flag so later we will know whether the gain loss line needs to be created
80477
80478 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
80479 p_actual_flag :='A';
80480 END IF;
80481
80482 --
80483 -- bulk performance
80484 --
80485 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
80486 p_header_num => 0); -- 4262811
80487 --
80488 -- set accounting line options
80489 --
80490 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
80491 p_natural_side_code => 'D'
80492 , p_gain_or_loss_flag => 'N'
80493 , p_gl_transfer_mode_code => 'S'
80494 , p_acct_entry_type_code => 'A'
80495 , p_switch_side_flag => 'Y'
80496 , p_merge_duplicate_code => 'A'
80497 );
80498 --
80499 l_acc_rev_natural_side_code := 'C'; -- 4262811
80500 --
80501 --
80502 -- set accounting line type info
80503 --
80504 xla_ae_lines_pkg.SetAcctLineType
80505 (p_component_type => l_component_type
80506 ,p_event_type_code => l_event_type_code
80507 ,p_line_definition_owner_code => l_line_definition_owner_code
80508 ,p_line_definition_code => l_line_definition_code
80509 ,p_accounting_line_code => l_component_code
80510 ,p_accounting_line_type_code => l_component_type_code
80511 ,p_accounting_line_appl_id => l_component_appl_id
80512 ,p_amb_context_code => l_amb_context_code
80513 ,p_entity_code => l_entity_code
80514 ,p_event_class_code => l_event_class_code);
80515 --
80516 -- set accounting class
80517 --
80518 xla_ae_lines_pkg.SetAcctClass(
80519 p_accounting_class_code => 'LIABILITY'
80520 , p_ae_header_id => l_ae_header_id
80521 );
80522
80523 --
80524 -- set rounding class
80525 --
80526 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
80527 'LIABILITY';
80528
80529 --
80530 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
80531 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
80532 --
80533 -- bulk performance
80534 --
80535 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
80536
80537 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
80538 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
80539
80540 -- 4955764
80541 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
80542 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
80543
80544 -- 4458381 Public Sector Enh
80545
80546 --
80547 -- set accounting attributes for the line type
80548 --
80549 l_entered_amt_idx := 10;
80550 l_accted_amt_idx := 12;
80551 l_bflow_applied_to_amt_idx := 2; -- 5132302
80552 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
80553 l_rec_acct_attrs.array_char_value(1) := p_source_53;
80554 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
80555 l_rec_acct_attrs.array_num_value(2) := p_source_99;
80556 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
80557 l_rec_acct_attrs.array_num_value(3) := p_source_91;
80558 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
80559 l_rec_acct_attrs.array_char_value(4) := p_source_92;
80560 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
80561 l_rec_acct_attrs.array_char_value(5) := p_source_93;
80562 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
80563 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
80567 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
80564 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
80565 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
80566 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
80568 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
80569 l_rec_acct_attrs.array_char_value(9) := p_source_55;
80570 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
80571 l_rec_acct_attrs.array_num_value(10) := p_source_99;
80572 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
80573 l_rec_acct_attrs.array_char_value(11) := p_source_13;
80574 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
80575 l_rec_acct_attrs.array_num_value(12) := p_source_116;
80576 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
80577 l_rec_acct_attrs.array_char_value(13) := p_source_80;
80578 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
80579 l_rec_acct_attrs.array_char_value(14) := p_source_83;
80580 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
80581 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_112);
80582 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
80583 l_rec_acct_attrs.array_char_value(16) := p_source_55;
80584 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
80585 l_rec_acct_attrs.array_num_value(17) := p_source_86;
80586 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
80587 l_rec_acct_attrs.array_num_value(18) := p_source_86;
80588 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
80589 l_rec_acct_attrs.array_num_value(19) := p_source_88;
80590
80591 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
80592 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
80593
80594 ---------------------------------------------------------------------------------------------------------------
80595 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
80596 ---------------------------------------------------------------------------------------------------------------
80597 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
80598
80599 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
80600 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
80601
80602 IF xla_accounting_cache_pkg.GetValueChar
80603 (p_source_code => 'LEDGER_CATEGORY_CODE'
80604 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
80605 AND l_bflow_method_code = 'PRIOR_ENTRY'
80606 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
80607 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
80608 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
80609 )
80610 THEN
80611 xla_ae_lines_pkg.BflowUpgEntry
80612 (p_business_method_code => l_bflow_method_code
80613 ,p_business_class_code => l_bflow_class_code
80614 ,p_balance_type => l_balance_type_code);
80615 ELSE
80616 NULL;
80617 XLA_AE_LINES_PKG.business_flow_validation(
80618 p_business_method_code => l_bflow_method_code
80619 ,p_business_class_code => l_bflow_class_code
80620 ,p_inherit_description_flag => l_inherit_desc_flag);
80621 END IF;
80622
80623 --
80624 -- call analytical criteria
80625 --
80626 -- Inherited Analytical Criteria for business flow method of Prior Entry.
80627 --
80628 -- call description
80629 --
80630 -- No description or it is inherited.
80631 --
80632 -- call ADRs
80633 -- Bug 4922099
80634 --
80635 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
80636 (NVL(l_actual_upg_option, 'N') = 'O') OR
80637 (NVL(l_enc_upg_option, 'N') = 'O')
80638 )
80639 THEN
80640 NULL;
80641 --
80642 --
80643
80644 --
80645 --
80646 END IF;
80647 --
80648 -- Bug 4922099
80649 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
80650 (NVL(l_enc_upg_option, 'N') = 'O')
80651 ) AND
80652 (l_bflow_method_code = 'PRIOR_ENTRY')
80653 )
80654 THEN
80655 IF
80656 --
80657 1 = 1
80658 --
80659 THEN
80660 xla_accounting_err_pkg.build_message
80661 (p_appli_s_name => 'XLA'
80662 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
80663 ,p_token_1 => 'LINE_NUMBER'
80664 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
80665 ,p_token_2 => 'LINE_TYPE_NAME'
80666 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
80667 l_component_type
80668 ,l_component_code
80672 ,l_entity_code
80669 ,l_component_type_code
80670 ,l_component_appl_id
80671 ,l_amb_context_code
80673 ,l_event_class_code
80674 )
80675 ,p_token_3 => 'OWNER'
80676 ,p_value_3 => xla_lookups_pkg.get_meaning(
80677 p_lookup_type => 'XLA_OWNER_TYPE'
80678 ,p_lookup_code => l_component_type_code
80679 )
80680 ,p_token_4 => 'PRODUCT_NAME'
80681 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
80682 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
80683 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
80684 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
80685 ,p_ae_header_id => NULL
80686 );
80687
80688 IF (C_LEVEL_ERROR>= g_log_level) THEN
80689 trace
80690 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
80691 ,p_level => C_LEVEL_ERROR
80692 ,p_module => l_log_module);
80693 END IF;
80694 END IF;
80695 END IF;
80696 --
80697 --
80698 ------------------------------------------------------------------------------------------------
80699 -- 4219869 Business Flow
80700 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
80701 -- Prior Entry. Currently, the following code is always generated.
80702 ------------------------------------------------------------------------------------------------
80703 -- No ValidateCurrentLine for business flow method of Prior Entry
80704
80705 ------------------------------------------------------------------------------------
80706 -- 4219869 Business Flow
80707 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
80708 ------------------------------------------------------------------------------------
80709 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
80710
80711 ----------------------------------------------------------------------------------
80712 -- 4219869 Business Flow
80713 -- Update journal entry status -- Need to generate this within IF <condition>
80714 ----------------------------------------------------------------------------------
80715 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
80716 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
80717 ,p_balance_type_code => l_balance_type_code
80718 );
80719
80720 -------------------------------------------------------------------------------------------
80721 -- 4262811 - Generate the Accrual Reversal lines
80722 -------------------------------------------------------------------------------------------
80723 BEGIN
80724 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
80725 (g_array_event(p_event_id).array_value_num('header_index'));
80726 IF l_acc_rev_flag IS NULL THEN
80727 l_acc_rev_flag := 'N';
80728 END IF;
80729 EXCEPTION
80730 WHEN OTHERS THEN
80731 l_acc_rev_flag := 'N';
80732 END;
80733 --
80734 IF (l_acc_rev_flag = 'Y') THEN
80735
80736 -- 4645092 ------------------------------------------------------------------------------
80737 -- To allow MPA report to determine if it should generate report process
80738 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
80739 ------------------------------------------------------------------------------------------
80740
80741 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
80742 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
80743 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
80744 -- call ADRs
80745 -- Bug 4922099
80746 --
80747 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
80748 (NVL(l_actual_upg_option, 'N') = 'O') OR
80749 (NVL(l_enc_upg_option, 'N') = 'O')
80750 )
80751 THEN
80752 NULL;
80753 --
80754 --
80755
80756 --
80757 --
80758 END IF;
80759
80760 --
80761 -- Update the line information that should be overwritten
80762 --
80763 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
80764 p_header_num => 1);
80765 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
80766
80767 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
80771 END IF;
80768
80769 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
80770 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
80772
80773 --
80774 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
80775 --
80776 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
80777 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
80778 ELSE
80779 ---------------------------------------------------------------------------------------------------
80780 -- 4262811a Switch Sign
80781 ---------------------------------------------------------------------------------------------------
80782 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
80783 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
80784 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
80785 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
80786 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
80787 -- 5132302
80788 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
80789 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
80790
80791 END IF;
80792
80793 -- 4955764
80794 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
80795 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
80796
80797
80798 XLA_AE_LINES_PKG.ValidateCurrentLine;
80799 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
80800
80801 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
80802 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
80803 ,p_balance_type_code => l_balance_type_code);
80804
80805 END IF;
80806
80807 -----------------------------------------------------------------------------------------
80808 -- 4262811 Multiperiod Accounting
80809 -----------------------------------------------------------------------------------------
80810 -- No MPA option is assigned.
80811
80812
80813 END IF;
80814 END IF;
80815 --
80816
80817 --
80818 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
80819 trace
80820 (p_msg => 'END of AcctLineType_145'
80821 ,p_level => C_LEVEL_PROCEDURE
80822 ,p_module => l_log_module);
80823 END IF;
80824 --
80825 EXCEPTION
80826 WHEN xla_exceptions_pkg.application_exception THEN
80827 RAISE;
80828 WHEN OTHERS THEN
80829 xla_exceptions_pkg.raise_message
80830 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_145');
80831 END AcctLineType_145;
80832 --
80833
80834 ---------------------------------------
80835 --
80836 -- PRIVATE FUNCTION
80837 -- AcctLineType_146
80838 --
80839 ---------------------------------------
80840 PROCEDURE AcctLineType_146 (
80841 p_application_id IN NUMBER
80842 ,p_event_id IN NUMBER
80843 ,p_calculate_acctd_flag IN VARCHAR2
80844 ,p_calculate_g_l_flag IN VARCHAR2
80845 ,p_actual_flag IN OUT VARCHAR2
80846 ,p_balance_type_code OUT VARCHAR2
80847 ,p_gain_or_loss_ref OUT VARCHAR2
80848
80849 --Payment Currency Code
80850 , p_source_13 IN VARCHAR2
80851 --Accounting Reversal Indicator
80852 , p_source_53 IN VARCHAR2
80853 --Distribution Link Type
80854 , p_source_55 IN VARCHAR2
80855 --Override Accounted Amount Indicator
80856 , p_source_80 IN VARCHAR2
80857 , p_source_80_meaning IN VARCHAR2
80858 --Third Party Type
80859 , p_source_83 IN VARCHAR2
80860 --Invoice Distribution Tax Line Identifier
80861 , p_source_86 IN NUMBER
80862 --Invoice Distribution Tax Distribution Identifier from Tax
80863 , p_source_87 IN NUMBER
80864 --Invoice Distribution Summary Tax Line Identifier
80865 , p_source_88 IN NUMBER
80866 --Business Flow Accounts Payable Application Identifier
80867 , p_source_91 IN NUMBER
80868 --Business Flow Invoice Distribution Type
80869 , p_source_92 IN VARCHAR2
80870 --Business Flow Invoice Entity Code
80871 , p_source_93 IN VARCHAR2
80872 --Business Flow Invoice Distribution Identifier
80873 , p_source_94 IN NUMBER
80874 --Business Flow Invoice Identifier
80875 , p_source_95 IN NUMBER
80876 --When to Account for Payment Option
80877 , p_source_97 IN VARCHAR2
80878 --Payment Distribution Type
80879 , p_source_98 IN VARCHAR2
80880 , p_source_98_meaning IN VARCHAR2
80881 --Payment Distribution Amount
80882 , p_source_99 IN NUMBER
80883 --Payment Distribution Identifier
80884 , p_source_104 IN NUMBER
80885 --Payment Distribution Reversed Identifier
80886 , p_source_112 IN NUMBER
80887 --Payment Distribution (Invoice Rate) Ledger Amount
80888 , p_source_116 IN NUMBER
80889 --Payment Type
80890 , p_source_122 IN VARCHAR2
80891 , p_source_122_meaning IN VARCHAR2
80895 , p_source_124 IN NUMBER
80892 --Payment Processing Type
80893 , p_source_123 IN VARCHAR2
80894 --Invoice Distribution Amount of the Payment Distribution
80896 --Invoice Type Paid
80897 , p_source_163 IN VARCHAR2
80898 , p_source_163_meaning IN VARCHAR2
80899 --Withholding at Payment Indicator
80900 , p_source_164 IN VARCHAR2
80901 , p_source_164_meaning IN VARCHAR2
80902 )
80903 IS
80904
80905 l_component_type VARCHAR2(80);
80906 l_component_code VARCHAR2(30);
80907 l_component_type_code VARCHAR2(1);
80908 l_component_appl_id INTEGER;
80909 l_amb_context_code VARCHAR2(30);
80910 l_entity_code VARCHAR2(30);
80911 l_event_class_code VARCHAR2(30);
80912 l_ae_header_id NUMBER;
80913 l_event_type_code VARCHAR2(30);
80914 l_line_definition_code VARCHAR2(30);
80915 l_line_definition_owner_code VARCHAR2(1);
80916 --
80917 -- adr variables
80918 l_segment VARCHAR2(30);
80919 l_ccid NUMBER;
80920 l_adr_transaction_coa_id NUMBER;
80921 l_adr_accounting_coa_id NUMBER;
80922 l_adr_flexfield_segment_code VARCHAR2(30);
80923 l_adr_flex_value_set_id NUMBER;
80924 l_adr_value_type_code VARCHAR2(30);
80925 l_adr_value_combination_id NUMBER;
80926 l_adr_value_segment_code VARCHAR2(30);
80927
80928 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
80929 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
80930 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
80931 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
80932
80933 -- 4262811 Variables ------------------------------------------------------------------------------------------
80934 l_entered_amt_idx NUMBER;
80935 l_accted_amt_idx NUMBER;
80936 l_acc_rev_flag VARCHAR2(1);
80937 l_accrual_line_num NUMBER;
80938 l_tmp_amt NUMBER;
80939 l_acc_rev_natural_side_code VARCHAR2(1);
80940
80941 l_num_entries NUMBER;
80942 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
80943 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
80944 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
80945 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
80946 l_recog_line_1 NUMBER;
80947 l_recog_line_2 NUMBER;
80948
80949 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
80950 l_bflow_applied_to_amt NUMBER; -- 5132302
80951 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
80952
80953 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
80954
80955 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
80956 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
80957
80958 ---------------------------------------------------------------------------------------------------------------
80959
80960
80961 --
80962 -- bulk performance
80963 --
80964 l_balance_type_code VARCHAR2(1);
80965 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
80966 l_log_module VARCHAR2(240);
80967
80968 --
80969 -- Upgrade strategy
80970 --
80971 l_actual_upg_option VARCHAR2(1);
80972 l_enc_upg_option VARCHAR2(1);
80973
80974 --
80975 BEGIN
80976 --
80977 IF g_log_enabled THEN
80978 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_146';
80979 END IF;
80980 --
80981 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
80982
80983 trace
80984 (p_msg => 'BEGIN of AcctLineType_146'
80985 ,p_level => C_LEVEL_PROCEDURE
80986 ,p_module => l_log_module);
80987
80988 END IF;
80989 --
80990 l_component_type := 'AMB_JLT';
80991 l_component_code := 'AP_LIAB_AWT_PMT';
80992 l_component_type_code := 'S';
80993 l_component_appl_id := 200;
80994 l_amb_context_code := 'DEFAULT';
80995 l_entity_code := 'AP_PAYMENTS';
80996 l_event_class_code := 'PAYMENTS';
80997 l_event_type_code := 'PAYMENTS_ALL';
80998 l_line_definition_owner_code := 'S';
80999 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
81000 --
81001 l_balance_type_code := 'A';
81002 l_segment := NULL;
81003 l_ccid := NULL;
81004 l_adr_transaction_coa_id := NULL;
81005 l_adr_accounting_coa_id := NULL;
81006 l_adr_flexfield_segment_code := NULL;
81007 l_adr_flex_value_set_id := NULL;
81008 l_adr_value_type_code := NULL;
81009 l_adr_value_combination_id := NULL;
81010 l_adr_value_segment_code := NULL;
81011
81012 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
81013 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
81014 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
81015 l_budgetary_control_flag := 'N';
81016
81017 l_bflow_applied_to_amt_idx := NULL; -- 5132302
81018 l_bflow_applied_to_amt := NULL; -- 5132302
81019 l_entered_amt_idx := NULL; -- 4262811
81020 l_accted_amt_idx := NULL; -- 4262811
81024 --
81021 l_acc_rev_flag := NULL; -- 4262811
81022 l_accrual_line_num := NULL; -- 4262811
81023 l_tmp_amt := NULL; -- 4262811
81025
81026 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
81027 l_balance_type_code <> 'B' THEN
81028 IF NVL(p_source_97,'
81029 ') <> 'CLEAR_CLEAR' AND
81030 NVL(p_source_163,'
81031 ') <> 'INTEREST' AND
81032 NVL(p_source_98,'
81033 ') = 'AWT' AND
81034 NVL(p_source_164,'
81035 ') = 'Y' AND
81036 NVL(p_source_122,'
81037 ') <> 'R' AND
81038 NVL(p_source_123,'
81039 ') <> 'PAYMENTCARD'
81040 THEN
81041
81042 --
81043 XLA_AE_LINES_PKG.SetNewLine;
81044
81045 p_balance_type_code := l_balance_type_code;
81046 -- set the flag so later we will know whether the gain loss line needs to be created
81047
81048 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
81049 p_actual_flag :='A';
81050 END IF;
81051
81052 --
81053 -- bulk performance
81054 --
81055 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
81056 p_header_num => 0); -- 4262811
81057 --
81058 -- set accounting line options
81059 --
81060 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
81061 p_natural_side_code => 'D'
81062 , p_gain_or_loss_flag => 'N'
81063 , p_gl_transfer_mode_code => 'S'
81064 , p_acct_entry_type_code => 'A'
81065 , p_switch_side_flag => 'Y'
81066 , p_merge_duplicate_code => 'A'
81067 );
81068 --
81069 l_acc_rev_natural_side_code := 'C'; -- 4262811
81070 --
81071 --
81072 -- set accounting line type info
81073 --
81074 xla_ae_lines_pkg.SetAcctLineType
81075 (p_component_type => l_component_type
81076 ,p_event_type_code => l_event_type_code
81077 ,p_line_definition_owner_code => l_line_definition_owner_code
81078 ,p_line_definition_code => l_line_definition_code
81079 ,p_accounting_line_code => l_component_code
81080 ,p_accounting_line_type_code => l_component_type_code
81081 ,p_accounting_line_appl_id => l_component_appl_id
81082 ,p_amb_context_code => l_amb_context_code
81083 ,p_entity_code => l_entity_code
81084 ,p_event_class_code => l_event_class_code);
81085 --
81086 -- set accounting class
81087 --
81088 xla_ae_lines_pkg.SetAcctClass(
81089 p_accounting_class_code => 'LIABILITY'
81090 , p_ae_header_id => l_ae_header_id
81091 );
81092
81093 --
81094 -- set rounding class
81095 --
81096 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
81097 'LIABILITY';
81098
81099 --
81100 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
81101 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
81102 --
81103 -- bulk performance
81104 --
81105 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
81106
81107 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
81108 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
81109
81110 -- 4955764
81111 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
81112 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
81113
81114 -- 4458381 Public Sector Enh
81115
81116 --
81117 -- set accounting attributes for the line type
81118 --
81119 l_entered_amt_idx := 10;
81120 l_accted_amt_idx := 12;
81121 l_bflow_applied_to_amt_idx := 2; -- 5132302
81122 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
81123 l_rec_acct_attrs.array_char_value(1) := p_source_53;
81124 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
81125 l_rec_acct_attrs.array_num_value(2) := p_source_124;
81126 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
81127 l_rec_acct_attrs.array_num_value(3) := p_source_91;
81128 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
81129 l_rec_acct_attrs.array_char_value(4) := p_source_92;
81130 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
81131 l_rec_acct_attrs.array_char_value(5) := p_source_93;
81132 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
81133 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
81134 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
81135 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
81136 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
81137 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
81138 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
81139 l_rec_acct_attrs.array_char_value(9) := p_source_55;
81140 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
81141 l_rec_acct_attrs.array_num_value(10) := p_source_99;
81142 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
81146 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
81143 l_rec_acct_attrs.array_char_value(11) := p_source_13;
81144 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
81145 l_rec_acct_attrs.array_num_value(12) := p_source_116;
81147 l_rec_acct_attrs.array_char_value(13) := p_source_80;
81148 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
81149 l_rec_acct_attrs.array_char_value(14) := p_source_83;
81150 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
81151 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_112);
81152 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
81153 l_rec_acct_attrs.array_char_value(16) := p_source_55;
81154 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
81155 l_rec_acct_attrs.array_num_value(17) := p_source_86;
81156 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
81157 l_rec_acct_attrs.array_num_value(18) := p_source_87;
81158 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
81159 l_rec_acct_attrs.array_num_value(19) := p_source_88;
81160
81161 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
81162 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
81163
81164 ---------------------------------------------------------------------------------------------------------------
81165 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
81166 ---------------------------------------------------------------------------------------------------------------
81167 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
81168
81169 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
81170 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
81171
81172 IF xla_accounting_cache_pkg.GetValueChar
81173 (p_source_code => 'LEDGER_CATEGORY_CODE'
81174 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
81175 AND l_bflow_method_code = 'PRIOR_ENTRY'
81176 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
81177 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
81178 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
81179 )
81180 THEN
81181 xla_ae_lines_pkg.BflowUpgEntry
81182 (p_business_method_code => l_bflow_method_code
81183 ,p_business_class_code => l_bflow_class_code
81184 ,p_balance_type => l_balance_type_code);
81185 ELSE
81186 NULL;
81187 XLA_AE_LINES_PKG.business_flow_validation(
81188 p_business_method_code => l_bflow_method_code
81189 ,p_business_class_code => l_bflow_class_code
81190 ,p_inherit_description_flag => l_inherit_desc_flag);
81191 END IF;
81192
81193 --
81194 -- call analytical criteria
81195 --
81196 -- Inherited Analytical Criteria for business flow method of Prior Entry.
81197 --
81198 -- call description
81199 --
81200 -- No description or it is inherited.
81201 --
81202 -- call ADRs
81203 -- Bug 4922099
81204 --
81205 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
81206 (NVL(l_actual_upg_option, 'N') = 'O') OR
81207 (NVL(l_enc_upg_option, 'N') = 'O')
81208 )
81209 THEN
81210 NULL;
81211 --
81212 --
81213
81214 --
81215 --
81216 END IF;
81217 --
81218 -- Bug 4922099
81219 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
81220 (NVL(l_enc_upg_option, 'N') = 'O')
81221 ) AND
81222 (l_bflow_method_code = 'PRIOR_ENTRY')
81223 )
81224 THEN
81225 IF
81226 --
81227 1 = 1
81228 --
81229 THEN
81230 xla_accounting_err_pkg.build_message
81231 (p_appli_s_name => 'XLA'
81232 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
81233 ,p_token_1 => 'LINE_NUMBER'
81234 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
81235 ,p_token_2 => 'LINE_TYPE_NAME'
81236 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
81237 l_component_type
81238 ,l_component_code
81239 ,l_component_type_code
81240 ,l_component_appl_id
81241 ,l_amb_context_code
81242 ,l_entity_code
81243 ,l_event_class_code
81244 )
81245 ,p_token_3 => 'OWNER'
81249 )
81246 ,p_value_3 => xla_lookups_pkg.get_meaning(
81247 p_lookup_type => 'XLA_OWNER_TYPE'
81248 ,p_lookup_code => l_component_type_code
81250 ,p_token_4 => 'PRODUCT_NAME'
81251 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
81252 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
81253 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
81254 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
81255 ,p_ae_header_id => NULL
81256 );
81257
81258 IF (C_LEVEL_ERROR>= g_log_level) THEN
81259 trace
81260 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
81261 ,p_level => C_LEVEL_ERROR
81262 ,p_module => l_log_module);
81263 END IF;
81264 END IF;
81265 END IF;
81266 --
81267 --
81268 ------------------------------------------------------------------------------------------------
81269 -- 4219869 Business Flow
81270 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
81271 -- Prior Entry. Currently, the following code is always generated.
81272 ------------------------------------------------------------------------------------------------
81273 -- No ValidateCurrentLine for business flow method of Prior Entry
81274
81275 ------------------------------------------------------------------------------------
81276 -- 4219869 Business Flow
81277 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
81278 ------------------------------------------------------------------------------------
81279 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
81280
81281 ----------------------------------------------------------------------------------
81282 -- 4219869 Business Flow
81283 -- Update journal entry status -- Need to generate this within IF <condition>
81284 ----------------------------------------------------------------------------------
81285 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
81286 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
81287 ,p_balance_type_code => l_balance_type_code
81288 );
81289
81290 -------------------------------------------------------------------------------------------
81291 -- 4262811 - Generate the Accrual Reversal lines
81292 -------------------------------------------------------------------------------------------
81293 BEGIN
81294 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
81295 (g_array_event(p_event_id).array_value_num('header_index'));
81296 IF l_acc_rev_flag IS NULL THEN
81297 l_acc_rev_flag := 'N';
81298 END IF;
81299 EXCEPTION
81300 WHEN OTHERS THEN
81301 l_acc_rev_flag := 'N';
81302 END;
81303 --
81304 IF (l_acc_rev_flag = 'Y') THEN
81305
81306 -- 4645092 ------------------------------------------------------------------------------
81307 -- To allow MPA report to determine if it should generate report process
81308 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
81309 ------------------------------------------------------------------------------------------
81310
81311 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
81312 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
81313 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
81314 -- call ADRs
81315 -- Bug 4922099
81316 --
81317 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
81318 (NVL(l_actual_upg_option, 'N') = 'O') OR
81319 (NVL(l_enc_upg_option, 'N') = 'O')
81320 )
81321 THEN
81322 NULL;
81323 --
81324 --
81325
81326 --
81327 --
81328 END IF;
81329
81330 --
81331 -- Update the line information that should be overwritten
81332 --
81333 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
81334 p_header_num => 1);
81335 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
81336
81337 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
81338
81339 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
81340 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
81341 END IF;
81342
81343 --
81344 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
81345 --
81346 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
81347 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
81348 ELSE
81352 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
81349 ---------------------------------------------------------------------------------------------------
81350 -- 4262811a Switch Sign
81351 ---------------------------------------------------------------------------------------------------
81353 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
81354 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
81355 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
81356 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
81357 -- 5132302
81358 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
81359 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
81360
81361 END IF;
81362
81363 -- 4955764
81364 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
81365 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
81366
81367
81368 XLA_AE_LINES_PKG.ValidateCurrentLine;
81369 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
81370
81371 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
81372 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
81373 ,p_balance_type_code => l_balance_type_code);
81374
81375 END IF;
81376
81377 -----------------------------------------------------------------------------------------
81378 -- 4262811 Multiperiod Accounting
81379 -----------------------------------------------------------------------------------------
81380 -- No MPA option is assigned.
81381
81382
81383 END IF;
81384 END IF;
81385 --
81386
81387 --
81388 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
81389 trace
81390 (p_msg => 'END of AcctLineType_146'
81391 ,p_level => C_LEVEL_PROCEDURE
81392 ,p_module => l_log_module);
81393 END IF;
81394 --
81395 EXCEPTION
81396 WHEN xla_exceptions_pkg.application_exception THEN
81397 RAISE;
81398 WHEN OTHERS THEN
81399 xla_exceptions_pkg.raise_message
81400 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_146');
81401 END AcctLineType_146;
81402 --
81403
81404 ---------------------------------------
81405 --
81406 -- PRIVATE FUNCTION
81407 -- AcctLineType_147
81408 --
81409 ---------------------------------------
81410 PROCEDURE AcctLineType_147 (
81411 p_application_id IN NUMBER
81412 ,p_event_id IN NUMBER
81413 ,p_calculate_acctd_flag IN VARCHAR2
81414 ,p_calculate_g_l_flag IN VARCHAR2
81415 ,p_actual_flag IN OUT VARCHAR2
81416 ,p_balance_type_code OUT VARCHAR2
81417 ,p_gain_or_loss_ref OUT VARCHAR2
81418
81419 --Payment Currency Code
81420 , p_source_13 IN VARCHAR2
81421 --Accounting Reversal Indicator
81422 , p_source_53 IN VARCHAR2
81423 --Distribution Link Type
81424 , p_source_55 IN VARCHAR2
81425 --Override Accounted Amount Indicator
81426 , p_source_80 IN VARCHAR2
81427 , p_source_80_meaning IN VARCHAR2
81428 --Third Party Type
81429 , p_source_83 IN VARCHAR2
81430 --Invoice Distribution Tax Line Identifier
81431 , p_source_86 IN NUMBER
81432 --Invoice Distribution Summary Tax Line Identifier
81433 , p_source_88 IN NUMBER
81434 --Business Flow Accounts Payable Application Identifier
81435 , p_source_91 IN NUMBER
81436 --Business Flow Invoice Distribution Type
81437 , p_source_92 IN VARCHAR2
81438 --Business Flow Invoice Entity Code
81439 , p_source_93 IN VARCHAR2
81440 --Business Flow Invoice Distribution Identifier
81441 , p_source_94 IN NUMBER
81442 --Business Flow Invoice Identifier
81443 , p_source_95 IN NUMBER
81444 --When to Account for Payment Option
81445 , p_source_97 IN VARCHAR2
81446 --Payment Distribution Type
81447 , p_source_98 IN VARCHAR2
81448 , p_source_98_meaning IN VARCHAR2
81449 --Payment Distribution Amount
81450 , p_source_99 IN NUMBER
81451 --Payment Distribution Identifier
81452 , p_source_104 IN NUMBER
81453 --Payment Distribution Reversed Identifier
81454 , p_source_112 IN NUMBER
81455 --Payment Distribution (Invoice Rate) Ledger Amount
81456 , p_source_116 IN NUMBER
81457 --Invoice Type Paid
81458 , p_source_163 IN VARCHAR2
81459 , p_source_163_meaning IN VARCHAR2
81460 )
81461 IS
81462
81463 l_component_type VARCHAR2(80);
81464 l_component_code VARCHAR2(30);
81465 l_component_type_code VARCHAR2(1);
81466 l_component_appl_id INTEGER;
81467 l_amb_context_code VARCHAR2(30);
81468 l_entity_code VARCHAR2(30);
81469 l_event_class_code VARCHAR2(30);
81470 l_ae_header_id NUMBER;
81471 l_event_type_code VARCHAR2(30);
81472 l_line_definition_code VARCHAR2(30);
81473 l_line_definition_owner_code VARCHAR2(1);
81474 --
81475 -- adr variables
81476 l_segment VARCHAR2(30);
81477 l_ccid NUMBER;
81481 l_adr_flex_value_set_id NUMBER;
81478 l_adr_transaction_coa_id NUMBER;
81479 l_adr_accounting_coa_id NUMBER;
81480 l_adr_flexfield_segment_code VARCHAR2(30);
81482 l_adr_value_type_code VARCHAR2(30);
81483 l_adr_value_combination_id NUMBER;
81484 l_adr_value_segment_code VARCHAR2(30);
81485
81486 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
81487 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
81488 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
81489 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
81490
81491 -- 4262811 Variables ------------------------------------------------------------------------------------------
81492 l_entered_amt_idx NUMBER;
81493 l_accted_amt_idx NUMBER;
81494 l_acc_rev_flag VARCHAR2(1);
81495 l_accrual_line_num NUMBER;
81496 l_tmp_amt NUMBER;
81497 l_acc_rev_natural_side_code VARCHAR2(1);
81498
81499 l_num_entries NUMBER;
81500 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
81501 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
81502 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
81503 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
81504 l_recog_line_1 NUMBER;
81505 l_recog_line_2 NUMBER;
81506
81507 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
81508 l_bflow_applied_to_amt NUMBER; -- 5132302
81509 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
81510
81511 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
81512
81513 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
81514 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
81515
81516 ---------------------------------------------------------------------------------------------------------------
81517
81518
81519 --
81520 -- bulk performance
81521 --
81522 l_balance_type_code VARCHAR2(1);
81523 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
81524 l_log_module VARCHAR2(240);
81525
81526 --
81527 -- Upgrade strategy
81528 --
81529 l_actual_upg_option VARCHAR2(1);
81530 l_enc_upg_option VARCHAR2(1);
81531
81532 --
81533 BEGIN
81534 --
81535 IF g_log_enabled THEN
81536 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_147';
81537 END IF;
81538 --
81539 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
81540
81541 trace
81542 (p_msg => 'BEGIN of AcctLineType_147'
81543 ,p_level => C_LEVEL_PROCEDURE
81544 ,p_module => l_log_module);
81545
81546 END IF;
81547 --
81548 l_component_type := 'AMB_JLT';
81549 l_component_code := 'AP_LIAB_CLEAR';
81550 l_component_type_code := 'S';
81551 l_component_appl_id := 200;
81552 l_amb_context_code := 'DEFAULT';
81553 l_entity_code := 'AP_PAYMENTS';
81554 l_event_class_code := 'RECONCILED PAYMENTS';
81555 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
81556 l_line_definition_owner_code := 'S';
81557 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
81558 --
81559 l_balance_type_code := 'A';
81560 l_segment := NULL;
81561 l_ccid := NULL;
81562 l_adr_transaction_coa_id := NULL;
81563 l_adr_accounting_coa_id := NULL;
81564 l_adr_flexfield_segment_code := NULL;
81565 l_adr_flex_value_set_id := NULL;
81566 l_adr_value_type_code := NULL;
81567 l_adr_value_combination_id := NULL;
81568 l_adr_value_segment_code := NULL;
81569
81570 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
81571 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
81572 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
81573 l_budgetary_control_flag := 'N';
81574
81575 l_bflow_applied_to_amt_idx := NULL; -- 5132302
81576 l_bflow_applied_to_amt := NULL; -- 5132302
81577 l_entered_amt_idx := NULL; -- 4262811
81578 l_accted_amt_idx := NULL; -- 4262811
81579 l_acc_rev_flag := NULL; -- 4262811
81580 l_accrual_line_num := NULL; -- 4262811
81581 l_tmp_amt := NULL; -- 4262811
81582 --
81583
81584 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
81585 l_balance_type_code <> 'B' THEN
81586 IF NVL(p_source_97,'
81587 ') = 'CLEAR_CLEAR' AND
81588 NVL(p_source_163,'
81589 ') <> 'INTEREST' AND
81590 (NVL(p_source_98,'
81591 ') = 'ROUNDING' OR
81592 NVL(p_source_98,'
81593 ') = 'CASH' OR
81594 NVL(p_source_98,'
81595 ') = 'DISCOUNT')
81596 THEN
81597
81598 --
81599 XLA_AE_LINES_PKG.SetNewLine;
81600
81601 p_balance_type_code := l_balance_type_code;
81602 -- set the flag so later we will know whether the gain loss line needs to be created
81603
81604 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
81605 p_actual_flag :='A';
81606 END IF;
81607
81608 --
81609 -- bulk performance
81610 --
81614 -- set accounting line options
81611 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
81612 p_header_num => 0); -- 4262811
81613 --
81615 --
81616 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
81617 p_natural_side_code => 'D'
81618 , p_gain_or_loss_flag => 'N'
81619 , p_gl_transfer_mode_code => 'S'
81620 , p_acct_entry_type_code => 'A'
81621 , p_switch_side_flag => 'Y'
81622 , p_merge_duplicate_code => 'A'
81623 );
81624 --
81625 l_acc_rev_natural_side_code := 'C'; -- 4262811
81626 --
81627 --
81628 -- set accounting line type info
81629 --
81630 xla_ae_lines_pkg.SetAcctLineType
81631 (p_component_type => l_component_type
81632 ,p_event_type_code => l_event_type_code
81633 ,p_line_definition_owner_code => l_line_definition_owner_code
81634 ,p_line_definition_code => l_line_definition_code
81635 ,p_accounting_line_code => l_component_code
81636 ,p_accounting_line_type_code => l_component_type_code
81637 ,p_accounting_line_appl_id => l_component_appl_id
81638 ,p_amb_context_code => l_amb_context_code
81639 ,p_entity_code => l_entity_code
81640 ,p_event_class_code => l_event_class_code);
81641 --
81642 -- set accounting class
81643 --
81644 xla_ae_lines_pkg.SetAcctClass(
81645 p_accounting_class_code => 'LIABILITY'
81646 , p_ae_header_id => l_ae_header_id
81647 );
81648
81649 --
81650 -- set rounding class
81651 --
81652 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
81653 'LIABILITY';
81654
81655 --
81656 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
81657 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
81658 --
81659 -- bulk performance
81660 --
81661 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
81662
81663 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
81664 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
81665
81666 -- 4955764
81667 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
81668 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
81669
81670 -- 4458381 Public Sector Enh
81671
81672 --
81673 -- set accounting attributes for the line type
81674 --
81675 l_entered_amt_idx := 10;
81676 l_accted_amt_idx := 12;
81677 l_bflow_applied_to_amt_idx := 2; -- 5132302
81678 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
81679 l_rec_acct_attrs.array_char_value(1) := p_source_53;
81680 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
81681 l_rec_acct_attrs.array_num_value(2) := p_source_99;
81682 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
81683 l_rec_acct_attrs.array_num_value(3) := p_source_91;
81684 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
81685 l_rec_acct_attrs.array_char_value(4) := p_source_92;
81686 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
81687 l_rec_acct_attrs.array_char_value(5) := p_source_93;
81688 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
81689 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
81690 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
81691 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
81692 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
81693 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
81694 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
81695 l_rec_acct_attrs.array_char_value(9) := p_source_55;
81696 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
81697 l_rec_acct_attrs.array_num_value(10) := p_source_99;
81698 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
81699 l_rec_acct_attrs.array_char_value(11) := p_source_13;
81700 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
81701 l_rec_acct_attrs.array_num_value(12) := p_source_116;
81702 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
81703 l_rec_acct_attrs.array_char_value(13) := p_source_80;
81704 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
81705 l_rec_acct_attrs.array_char_value(14) := p_source_83;
81706 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
81707 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_112);
81708 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
81709 l_rec_acct_attrs.array_char_value(16) := p_source_55;
81710 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
81711 l_rec_acct_attrs.array_num_value(17) := p_source_86;
81712 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
81713 l_rec_acct_attrs.array_num_value(18) := p_source_86;
81714 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
81715 l_rec_acct_attrs.array_num_value(19) := p_source_88;
81719
81716
81717 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
81718 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
81720 ---------------------------------------------------------------------------------------------------------------
81721 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
81722 ---------------------------------------------------------------------------------------------------------------
81723 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
81724
81725 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
81726 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
81727
81728 IF xla_accounting_cache_pkg.GetValueChar
81729 (p_source_code => 'LEDGER_CATEGORY_CODE'
81730 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
81731 AND l_bflow_method_code = 'PRIOR_ENTRY'
81732 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
81733 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
81734 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
81735 )
81736 THEN
81737 xla_ae_lines_pkg.BflowUpgEntry
81738 (p_business_method_code => l_bflow_method_code
81739 ,p_business_class_code => l_bflow_class_code
81740 ,p_balance_type => l_balance_type_code);
81741 ELSE
81742 NULL;
81743 XLA_AE_LINES_PKG.business_flow_validation(
81744 p_business_method_code => l_bflow_method_code
81745 ,p_business_class_code => l_bflow_class_code
81746 ,p_inherit_description_flag => l_inherit_desc_flag);
81747 END IF;
81748
81749 --
81750 -- call analytical criteria
81751 --
81752 -- Inherited Analytical Criteria for business flow method of Prior Entry.
81753 --
81754 -- call description
81755 --
81756 -- No description or it is inherited.
81757 --
81758 -- call ADRs
81759 -- Bug 4922099
81760 --
81761 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
81762 (NVL(l_actual_upg_option, 'N') = 'O') OR
81763 (NVL(l_enc_upg_option, 'N') = 'O')
81764 )
81765 THEN
81766 NULL;
81767 --
81768 --
81769
81770 --
81771 --
81772 END IF;
81773 --
81774 -- Bug 4922099
81775 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
81776 (NVL(l_enc_upg_option, 'N') = 'O')
81777 ) AND
81778 (l_bflow_method_code = 'PRIOR_ENTRY')
81779 )
81780 THEN
81781 IF
81782 --
81783 1 = 1
81784 --
81785 THEN
81786 xla_accounting_err_pkg.build_message
81787 (p_appli_s_name => 'XLA'
81788 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
81789 ,p_token_1 => 'LINE_NUMBER'
81790 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
81791 ,p_token_2 => 'LINE_TYPE_NAME'
81792 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
81793 l_component_type
81794 ,l_component_code
81795 ,l_component_type_code
81796 ,l_component_appl_id
81797 ,l_amb_context_code
81798 ,l_entity_code
81799 ,l_event_class_code
81800 )
81801 ,p_token_3 => 'OWNER'
81802 ,p_value_3 => xla_lookups_pkg.get_meaning(
81803 p_lookup_type => 'XLA_OWNER_TYPE'
81804 ,p_lookup_code => l_component_type_code
81805 )
81806 ,p_token_4 => 'PRODUCT_NAME'
81807 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
81808 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
81809 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
81810 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
81811 ,p_ae_header_id => NULL
81812 );
81813
81814 IF (C_LEVEL_ERROR>= g_log_level) THEN
81815 trace
81819 END IF;
81816 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
81817 ,p_level => C_LEVEL_ERROR
81818 ,p_module => l_log_module);
81820 END IF;
81821 END IF;
81822 --
81823 --
81824 ------------------------------------------------------------------------------------------------
81825 -- 4219869 Business Flow
81826 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
81827 -- Prior Entry. Currently, the following code is always generated.
81828 ------------------------------------------------------------------------------------------------
81829 -- No ValidateCurrentLine for business flow method of Prior Entry
81830
81831 ------------------------------------------------------------------------------------
81832 -- 4219869 Business Flow
81833 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
81834 ------------------------------------------------------------------------------------
81835 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
81836
81837 ----------------------------------------------------------------------------------
81838 -- 4219869 Business Flow
81839 -- Update journal entry status -- Need to generate this within IF <condition>
81840 ----------------------------------------------------------------------------------
81841 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
81842 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
81843 ,p_balance_type_code => l_balance_type_code
81844 );
81845
81846 -------------------------------------------------------------------------------------------
81847 -- 4262811 - Generate the Accrual Reversal lines
81848 -------------------------------------------------------------------------------------------
81849 BEGIN
81850 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
81851 (g_array_event(p_event_id).array_value_num('header_index'));
81852 IF l_acc_rev_flag IS NULL THEN
81853 l_acc_rev_flag := 'N';
81854 END IF;
81855 EXCEPTION
81856 WHEN OTHERS THEN
81857 l_acc_rev_flag := 'N';
81858 END;
81859 --
81860 IF (l_acc_rev_flag = 'Y') THEN
81861
81862 -- 4645092 ------------------------------------------------------------------------------
81863 -- To allow MPA report to determine if it should generate report process
81864 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
81865 ------------------------------------------------------------------------------------------
81866
81867 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
81868 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
81869 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
81870 -- call ADRs
81871 -- Bug 4922099
81872 --
81873 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
81874 (NVL(l_actual_upg_option, 'N') = 'O') OR
81875 (NVL(l_enc_upg_option, 'N') = 'O')
81876 )
81877 THEN
81878 NULL;
81879 --
81880 --
81881
81882 --
81883 --
81884 END IF;
81885
81886 --
81887 -- Update the line information that should be overwritten
81888 --
81889 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
81890 p_header_num => 1);
81891 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
81892
81893 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
81894
81895 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
81896 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
81897 END IF;
81898
81899 --
81900 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
81901 --
81902 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
81903 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
81904 ELSE
81905 ---------------------------------------------------------------------------------------------------
81906 -- 4262811a Switch Sign
81907 ---------------------------------------------------------------------------------------------------
81908 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
81909 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
81910 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
81911 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
81912 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
81913 -- 5132302
81914 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
81915 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
81916
81917 END IF;
81918
81919 -- 4955764
81920 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
81924 XLA_AE_LINES_PKG.ValidateCurrentLine;
81921 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
81922
81923
81925 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
81926
81927 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
81928 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
81929 ,p_balance_type_code => l_balance_type_code);
81930
81931 END IF;
81932
81933 -----------------------------------------------------------------------------------------
81934 -- 4262811 Multiperiod Accounting
81935 -----------------------------------------------------------------------------------------
81936 -- No MPA option is assigned.
81937
81938
81939 END IF;
81940 END IF;
81941 --
81942
81943 --
81944 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
81945 trace
81946 (p_msg => 'END of AcctLineType_147'
81947 ,p_level => C_LEVEL_PROCEDURE
81948 ,p_module => l_log_module);
81949 END IF;
81950 --
81951 EXCEPTION
81952 WHEN xla_exceptions_pkg.application_exception THEN
81953 RAISE;
81954 WHEN OTHERS THEN
81955 xla_exceptions_pkg.raise_message
81956 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_147');
81957 END AcctLineType_147;
81958 --
81959
81960 ---------------------------------------
81961 --
81962 -- PRIVATE FUNCTION
81963 -- AcctLineType_148
81964 --
81965 ---------------------------------------
81966 PROCEDURE AcctLineType_148 (
81967 p_application_id IN NUMBER
81968 ,p_event_id IN NUMBER
81969 ,p_calculate_acctd_flag IN VARCHAR2
81970 ,p_calculate_g_l_flag IN VARCHAR2
81971 ,p_actual_flag IN OUT VARCHAR2
81972 ,p_balance_type_code OUT VARCHAR2
81973 ,p_gain_or_loss_ref OUT VARCHAR2
81974
81975 --Invoice Distribution Description
81976 , p_source_1 IN VARCHAR2
81977 --Automatic Offsets Value
81978 , p_source_15 IN VARCHAR2
81979 , p_source_15_meaning IN VARCHAR2
81980 --Invoice Distribution Ledger Amount
81981 , p_source_21 IN NUMBER
81982 --Invoice Liability Account
81983 , p_source_34 IN NUMBER
81984 --Accounting Reversal Indicator
81985 , p_source_53 IN VARCHAR2
81986 --Distribution Link Type
81987 , p_source_55 IN VARCHAR2
81988 --Allocation to Main Distribution Identifier
81989 , p_source_57 IN NUMBER
81990 --Invoice Identifier
81991 , p_source_58 IN NUMBER
81992 --Invoice Distribution Identifier
81993 , p_source_64 IN NUMBER
81994 --Payables Encumbrance Upgrade Credit Account
81995 , p_source_65 IN NUMBER
81996 --Payables Encumbrance Upgrade Credit Amount
81997 , p_source_66 IN NUMBER
81998 --Invoice Currency Code
81999 , p_source_67 IN VARCHAR2
82000 --Payables Encumbrance Upgrade Credit Base Amount
82001 , p_source_68 IN NUMBER
82002 --Payables Encumbrance Upgrade Debit Account
82003 , p_source_69 IN NUMBER
82004 --Payables Encumbrance Upgrade Debit Amount
82005 , p_source_70 IN NUMBER
82006 --Payables Encumbrance Upgrade Debit Base Amount
82007 , p_source_71 IN NUMBER
82008 --Payables Encumbrance Upgrade Option
82009 , p_source_72 IN VARCHAR2
82010 --Invoice Distribution Amount
82011 , p_source_73 IN NUMBER
82012 --Deferred Accounting End Date
82013 , p_source_77 IN DATE
82014 --Deferred Accounting Option
82015 , p_source_78 IN VARCHAR2
82016 --Deferred Accounting Start Date
82017 , p_source_79 IN DATE
82018 --Override Accounted Amount Indicator
82019 , p_source_80 IN VARCHAR2
82020 , p_source_80_meaning IN VARCHAR2
82021 --Invoice Supplier Identifier
82022 , p_source_81 IN NUMBER
82023 --Invoice Supplier Site Identifier
82024 , p_source_82 IN NUMBER
82025 --Third Party Type
82026 , p_source_83 IN VARCHAR2
82027 --Parent Reversal Identifier
82028 , p_source_84 IN NUMBER
82029 --Invoice Distribution Statistical Amount
82030 , p_source_85 IN NUMBER
82031 --Invoice Distribution Tax Line Identifier
82032 , p_source_86 IN NUMBER
82033 --Invoice Distribution Tax Distribution Identifier from Tax
82034 , p_source_87 IN NUMBER
82035 --Invoice Distribution Summary Tax Line Identifier
82036 , p_source_88 IN NUMBER
82037 --Payables Upgrade Credit Encumbrance Type Identifier
82038 , p_source_89 IN NUMBER
82039 --Payables Upgrade Debit Encumbrance Type Identifier
82040 , p_source_90 IN NUMBER
82041 --Business Flow Accounts Payable Application Identifier
82042 , p_source_91 IN NUMBER
82043 --Business Flow Invoice Distribution Type
82044 , p_source_92 IN VARCHAR2
82045 --Business Flow Invoice Entity Code
82046 , p_source_93 IN VARCHAR2
82047 --Business Flow Invoice Distribution Identifier
82048 , p_source_94 IN NUMBER
82049 --Business Flow Invoice Identifier
82050 , p_source_95 IN NUMBER
82051 --Self-Assessed Tax Flag
82052 , p_source_142 IN VARCHAR2
82053 , p_source_142_meaning IN VARCHAR2
82054 --Invoice Exchange Date
82055 , p_source_143 IN DATE
82056 --Invoice Exchange Rate
82057 , p_source_144 IN NUMBER
82058 --Invoice Exchange Rate Type
82062
82059 , p_source_145 IN VARCHAR2
82060 )
82061 IS
82063 l_component_type VARCHAR2(80);
82064 l_component_code VARCHAR2(30);
82065 l_component_type_code VARCHAR2(1);
82066 l_component_appl_id INTEGER;
82067 l_amb_context_code VARCHAR2(30);
82068 l_entity_code VARCHAR2(30);
82069 l_event_class_code VARCHAR2(30);
82070 l_ae_header_id NUMBER;
82071 l_event_type_code VARCHAR2(30);
82072 l_line_definition_code VARCHAR2(30);
82073 l_line_definition_owner_code VARCHAR2(1);
82074 --
82075 -- adr variables
82076 l_segment VARCHAR2(30);
82077 l_ccid NUMBER;
82078 l_adr_transaction_coa_id NUMBER;
82079 l_adr_accounting_coa_id NUMBER;
82080 l_adr_flexfield_segment_code VARCHAR2(30);
82081 l_adr_flex_value_set_id NUMBER;
82082 l_adr_value_type_code VARCHAR2(30);
82083 l_adr_value_combination_id NUMBER;
82084 l_adr_value_segment_code VARCHAR2(30);
82085
82086 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
82087 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
82088 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
82089 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
82090
82091 -- 4262811 Variables ------------------------------------------------------------------------------------------
82092 l_entered_amt_idx NUMBER;
82093 l_accted_amt_idx NUMBER;
82094 l_acc_rev_flag VARCHAR2(1);
82095 l_accrual_line_num NUMBER;
82096 l_tmp_amt NUMBER;
82097 l_acc_rev_natural_side_code VARCHAR2(1);
82098
82099 l_num_entries NUMBER;
82100 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
82101 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
82102 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
82103 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
82104 l_recog_line_1 NUMBER;
82105 l_recog_line_2 NUMBER;
82106
82107 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
82108 l_bflow_applied_to_amt NUMBER; -- 5132302
82109 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
82110
82111 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
82112
82113 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
82114 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
82115
82116 ---------------------------------------------------------------------------------------------------------------
82117
82118
82119 --
82120 -- bulk performance
82121 --
82122 l_balance_type_code VARCHAR2(1);
82123 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
82124 l_log_module VARCHAR2(240);
82125
82126 --
82127 -- Upgrade strategy
82128 --
82129 l_actual_upg_option VARCHAR2(1);
82130 l_enc_upg_option VARCHAR2(1);
82131
82132 --
82133 BEGIN
82134 --
82135 IF g_log_enabled THEN
82136 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_148';
82137 END IF;
82138 --
82139 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
82140
82141 trace
82142 (p_msg => 'BEGIN of AcctLineType_148'
82143 ,p_level => C_LEVEL_PROCEDURE
82144 ,p_module => l_log_module);
82145
82146 END IF;
82147 --
82148 l_component_type := 'AMB_JLT';
82149 l_component_code := 'AP_LIAB_CM';
82150 l_component_type_code := 'S';
82151 l_component_appl_id := 200;
82152 l_amb_context_code := 'DEFAULT';
82153 l_entity_code := 'AP_INVOICES';
82154 l_event_class_code := 'CREDIT MEMOS';
82155 l_event_type_code := 'CREDIT MEMOS_ALL';
82156 l_line_definition_owner_code := 'S';
82157 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
82158 --
82159 l_balance_type_code := 'A';
82160 l_segment := NULL;
82161 l_ccid := NULL;
82162 l_adr_transaction_coa_id := NULL;
82163 l_adr_accounting_coa_id := NULL;
82164 l_adr_flexfield_segment_code := NULL;
82165 l_adr_flex_value_set_id := NULL;
82166 l_adr_value_type_code := NULL;
82167 l_adr_value_combination_id := NULL;
82168 l_adr_value_segment_code := NULL;
82169
82170 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
82171 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
82172 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
82173 l_budgetary_control_flag := 'N';
82174
82175 l_bflow_applied_to_amt_idx := NULL; -- 5132302
82176 l_bflow_applied_to_amt := NULL; -- 5132302
82177 l_entered_amt_idx := NULL; -- 4262811
82178 l_accted_amt_idx := NULL; -- 4262811
82179 l_acc_rev_flag := NULL; -- 4262811
82180 l_accrual_line_num := NULL; -- 4262811
82181 l_tmp_amt := NULL; -- 4262811
82182 --
82183
82184 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
82185 l_balance_type_code <> 'B' THEN
82186 IF (NVL(p_source_15,'
82190 NVL(p_source_142,'
82187 ') <> 'BALANCING_SEGMENT' AND
82188 NVL(p_source_15,'
82189 ') <> 'ACCOUNT_SEGMENT_VALUE') AND
82191 ') <> 'Y'
82192 THEN
82193
82194 --
82195 XLA_AE_LINES_PKG.SetNewLine;
82196
82197 p_balance_type_code := l_balance_type_code;
82198 -- set the flag so later we will know whether the gain loss line needs to be created
82199
82200 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
82201 p_actual_flag :='A';
82202 END IF;
82203
82204 --
82205 -- bulk performance
82206 --
82207 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
82208 p_header_num => 0); -- 4262811
82209 --
82210 -- set accounting line options
82211 --
82212 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
82213 p_natural_side_code => 'C'
82214 , p_gain_or_loss_flag => 'N'
82215 , p_gl_transfer_mode_code => 'S'
82216 , p_acct_entry_type_code => 'A'
82217 , p_switch_side_flag => 'Y'
82218 , p_merge_duplicate_code => 'A'
82219 );
82220 --
82221 l_acc_rev_natural_side_code := 'D'; -- 4262811
82222 --
82223 --
82224 -- set accounting line type info
82225 --
82226 xla_ae_lines_pkg.SetAcctLineType
82227 (p_component_type => l_component_type
82228 ,p_event_type_code => l_event_type_code
82229 ,p_line_definition_owner_code => l_line_definition_owner_code
82230 ,p_line_definition_code => l_line_definition_code
82231 ,p_accounting_line_code => l_component_code
82232 ,p_accounting_line_type_code => l_component_type_code
82233 ,p_accounting_line_appl_id => l_component_appl_id
82234 ,p_amb_context_code => l_amb_context_code
82235 ,p_entity_code => l_entity_code
82236 ,p_event_class_code => l_event_class_code);
82237 --
82238 -- set accounting class
82239 --
82240 xla_ae_lines_pkg.SetAcctClass(
82241 p_accounting_class_code => 'LIABILITY'
82242 , p_ae_header_id => l_ae_header_id
82243 );
82244
82245 --
82246 -- set rounding class
82247 --
82248 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
82249 'LIABILITY';
82250
82251 --
82252 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
82253 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
82254 --
82255 -- bulk performance
82256 --
82257 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
82258
82259 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
82260 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
82261
82262 -- 4955764
82263 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
82264 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
82265
82266 -- 4458381 Public Sector Enh
82267
82268 --
82269 -- set accounting attributes for the line type
82270 --
82271 l_entered_amt_idx := 23;
82272 l_accted_amt_idx := 28;
82273 l_bflow_applied_to_amt_idx := NULL; -- 5132302
82274 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
82275 l_rec_acct_attrs.array_char_value(1) := p_source_53;
82276 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
82277 l_rec_acct_attrs.array_num_value(2) :=
82278 xla_ae_sources_pkg.GetSystemSourceNum(
82279 p_source_code => 'XLA_EVENT_APPL_ID'
82280 , p_source_type_code => 'Y'
82281 , p_source_application_id => 602
82282 );
82283 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
82284 l_rec_acct_attrs.array_char_value(3) := p_source_55;
82285 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
82286 l_rec_acct_attrs.array_char_value(4) :=
82287 xla_ae_sources_pkg.GetSystemSourceChar(
82288 p_source_code => 'XLA_ENTITY_CODE'
82289 , p_source_type_code => 'Y'
82290 , p_source_application_id => 602
82291 );
82292 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
82293 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
82294 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
82295 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
82296 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
82297 l_rec_acct_attrs.array_num_value(7) := p_source_91;
82298 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
82299 l_rec_acct_attrs.array_char_value(8) := p_source_92;
82300 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
82301 l_rec_acct_attrs.array_char_value(9) := p_source_93;
82302 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
82303 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
82304 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
82305 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
82309 l_rec_acct_attrs.array_char_value(13) := p_source_55;
82306 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
82307 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
82308 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
82310 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
82311 l_rec_acct_attrs.array_num_value(14) := p_source_65;
82312 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
82313 l_rec_acct_attrs.array_num_value(15) := p_source_66;
82314 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
82315 l_rec_acct_attrs.array_char_value(16) := p_source_67;
82316 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
82317 l_rec_acct_attrs.array_num_value(17) := p_source_68;
82318 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
82319 l_rec_acct_attrs.array_num_value(18) := p_source_69;
82320 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
82321 l_rec_acct_attrs.array_num_value(19) := p_source_70;
82322 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
82323 l_rec_acct_attrs.array_char_value(20) := p_source_67;
82324 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
82325 l_rec_acct_attrs.array_num_value(21) := p_source_71;
82326 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
82327 l_rec_acct_attrs.array_char_value(22) := p_source_72;
82328 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
82329 l_rec_acct_attrs.array_num_value(23) := p_source_73;
82330 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
82331 l_rec_acct_attrs.array_char_value(24) := p_source_67;
82332 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
82333 l_rec_acct_attrs.array_date_value(25) := p_source_143;
82334 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
82335 l_rec_acct_attrs.array_num_value(26) := p_source_144;
82336 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
82337 l_rec_acct_attrs.array_char_value(27) := p_source_145;
82338 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
82339 l_rec_acct_attrs.array_num_value(28) := p_source_21;
82340 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
82341 l_rec_acct_attrs.array_date_value(29) := p_source_77;
82342 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
82343 l_rec_acct_attrs.array_char_value(30) := p_source_78;
82344 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
82345 l_rec_acct_attrs.array_date_value(31) := p_source_79;
82346 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
82347 l_rec_acct_attrs.array_char_value(32) := p_source_80;
82348 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
82349 l_rec_acct_attrs.array_num_value(33) := p_source_81;
82350 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
82351 l_rec_acct_attrs.array_num_value(34) := p_source_82;
82352 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
82353 l_rec_acct_attrs.array_char_value(35) := p_source_83;
82354 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
82355 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
82356 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
82357 l_rec_acct_attrs.array_char_value(37) := p_source_55;
82358 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
82359 l_rec_acct_attrs.array_num_value(38) := p_source_85;
82360 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
82361 l_rec_acct_attrs.array_num_value(39) := p_source_86;
82362 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
82363 l_rec_acct_attrs.array_num_value(40) := p_source_87;
82364 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
82365 l_rec_acct_attrs.array_num_value(41) := p_source_88;
82366 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
82367 l_rec_acct_attrs.array_num_value(42) := p_source_89;
82368 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
82369 l_rec_acct_attrs.array_num_value(43) := p_source_90;
82370
82371 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
82372 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
82373
82374 ---------------------------------------------------------------------------------------------------------------
82375 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
82376 ---------------------------------------------------------------------------------------------------------------
82377 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
82378
82379 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
82380 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
82381
82382 IF xla_accounting_cache_pkg.GetValueChar
82383 (p_source_code => 'LEDGER_CATEGORY_CODE'
82384 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
82385 AND l_bflow_method_code = 'PRIOR_ENTRY'
82386 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
82387 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
82391 xla_ae_lines_pkg.BflowUpgEntry
82388 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
82389 )
82390 THEN
82392 (p_business_method_code => l_bflow_method_code
82393 ,p_business_class_code => l_bflow_class_code
82394 ,p_balance_type => l_balance_type_code);
82395 ELSE
82396 NULL;
82397 -- No business flow processing for business flow method of NONE.
82398 END IF;
82399
82400 --
82401 -- call analytical criteria
82402 --
82403
82404 --
82405 -- call description
82406 --
82407
82408 xla_ae_lines_pkg.SetLineDescription(
82409 p_ae_header_id => l_ae_header_id
82410 ,p_description => Description_1 (
82411 p_application_id => p_application_id
82412 , p_ae_header_id => l_ae_header_id
82413 , p_source_1 => p_source_1
82414 )
82415 );
82416
82417
82418 --
82419 -- call ADRs
82420 -- Bug 4922099
82421 --
82422 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
82423 (NVL(l_actual_upg_option, 'N') = 'O') OR
82424 (NVL(l_enc_upg_option, 'N') = 'O')
82425 )
82426 THEN
82427 NULL;
82428 --
82429 --
82430
82431 l_ccid := AcctDerRule_34(
82432 p_application_id => p_application_id
82433 , p_ae_header_id => l_ae_header_id
82434 , p_source_34 => p_source_34
82435 , x_transaction_coa_id => l_adr_transaction_coa_id
82436 , x_accounting_coa_id => l_adr_accounting_coa_id
82437 , x_value_type_code => l_adr_value_type_code
82438 , p_side => 'NA'
82439 );
82440
82441 xla_ae_lines_pkg.set_ccid(
82442 p_code_combination_id => l_ccid
82443 , p_value_type_code => l_adr_value_type_code
82444 , p_transaction_coa_id => l_adr_transaction_coa_id
82445 , p_accounting_coa_id => l_adr_accounting_coa_id
82446 , p_adr_code => 'AP_LIAB'
82447 , p_adr_type_code => 'S'
82448 , p_component_type => l_component_type
82449 , p_component_code => l_component_code
82450 , p_component_type_code => l_component_type_code
82451 , p_component_appl_id => l_component_appl_id
82452 , p_amb_context_code => l_amb_context_code
82453 , p_side => 'NA'
82454 );
82455
82456
82457 --
82458 --
82459 END IF;
82460 --
82461 -- Bug 4922099
82462 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
82463 (NVL(l_enc_upg_option, 'N') = 'O')
82464 ) AND
82465 (l_bflow_method_code = 'PRIOR_ENTRY')
82466 )
82467 THEN
82468 IF
82469 --
82470 1 = 2
82471 --
82472 THEN
82473 xla_accounting_err_pkg.build_message
82474 (p_appli_s_name => 'XLA'
82475 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
82476 ,p_token_1 => 'LINE_NUMBER'
82477 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
82478 ,p_token_2 => 'LINE_TYPE_NAME'
82479 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
82480 l_component_type
82481 ,l_component_code
82482 ,l_component_type_code
82483 ,l_component_appl_id
82484 ,l_amb_context_code
82485 ,l_entity_code
82486 ,l_event_class_code
82487 )
82488 ,p_token_3 => 'OWNER'
82489 ,p_value_3 => xla_lookups_pkg.get_meaning(
82490 p_lookup_type => 'XLA_OWNER_TYPE'
82491 ,p_lookup_code => l_component_type_code
82492 )
82493 ,p_token_4 => 'PRODUCT_NAME'
82494 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
82495 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
82496 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
82497 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
82498 ,p_ae_header_id => NULL
82499 );
82500
82501 IF (C_LEVEL_ERROR>= g_log_level) THEN
82502 trace
82506 END IF;
82503 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
82504 ,p_level => C_LEVEL_ERROR
82505 ,p_module => l_log_module);
82507 END IF;
82508 END IF;
82509 --
82510 --
82511 ------------------------------------------------------------------------------------------------
82512 -- 4219869 Business Flow
82513 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
82514 -- Prior Entry. Currently, the following code is always generated.
82515 ------------------------------------------------------------------------------------------------
82516 XLA_AE_LINES_PKG.ValidateCurrentLine;
82517
82518 ------------------------------------------------------------------------------------
82519 -- 4219869 Business Flow
82520 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
82521 ------------------------------------------------------------------------------------
82522 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
82523
82524 ----------------------------------------------------------------------------------
82525 -- 4219869 Business Flow
82526 -- Update journal entry status -- Need to generate this within IF <condition>
82527 ----------------------------------------------------------------------------------
82528 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
82529 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
82530 ,p_balance_type_code => l_balance_type_code
82531 );
82532
82533 -------------------------------------------------------------------------------------------
82534 -- 4262811 - Generate the Accrual Reversal lines
82535 -------------------------------------------------------------------------------------------
82536 BEGIN
82537 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
82538 (g_array_event(p_event_id).array_value_num('header_index'));
82539 IF l_acc_rev_flag IS NULL THEN
82540 l_acc_rev_flag := 'N';
82541 END IF;
82542 EXCEPTION
82543 WHEN OTHERS THEN
82544 l_acc_rev_flag := 'N';
82545 END;
82546 --
82547 IF (l_acc_rev_flag = 'Y') THEN
82548
82549 -- 4645092 ------------------------------------------------------------------------------
82550 -- To allow MPA report to determine if it should generate report process
82551 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
82552 ------------------------------------------------------------------------------------------
82553
82554 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
82555 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
82556 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
82557 -- call ADRs
82558 -- Bug 4922099
82559 --
82560 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
82561 (NVL(l_actual_upg_option, 'N') = 'O') OR
82562 (NVL(l_enc_upg_option, 'N') = 'O')
82563 )
82564 THEN
82565 NULL;
82566 --
82567 --
82568
82569 l_ccid := AcctDerRule_34(
82570 p_application_id => p_application_id
82571 , p_ae_header_id => l_ae_header_id
82572 , p_source_34 => p_source_34
82573 , x_transaction_coa_id => l_adr_transaction_coa_id
82574 , x_accounting_coa_id => l_adr_accounting_coa_id
82575 , x_value_type_code => l_adr_value_type_code
82576 , p_side => 'NA'
82577 );
82578
82579 xla_ae_lines_pkg.set_ccid(
82580 p_code_combination_id => l_ccid
82581 , p_value_type_code => l_adr_value_type_code
82582 , p_transaction_coa_id => l_adr_transaction_coa_id
82583 , p_accounting_coa_id => l_adr_accounting_coa_id
82584 , p_adr_code => 'AP_LIAB'
82585 , p_adr_type_code => 'S'
82586 , p_component_type => l_component_type
82587 , p_component_code => l_component_code
82588 , p_component_type_code => l_component_type_code
82589 , p_component_appl_id => l_component_appl_id
82590 , p_amb_context_code => l_amb_context_code
82591 , p_side => 'NA'
82592 );
82593
82594
82595 --
82596 --
82597 END IF;
82598
82599 --
82600 -- Update the line information that should be overwritten
82601 --
82602 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
82603 p_header_num => 1);
82604 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
82605
82606 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
82607
82608 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
82609 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
82610 END IF;
82611
82612 --
82613 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
82614 --
82615 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
82616 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
82617 ELSE
82621 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
82618 ---------------------------------------------------------------------------------------------------
82619 -- 4262811a Switch Sign
82620 ---------------------------------------------------------------------------------------------------
82622 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
82623 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
82624 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
82625 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
82626 -- 5132302
82627 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
82628 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
82629
82630 END IF;
82631
82632 -- 4955764
82633 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
82634 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
82635
82636
82637 XLA_AE_LINES_PKG.ValidateCurrentLine;
82638 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
82639
82640 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
82641 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
82642 ,p_balance_type_code => l_balance_type_code);
82643
82644 END IF;
82645
82646 -----------------------------------------------------------------------------------------
82647 -- 4262811 Multiperiod Accounting
82648 -----------------------------------------------------------------------------------------
82649 -- No MPA option is assigned.
82650
82651
82652 END IF;
82653 END IF;
82654 --
82655
82656 --
82657 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
82658 trace
82659 (p_msg => 'END of AcctLineType_148'
82660 ,p_level => C_LEVEL_PROCEDURE
82661 ,p_module => l_log_module);
82662 END IF;
82663 --
82664 EXCEPTION
82665 WHEN xla_exceptions_pkg.application_exception THEN
82666 RAISE;
82667 WHEN OTHERS THEN
82668 xla_exceptions_pkg.raise_message
82669 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_148');
82670 END AcctLineType_148;
82671 --
82672
82673 ---------------------------------------
82674 --
82675 -- PRIVATE FUNCTION
82676 -- AcctLineType_149
82677 --
82678 ---------------------------------------
82679 PROCEDURE AcctLineType_149 (
82680 p_application_id IN NUMBER
82681 ,p_event_id IN NUMBER
82682 ,p_calculate_acctd_flag IN VARCHAR2
82683 ,p_calculate_g_l_flag IN VARCHAR2
82684 ,p_actual_flag IN OUT VARCHAR2
82685 ,p_balance_type_code OUT VARCHAR2
82686 ,p_gain_or_loss_ref OUT VARCHAR2
82687
82688 --Invoice Distribution Description
82689 , p_source_1 IN VARCHAR2
82690 --Automatic Offsets Value
82691 , p_source_15 IN VARCHAR2
82692 , p_source_15_meaning IN VARCHAR2
82693 --Invoice Distribution Ledger Amount
82694 , p_source_21 IN NUMBER
82695 --Invoice Liability Account
82696 , p_source_34 IN NUMBER
82697 --Accounting Reversal Indicator
82698 , p_source_53 IN VARCHAR2
82699 --Distribution Link Type
82700 , p_source_55 IN VARCHAR2
82701 --Allocation to Main Distribution Identifier
82702 , p_source_57 IN NUMBER
82703 --Invoice Identifier
82704 , p_source_58 IN NUMBER
82705 --Invoice Distribution Identifier
82706 , p_source_64 IN NUMBER
82707 --Payables Encumbrance Upgrade Credit Account
82708 , p_source_65 IN NUMBER
82709 --Payables Encumbrance Upgrade Credit Amount
82710 , p_source_66 IN NUMBER
82711 --Invoice Currency Code
82712 , p_source_67 IN VARCHAR2
82713 --Payables Encumbrance Upgrade Credit Base Amount
82714 , p_source_68 IN NUMBER
82715 --Payables Encumbrance Upgrade Debit Account
82716 , p_source_69 IN NUMBER
82717 --Payables Encumbrance Upgrade Debit Amount
82718 , p_source_70 IN NUMBER
82719 --Payables Encumbrance Upgrade Debit Base Amount
82720 , p_source_71 IN NUMBER
82721 --Payables Encumbrance Upgrade Option
82722 , p_source_72 IN VARCHAR2
82723 --Invoice Distribution Amount
82724 , p_source_73 IN NUMBER
82725 --Deferred Accounting End Date
82726 , p_source_77 IN DATE
82727 --Deferred Accounting Option
82728 , p_source_78 IN VARCHAR2
82729 --Deferred Accounting Start Date
82730 , p_source_79 IN DATE
82731 --Override Accounted Amount Indicator
82732 , p_source_80 IN VARCHAR2
82733 , p_source_80_meaning IN VARCHAR2
82734 --Invoice Supplier Identifier
82735 , p_source_81 IN NUMBER
82736 --Invoice Supplier Site Identifier
82737 , p_source_82 IN NUMBER
82738 --Third Party Type
82739 , p_source_83 IN VARCHAR2
82740 --Parent Reversal Identifier
82741 , p_source_84 IN NUMBER
82742 --Invoice Distribution Statistical Amount
82743 , p_source_85 IN NUMBER
82744 --Invoice Distribution Tax Line Identifier
82745 , p_source_86 IN NUMBER
82749 , p_source_88 IN NUMBER
82746 --Invoice Distribution Tax Distribution Identifier from Tax
82747 , p_source_87 IN NUMBER
82748 --Invoice Distribution Summary Tax Line Identifier
82750 --Payables Upgrade Credit Encumbrance Type Identifier
82751 , p_source_89 IN NUMBER
82752 --Payables Upgrade Debit Encumbrance Type Identifier
82753 , p_source_90 IN NUMBER
82754 --Business Flow Accounts Payable Application Identifier
82755 , p_source_91 IN NUMBER
82756 --Business Flow Invoice Distribution Type
82757 , p_source_92 IN VARCHAR2
82758 --Business Flow Invoice Entity Code
82759 , p_source_93 IN VARCHAR2
82760 --Business Flow Invoice Distribution Identifier
82761 , p_source_94 IN NUMBER
82762 --Business Flow Invoice Identifier
82763 , p_source_95 IN NUMBER
82764 --Self-Assessed Tax Flag
82765 , p_source_142 IN VARCHAR2
82766 , p_source_142_meaning IN VARCHAR2
82767 --Invoice Exchange Date
82768 , p_source_143 IN DATE
82769 --Invoice Exchange Rate
82770 , p_source_144 IN NUMBER
82771 --Invoice Exchange Rate Type
82772 , p_source_145 IN VARCHAR2
82773 )
82774 IS
82775
82776 l_component_type VARCHAR2(80);
82777 l_component_code VARCHAR2(30);
82778 l_component_type_code VARCHAR2(1);
82779 l_component_appl_id INTEGER;
82780 l_amb_context_code VARCHAR2(30);
82781 l_entity_code VARCHAR2(30);
82782 l_event_class_code VARCHAR2(30);
82783 l_ae_header_id NUMBER;
82784 l_event_type_code VARCHAR2(30);
82785 l_line_definition_code VARCHAR2(30);
82786 l_line_definition_owner_code VARCHAR2(1);
82787 --
82788 -- adr variables
82789 l_segment VARCHAR2(30);
82790 l_ccid NUMBER;
82791 l_adr_transaction_coa_id NUMBER;
82792 l_adr_accounting_coa_id NUMBER;
82793 l_adr_flexfield_segment_code VARCHAR2(30);
82794 l_adr_flex_value_set_id NUMBER;
82795 l_adr_value_type_code VARCHAR2(30);
82796 l_adr_value_combination_id NUMBER;
82797 l_adr_value_segment_code VARCHAR2(30);
82798
82799 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
82800 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
82801 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
82802 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
82803
82804 -- 4262811 Variables ------------------------------------------------------------------------------------------
82805 l_entered_amt_idx NUMBER;
82806 l_accted_amt_idx NUMBER;
82807 l_acc_rev_flag VARCHAR2(1);
82808 l_accrual_line_num NUMBER;
82809 l_tmp_amt NUMBER;
82810 l_acc_rev_natural_side_code VARCHAR2(1);
82811
82812 l_num_entries NUMBER;
82813 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
82814 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
82815 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
82816 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
82817 l_recog_line_1 NUMBER;
82818 l_recog_line_2 NUMBER;
82819
82820 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
82821 l_bflow_applied_to_amt NUMBER; -- 5132302
82822 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
82823
82824 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
82825
82826 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
82827 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
82828
82829 ---------------------------------------------------------------------------------------------------------------
82830
82831
82832 --
82833 -- bulk performance
82834 --
82835 l_balance_type_code VARCHAR2(1);
82836 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
82837 l_log_module VARCHAR2(240);
82838
82839 --
82840 -- Upgrade strategy
82841 --
82842 l_actual_upg_option VARCHAR2(1);
82843 l_enc_upg_option VARCHAR2(1);
82844
82845 --
82846 BEGIN
82847 --
82848 IF g_log_enabled THEN
82849 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_149';
82850 END IF;
82851 --
82852 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
82853
82854 trace
82855 (p_msg => 'BEGIN of AcctLineType_149'
82856 ,p_level => C_LEVEL_PROCEDURE
82857 ,p_module => l_log_module);
82858
82859 END IF;
82860 --
82861 l_component_type := 'AMB_JLT';
82862 l_component_code := 'AP_LIAB_CM_AOS_AS';
82863 l_component_type_code := 'S';
82864 l_component_appl_id := 200;
82865 l_amb_context_code := 'DEFAULT';
82866 l_entity_code := 'AP_INVOICES';
82867 l_event_class_code := 'CREDIT MEMOS';
82868 l_event_type_code := 'CREDIT MEMOS_ALL';
82869 l_line_definition_owner_code := 'S';
82870 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
82871 --
82872 l_balance_type_code := 'A';
82873 l_segment := NULL;
82874 l_ccid := NULL;
82875 l_adr_transaction_coa_id := NULL;
82879 l_adr_value_type_code := NULL;
82876 l_adr_accounting_coa_id := NULL;
82877 l_adr_flexfield_segment_code := NULL;
82878 l_adr_flex_value_set_id := NULL;
82880 l_adr_value_combination_id := NULL;
82881 l_adr_value_segment_code := NULL;
82882
82883 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
82884 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
82885 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
82886 l_budgetary_control_flag := 'N';
82887
82888 l_bflow_applied_to_amt_idx := NULL; -- 5132302
82889 l_bflow_applied_to_amt := NULL; -- 5132302
82890 l_entered_amt_idx := NULL; -- 4262811
82891 l_accted_amt_idx := NULL; -- 4262811
82892 l_acc_rev_flag := NULL; -- 4262811
82893 l_accrual_line_num := NULL; -- 4262811
82894 l_tmp_amt := NULL; -- 4262811
82895 --
82896
82897 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
82898 l_balance_type_code <> 'B' THEN
82899 IF NVL(p_source_15,'
82900 ') = 'ACCOUNT_SEGMENT_VALUE' AND
82901 NVL(p_source_142,'
82902 ') <> 'Y'
82903 THEN
82904
82905 --
82906 XLA_AE_LINES_PKG.SetNewLine;
82907
82908 p_balance_type_code := l_balance_type_code;
82909 -- set the flag so later we will know whether the gain loss line needs to be created
82910
82911 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
82912 p_actual_flag :='A';
82913 END IF;
82914
82915 --
82916 -- bulk performance
82917 --
82918 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
82919 p_header_num => 0); -- 4262811
82920 --
82921 -- set accounting line options
82922 --
82923 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
82924 p_natural_side_code => 'C'
82925 , p_gain_or_loss_flag => 'N'
82926 , p_gl_transfer_mode_code => 'S'
82927 , p_acct_entry_type_code => 'A'
82928 , p_switch_side_flag => 'Y'
82929 , p_merge_duplicate_code => 'A'
82930 );
82931 --
82932 l_acc_rev_natural_side_code := 'D'; -- 4262811
82933 --
82934 --
82935 -- set accounting line type info
82936 --
82937 xla_ae_lines_pkg.SetAcctLineType
82938 (p_component_type => l_component_type
82939 ,p_event_type_code => l_event_type_code
82940 ,p_line_definition_owner_code => l_line_definition_owner_code
82941 ,p_line_definition_code => l_line_definition_code
82942 ,p_accounting_line_code => l_component_code
82943 ,p_accounting_line_type_code => l_component_type_code
82944 ,p_accounting_line_appl_id => l_component_appl_id
82945 ,p_amb_context_code => l_amb_context_code
82946 ,p_entity_code => l_entity_code
82947 ,p_event_class_code => l_event_class_code);
82948 --
82949 -- set accounting class
82950 --
82951 xla_ae_lines_pkg.SetAcctClass(
82952 p_accounting_class_code => 'LIABILITY'
82953 , p_ae_header_id => l_ae_header_id
82954 );
82955
82956 --
82957 -- set rounding class
82958 --
82959 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
82960 'LIABILITY';
82961
82962 --
82963 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
82964 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
82965 --
82966 -- bulk performance
82967 --
82968 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
82969
82970 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
82971 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
82972
82973 -- 4955764
82974 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
82975 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
82976
82977 -- 4458381 Public Sector Enh
82978
82979 --
82980 -- set accounting attributes for the line type
82981 --
82982 l_entered_amt_idx := 23;
82983 l_accted_amt_idx := 28;
82984 l_bflow_applied_to_amt_idx := NULL; -- 5132302
82985 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
82986 l_rec_acct_attrs.array_char_value(1) := p_source_53;
82987 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
82988 l_rec_acct_attrs.array_num_value(2) :=
82989 xla_ae_sources_pkg.GetSystemSourceNum(
82990 p_source_code => 'XLA_EVENT_APPL_ID'
82991 , p_source_type_code => 'Y'
82992 , p_source_application_id => 602
82993 );
82994 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
82995 l_rec_acct_attrs.array_char_value(3) := p_source_55;
82996 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
82997 l_rec_acct_attrs.array_char_value(4) :=
82998 xla_ae_sources_pkg.GetSystemSourceChar(
83002 );
82999 p_source_code => 'XLA_ENTITY_CODE'
83000 , p_source_type_code => 'Y'
83001 , p_source_application_id => 602
83003 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
83004 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
83005 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
83006 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
83007 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
83008 l_rec_acct_attrs.array_num_value(7) := p_source_91;
83009 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
83010 l_rec_acct_attrs.array_char_value(8) := p_source_92;
83011 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
83012 l_rec_acct_attrs.array_char_value(9) := p_source_93;
83013 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
83014 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
83015 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
83016 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
83017 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
83018 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
83019 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
83020 l_rec_acct_attrs.array_char_value(13) := p_source_55;
83021 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
83022 l_rec_acct_attrs.array_num_value(14) := p_source_65;
83023 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
83024 l_rec_acct_attrs.array_num_value(15) := p_source_66;
83025 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
83026 l_rec_acct_attrs.array_char_value(16) := p_source_67;
83027 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
83028 l_rec_acct_attrs.array_num_value(17) := p_source_68;
83029 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
83030 l_rec_acct_attrs.array_num_value(18) := p_source_69;
83031 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
83032 l_rec_acct_attrs.array_num_value(19) := p_source_70;
83033 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
83034 l_rec_acct_attrs.array_char_value(20) := p_source_67;
83035 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
83036 l_rec_acct_attrs.array_num_value(21) := p_source_71;
83037 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
83038 l_rec_acct_attrs.array_char_value(22) := p_source_72;
83039 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
83040 l_rec_acct_attrs.array_num_value(23) := p_source_73;
83041 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
83042 l_rec_acct_attrs.array_char_value(24) := p_source_67;
83043 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
83044 l_rec_acct_attrs.array_date_value(25) := p_source_143;
83045 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
83046 l_rec_acct_attrs.array_num_value(26) := p_source_144;
83047 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
83048 l_rec_acct_attrs.array_char_value(27) := p_source_145;
83049 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
83050 l_rec_acct_attrs.array_num_value(28) := p_source_21;
83051 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
83052 l_rec_acct_attrs.array_date_value(29) := p_source_77;
83053 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
83054 l_rec_acct_attrs.array_char_value(30) := p_source_78;
83055 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
83056 l_rec_acct_attrs.array_date_value(31) := p_source_79;
83057 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
83058 l_rec_acct_attrs.array_char_value(32) := p_source_80;
83059 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
83060 l_rec_acct_attrs.array_num_value(33) := p_source_81;
83061 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
83062 l_rec_acct_attrs.array_num_value(34) := p_source_82;
83063 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
83064 l_rec_acct_attrs.array_char_value(35) := p_source_83;
83065 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
83066 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
83067 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
83068 l_rec_acct_attrs.array_char_value(37) := p_source_55;
83069 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
83070 l_rec_acct_attrs.array_num_value(38) := p_source_85;
83071 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
83072 l_rec_acct_attrs.array_num_value(39) := p_source_86;
83073 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
83074 l_rec_acct_attrs.array_num_value(40) := p_source_87;
83075 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
83076 l_rec_acct_attrs.array_num_value(41) := p_source_88;
83077 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
83078 l_rec_acct_attrs.array_num_value(42) := p_source_89;
83079 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
83080 l_rec_acct_attrs.array_num_value(43) := p_source_90;
83081
83082 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
83086 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
83083 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
83084
83085 ---------------------------------------------------------------------------------------------------------------
83087 ---------------------------------------------------------------------------------------------------------------
83088 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
83089
83090 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
83091 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
83092
83093 IF xla_accounting_cache_pkg.GetValueChar
83094 (p_source_code => 'LEDGER_CATEGORY_CODE'
83095 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
83096 AND l_bflow_method_code = 'PRIOR_ENTRY'
83097 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
83098 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
83099 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
83100 )
83101 THEN
83102 xla_ae_lines_pkg.BflowUpgEntry
83103 (p_business_method_code => l_bflow_method_code
83104 ,p_business_class_code => l_bflow_class_code
83105 ,p_balance_type => l_balance_type_code);
83106 ELSE
83107 NULL;
83108 XLA_AE_LINES_PKG.business_flow_validation(
83109 p_business_method_code => l_bflow_method_code
83110 ,p_business_class_code => l_bflow_class_code
83111 ,p_inherit_description_flag => l_inherit_desc_flag);
83112 END IF;
83113
83114 --
83115 -- call analytical criteria
83116 --
83117
83118 --
83119 -- call description
83120 --
83121
83122 xla_ae_lines_pkg.SetLineDescription(
83123 p_ae_header_id => l_ae_header_id
83124 ,p_description => Description_1 (
83125 p_application_id => p_application_id
83126 , p_ae_header_id => l_ae_header_id
83127 , p_source_1 => p_source_1
83128 )
83129 );
83130
83131
83132 --
83133 -- call ADRs
83134 -- Bug 4922099
83135 --
83136 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
83137 (NVL(l_actual_upg_option, 'N') = 'O') OR
83138 (NVL(l_enc_upg_option, 'N') = 'O')
83139 )
83140 THEN
83141 NULL;
83142 --
83143 --
83144
83145 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
83146 p_code_combination_id => TO_NUMBER(C_NUM)
83147 , p_value_type_code => NULL
83148 , p_transaction_coa_id => null
83149 , p_accounting_coa_id => null
83150 , p_adr_code => NULL
83151 , p_adr_type_code => NULL
83152 , p_component_type => l_component_type
83153 , p_component_code => l_component_code
83154 , p_component_type_code => l_component_type_code
83155 , p_component_appl_id => l_component_appl_id
83156 , p_amb_context_code => l_amb_context_code
83157 , p_side => NULL
83158 );
83159
83160
83161 -- initialise segments
83162 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83163 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83164 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83165 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83166 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83167 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83168 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83169 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83170 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83171 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83172 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83173 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83174 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83175 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83176 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83177 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83178 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83179 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83180 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83181 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83182 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83183 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83184 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83188 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83185 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83186 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83187 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83189 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83190 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83191 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83192 --
83193
83194 --
83195
83196
83197 l_segment := AcctDerRule_15(
83198 p_application_id => p_application_id
83199 , p_ae_header_id => l_ae_header_id
83200 , p_source_34 => p_source_34
83201 , x_transaction_coa_id => l_adr_transaction_coa_id
83202 , x_accounting_coa_id => l_adr_accounting_coa_id
83203 , x_flexfield_segment_code => l_adr_flexfield_segment_code
83204 , x_flex_value_set_id => l_adr_flex_value_set_id
83205 , x_value_type_code => l_adr_value_type_code
83206 , x_value_combination_id => l_adr_value_combination_id
83207 , x_value_segment_code => l_adr_value_segment_code
83208 , p_side => 'NA'
83209 , p_override_seg_flag => 'Y'
83210 );
83211
83212 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
83213
83214 xla_ae_lines_pkg.set_segment(
83215 p_to_segment_code => 'GL_ACCOUNT'
83216 , p_segment_value => l_segment
83217 , p_from_segment_code => l_adr_value_segment_code
83218 , p_from_combination_id => l_adr_value_combination_id
83219 , p_value_type_code => l_adr_value_type_code
83220 , p_transaction_coa_id => l_adr_transaction_coa_id
83221 , p_accounting_coa_id => l_adr_accounting_coa_id
83222 , p_flexfield_segment_code => l_adr_flexfield_segment_code
83223 , p_flex_value_set_id => l_adr_flex_value_set_id
83224 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
83225 , p_adr_type_code => 'S'
83226 , p_component_type => l_component_type
83227 , p_component_code => l_component_code
83228 , p_component_type_code => l_component_type_code
83229 , p_component_appl_id => l_component_appl_id
83230 , p_amb_context_code => l_amb_context_code
83231 , p_entity_code => 'AP_INVOICES'
83232 , p_event_class_code => 'CREDIT MEMOS'
83233 , p_side => 'NA'
83234 );
83235
83236 END IF;
83237
83238 --
83239 --
83240 END IF;
83241 --
83242 -- Bug 4922099
83243 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
83244 (NVL(l_enc_upg_option, 'N') = 'O')
83245 ) AND
83246 (l_bflow_method_code = 'PRIOR_ENTRY')
83247 )
83248 THEN
83249 IF
83250 --
83251 1 = 2
83252 --
83253 THEN
83254 xla_accounting_err_pkg.build_message
83255 (p_appli_s_name => 'XLA'
83256 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
83257 ,p_token_1 => 'LINE_NUMBER'
83258 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
83259 ,p_token_2 => 'LINE_TYPE_NAME'
83260 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
83261 l_component_type
83262 ,l_component_code
83263 ,l_component_type_code
83264 ,l_component_appl_id
83265 ,l_amb_context_code
83266 ,l_entity_code
83267 ,l_event_class_code
83268 )
83269 ,p_token_3 => 'OWNER'
83270 ,p_value_3 => xla_lookups_pkg.get_meaning(
83271 p_lookup_type => 'XLA_OWNER_TYPE'
83272 ,p_lookup_code => l_component_type_code
83273 )
83274 ,p_token_4 => 'PRODUCT_NAME'
83275 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
83276 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
83277 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
83278 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
83279 ,p_ae_header_id => NULL
83280 );
83281
83285 ,p_level => C_LEVEL_ERROR
83282 IF (C_LEVEL_ERROR>= g_log_level) THEN
83283 trace
83284 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
83286 ,p_module => l_log_module);
83287 END IF;
83288 END IF;
83289 END IF;
83290 --
83291 --
83292 ------------------------------------------------------------------------------------------------
83293 -- 4219869 Business Flow
83294 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
83295 -- Prior Entry. Currently, the following code is always generated.
83296 ------------------------------------------------------------------------------------------------
83297 XLA_AE_LINES_PKG.ValidateCurrentLine;
83298
83299 ------------------------------------------------------------------------------------
83300 -- 4219869 Business Flow
83301 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
83302 ------------------------------------------------------------------------------------
83303 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
83304
83305 ----------------------------------------------------------------------------------
83306 -- 4219869 Business Flow
83307 -- Update journal entry status -- Need to generate this within IF <condition>
83308 ----------------------------------------------------------------------------------
83309 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
83310 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
83311 ,p_balance_type_code => l_balance_type_code
83312 );
83313
83314 -------------------------------------------------------------------------------------------
83315 -- 4262811 - Generate the Accrual Reversal lines
83316 -------------------------------------------------------------------------------------------
83317 BEGIN
83318 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
83319 (g_array_event(p_event_id).array_value_num('header_index'));
83320 IF l_acc_rev_flag IS NULL THEN
83321 l_acc_rev_flag := 'N';
83322 END IF;
83323 EXCEPTION
83324 WHEN OTHERS THEN
83325 l_acc_rev_flag := 'N';
83326 END;
83327 --
83328 IF (l_acc_rev_flag = 'Y') THEN
83329
83330 -- 4645092 ------------------------------------------------------------------------------
83331 -- To allow MPA report to determine if it should generate report process
83332 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
83333 ------------------------------------------------------------------------------------------
83334
83335 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
83336 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
83337 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
83338 -- call ADRs
83339 -- Bug 4922099
83340 --
83341 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
83342 (NVL(l_actual_upg_option, 'N') = 'O') OR
83343 (NVL(l_enc_upg_option, 'N') = 'O')
83344 )
83345 THEN
83346 NULL;
83347 --
83348 --
83349
83350 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
83351 p_code_combination_id => TO_NUMBER(C_NUM)
83352 , p_value_type_code => NULL
83353 , p_transaction_coa_id => null
83354 , p_accounting_coa_id => null
83355 , p_adr_code => NULL
83356 , p_adr_type_code => NULL
83357 , p_component_type => l_component_type
83358 , p_component_code => l_component_code
83359 , p_component_type_code => l_component_type_code
83360 , p_component_appl_id => l_component_appl_id
83361 , p_amb_context_code => l_amb_context_code
83362 , p_side => NULL
83363 );
83364
83365
83366 -- initialise segments
83367 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83368 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83369 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83370 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83371 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83372 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83373 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83374 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83375 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83376 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83377 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83378 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83379 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83380 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83381 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83382 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83383 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83387 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83384 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83385 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83386 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83388 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83389 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83390 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83391 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83392 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83393 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83394 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83395 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83396 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
83397 --
83398
83399 --
83400
83401
83402 l_segment := AcctDerRule_15(
83403 p_application_id => p_application_id
83404 , p_ae_header_id => l_ae_header_id
83405 , p_source_34 => p_source_34
83406 , x_transaction_coa_id => l_adr_transaction_coa_id
83407 , x_accounting_coa_id => l_adr_accounting_coa_id
83408 , x_flexfield_segment_code => l_adr_flexfield_segment_code
83409 , x_flex_value_set_id => l_adr_flex_value_set_id
83410 , x_value_type_code => l_adr_value_type_code
83411 , x_value_combination_id => l_adr_value_combination_id
83412 , x_value_segment_code => l_adr_value_segment_code
83413 , p_side => 'NA'
83414 , p_override_seg_flag => 'Y'
83415 );
83416
83417 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
83418
83419 xla_ae_lines_pkg.set_segment(
83420 p_to_segment_code => 'GL_ACCOUNT'
83421 , p_segment_value => l_segment
83422 , p_from_segment_code => l_adr_value_segment_code
83423 , p_from_combination_id => l_adr_value_combination_id
83424 , p_value_type_code => l_adr_value_type_code
83425 , p_transaction_coa_id => l_adr_transaction_coa_id
83426 , p_accounting_coa_id => l_adr_accounting_coa_id
83427 , p_flexfield_segment_code => l_adr_flexfield_segment_code
83428 , p_flex_value_set_id => l_adr_flex_value_set_id
83429 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
83430 , p_adr_type_code => 'S'
83431 , p_component_type => l_component_type
83432 , p_component_code => l_component_code
83433 , p_component_type_code => l_component_type_code
83434 , p_component_appl_id => l_component_appl_id
83435 , p_amb_context_code => l_amb_context_code
83436 , p_entity_code => 'AP_INVOICES'
83437 , p_event_class_code => 'CREDIT MEMOS'
83438 , p_side => 'NA'
83439 );
83440
83441 END IF;
83442
83443 --
83444 --
83445 END IF;
83446
83447 --
83448 -- Update the line information that should be overwritten
83449 --
83450 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
83451 p_header_num => 1);
83452 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
83453
83454 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
83455
83456 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
83457 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
83458 END IF;
83459
83460 --
83461 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
83462 --
83463 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
83464 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
83465 ELSE
83466 ---------------------------------------------------------------------------------------------------
83467 -- 4262811a Switch Sign
83468 ---------------------------------------------------------------------------------------------------
83469 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
83470 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
83471 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
83472 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
83473 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
83474 -- 5132302
83475 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
83476 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
83477
83478 END IF;
83479
83480 -- 4955764
83484
83481 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
83482 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
83483
83485 XLA_AE_LINES_PKG.ValidateCurrentLine;
83486 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
83487
83488 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
83489 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
83490 ,p_balance_type_code => l_balance_type_code);
83491
83492 END IF;
83493
83494 -----------------------------------------------------------------------------------------
83495 -- 4262811 Multiperiod Accounting
83496 -----------------------------------------------------------------------------------------
83497 -- No MPA option is assigned.
83498
83499
83500 END IF;
83501 END IF;
83502 --
83503
83504 --
83505 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
83506 trace
83507 (p_msg => 'END of AcctLineType_149'
83508 ,p_level => C_LEVEL_PROCEDURE
83509 ,p_module => l_log_module);
83510 END IF;
83511 --
83512 EXCEPTION
83513 WHEN xla_exceptions_pkg.application_exception THEN
83514 RAISE;
83515 WHEN OTHERS THEN
83516 xla_exceptions_pkg.raise_message
83517 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_149');
83518 END AcctLineType_149;
83519 --
83520
83521 ---------------------------------------
83522 --
83523 -- PRIVATE FUNCTION
83524 -- AcctLineType_150
83525 --
83526 ---------------------------------------
83527 PROCEDURE AcctLineType_150 (
83528 p_application_id IN NUMBER
83529 ,p_event_id IN NUMBER
83530 ,p_calculate_acctd_flag IN VARCHAR2
83531 ,p_calculate_g_l_flag IN VARCHAR2
83532 ,p_actual_flag IN OUT VARCHAR2
83533 ,p_balance_type_code OUT VARCHAR2
83534 ,p_gain_or_loss_ref OUT VARCHAR2
83535
83536 --Invoice Distribution Description
83537 , p_source_1 IN VARCHAR2
83538 --Automatic Offsets Value
83539 , p_source_15 IN VARCHAR2
83540 , p_source_15_meaning IN VARCHAR2
83541 --Invoice Distribution Ledger Amount
83542 , p_source_21 IN NUMBER
83543 --Invoice Liability Account
83544 , p_source_34 IN NUMBER
83545 --Accounting Reversal Indicator
83546 , p_source_53 IN VARCHAR2
83547 --Distribution Link Type
83548 , p_source_55 IN VARCHAR2
83549 --Allocation to Main Distribution Identifier
83550 , p_source_57 IN NUMBER
83551 --Invoice Identifier
83552 , p_source_58 IN NUMBER
83553 --Invoice Distribution Identifier
83554 , p_source_64 IN NUMBER
83555 --Payables Encumbrance Upgrade Credit Account
83556 , p_source_65 IN NUMBER
83557 --Payables Encumbrance Upgrade Credit Amount
83558 , p_source_66 IN NUMBER
83559 --Invoice Currency Code
83560 , p_source_67 IN VARCHAR2
83561 --Payables Encumbrance Upgrade Credit Base Amount
83562 , p_source_68 IN NUMBER
83563 --Payables Encumbrance Upgrade Debit Account
83564 , p_source_69 IN NUMBER
83565 --Payables Encumbrance Upgrade Debit Amount
83566 , p_source_70 IN NUMBER
83567 --Payables Encumbrance Upgrade Debit Base Amount
83568 , p_source_71 IN NUMBER
83569 --Payables Encumbrance Upgrade Option
83570 , p_source_72 IN VARCHAR2
83571 --Invoice Distribution Amount
83572 , p_source_73 IN NUMBER
83573 --Deferred Accounting End Date
83574 , p_source_77 IN DATE
83575 --Deferred Accounting Option
83576 , p_source_78 IN VARCHAR2
83577 --Deferred Accounting Start Date
83578 , p_source_79 IN DATE
83579 --Override Accounted Amount Indicator
83580 , p_source_80 IN VARCHAR2
83581 , p_source_80_meaning IN VARCHAR2
83582 --Invoice Supplier Identifier
83583 , p_source_81 IN NUMBER
83584 --Invoice Supplier Site Identifier
83585 , p_source_82 IN NUMBER
83586 --Third Party Type
83587 , p_source_83 IN VARCHAR2
83588 --Parent Reversal Identifier
83589 , p_source_84 IN NUMBER
83590 --Invoice Distribution Statistical Amount
83591 , p_source_85 IN NUMBER
83592 --Invoice Distribution Tax Line Identifier
83593 , p_source_86 IN NUMBER
83594 --Invoice Distribution Tax Distribution Identifier from Tax
83595 , p_source_87 IN NUMBER
83596 --Invoice Distribution Summary Tax Line Identifier
83597 , p_source_88 IN NUMBER
83598 --Payables Upgrade Credit Encumbrance Type Identifier
83599 , p_source_89 IN NUMBER
83600 --Payables Upgrade Debit Encumbrance Type Identifier
83601 , p_source_90 IN NUMBER
83602 --Business Flow Accounts Payable Application Identifier
83603 , p_source_91 IN NUMBER
83604 --Business Flow Invoice Distribution Type
83605 , p_source_92 IN VARCHAR2
83606 --Business Flow Invoice Entity Code
83607 , p_source_93 IN VARCHAR2
83608 --Business Flow Invoice Distribution Identifier
83609 , p_source_94 IN NUMBER
83610 --Business Flow Invoice Identifier
83611 , p_source_95 IN NUMBER
83612 --Self-Assessed Tax Flag
83613 , p_source_142 IN VARCHAR2
83617 --Invoice Exchange Rate
83614 , p_source_142_meaning IN VARCHAR2
83615 --Invoice Exchange Date
83616 , p_source_143 IN DATE
83618 , p_source_144 IN NUMBER
83619 --Invoice Exchange Rate Type
83620 , p_source_145 IN VARCHAR2
83621 )
83622 IS
83623
83624 l_component_type VARCHAR2(80);
83625 l_component_code VARCHAR2(30);
83626 l_component_type_code VARCHAR2(1);
83627 l_component_appl_id INTEGER;
83628 l_amb_context_code VARCHAR2(30);
83629 l_entity_code VARCHAR2(30);
83630 l_event_class_code VARCHAR2(30);
83631 l_ae_header_id NUMBER;
83632 l_event_type_code VARCHAR2(30);
83633 l_line_definition_code VARCHAR2(30);
83634 l_line_definition_owner_code VARCHAR2(1);
83635 --
83636 -- adr variables
83637 l_segment VARCHAR2(30);
83638 l_ccid NUMBER;
83639 l_adr_transaction_coa_id NUMBER;
83640 l_adr_accounting_coa_id NUMBER;
83641 l_adr_flexfield_segment_code VARCHAR2(30);
83642 l_adr_flex_value_set_id NUMBER;
83643 l_adr_value_type_code VARCHAR2(30);
83644 l_adr_value_combination_id NUMBER;
83645 l_adr_value_segment_code VARCHAR2(30);
83646
83647 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
83648 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
83649 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
83650 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
83651
83652 -- 4262811 Variables ------------------------------------------------------------------------------------------
83653 l_entered_amt_idx NUMBER;
83654 l_accted_amt_idx NUMBER;
83655 l_acc_rev_flag VARCHAR2(1);
83656 l_accrual_line_num NUMBER;
83657 l_tmp_amt NUMBER;
83658 l_acc_rev_natural_side_code VARCHAR2(1);
83659
83660 l_num_entries NUMBER;
83661 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
83662 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
83663 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
83664 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
83665 l_recog_line_1 NUMBER;
83666 l_recog_line_2 NUMBER;
83667
83668 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
83669 l_bflow_applied_to_amt NUMBER; -- 5132302
83670 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
83671
83672 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
83673
83674 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
83675 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
83676
83677 ---------------------------------------------------------------------------------------------------------------
83678
83679
83680 --
83681 -- bulk performance
83682 --
83683 l_balance_type_code VARCHAR2(1);
83684 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
83685 l_log_module VARCHAR2(240);
83686
83687 --
83688 -- Upgrade strategy
83689 --
83690 l_actual_upg_option VARCHAR2(1);
83691 l_enc_upg_option VARCHAR2(1);
83692
83693 --
83694 BEGIN
83695 --
83696 IF g_log_enabled THEN
83697 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_150';
83698 END IF;
83699 --
83700 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
83701
83702 trace
83703 (p_msg => 'BEGIN of AcctLineType_150'
83704 ,p_level => C_LEVEL_PROCEDURE
83705 ,p_module => l_log_module);
83706
83707 END IF;
83708 --
83709 l_component_type := 'AMB_JLT';
83710 l_component_code := 'AP_LIAB_CM_AOS_BS';
83711 l_component_type_code := 'S';
83712 l_component_appl_id := 200;
83713 l_amb_context_code := 'DEFAULT';
83714 l_entity_code := 'AP_INVOICES';
83715 l_event_class_code := 'CREDIT MEMOS';
83716 l_event_type_code := 'CREDIT MEMOS_ALL';
83717 l_line_definition_owner_code := 'S';
83718 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
83719 --
83720 l_balance_type_code := 'A';
83721 l_segment := NULL;
83722 l_ccid := NULL;
83723 l_adr_transaction_coa_id := NULL;
83724 l_adr_accounting_coa_id := NULL;
83725 l_adr_flexfield_segment_code := NULL;
83726 l_adr_flex_value_set_id := NULL;
83727 l_adr_value_type_code := NULL;
83728 l_adr_value_combination_id := NULL;
83729 l_adr_value_segment_code := NULL;
83730
83731 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
83732 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
83733 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
83734 l_budgetary_control_flag := 'N';
83735
83736 l_bflow_applied_to_amt_idx := NULL; -- 5132302
83737 l_bflow_applied_to_amt := NULL; -- 5132302
83738 l_entered_amt_idx := NULL; -- 4262811
83739 l_accted_amt_idx := NULL; -- 4262811
83743 --
83740 l_acc_rev_flag := NULL; -- 4262811
83741 l_accrual_line_num := NULL; -- 4262811
83742 l_tmp_amt := NULL; -- 4262811
83744
83745 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
83746 l_balance_type_code <> 'B' THEN
83747 IF NVL(p_source_15,'
83748 ') = 'BALANCING_SEGMENT' AND
83749 NVL(p_source_142,'
83750 ') <> 'Y'
83751 THEN
83752
83753 --
83754 XLA_AE_LINES_PKG.SetNewLine;
83755
83756 p_balance_type_code := l_balance_type_code;
83757 -- set the flag so later we will know whether the gain loss line needs to be created
83758
83759 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
83760 p_actual_flag :='A';
83761 END IF;
83762
83763 --
83764 -- bulk performance
83765 --
83766 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
83767 p_header_num => 0); -- 4262811
83768 --
83769 -- set accounting line options
83770 --
83771 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
83772 p_natural_side_code => 'C'
83773 , p_gain_or_loss_flag => 'N'
83774 , p_gl_transfer_mode_code => 'S'
83775 , p_acct_entry_type_code => 'A'
83776 , p_switch_side_flag => 'Y'
83777 , p_merge_duplicate_code => 'A'
83778 );
83779 --
83780 l_acc_rev_natural_side_code := 'D'; -- 4262811
83781 --
83782 --
83783 -- set accounting line type info
83784 --
83785 xla_ae_lines_pkg.SetAcctLineType
83786 (p_component_type => l_component_type
83787 ,p_event_type_code => l_event_type_code
83788 ,p_line_definition_owner_code => l_line_definition_owner_code
83789 ,p_line_definition_code => l_line_definition_code
83790 ,p_accounting_line_code => l_component_code
83791 ,p_accounting_line_type_code => l_component_type_code
83792 ,p_accounting_line_appl_id => l_component_appl_id
83793 ,p_amb_context_code => l_amb_context_code
83794 ,p_entity_code => l_entity_code
83795 ,p_event_class_code => l_event_class_code);
83796 --
83797 -- set accounting class
83798 --
83799 xla_ae_lines_pkg.SetAcctClass(
83800 p_accounting_class_code => 'LIABILITY'
83801 , p_ae_header_id => l_ae_header_id
83802 );
83803
83804 --
83805 -- set rounding class
83806 --
83807 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
83808 'LIABILITY';
83809
83810 --
83811 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
83812 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
83813 --
83814 -- bulk performance
83815 --
83816 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
83817
83818 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
83819 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
83820
83821 -- 4955764
83822 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
83823 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
83824
83825 -- 4458381 Public Sector Enh
83826
83827 --
83828 -- set accounting attributes for the line type
83829 --
83830 l_entered_amt_idx := 23;
83831 l_accted_amt_idx := 28;
83832 l_bflow_applied_to_amt_idx := NULL; -- 5132302
83833 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
83834 l_rec_acct_attrs.array_char_value(1) := p_source_53;
83835 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
83836 l_rec_acct_attrs.array_num_value(2) :=
83837 xla_ae_sources_pkg.GetSystemSourceNum(
83838 p_source_code => 'XLA_EVENT_APPL_ID'
83839 , p_source_type_code => 'Y'
83840 , p_source_application_id => 602
83841 );
83842 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
83843 l_rec_acct_attrs.array_char_value(3) := p_source_55;
83844 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
83845 l_rec_acct_attrs.array_char_value(4) :=
83846 xla_ae_sources_pkg.GetSystemSourceChar(
83847 p_source_code => 'XLA_ENTITY_CODE'
83848 , p_source_type_code => 'Y'
83849 , p_source_application_id => 602
83850 );
83851 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
83852 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
83853 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
83854 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
83855 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
83856 l_rec_acct_attrs.array_num_value(7) := p_source_91;
83857 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
83858 l_rec_acct_attrs.array_char_value(8) := p_source_92;
83859 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
83860 l_rec_acct_attrs.array_char_value(9) := p_source_93;
83861 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
83865 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
83862 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
83863 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
83864 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
83866 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
83867 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
83868 l_rec_acct_attrs.array_char_value(13) := p_source_55;
83869 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
83870 l_rec_acct_attrs.array_num_value(14) := p_source_65;
83871 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
83872 l_rec_acct_attrs.array_num_value(15) := p_source_66;
83873 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
83874 l_rec_acct_attrs.array_char_value(16) := p_source_67;
83875 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
83876 l_rec_acct_attrs.array_num_value(17) := p_source_68;
83877 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
83878 l_rec_acct_attrs.array_num_value(18) := p_source_69;
83879 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
83880 l_rec_acct_attrs.array_num_value(19) := p_source_70;
83881 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
83882 l_rec_acct_attrs.array_char_value(20) := p_source_67;
83883 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
83884 l_rec_acct_attrs.array_num_value(21) := p_source_71;
83885 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
83886 l_rec_acct_attrs.array_char_value(22) := p_source_72;
83887 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
83888 l_rec_acct_attrs.array_num_value(23) := p_source_73;
83889 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
83890 l_rec_acct_attrs.array_char_value(24) := p_source_67;
83891 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
83892 l_rec_acct_attrs.array_date_value(25) := p_source_143;
83893 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
83894 l_rec_acct_attrs.array_num_value(26) := p_source_144;
83895 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
83896 l_rec_acct_attrs.array_char_value(27) := p_source_145;
83897 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
83898 l_rec_acct_attrs.array_num_value(28) := p_source_21;
83899 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
83900 l_rec_acct_attrs.array_date_value(29) := p_source_77;
83901 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
83902 l_rec_acct_attrs.array_char_value(30) := p_source_78;
83903 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
83904 l_rec_acct_attrs.array_date_value(31) := p_source_79;
83905 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
83906 l_rec_acct_attrs.array_char_value(32) := p_source_80;
83907 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
83908 l_rec_acct_attrs.array_num_value(33) := p_source_81;
83909 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
83910 l_rec_acct_attrs.array_num_value(34) := p_source_82;
83911 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
83912 l_rec_acct_attrs.array_char_value(35) := p_source_83;
83913 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
83914 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
83915 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
83916 l_rec_acct_attrs.array_char_value(37) := p_source_55;
83917 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
83918 l_rec_acct_attrs.array_num_value(38) := p_source_85;
83919 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
83920 l_rec_acct_attrs.array_num_value(39) := p_source_86;
83921 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
83922 l_rec_acct_attrs.array_num_value(40) := p_source_87;
83923 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
83924 l_rec_acct_attrs.array_num_value(41) := p_source_88;
83925 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
83926 l_rec_acct_attrs.array_num_value(42) := p_source_89;
83927 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
83928 l_rec_acct_attrs.array_num_value(43) := p_source_90;
83929
83930 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
83931 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
83932
83933 ---------------------------------------------------------------------------------------------------------------
83934 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
83935 ---------------------------------------------------------------------------------------------------------------
83936 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
83937
83938 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
83939 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
83940
83941 IF xla_accounting_cache_pkg.GetValueChar
83942 (p_source_code => 'LEDGER_CATEGORY_CODE'
83943 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
83944 AND l_bflow_method_code = 'PRIOR_ENTRY'
83948 )
83945 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
83946 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
83947 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
83949 THEN
83950 xla_ae_lines_pkg.BflowUpgEntry
83951 (p_business_method_code => l_bflow_method_code
83952 ,p_business_class_code => l_bflow_class_code
83953 ,p_balance_type => l_balance_type_code);
83954 ELSE
83955 NULL;
83956 XLA_AE_LINES_PKG.business_flow_validation(
83957 p_business_method_code => l_bflow_method_code
83958 ,p_business_class_code => l_bflow_class_code
83959 ,p_inherit_description_flag => l_inherit_desc_flag);
83960 END IF;
83961
83962 --
83963 -- call analytical criteria
83964 --
83965
83966 --
83967 -- call description
83968 --
83969
83970 xla_ae_lines_pkg.SetLineDescription(
83971 p_ae_header_id => l_ae_header_id
83972 ,p_description => Description_1 (
83973 p_application_id => p_application_id
83974 , p_ae_header_id => l_ae_header_id
83975 , p_source_1 => p_source_1
83976 )
83977 );
83978
83979
83980 --
83981 -- call ADRs
83982 -- Bug 4922099
83983 --
83984 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
83985 (NVL(l_actual_upg_option, 'N') = 'O') OR
83986 (NVL(l_enc_upg_option, 'N') = 'O')
83987 )
83988 THEN
83989 NULL;
83990 --
83991 --
83992
83993 l_ccid := AcctDerRule_34(
83994 p_application_id => p_application_id
83995 , p_ae_header_id => l_ae_header_id
83996 , p_source_34 => p_source_34
83997 , x_transaction_coa_id => l_adr_transaction_coa_id
83998 , x_accounting_coa_id => l_adr_accounting_coa_id
83999 , x_value_type_code => l_adr_value_type_code
84000 , p_side => 'NA'
84001 );
84002
84003 xla_ae_lines_pkg.set_ccid(
84004 p_code_combination_id => l_ccid
84005 , p_value_type_code => l_adr_value_type_code
84006 , p_transaction_coa_id => l_adr_transaction_coa_id
84007 , p_accounting_coa_id => l_adr_accounting_coa_id
84008 , p_adr_code => 'AP_LIAB'
84009 , p_adr_type_code => 'S'
84010 , p_component_type => l_component_type
84011 , p_component_code => l_component_code
84012 , p_component_type_code => l_component_type_code
84013 , p_component_appl_id => l_component_appl_id
84014 , p_amb_context_code => l_amb_context_code
84015 , p_side => 'NA'
84016 );
84017
84018
84019 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
84020 p_to_segment_code => 'GL_BALANCING'
84021 , p_segment_value => C_CHAR
84022 , p_from_segment_code => NULL
84023 , p_from_combination_id => NULL
84024 , p_value_type_code => NULL
84025 , p_transaction_coa_id => null
84026 , p_accounting_coa_id => null
84027 , p_flexfield_segment_code => NULL
84028 , p_flex_value_set_id => NULL
84029 , p_adr_code => NULL
84030 , p_adr_type_code => NULL
84031 , p_component_type => l_component_type
84032 , p_component_code => l_component_code
84033 , p_component_type_code => l_component_type_code
84034 , p_component_appl_id => l_component_appl_id
84035 , p_amb_context_code => l_amb_context_code
84036 , p_entity_code => 'AP_INVOICES'
84037 , p_event_class_code => 'CREDIT MEMOS'
84038 , p_side => 'NA'
84039 );
84040 --
84041
84042
84043 --
84044 --
84045 END IF;
84046 --
84047 -- Bug 4922099
84048 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
84049 (NVL(l_enc_upg_option, 'N') = 'O')
84050 ) AND
84051 (l_bflow_method_code = 'PRIOR_ENTRY')
84052 )
84053 THEN
84054 IF
84055 --
84056 1 = 2
84057 --
84058 THEN
84059 xla_accounting_err_pkg.build_message
84060 (p_appli_s_name => 'XLA'
84061 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
84062 ,p_token_1 => 'LINE_NUMBER'
84063 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
84064 ,p_token_2 => 'LINE_TYPE_NAME'
84065 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
84066 l_component_type
84067 ,l_component_code
84068 ,l_component_type_code
84069 ,l_component_appl_id
84070 ,l_amb_context_code
84071 ,l_entity_code
84072 ,l_event_class_code
84076 p_lookup_type => 'XLA_OWNER_TYPE'
84073 )
84074 ,p_token_3 => 'OWNER'
84075 ,p_value_3 => xla_lookups_pkg.get_meaning(
84077 ,p_lookup_code => l_component_type_code
84078 )
84079 ,p_token_4 => 'PRODUCT_NAME'
84080 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
84081 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
84082 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
84083 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
84084 ,p_ae_header_id => NULL
84085 );
84086
84087 IF (C_LEVEL_ERROR>= g_log_level) THEN
84088 trace
84089 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
84090 ,p_level => C_LEVEL_ERROR
84091 ,p_module => l_log_module);
84092 END IF;
84093 END IF;
84094 END IF;
84095 --
84096 --
84097 ------------------------------------------------------------------------------------------------
84098 -- 4219869 Business Flow
84099 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
84100 -- Prior Entry. Currently, the following code is always generated.
84101 ------------------------------------------------------------------------------------------------
84102 XLA_AE_LINES_PKG.ValidateCurrentLine;
84103
84104 ------------------------------------------------------------------------------------
84105 -- 4219869 Business Flow
84106 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
84107 ------------------------------------------------------------------------------------
84108 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
84109
84110 ----------------------------------------------------------------------------------
84111 -- 4219869 Business Flow
84112 -- Update journal entry status -- Need to generate this within IF <condition>
84113 ----------------------------------------------------------------------------------
84114 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
84115 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
84116 ,p_balance_type_code => l_balance_type_code
84117 );
84118
84119 -------------------------------------------------------------------------------------------
84120 -- 4262811 - Generate the Accrual Reversal lines
84121 -------------------------------------------------------------------------------------------
84122 BEGIN
84123 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
84124 (g_array_event(p_event_id).array_value_num('header_index'));
84125 IF l_acc_rev_flag IS NULL THEN
84126 l_acc_rev_flag := 'N';
84127 END IF;
84128 EXCEPTION
84129 WHEN OTHERS THEN
84130 l_acc_rev_flag := 'N';
84131 END;
84132 --
84133 IF (l_acc_rev_flag = 'Y') THEN
84134
84135 -- 4645092 ------------------------------------------------------------------------------
84136 -- To allow MPA report to determine if it should generate report process
84137 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
84138 ------------------------------------------------------------------------------------------
84139
84140 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
84141 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
84142 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
84143 -- call ADRs
84144 -- Bug 4922099
84145 --
84146 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
84147 (NVL(l_actual_upg_option, 'N') = 'O') OR
84148 (NVL(l_enc_upg_option, 'N') = 'O')
84149 )
84150 THEN
84151 NULL;
84152 --
84153 --
84154
84155 l_ccid := AcctDerRule_34(
84156 p_application_id => p_application_id
84157 , p_ae_header_id => l_ae_header_id
84158 , p_source_34 => p_source_34
84159 , x_transaction_coa_id => l_adr_transaction_coa_id
84160 , x_accounting_coa_id => l_adr_accounting_coa_id
84161 , x_value_type_code => l_adr_value_type_code
84162 , p_side => 'NA'
84163 );
84164
84165 xla_ae_lines_pkg.set_ccid(
84166 p_code_combination_id => l_ccid
84167 , p_value_type_code => l_adr_value_type_code
84168 , p_transaction_coa_id => l_adr_transaction_coa_id
84169 , p_accounting_coa_id => l_adr_accounting_coa_id
84170 , p_adr_code => 'AP_LIAB'
84171 , p_adr_type_code => 'S'
84172 , p_component_type => l_component_type
84173 , p_component_code => l_component_code
84174 , p_component_type_code => l_component_type_code
84178 );
84175 , p_component_appl_id => l_component_appl_id
84176 , p_amb_context_code => l_amb_context_code
84177 , p_side => 'NA'
84179
84180
84181 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
84182 p_to_segment_code => 'GL_BALANCING'
84183 , p_segment_value => C_CHAR
84184 , p_from_segment_code => NULL
84185 , p_from_combination_id => NULL
84186 , p_value_type_code => NULL
84187 , p_transaction_coa_id => null
84188 , p_accounting_coa_id => null
84189 , p_flexfield_segment_code => NULL
84190 , p_flex_value_set_id => NULL
84191 , p_adr_code => NULL
84192 , p_adr_type_code => NULL
84193 , p_component_type => l_component_type
84194 , p_component_code => l_component_code
84195 , p_component_type_code => l_component_type_code
84196 , p_component_appl_id => l_component_appl_id
84197 , p_amb_context_code => l_amb_context_code
84198 , p_entity_code => 'AP_INVOICES'
84199 , p_event_class_code => 'CREDIT MEMOS'
84200 , p_side => 'NA'
84201 );
84202 --
84203
84204
84205 --
84206 --
84207 END IF;
84208
84209 --
84210 -- Update the line information that should be overwritten
84211 --
84212 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
84213 p_header_num => 1);
84214 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
84215
84216 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
84217
84218 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
84219 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
84220 END IF;
84221
84222 --
84223 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
84224 --
84225 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
84226 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
84227 ELSE
84228 ---------------------------------------------------------------------------------------------------
84229 -- 4262811a Switch Sign
84230 ---------------------------------------------------------------------------------------------------
84231 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
84232 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
84233 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
84234 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
84235 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
84236 -- 5132302
84237 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
84238 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
84239
84240 END IF;
84241
84242 -- 4955764
84243 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
84244 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
84245
84246
84247 XLA_AE_LINES_PKG.ValidateCurrentLine;
84248 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
84249
84250 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
84251 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
84252 ,p_balance_type_code => l_balance_type_code);
84253
84254 END IF;
84255
84256 -----------------------------------------------------------------------------------------
84257 -- 4262811 Multiperiod Accounting
84258 -----------------------------------------------------------------------------------------
84259 -- No MPA option is assigned.
84260
84261
84262 END IF;
84263 END IF;
84264 --
84265
84266 --
84267 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
84268 trace
84269 (p_msg => 'END of AcctLineType_150'
84270 ,p_level => C_LEVEL_PROCEDURE
84271 ,p_module => l_log_module);
84272 END IF;
84273 --
84274 EXCEPTION
84275 WHEN xla_exceptions_pkg.application_exception THEN
84276 RAISE;
84277 WHEN OTHERS THEN
84278 xla_exceptions_pkg.raise_message
84279 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_150');
84280 END AcctLineType_150;
84281 --
84282
84283 ---------------------------------------
84284 --
84285 -- PRIVATE FUNCTION
84286 -- AcctLineType_151
84287 --
84288 ---------------------------------------
84289 PROCEDURE AcctLineType_151 (
84290 p_application_id IN NUMBER
84291 ,p_event_id IN NUMBER
84292 ,p_calculate_acctd_flag IN VARCHAR2
84293 ,p_calculate_g_l_flag IN VARCHAR2
84294 ,p_actual_flag IN OUT VARCHAR2
84295 ,p_balance_type_code OUT VARCHAR2
84299 , p_source_1 IN VARCHAR2
84296 ,p_gain_or_loss_ref OUT VARCHAR2
84297
84298 --Invoice Distribution Description
84300 --Automatic Offsets Value
84301 , p_source_15 IN VARCHAR2
84302 , p_source_15_meaning IN VARCHAR2
84303 --Invoice Distribution Ledger Amount
84304 , p_source_21 IN NUMBER
84305 --Invoice Liability Account
84306 , p_source_34 IN NUMBER
84307 --Accounting Reversal Indicator
84308 , p_source_53 IN VARCHAR2
84309 --Distribution Link Type
84310 , p_source_55 IN VARCHAR2
84311 --Allocation to Main Distribution Identifier
84312 , p_source_57 IN NUMBER
84313 --Invoice Identifier
84314 , p_source_58 IN NUMBER
84315 --Invoice Distribution Identifier
84316 , p_source_64 IN NUMBER
84317 --Payables Encumbrance Upgrade Credit Account
84318 , p_source_65 IN NUMBER
84319 --Payables Encumbrance Upgrade Credit Amount
84320 , p_source_66 IN NUMBER
84321 --Invoice Currency Code
84322 , p_source_67 IN VARCHAR2
84323 --Payables Encumbrance Upgrade Credit Base Amount
84324 , p_source_68 IN NUMBER
84325 --Payables Encumbrance Upgrade Debit Account
84326 , p_source_69 IN NUMBER
84327 --Payables Encumbrance Upgrade Debit Amount
84328 , p_source_70 IN NUMBER
84329 --Payables Encumbrance Upgrade Debit Base Amount
84330 , p_source_71 IN NUMBER
84331 --Payables Encumbrance Upgrade Option
84332 , p_source_72 IN VARCHAR2
84333 --Invoice Distribution Amount
84334 , p_source_73 IN NUMBER
84335 --Deferred Accounting End Date
84336 , p_source_77 IN DATE
84337 --Deferred Accounting Option
84338 , p_source_78 IN VARCHAR2
84339 --Deferred Accounting Start Date
84340 , p_source_79 IN DATE
84341 --Override Accounted Amount Indicator
84342 , p_source_80 IN VARCHAR2
84343 , p_source_80_meaning IN VARCHAR2
84344 --Invoice Supplier Identifier
84345 , p_source_81 IN NUMBER
84346 --Invoice Supplier Site Identifier
84347 , p_source_82 IN NUMBER
84348 --Third Party Type
84349 , p_source_83 IN VARCHAR2
84350 --Parent Reversal Identifier
84351 , p_source_84 IN NUMBER
84352 --Invoice Distribution Tax Line Identifier
84353 , p_source_86 IN NUMBER
84354 --Invoice Distribution Tax Distribution Identifier from Tax
84355 , p_source_87 IN NUMBER
84356 --Invoice Distribution Summary Tax Line Identifier
84357 , p_source_88 IN NUMBER
84358 --Payables Upgrade Credit Encumbrance Type Identifier
84359 , p_source_89 IN NUMBER
84360 --Payables Upgrade Debit Encumbrance Type Identifier
84361 , p_source_90 IN NUMBER
84362 --Business Flow Accounts Payable Application Identifier
84363 , p_source_91 IN NUMBER
84364 --Business Flow Invoice Distribution Type
84365 , p_source_92 IN VARCHAR2
84366 --Business Flow Invoice Entity Code
84367 , p_source_93 IN VARCHAR2
84368 --Business Flow Invoice Distribution Identifier
84369 , p_source_94 IN NUMBER
84370 --Business Flow Invoice Identifier
84371 , p_source_95 IN NUMBER
84372 --Self-Assessed Tax Flag
84373 , p_source_142 IN VARCHAR2
84374 , p_source_142_meaning IN VARCHAR2
84375 --Invoice Exchange Date
84376 , p_source_143 IN DATE
84377 --Invoice Exchange Rate
84378 , p_source_144 IN NUMBER
84379 --Invoice Exchange Rate Type
84380 , p_source_145 IN VARCHAR2
84381 )
84382 IS
84383
84384 l_component_type VARCHAR2(80);
84385 l_component_code VARCHAR2(30);
84386 l_component_type_code VARCHAR2(1);
84387 l_component_appl_id INTEGER;
84388 l_amb_context_code VARCHAR2(30);
84389 l_entity_code VARCHAR2(30);
84390 l_event_class_code VARCHAR2(30);
84391 l_ae_header_id NUMBER;
84392 l_event_type_code VARCHAR2(30);
84393 l_line_definition_code VARCHAR2(30);
84394 l_line_definition_owner_code VARCHAR2(1);
84395 --
84396 -- adr variables
84397 l_segment VARCHAR2(30);
84398 l_ccid NUMBER;
84399 l_adr_transaction_coa_id NUMBER;
84400 l_adr_accounting_coa_id NUMBER;
84401 l_adr_flexfield_segment_code VARCHAR2(30);
84402 l_adr_flex_value_set_id NUMBER;
84403 l_adr_value_type_code VARCHAR2(30);
84404 l_adr_value_combination_id NUMBER;
84405 l_adr_value_segment_code VARCHAR2(30);
84406
84407 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
84408 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
84409 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
84410 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
84411
84412 -- 4262811 Variables ------------------------------------------------------------------------------------------
84413 l_entered_amt_idx NUMBER;
84414 l_accted_amt_idx NUMBER;
84415 l_acc_rev_flag VARCHAR2(1);
84416 l_accrual_line_num NUMBER;
84417 l_tmp_amt NUMBER;
84418 l_acc_rev_natural_side_code VARCHAR2(1);
84419
84420 l_num_entries NUMBER;
84424 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
84421 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
84422 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
84423 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
84425 l_recog_line_1 NUMBER;
84426 l_recog_line_2 NUMBER;
84427
84428 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
84429 l_bflow_applied_to_amt NUMBER; -- 5132302
84430 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
84431
84432 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
84433
84434 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
84435 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
84436
84437 ---------------------------------------------------------------------------------------------------------------
84438
84439
84440 --
84441 -- bulk performance
84442 --
84443 l_balance_type_code VARCHAR2(1);
84444 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
84445 l_log_module VARCHAR2(240);
84446
84447 --
84448 -- Upgrade strategy
84449 --
84450 l_actual_upg_option VARCHAR2(1);
84451 l_enc_upg_option VARCHAR2(1);
84452
84453 --
84454 BEGIN
84455 --
84456 IF g_log_enabled THEN
84457 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_151';
84458 END IF;
84459 --
84460 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
84461
84462 trace
84463 (p_msg => 'BEGIN of AcctLineType_151'
84464 ,p_level => C_LEVEL_PROCEDURE
84465 ,p_module => l_log_module);
84466
84467 END IF;
84468 --
84469 l_component_type := 'AMB_JLT';
84470 l_component_code := 'AP_LIAB_DM';
84471 l_component_type_code := 'S';
84472 l_component_appl_id := 200;
84473 l_amb_context_code := 'DEFAULT';
84474 l_entity_code := 'AP_INVOICES';
84475 l_event_class_code := 'DEBIT MEMOS';
84476 l_event_type_code := 'DEBIT MEMOS_ALL';
84477 l_line_definition_owner_code := 'S';
84478 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
84479 --
84480 l_balance_type_code := 'A';
84481 l_segment := NULL;
84482 l_ccid := NULL;
84483 l_adr_transaction_coa_id := NULL;
84484 l_adr_accounting_coa_id := NULL;
84485 l_adr_flexfield_segment_code := NULL;
84486 l_adr_flex_value_set_id := NULL;
84487 l_adr_value_type_code := NULL;
84488 l_adr_value_combination_id := NULL;
84489 l_adr_value_segment_code := NULL;
84490
84491 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
84492 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
84493 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
84494 l_budgetary_control_flag := 'N';
84495
84496 l_bflow_applied_to_amt_idx := NULL; -- 5132302
84497 l_bflow_applied_to_amt := NULL; -- 5132302
84498 l_entered_amt_idx := NULL; -- 4262811
84499 l_accted_amt_idx := NULL; -- 4262811
84500 l_acc_rev_flag := NULL; -- 4262811
84501 l_accrual_line_num := NULL; -- 4262811
84502 l_tmp_amt := NULL; -- 4262811
84503 --
84504
84505 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
84506 l_balance_type_code <> 'B' THEN
84507 IF (NVL(p_source_15,'
84508 ') <> 'BALANCING_SEGMENT' AND
84509 NVL(p_source_15,'
84510 ') <> 'ACCOUNT_SEGMENT_VALUE') AND
84511 NVL(p_source_142,'
84512 ') <> 'Y'
84513 THEN
84514
84515 --
84516 XLA_AE_LINES_PKG.SetNewLine;
84517
84518 p_balance_type_code := l_balance_type_code;
84519 -- set the flag so later we will know whether the gain loss line needs to be created
84520
84521 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
84522 p_actual_flag :='A';
84523 END IF;
84524
84525 --
84526 -- bulk performance
84527 --
84528 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
84529 p_header_num => 0); -- 4262811
84530 --
84531 -- set accounting line options
84532 --
84533 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
84534 p_natural_side_code => 'C'
84535 , p_gain_or_loss_flag => 'N'
84536 , p_gl_transfer_mode_code => 'S'
84537 , p_acct_entry_type_code => 'A'
84538 , p_switch_side_flag => 'Y'
84539 , p_merge_duplicate_code => 'A'
84540 );
84541 --
84542 l_acc_rev_natural_side_code := 'D'; -- 4262811
84543 --
84544 --
84545 -- set accounting line type info
84546 --
84547 xla_ae_lines_pkg.SetAcctLineType
84548 (p_component_type => l_component_type
84549 ,p_event_type_code => l_event_type_code
84550 ,p_line_definition_owner_code => l_line_definition_owner_code
84551 ,p_line_definition_code => l_line_definition_code
84552 ,p_accounting_line_code => l_component_code
84553 ,p_accounting_line_type_code => l_component_type_code
84557 ,p_event_class_code => l_event_class_code);
84554 ,p_accounting_line_appl_id => l_component_appl_id
84555 ,p_amb_context_code => l_amb_context_code
84556 ,p_entity_code => l_entity_code
84558 --
84559 -- set accounting class
84560 --
84561 xla_ae_lines_pkg.SetAcctClass(
84562 p_accounting_class_code => 'LIABILITY'
84563 , p_ae_header_id => l_ae_header_id
84564 );
84565
84566 --
84567 -- set rounding class
84568 --
84569 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
84570 'LIABILITY';
84571
84572 --
84573 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
84574 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
84575 --
84576 -- bulk performance
84577 --
84578 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
84579
84580 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
84581 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
84582
84583 -- 4955764
84584 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
84585 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
84586
84587 -- 4458381 Public Sector Enh
84588
84589 --
84590 -- set accounting attributes for the line type
84591 --
84592 l_entered_amt_idx := 23;
84593 l_accted_amt_idx := 28;
84594 l_bflow_applied_to_amt_idx := NULL; -- 5132302
84595 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
84596 l_rec_acct_attrs.array_char_value(1) := p_source_53;
84597 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
84598 l_rec_acct_attrs.array_num_value(2) :=
84599 xla_ae_sources_pkg.GetSystemSourceNum(
84600 p_source_code => 'XLA_EVENT_APPL_ID'
84601 , p_source_type_code => 'Y'
84602 , p_source_application_id => 602
84603 );
84604 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
84605 l_rec_acct_attrs.array_char_value(3) := p_source_55;
84606 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
84607 l_rec_acct_attrs.array_char_value(4) :=
84608 xla_ae_sources_pkg.GetSystemSourceChar(
84609 p_source_code => 'XLA_ENTITY_CODE'
84610 , p_source_type_code => 'Y'
84611 , p_source_application_id => 602
84612 );
84613 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
84614 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
84615 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
84616 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
84617 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
84618 l_rec_acct_attrs.array_num_value(7) := p_source_91;
84619 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
84620 l_rec_acct_attrs.array_char_value(8) := p_source_92;
84621 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
84622 l_rec_acct_attrs.array_char_value(9) := p_source_93;
84623 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
84624 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
84625 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
84626 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
84627 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
84628 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
84629 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
84630 l_rec_acct_attrs.array_char_value(13) := p_source_55;
84631 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
84632 l_rec_acct_attrs.array_num_value(14) := p_source_65;
84633 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
84634 l_rec_acct_attrs.array_num_value(15) := p_source_66;
84635 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
84636 l_rec_acct_attrs.array_char_value(16) := p_source_67;
84637 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
84638 l_rec_acct_attrs.array_num_value(17) := p_source_68;
84639 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
84640 l_rec_acct_attrs.array_num_value(18) := p_source_69;
84641 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
84642 l_rec_acct_attrs.array_num_value(19) := p_source_70;
84643 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
84644 l_rec_acct_attrs.array_char_value(20) := p_source_67;
84645 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
84646 l_rec_acct_attrs.array_num_value(21) := p_source_71;
84647 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
84648 l_rec_acct_attrs.array_char_value(22) := p_source_72;
84649 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
84650 l_rec_acct_attrs.array_num_value(23) := p_source_73;
84651 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
84652 l_rec_acct_attrs.array_char_value(24) := p_source_67;
84653 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
84654 l_rec_acct_attrs.array_date_value(25) := p_source_143;
84658 l_rec_acct_attrs.array_char_value(27) := p_source_145;
84655 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
84656 l_rec_acct_attrs.array_num_value(26) := p_source_144;
84657 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
84659 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
84660 l_rec_acct_attrs.array_num_value(28) := p_source_21;
84661 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
84662 l_rec_acct_attrs.array_date_value(29) := p_source_77;
84663 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
84664 l_rec_acct_attrs.array_char_value(30) := p_source_78;
84665 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
84666 l_rec_acct_attrs.array_date_value(31) := p_source_79;
84667 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
84668 l_rec_acct_attrs.array_char_value(32) := p_source_80;
84669 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
84670 l_rec_acct_attrs.array_num_value(33) := p_source_81;
84671 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
84672 l_rec_acct_attrs.array_num_value(34) := p_source_82;
84673 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
84674 l_rec_acct_attrs.array_char_value(35) := p_source_83;
84675 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
84676 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
84677 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
84678 l_rec_acct_attrs.array_char_value(37) := p_source_55;
84679 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
84680 l_rec_acct_attrs.array_num_value(38) := p_source_86;
84681 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
84682 l_rec_acct_attrs.array_num_value(39) := p_source_87;
84683 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
84684 l_rec_acct_attrs.array_num_value(40) := p_source_88;
84685 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
84686 l_rec_acct_attrs.array_num_value(41) := p_source_89;
84687 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
84688 l_rec_acct_attrs.array_num_value(42) := p_source_90;
84689
84690 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
84691 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
84692
84693 ---------------------------------------------------------------------------------------------------------------
84694 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
84695 ---------------------------------------------------------------------------------------------------------------
84696 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
84697
84698 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
84699 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
84700
84701 IF xla_accounting_cache_pkg.GetValueChar
84702 (p_source_code => 'LEDGER_CATEGORY_CODE'
84703 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
84704 AND l_bflow_method_code = 'PRIOR_ENTRY'
84705 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
84706 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
84707 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
84708 )
84709 THEN
84710 xla_ae_lines_pkg.BflowUpgEntry
84711 (p_business_method_code => l_bflow_method_code
84712 ,p_business_class_code => l_bflow_class_code
84713 ,p_balance_type => l_balance_type_code);
84714 ELSE
84715 NULL;
84716 -- No business flow processing for business flow method of NONE.
84717 END IF;
84718
84719 --
84720 -- call analytical criteria
84721 --
84722
84723 --
84724 -- call description
84725 --
84726
84727 xla_ae_lines_pkg.SetLineDescription(
84728 p_ae_header_id => l_ae_header_id
84729 ,p_description => Description_1 (
84730 p_application_id => p_application_id
84731 , p_ae_header_id => l_ae_header_id
84732 , p_source_1 => p_source_1
84733 )
84734 );
84735
84736
84737 --
84738 -- call ADRs
84739 -- Bug 4922099
84740 --
84741 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
84742 (NVL(l_actual_upg_option, 'N') = 'O') OR
84743 (NVL(l_enc_upg_option, 'N') = 'O')
84744 )
84745 THEN
84746 NULL;
84747 --
84748 --
84749
84750 l_ccid := AcctDerRule_34(
84751 p_application_id => p_application_id
84752 , p_ae_header_id => l_ae_header_id
84753 , p_source_34 => p_source_34
84754 , x_transaction_coa_id => l_adr_transaction_coa_id
84755 , x_accounting_coa_id => l_adr_accounting_coa_id
84756 , x_value_type_code => l_adr_value_type_code
84757 , p_side => 'NA'
84758 );
84759
84760 xla_ae_lines_pkg.set_ccid(
84761 p_code_combination_id => l_ccid
84762 , p_value_type_code => l_adr_value_type_code
84763 , p_transaction_coa_id => l_adr_transaction_coa_id
84764 , p_accounting_coa_id => l_adr_accounting_coa_id
84765 , p_adr_code => 'AP_LIAB'
84766 , p_adr_type_code => 'S'
84770 , p_component_appl_id => l_component_appl_id
84767 , p_component_type => l_component_type
84768 , p_component_code => l_component_code
84769 , p_component_type_code => l_component_type_code
84771 , p_amb_context_code => l_amb_context_code
84772 , p_side => 'NA'
84773 );
84774
84775
84776 --
84777 --
84778 END IF;
84779 --
84780 -- Bug 4922099
84781 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
84782 (NVL(l_enc_upg_option, 'N') = 'O')
84783 ) AND
84784 (l_bflow_method_code = 'PRIOR_ENTRY')
84785 )
84786 THEN
84787 IF
84788 --
84789 1 = 2
84790 --
84791 THEN
84792 xla_accounting_err_pkg.build_message
84793 (p_appli_s_name => 'XLA'
84794 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
84795 ,p_token_1 => 'LINE_NUMBER'
84796 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
84797 ,p_token_2 => 'LINE_TYPE_NAME'
84798 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
84799 l_component_type
84800 ,l_component_code
84801 ,l_component_type_code
84802 ,l_component_appl_id
84803 ,l_amb_context_code
84804 ,l_entity_code
84805 ,l_event_class_code
84806 )
84807 ,p_token_3 => 'OWNER'
84808 ,p_value_3 => xla_lookups_pkg.get_meaning(
84809 p_lookup_type => 'XLA_OWNER_TYPE'
84810 ,p_lookup_code => l_component_type_code
84811 )
84812 ,p_token_4 => 'PRODUCT_NAME'
84813 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
84814 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
84815 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
84816 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
84817 ,p_ae_header_id => NULL
84818 );
84819
84820 IF (C_LEVEL_ERROR>= g_log_level) THEN
84821 trace
84822 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
84823 ,p_level => C_LEVEL_ERROR
84824 ,p_module => l_log_module);
84825 END IF;
84826 END IF;
84827 END IF;
84828 --
84829 --
84830 ------------------------------------------------------------------------------------------------
84831 -- 4219869 Business Flow
84832 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
84833 -- Prior Entry. Currently, the following code is always generated.
84834 ------------------------------------------------------------------------------------------------
84835 XLA_AE_LINES_PKG.ValidateCurrentLine;
84836
84837 ------------------------------------------------------------------------------------
84838 -- 4219869 Business Flow
84839 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
84840 ------------------------------------------------------------------------------------
84841 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
84842
84843 ----------------------------------------------------------------------------------
84844 -- 4219869 Business Flow
84845 -- Update journal entry status -- Need to generate this within IF <condition>
84846 ----------------------------------------------------------------------------------
84847 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
84848 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
84849 ,p_balance_type_code => l_balance_type_code
84850 );
84851
84852 -------------------------------------------------------------------------------------------
84853 -- 4262811 - Generate the Accrual Reversal lines
84854 -------------------------------------------------------------------------------------------
84855 BEGIN
84856 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
84857 (g_array_event(p_event_id).array_value_num('header_index'));
84858 IF l_acc_rev_flag IS NULL THEN
84859 l_acc_rev_flag := 'N';
84860 END IF;
84861 EXCEPTION
84862 WHEN OTHERS THEN
84866 IF (l_acc_rev_flag = 'Y') THEN
84863 l_acc_rev_flag := 'N';
84864 END;
84865 --
84867
84868 -- 4645092 ------------------------------------------------------------------------------
84869 -- To allow MPA report to determine if it should generate report process
84870 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
84871 ------------------------------------------------------------------------------------------
84872
84873 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
84874 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
84875 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
84876 -- call ADRs
84877 -- Bug 4922099
84878 --
84879 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
84880 (NVL(l_actual_upg_option, 'N') = 'O') OR
84881 (NVL(l_enc_upg_option, 'N') = 'O')
84882 )
84883 THEN
84884 NULL;
84885 --
84886 --
84887
84888 l_ccid := AcctDerRule_34(
84889 p_application_id => p_application_id
84890 , p_ae_header_id => l_ae_header_id
84891 , p_source_34 => p_source_34
84892 , x_transaction_coa_id => l_adr_transaction_coa_id
84893 , x_accounting_coa_id => l_adr_accounting_coa_id
84894 , x_value_type_code => l_adr_value_type_code
84895 , p_side => 'NA'
84896 );
84897
84898 xla_ae_lines_pkg.set_ccid(
84899 p_code_combination_id => l_ccid
84900 , p_value_type_code => l_adr_value_type_code
84901 , p_transaction_coa_id => l_adr_transaction_coa_id
84902 , p_accounting_coa_id => l_adr_accounting_coa_id
84903 , p_adr_code => 'AP_LIAB'
84904 , p_adr_type_code => 'S'
84905 , p_component_type => l_component_type
84906 , p_component_code => l_component_code
84907 , p_component_type_code => l_component_type_code
84908 , p_component_appl_id => l_component_appl_id
84909 , p_amb_context_code => l_amb_context_code
84910 , p_side => 'NA'
84911 );
84912
84913
84914 --
84915 --
84916 END IF;
84917
84918 --
84919 -- Update the line information that should be overwritten
84920 --
84921 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
84922 p_header_num => 1);
84923 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
84924
84925 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
84926
84927 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
84928 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
84929 END IF;
84930
84931 --
84932 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
84933 --
84934 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
84935 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
84936 ELSE
84937 ---------------------------------------------------------------------------------------------------
84938 -- 4262811a Switch Sign
84939 ---------------------------------------------------------------------------------------------------
84940 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
84941 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
84942 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
84943 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
84944 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
84945 -- 5132302
84946 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
84947 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
84948
84949 END IF;
84950
84951 -- 4955764
84952 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
84953 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
84954
84955
84956 XLA_AE_LINES_PKG.ValidateCurrentLine;
84957 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
84958
84959 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
84960 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
84961 ,p_balance_type_code => l_balance_type_code);
84962
84963 END IF;
84964
84965 -----------------------------------------------------------------------------------------
84966 -- 4262811 Multiperiod Accounting
84967 -----------------------------------------------------------------------------------------
84968 -- No MPA option is assigned.
84969
84970
84971 END IF;
84972 END IF;
84973 --
84974
84975 --
84976 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
84977 trace
84981 END IF;
84978 (p_msg => 'END of AcctLineType_151'
84979 ,p_level => C_LEVEL_PROCEDURE
84980 ,p_module => l_log_module);
84982 --
84983 EXCEPTION
84984 WHEN xla_exceptions_pkg.application_exception THEN
84985 RAISE;
84986 WHEN OTHERS THEN
84987 xla_exceptions_pkg.raise_message
84988 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_151');
84989 END AcctLineType_151;
84990 --
84991
84992 ---------------------------------------
84993 --
84994 -- PRIVATE FUNCTION
84995 -- AcctLineType_152
84996 --
84997 ---------------------------------------
84998 PROCEDURE AcctLineType_152 (
84999 p_application_id IN NUMBER
85000 ,p_event_id IN NUMBER
85001 ,p_calculate_acctd_flag IN VARCHAR2
85002 ,p_calculate_g_l_flag IN VARCHAR2
85003 ,p_actual_flag IN OUT VARCHAR2
85004 ,p_balance_type_code OUT VARCHAR2
85005 ,p_gain_or_loss_ref OUT VARCHAR2
85006
85007 --Invoice Distribution Description
85008 , p_source_1 IN VARCHAR2
85009 --Automatic Offsets Value
85010 , p_source_15 IN VARCHAR2
85011 , p_source_15_meaning IN VARCHAR2
85012 --Invoice Distribution Ledger Amount
85013 , p_source_21 IN NUMBER
85014 --Invoice Liability Account
85015 , p_source_34 IN NUMBER
85016 --Accounting Reversal Indicator
85017 , p_source_53 IN VARCHAR2
85018 --Distribution Link Type
85019 , p_source_55 IN VARCHAR2
85020 --Allocation to Main Distribution Identifier
85021 , p_source_57 IN NUMBER
85022 --Invoice Identifier
85023 , p_source_58 IN NUMBER
85024 --Invoice Distribution Identifier
85025 , p_source_64 IN NUMBER
85026 --Payables Encumbrance Upgrade Credit Account
85027 , p_source_65 IN NUMBER
85028 --Payables Encumbrance Upgrade Credit Amount
85029 , p_source_66 IN NUMBER
85030 --Invoice Currency Code
85031 , p_source_67 IN VARCHAR2
85032 --Payables Encumbrance Upgrade Credit Base Amount
85033 , p_source_68 IN NUMBER
85034 --Payables Encumbrance Upgrade Debit Account
85035 , p_source_69 IN NUMBER
85036 --Payables Encumbrance Upgrade Debit Amount
85037 , p_source_70 IN NUMBER
85038 --Payables Encumbrance Upgrade Debit Base Amount
85039 , p_source_71 IN NUMBER
85040 --Payables Encumbrance Upgrade Option
85041 , p_source_72 IN VARCHAR2
85042 --Invoice Distribution Amount
85043 , p_source_73 IN NUMBER
85044 --Deferred Accounting End Date
85045 , p_source_77 IN DATE
85046 --Deferred Accounting Option
85047 , p_source_78 IN VARCHAR2
85048 --Deferred Accounting Start Date
85049 , p_source_79 IN DATE
85050 --Override Accounted Amount Indicator
85051 , p_source_80 IN VARCHAR2
85052 , p_source_80_meaning IN VARCHAR2
85053 --Invoice Supplier Identifier
85054 , p_source_81 IN NUMBER
85055 --Invoice Supplier Site Identifier
85056 , p_source_82 IN NUMBER
85057 --Third Party Type
85058 , p_source_83 IN VARCHAR2
85059 --Parent Reversal Identifier
85060 , p_source_84 IN NUMBER
85061 --Invoice Distribution Tax Line Identifier
85062 , p_source_86 IN NUMBER
85063 --Invoice Distribution Tax Distribution Identifier from Tax
85064 , p_source_87 IN NUMBER
85065 --Invoice Distribution Summary Tax Line Identifier
85066 , p_source_88 IN NUMBER
85067 --Payables Upgrade Credit Encumbrance Type Identifier
85068 , p_source_89 IN NUMBER
85069 --Payables Upgrade Debit Encumbrance Type Identifier
85070 , p_source_90 IN NUMBER
85071 --Business Flow Accounts Payable Application Identifier
85072 , p_source_91 IN NUMBER
85073 --Business Flow Invoice Distribution Type
85074 , p_source_92 IN VARCHAR2
85075 --Business Flow Invoice Entity Code
85076 , p_source_93 IN VARCHAR2
85077 --Business Flow Invoice Distribution Identifier
85078 , p_source_94 IN NUMBER
85079 --Business Flow Invoice Identifier
85080 , p_source_95 IN NUMBER
85081 --Self-Assessed Tax Flag
85082 , p_source_142 IN VARCHAR2
85083 , p_source_142_meaning IN VARCHAR2
85084 --Invoice Exchange Date
85085 , p_source_143 IN DATE
85086 --Invoice Exchange Rate
85087 , p_source_144 IN NUMBER
85088 --Invoice Exchange Rate Type
85089 , p_source_145 IN VARCHAR2
85090 )
85091 IS
85092
85093 l_component_type VARCHAR2(80);
85094 l_component_code VARCHAR2(30);
85095 l_component_type_code VARCHAR2(1);
85096 l_component_appl_id INTEGER;
85097 l_amb_context_code VARCHAR2(30);
85098 l_entity_code VARCHAR2(30);
85099 l_event_class_code VARCHAR2(30);
85100 l_ae_header_id NUMBER;
85101 l_event_type_code VARCHAR2(30);
85102 l_line_definition_code VARCHAR2(30);
85103 l_line_definition_owner_code VARCHAR2(1);
85104 --
85105 -- adr variables
85106 l_segment VARCHAR2(30);
85107 l_ccid NUMBER;
85108 l_adr_transaction_coa_id NUMBER;
85109 l_adr_accounting_coa_id NUMBER;
85110 l_adr_flexfield_segment_code VARCHAR2(30);
85111 l_adr_flex_value_set_id NUMBER;
85115
85112 l_adr_value_type_code VARCHAR2(30);
85113 l_adr_value_combination_id NUMBER;
85114 l_adr_value_segment_code VARCHAR2(30);
85116 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
85117 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
85118 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
85119 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
85120
85121 -- 4262811 Variables ------------------------------------------------------------------------------------------
85122 l_entered_amt_idx NUMBER;
85123 l_accted_amt_idx NUMBER;
85124 l_acc_rev_flag VARCHAR2(1);
85125 l_accrual_line_num NUMBER;
85126 l_tmp_amt NUMBER;
85127 l_acc_rev_natural_side_code VARCHAR2(1);
85128
85129 l_num_entries NUMBER;
85130 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
85131 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
85132 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
85133 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
85134 l_recog_line_1 NUMBER;
85135 l_recog_line_2 NUMBER;
85136
85137 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
85138 l_bflow_applied_to_amt NUMBER; -- 5132302
85139 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
85140
85141 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
85142
85143 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
85144 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
85145
85146 ---------------------------------------------------------------------------------------------------------------
85147
85148
85149 --
85150 -- bulk performance
85151 --
85152 l_balance_type_code VARCHAR2(1);
85153 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
85154 l_log_module VARCHAR2(240);
85155
85156 --
85157 -- Upgrade strategy
85158 --
85159 l_actual_upg_option VARCHAR2(1);
85160 l_enc_upg_option VARCHAR2(1);
85161
85162 --
85163 BEGIN
85164 --
85165 IF g_log_enabled THEN
85166 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_152';
85167 END IF;
85168 --
85169 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
85170
85171 trace
85172 (p_msg => 'BEGIN of AcctLineType_152'
85173 ,p_level => C_LEVEL_PROCEDURE
85174 ,p_module => l_log_module);
85175
85176 END IF;
85177 --
85178 l_component_type := 'AMB_JLT';
85179 l_component_code := 'AP_LIAB_DM_AOS_AS';
85180 l_component_type_code := 'S';
85181 l_component_appl_id := 200;
85182 l_amb_context_code := 'DEFAULT';
85183 l_entity_code := 'AP_INVOICES';
85184 l_event_class_code := 'DEBIT MEMOS';
85185 l_event_type_code := 'DEBIT MEMOS_ALL';
85186 l_line_definition_owner_code := 'S';
85187 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
85188 --
85189 l_balance_type_code := 'A';
85190 l_segment := NULL;
85191 l_ccid := NULL;
85192 l_adr_transaction_coa_id := NULL;
85193 l_adr_accounting_coa_id := NULL;
85194 l_adr_flexfield_segment_code := NULL;
85195 l_adr_flex_value_set_id := NULL;
85196 l_adr_value_type_code := NULL;
85197 l_adr_value_combination_id := NULL;
85198 l_adr_value_segment_code := NULL;
85199
85200 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
85201 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
85202 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
85203 l_budgetary_control_flag := 'N';
85204
85205 l_bflow_applied_to_amt_idx := NULL; -- 5132302
85206 l_bflow_applied_to_amt := NULL; -- 5132302
85207 l_entered_amt_idx := NULL; -- 4262811
85208 l_accted_amt_idx := NULL; -- 4262811
85209 l_acc_rev_flag := NULL; -- 4262811
85210 l_accrual_line_num := NULL; -- 4262811
85211 l_tmp_amt := NULL; -- 4262811
85212 --
85213
85214 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
85215 l_balance_type_code <> 'B' THEN
85216 IF NVL(p_source_15,'
85217 ') = 'ACCOUNT_SEGMENT_VALUE' AND
85218 NVL(p_source_142,'
85219 ') <> 'Y'
85220 THEN
85221
85222 --
85223 XLA_AE_LINES_PKG.SetNewLine;
85224
85225 p_balance_type_code := l_balance_type_code;
85226 -- set the flag so later we will know whether the gain loss line needs to be created
85227
85228 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
85229 p_actual_flag :='A';
85230 END IF;
85231
85232 --
85233 -- bulk performance
85234 --
85235 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
85236 p_header_num => 0); -- 4262811
85237 --
85238 -- set accounting line options
85239 --
85240 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
85241 p_natural_side_code => 'C'
85242 , p_gain_or_loss_flag => 'N'
85246 , p_merge_duplicate_code => 'A'
85243 , p_gl_transfer_mode_code => 'S'
85244 , p_acct_entry_type_code => 'A'
85245 , p_switch_side_flag => 'Y'
85247 );
85248 --
85249 l_acc_rev_natural_side_code := 'D'; -- 4262811
85250 --
85251 --
85252 -- set accounting line type info
85253 --
85254 xla_ae_lines_pkg.SetAcctLineType
85255 (p_component_type => l_component_type
85256 ,p_event_type_code => l_event_type_code
85257 ,p_line_definition_owner_code => l_line_definition_owner_code
85258 ,p_line_definition_code => l_line_definition_code
85259 ,p_accounting_line_code => l_component_code
85260 ,p_accounting_line_type_code => l_component_type_code
85261 ,p_accounting_line_appl_id => l_component_appl_id
85262 ,p_amb_context_code => l_amb_context_code
85263 ,p_entity_code => l_entity_code
85264 ,p_event_class_code => l_event_class_code);
85265 --
85266 -- set accounting class
85267 --
85268 xla_ae_lines_pkg.SetAcctClass(
85269 p_accounting_class_code => 'LIABILITY'
85270 , p_ae_header_id => l_ae_header_id
85271 );
85272
85273 --
85274 -- set rounding class
85275 --
85276 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
85277 'LIABILITY';
85278
85279 --
85280 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
85281 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
85282 --
85283 -- bulk performance
85284 --
85285 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
85286
85287 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
85288 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
85289
85290 -- 4955764
85291 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
85292 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
85293
85294 -- 4458381 Public Sector Enh
85295
85296 --
85297 -- set accounting attributes for the line type
85298 --
85299 l_entered_amt_idx := 23;
85300 l_accted_amt_idx := 28;
85301 l_bflow_applied_to_amt_idx := NULL; -- 5132302
85302 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
85303 l_rec_acct_attrs.array_char_value(1) := p_source_53;
85304 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
85305 l_rec_acct_attrs.array_num_value(2) :=
85306 xla_ae_sources_pkg.GetSystemSourceNum(
85307 p_source_code => 'XLA_EVENT_APPL_ID'
85308 , p_source_type_code => 'Y'
85309 , p_source_application_id => 602
85310 );
85311 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
85312 l_rec_acct_attrs.array_char_value(3) := p_source_55;
85313 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
85314 l_rec_acct_attrs.array_char_value(4) :=
85315 xla_ae_sources_pkg.GetSystemSourceChar(
85316 p_source_code => 'XLA_ENTITY_CODE'
85317 , p_source_type_code => 'Y'
85318 , p_source_application_id => 602
85319 );
85320 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
85321 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
85322 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
85323 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
85324 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
85325 l_rec_acct_attrs.array_num_value(7) := p_source_91;
85326 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
85327 l_rec_acct_attrs.array_char_value(8) := p_source_92;
85328 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
85329 l_rec_acct_attrs.array_char_value(9) := p_source_93;
85330 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
85331 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
85332 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
85333 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
85334 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
85335 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
85336 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
85337 l_rec_acct_attrs.array_char_value(13) := p_source_55;
85338 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
85339 l_rec_acct_attrs.array_num_value(14) := p_source_65;
85340 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
85341 l_rec_acct_attrs.array_num_value(15) := p_source_66;
85342 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
85343 l_rec_acct_attrs.array_char_value(16) := p_source_67;
85344 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
85345 l_rec_acct_attrs.array_num_value(17) := p_source_68;
85346 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
85347 l_rec_acct_attrs.array_num_value(18) := p_source_69;
85348 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
85349 l_rec_acct_attrs.array_num_value(19) := p_source_70;
85353 l_rec_acct_attrs.array_num_value(21) := p_source_71;
85350 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
85351 l_rec_acct_attrs.array_char_value(20) := p_source_67;
85352 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
85354 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
85355 l_rec_acct_attrs.array_char_value(22) := p_source_72;
85356 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
85357 l_rec_acct_attrs.array_num_value(23) := p_source_73;
85358 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
85359 l_rec_acct_attrs.array_char_value(24) := p_source_67;
85360 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
85361 l_rec_acct_attrs.array_date_value(25) := p_source_143;
85362 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
85363 l_rec_acct_attrs.array_num_value(26) := p_source_144;
85364 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
85365 l_rec_acct_attrs.array_char_value(27) := p_source_145;
85366 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
85367 l_rec_acct_attrs.array_num_value(28) := p_source_21;
85368 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
85369 l_rec_acct_attrs.array_date_value(29) := p_source_77;
85370 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
85371 l_rec_acct_attrs.array_char_value(30) := p_source_78;
85372 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
85373 l_rec_acct_attrs.array_date_value(31) := p_source_79;
85374 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
85375 l_rec_acct_attrs.array_char_value(32) := p_source_80;
85376 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
85377 l_rec_acct_attrs.array_num_value(33) := p_source_81;
85378 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
85379 l_rec_acct_attrs.array_num_value(34) := p_source_82;
85380 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
85381 l_rec_acct_attrs.array_char_value(35) := p_source_83;
85382 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
85383 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
85384 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
85385 l_rec_acct_attrs.array_char_value(37) := p_source_55;
85386 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
85387 l_rec_acct_attrs.array_num_value(38) := p_source_86;
85388 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
85389 l_rec_acct_attrs.array_num_value(39) := p_source_87;
85390 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
85391 l_rec_acct_attrs.array_num_value(40) := p_source_88;
85392 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
85393 l_rec_acct_attrs.array_num_value(41) := p_source_89;
85394 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
85395 l_rec_acct_attrs.array_num_value(42) := p_source_90;
85396
85397 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
85398 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
85399
85400 ---------------------------------------------------------------------------------------------------------------
85401 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
85402 ---------------------------------------------------------------------------------------------------------------
85403 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
85404
85405 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
85406 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
85407
85408 IF xla_accounting_cache_pkg.GetValueChar
85409 (p_source_code => 'LEDGER_CATEGORY_CODE'
85410 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
85411 AND l_bflow_method_code = 'PRIOR_ENTRY'
85412 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
85413 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
85414 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
85415 )
85416 THEN
85417 xla_ae_lines_pkg.BflowUpgEntry
85418 (p_business_method_code => l_bflow_method_code
85419 ,p_business_class_code => l_bflow_class_code
85420 ,p_balance_type => l_balance_type_code);
85421 ELSE
85422 NULL;
85423 XLA_AE_LINES_PKG.business_flow_validation(
85424 p_business_method_code => l_bflow_method_code
85425 ,p_business_class_code => l_bflow_class_code
85426 ,p_inherit_description_flag => l_inherit_desc_flag);
85427 END IF;
85428
85429 --
85430 -- call analytical criteria
85431 --
85432
85433 --
85434 -- call description
85435 --
85436
85437 xla_ae_lines_pkg.SetLineDescription(
85438 p_ae_header_id => l_ae_header_id
85439 ,p_description => Description_1 (
85440 p_application_id => p_application_id
85441 , p_ae_header_id => l_ae_header_id
85442 , p_source_1 => p_source_1
85443 )
85444 );
85445
85446
85447 --
85448 -- call ADRs
85449 -- Bug 4922099
85450 --
85451 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
85455 THEN
85452 (NVL(l_actual_upg_option, 'N') = 'O') OR
85453 (NVL(l_enc_upg_option, 'N') = 'O')
85454 )
85456 NULL;
85457 --
85458 --
85459
85460 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
85461 p_code_combination_id => TO_NUMBER(C_NUM)
85462 , p_value_type_code => NULL
85463 , p_transaction_coa_id => null
85464 , p_accounting_coa_id => null
85465 , p_adr_code => NULL
85466 , p_adr_type_code => NULL
85467 , p_component_type => l_component_type
85468 , p_component_code => l_component_code
85469 , p_component_type_code => l_component_type_code
85470 , p_component_appl_id => l_component_appl_id
85471 , p_amb_context_code => l_amb_context_code
85472 , p_side => NULL
85473 );
85474
85475
85476 -- initialise segments
85477 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85478 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85479 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85480 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85481 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85482 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85483 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85484 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85485 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85486 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85487 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85488 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85489 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85490 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85491 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85492 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85493 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85494 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85495 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85496 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85497 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85498 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85499 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85500 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85501 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85502 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85503 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85504 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85505 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85506 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85507 --
85508
85509 --
85510
85511
85512 l_segment := AcctDerRule_15(
85513 p_application_id => p_application_id
85514 , p_ae_header_id => l_ae_header_id
85515 , p_source_34 => p_source_34
85516 , x_transaction_coa_id => l_adr_transaction_coa_id
85517 , x_accounting_coa_id => l_adr_accounting_coa_id
85518 , x_flexfield_segment_code => l_adr_flexfield_segment_code
85519 , x_flex_value_set_id => l_adr_flex_value_set_id
85520 , x_value_type_code => l_adr_value_type_code
85521 , x_value_combination_id => l_adr_value_combination_id
85522 , x_value_segment_code => l_adr_value_segment_code
85523 , p_side => 'NA'
85524 , p_override_seg_flag => 'Y'
85525 );
85526
85527 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
85528
85529 xla_ae_lines_pkg.set_segment(
85530 p_to_segment_code => 'GL_ACCOUNT'
85531 , p_segment_value => l_segment
85532 , p_from_segment_code => l_adr_value_segment_code
85533 , p_from_combination_id => l_adr_value_combination_id
85534 , p_value_type_code => l_adr_value_type_code
85535 , p_transaction_coa_id => l_adr_transaction_coa_id
85536 , p_accounting_coa_id => l_adr_accounting_coa_id
85537 , p_flexfield_segment_code => l_adr_flexfield_segment_code
85538 , p_flex_value_set_id => l_adr_flex_value_set_id
85539 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
85540 , p_adr_type_code => 'S'
85541 , p_component_type => l_component_type
85542 , p_component_code => l_component_code
85543 , p_component_type_code => l_component_type_code
85547 , p_event_class_code => 'DEBIT MEMOS'
85544 , p_component_appl_id => l_component_appl_id
85545 , p_amb_context_code => l_amb_context_code
85546 , p_entity_code => 'AP_INVOICES'
85548 , p_side => 'NA'
85549 );
85550
85551 END IF;
85552
85553 --
85554 --
85555 END IF;
85556 --
85557 -- Bug 4922099
85558 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
85559 (NVL(l_enc_upg_option, 'N') = 'O')
85560 ) AND
85561 (l_bflow_method_code = 'PRIOR_ENTRY')
85562 )
85563 THEN
85564 IF
85565 --
85566 1 = 2
85567 --
85568 THEN
85569 xla_accounting_err_pkg.build_message
85570 (p_appli_s_name => 'XLA'
85571 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
85572 ,p_token_1 => 'LINE_NUMBER'
85573 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
85574 ,p_token_2 => 'LINE_TYPE_NAME'
85575 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
85576 l_component_type
85577 ,l_component_code
85578 ,l_component_type_code
85579 ,l_component_appl_id
85580 ,l_amb_context_code
85581 ,l_entity_code
85582 ,l_event_class_code
85583 )
85584 ,p_token_3 => 'OWNER'
85585 ,p_value_3 => xla_lookups_pkg.get_meaning(
85586 p_lookup_type => 'XLA_OWNER_TYPE'
85587 ,p_lookup_code => l_component_type_code
85588 )
85589 ,p_token_4 => 'PRODUCT_NAME'
85590 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
85591 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
85592 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
85593 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
85594 ,p_ae_header_id => NULL
85595 );
85596
85597 IF (C_LEVEL_ERROR>= g_log_level) THEN
85598 trace
85599 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
85600 ,p_level => C_LEVEL_ERROR
85601 ,p_module => l_log_module);
85602 END IF;
85603 END IF;
85604 END IF;
85605 --
85606 --
85607 ------------------------------------------------------------------------------------------------
85608 -- 4219869 Business Flow
85609 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
85610 -- Prior Entry. Currently, the following code is always generated.
85611 ------------------------------------------------------------------------------------------------
85612 XLA_AE_LINES_PKG.ValidateCurrentLine;
85613
85614 ------------------------------------------------------------------------------------
85615 -- 4219869 Business Flow
85616 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
85617 ------------------------------------------------------------------------------------
85618 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
85619
85620 ----------------------------------------------------------------------------------
85621 -- 4219869 Business Flow
85622 -- Update journal entry status -- Need to generate this within IF <condition>
85623 ----------------------------------------------------------------------------------
85624 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
85625 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
85626 ,p_balance_type_code => l_balance_type_code
85627 );
85628
85629 -------------------------------------------------------------------------------------------
85630 -- 4262811 - Generate the Accrual Reversal lines
85631 -------------------------------------------------------------------------------------------
85632 BEGIN
85633 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
85634 (g_array_event(p_event_id).array_value_num('header_index'));
85635 IF l_acc_rev_flag IS NULL THEN
85636 l_acc_rev_flag := 'N';
85637 END IF;
85638 EXCEPTION
85639 WHEN OTHERS THEN
85640 l_acc_rev_flag := 'N';
85641 END;
85642 --
85646 -- To allow MPA report to determine if it should generate report process
85643 IF (l_acc_rev_flag = 'Y') THEN
85644
85645 -- 4645092 ------------------------------------------------------------------------------
85647 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
85648 ------------------------------------------------------------------------------------------
85649
85650 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
85651 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
85652 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
85653 -- call ADRs
85654 -- Bug 4922099
85655 --
85656 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
85657 (NVL(l_actual_upg_option, 'N') = 'O') OR
85658 (NVL(l_enc_upg_option, 'N') = 'O')
85659 )
85660 THEN
85661 NULL;
85662 --
85663 --
85664
85665 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
85666 p_code_combination_id => TO_NUMBER(C_NUM)
85667 , p_value_type_code => NULL
85668 , p_transaction_coa_id => null
85669 , p_accounting_coa_id => null
85670 , p_adr_code => NULL
85671 , p_adr_type_code => NULL
85672 , p_component_type => l_component_type
85673 , p_component_code => l_component_code
85674 , p_component_type_code => l_component_type_code
85675 , p_component_appl_id => l_component_appl_id
85676 , p_amb_context_code => l_amb_context_code
85677 , p_side => NULL
85678 );
85679
85680
85681 -- initialise segments
85682 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85683 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85684 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85685 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85686 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85687 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85688 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85689 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85690 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85691 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85692 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85693 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85694 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85695 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85696 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85697 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85698 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85699 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85700 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85701 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85702 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85703 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85704 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85705 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85706 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85707 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85708 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85709 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85710 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85711 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
85712 --
85713
85714 --
85715
85716
85717 l_segment := AcctDerRule_15(
85718 p_application_id => p_application_id
85719 , p_ae_header_id => l_ae_header_id
85720 , p_source_34 => p_source_34
85721 , x_transaction_coa_id => l_adr_transaction_coa_id
85722 , x_accounting_coa_id => l_adr_accounting_coa_id
85723 , x_flexfield_segment_code => l_adr_flexfield_segment_code
85724 , x_flex_value_set_id => l_adr_flex_value_set_id
85725 , x_value_type_code => l_adr_value_type_code
85726 , x_value_combination_id => l_adr_value_combination_id
85727 , x_value_segment_code => l_adr_value_segment_code
85728 , p_side => 'NA'
85729 , p_override_seg_flag => 'Y'
85730 );
85731
85732 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
85733
85734 xla_ae_lines_pkg.set_segment(
85735 p_to_segment_code => 'GL_ACCOUNT'
85736 , p_segment_value => l_segment
85737 , p_from_segment_code => l_adr_value_segment_code
85741 , p_accounting_coa_id => l_adr_accounting_coa_id
85738 , p_from_combination_id => l_adr_value_combination_id
85739 , p_value_type_code => l_adr_value_type_code
85740 , p_transaction_coa_id => l_adr_transaction_coa_id
85742 , p_flexfield_segment_code => l_adr_flexfield_segment_code
85743 , p_flex_value_set_id => l_adr_flex_value_set_id
85744 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
85745 , p_adr_type_code => 'S'
85746 , p_component_type => l_component_type
85747 , p_component_code => l_component_code
85748 , p_component_type_code => l_component_type_code
85749 , p_component_appl_id => l_component_appl_id
85750 , p_amb_context_code => l_amb_context_code
85751 , p_entity_code => 'AP_INVOICES'
85752 , p_event_class_code => 'DEBIT MEMOS'
85753 , p_side => 'NA'
85754 );
85755
85756 END IF;
85757
85758 --
85759 --
85760 END IF;
85761
85762 --
85763 -- Update the line information that should be overwritten
85764 --
85765 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
85766 p_header_num => 1);
85767 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
85768
85769 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
85770
85771 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
85772 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
85773 END IF;
85774
85775 --
85776 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
85777 --
85778 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
85779 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
85780 ELSE
85781 ---------------------------------------------------------------------------------------------------
85782 -- 4262811a Switch Sign
85783 ---------------------------------------------------------------------------------------------------
85784 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
85785 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
85786 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
85787 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
85788 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
85789 -- 5132302
85790 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
85791 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
85792
85793 END IF;
85794
85795 -- 4955764
85796 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
85797 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
85798
85799
85800 XLA_AE_LINES_PKG.ValidateCurrentLine;
85801 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
85802
85803 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
85804 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
85805 ,p_balance_type_code => l_balance_type_code);
85806
85807 END IF;
85808
85809 -----------------------------------------------------------------------------------------
85810 -- 4262811 Multiperiod Accounting
85811 -----------------------------------------------------------------------------------------
85812 -- No MPA option is assigned.
85813
85814
85815 END IF;
85816 END IF;
85817 --
85818
85819 --
85820 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
85821 trace
85822 (p_msg => 'END of AcctLineType_152'
85823 ,p_level => C_LEVEL_PROCEDURE
85824 ,p_module => l_log_module);
85825 END IF;
85826 --
85827 EXCEPTION
85828 WHEN xla_exceptions_pkg.application_exception THEN
85829 RAISE;
85830 WHEN OTHERS THEN
85831 xla_exceptions_pkg.raise_message
85832 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_152');
85833 END AcctLineType_152;
85834 --
85835
85836 ---------------------------------------
85837 --
85838 -- PRIVATE FUNCTION
85839 -- AcctLineType_153
85840 --
85841 ---------------------------------------
85842 PROCEDURE AcctLineType_153 (
85843 p_application_id IN NUMBER
85844 ,p_event_id IN NUMBER
85845 ,p_calculate_acctd_flag IN VARCHAR2
85846 ,p_calculate_g_l_flag IN VARCHAR2
85847 ,p_actual_flag IN OUT VARCHAR2
85848 ,p_balance_type_code OUT VARCHAR2
85849 ,p_gain_or_loss_ref OUT VARCHAR2
85850
85851 --Invoice Distribution Description
85852 , p_source_1 IN VARCHAR2
85853 --Automatic Offsets Value
85854 , p_source_15 IN VARCHAR2
85855 , p_source_15_meaning IN VARCHAR2
85856 --Invoice Distribution Ledger Amount
85857 , p_source_21 IN NUMBER
85858 --Invoice Liability Account
85862 --Distribution Link Type
85859 , p_source_34 IN NUMBER
85860 --Accounting Reversal Indicator
85861 , p_source_53 IN VARCHAR2
85863 , p_source_55 IN VARCHAR2
85864 --Allocation to Main Distribution Identifier
85865 , p_source_57 IN NUMBER
85866 --Invoice Identifier
85867 , p_source_58 IN NUMBER
85868 --Invoice Distribution Identifier
85869 , p_source_64 IN NUMBER
85870 --Payables Encumbrance Upgrade Credit Account
85871 , p_source_65 IN NUMBER
85872 --Payables Encumbrance Upgrade Credit Amount
85873 , p_source_66 IN NUMBER
85874 --Invoice Currency Code
85875 , p_source_67 IN VARCHAR2
85876 --Payables Encumbrance Upgrade Credit Base Amount
85877 , p_source_68 IN NUMBER
85878 --Payables Encumbrance Upgrade Debit Account
85879 , p_source_69 IN NUMBER
85880 --Payables Encumbrance Upgrade Debit Amount
85881 , p_source_70 IN NUMBER
85882 --Payables Encumbrance Upgrade Debit Base Amount
85883 , p_source_71 IN NUMBER
85884 --Payables Encumbrance Upgrade Option
85885 , p_source_72 IN VARCHAR2
85886 --Invoice Distribution Amount
85887 , p_source_73 IN NUMBER
85888 --Deferred Accounting End Date
85889 , p_source_77 IN DATE
85890 --Deferred Accounting Option
85891 , p_source_78 IN VARCHAR2
85892 --Deferred Accounting Start Date
85893 , p_source_79 IN DATE
85894 --Override Accounted Amount Indicator
85895 , p_source_80 IN VARCHAR2
85896 , p_source_80_meaning IN VARCHAR2
85897 --Invoice Supplier Identifier
85898 , p_source_81 IN NUMBER
85899 --Invoice Supplier Site Identifier
85900 , p_source_82 IN NUMBER
85901 --Third Party Type
85902 , p_source_83 IN VARCHAR2
85903 --Parent Reversal Identifier
85904 , p_source_84 IN NUMBER
85905 --Invoice Distribution Tax Line Identifier
85906 , p_source_86 IN NUMBER
85907 --Invoice Distribution Tax Distribution Identifier from Tax
85908 , p_source_87 IN NUMBER
85909 --Invoice Distribution Summary Tax Line Identifier
85910 , p_source_88 IN NUMBER
85911 --Payables Upgrade Credit Encumbrance Type Identifier
85912 , p_source_89 IN NUMBER
85913 --Payables Upgrade Debit Encumbrance Type Identifier
85914 , p_source_90 IN NUMBER
85915 --Business Flow Accounts Payable Application Identifier
85916 , p_source_91 IN NUMBER
85917 --Business Flow Invoice Distribution Type
85918 , p_source_92 IN VARCHAR2
85919 --Business Flow Invoice Entity Code
85920 , p_source_93 IN VARCHAR2
85921 --Business Flow Invoice Distribution Identifier
85922 , p_source_94 IN NUMBER
85923 --Business Flow Invoice Identifier
85924 , p_source_95 IN NUMBER
85925 --Self-Assessed Tax Flag
85926 , p_source_142 IN VARCHAR2
85927 , p_source_142_meaning IN VARCHAR2
85928 --Invoice Exchange Date
85929 , p_source_143 IN DATE
85930 --Invoice Exchange Rate
85931 , p_source_144 IN NUMBER
85932 --Invoice Exchange Rate Type
85933 , p_source_145 IN VARCHAR2
85934 )
85935 IS
85936
85937 l_component_type VARCHAR2(80);
85938 l_component_code VARCHAR2(30);
85939 l_component_type_code VARCHAR2(1);
85940 l_component_appl_id INTEGER;
85941 l_amb_context_code VARCHAR2(30);
85942 l_entity_code VARCHAR2(30);
85943 l_event_class_code VARCHAR2(30);
85944 l_ae_header_id NUMBER;
85945 l_event_type_code VARCHAR2(30);
85946 l_line_definition_code VARCHAR2(30);
85947 l_line_definition_owner_code VARCHAR2(1);
85948 --
85949 -- adr variables
85950 l_segment VARCHAR2(30);
85951 l_ccid NUMBER;
85952 l_adr_transaction_coa_id NUMBER;
85953 l_adr_accounting_coa_id NUMBER;
85954 l_adr_flexfield_segment_code VARCHAR2(30);
85955 l_adr_flex_value_set_id NUMBER;
85956 l_adr_value_type_code VARCHAR2(30);
85957 l_adr_value_combination_id NUMBER;
85958 l_adr_value_segment_code VARCHAR2(30);
85959
85960 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
85961 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
85962 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
85963 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
85964
85965 -- 4262811 Variables ------------------------------------------------------------------------------------------
85966 l_entered_amt_idx NUMBER;
85967 l_accted_amt_idx NUMBER;
85968 l_acc_rev_flag VARCHAR2(1);
85969 l_accrual_line_num NUMBER;
85970 l_tmp_amt NUMBER;
85971 l_acc_rev_natural_side_code VARCHAR2(1);
85972
85973 l_num_entries NUMBER;
85974 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
85975 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
85976 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
85977 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
85978 l_recog_line_1 NUMBER;
85979 l_recog_line_2 NUMBER;
85980
85981 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
85985 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
85982 l_bflow_applied_to_amt NUMBER; -- 5132302
85983 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
85984
85986
85987 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
85988 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
85989
85990 ---------------------------------------------------------------------------------------------------------------
85991
85992
85993 --
85994 -- bulk performance
85995 --
85996 l_balance_type_code VARCHAR2(1);
85997 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
85998 l_log_module VARCHAR2(240);
85999
86000 --
86001 -- Upgrade strategy
86002 --
86003 l_actual_upg_option VARCHAR2(1);
86004 l_enc_upg_option VARCHAR2(1);
86005
86006 --
86007 BEGIN
86008 --
86009 IF g_log_enabled THEN
86010 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_153';
86011 END IF;
86012 --
86013 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
86014
86015 trace
86016 (p_msg => 'BEGIN of AcctLineType_153'
86017 ,p_level => C_LEVEL_PROCEDURE
86018 ,p_module => l_log_module);
86019
86020 END IF;
86021 --
86022 l_component_type := 'AMB_JLT';
86023 l_component_code := 'AP_LIAB_DM_AOS_BS';
86024 l_component_type_code := 'S';
86025 l_component_appl_id := 200;
86026 l_amb_context_code := 'DEFAULT';
86027 l_entity_code := 'AP_INVOICES';
86028 l_event_class_code := 'DEBIT MEMOS';
86029 l_event_type_code := 'DEBIT MEMOS_ALL';
86030 l_line_definition_owner_code := 'S';
86031 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
86032 --
86033 l_balance_type_code := 'A';
86034 l_segment := NULL;
86035 l_ccid := NULL;
86036 l_adr_transaction_coa_id := NULL;
86037 l_adr_accounting_coa_id := NULL;
86038 l_adr_flexfield_segment_code := NULL;
86039 l_adr_flex_value_set_id := NULL;
86040 l_adr_value_type_code := NULL;
86041 l_adr_value_combination_id := NULL;
86042 l_adr_value_segment_code := NULL;
86043
86044 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
86045 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
86046 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
86047 l_budgetary_control_flag := 'N';
86048
86049 l_bflow_applied_to_amt_idx := NULL; -- 5132302
86050 l_bflow_applied_to_amt := NULL; -- 5132302
86051 l_entered_amt_idx := NULL; -- 4262811
86052 l_accted_amt_idx := NULL; -- 4262811
86053 l_acc_rev_flag := NULL; -- 4262811
86054 l_accrual_line_num := NULL; -- 4262811
86055 l_tmp_amt := NULL; -- 4262811
86056 --
86057
86058 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
86059 l_balance_type_code <> 'B' THEN
86060 IF NVL(p_source_15,'
86061 ') = 'BALANCING_SEGMENT' AND
86062 NVL(p_source_142,'
86063 ') <> 'Y'
86064 THEN
86065
86066 --
86067 XLA_AE_LINES_PKG.SetNewLine;
86068
86069 p_balance_type_code := l_balance_type_code;
86070 -- set the flag so later we will know whether the gain loss line needs to be created
86071
86072 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
86073 p_actual_flag :='A';
86074 END IF;
86075
86076 --
86077 -- bulk performance
86078 --
86079 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
86080 p_header_num => 0); -- 4262811
86081 --
86082 -- set accounting line options
86083 --
86084 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
86085 p_natural_side_code => 'C'
86086 , p_gain_or_loss_flag => 'N'
86087 , p_gl_transfer_mode_code => 'S'
86088 , p_acct_entry_type_code => 'A'
86089 , p_switch_side_flag => 'Y'
86090 , p_merge_duplicate_code => 'A'
86091 );
86092 --
86093 l_acc_rev_natural_side_code := 'D'; -- 4262811
86094 --
86095 --
86096 -- set accounting line type info
86097 --
86098 xla_ae_lines_pkg.SetAcctLineType
86099 (p_component_type => l_component_type
86100 ,p_event_type_code => l_event_type_code
86101 ,p_line_definition_owner_code => l_line_definition_owner_code
86102 ,p_line_definition_code => l_line_definition_code
86103 ,p_accounting_line_code => l_component_code
86104 ,p_accounting_line_type_code => l_component_type_code
86105 ,p_accounting_line_appl_id => l_component_appl_id
86106 ,p_amb_context_code => l_amb_context_code
86107 ,p_entity_code => l_entity_code
86108 ,p_event_class_code => l_event_class_code);
86109 --
86110 -- set accounting class
86111 --
86112 xla_ae_lines_pkg.SetAcctClass(
86113 p_accounting_class_code => 'LIABILITY'
86114 , p_ae_header_id => l_ae_header_id
86115 );
86116
86117 --
86118 -- set rounding class
86119 --
86123 --
86120 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
86121 'LIABILITY';
86122
86124 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
86125 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
86126 --
86127 -- bulk performance
86128 --
86129 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
86130
86131 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
86132 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
86133
86134 -- 4955764
86135 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
86136 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
86137
86138 -- 4458381 Public Sector Enh
86139
86140 --
86141 -- set accounting attributes for the line type
86142 --
86143 l_entered_amt_idx := 23;
86144 l_accted_amt_idx := 28;
86145 l_bflow_applied_to_amt_idx := NULL; -- 5132302
86146 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
86147 l_rec_acct_attrs.array_char_value(1) := p_source_53;
86148 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
86149 l_rec_acct_attrs.array_num_value(2) :=
86150 xla_ae_sources_pkg.GetSystemSourceNum(
86151 p_source_code => 'XLA_EVENT_APPL_ID'
86152 , p_source_type_code => 'Y'
86153 , p_source_application_id => 602
86154 );
86155 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
86156 l_rec_acct_attrs.array_char_value(3) := p_source_55;
86157 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
86158 l_rec_acct_attrs.array_char_value(4) :=
86159 xla_ae_sources_pkg.GetSystemSourceChar(
86160 p_source_code => 'XLA_ENTITY_CODE'
86161 , p_source_type_code => 'Y'
86162 , p_source_application_id => 602
86163 );
86164 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
86165 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
86166 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
86167 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
86168 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
86169 l_rec_acct_attrs.array_num_value(7) := p_source_91;
86170 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
86171 l_rec_acct_attrs.array_char_value(8) := p_source_92;
86172 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
86173 l_rec_acct_attrs.array_char_value(9) := p_source_93;
86174 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
86175 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
86176 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
86177 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
86178 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
86179 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
86180 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
86181 l_rec_acct_attrs.array_char_value(13) := p_source_55;
86182 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
86183 l_rec_acct_attrs.array_num_value(14) := p_source_65;
86184 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
86185 l_rec_acct_attrs.array_num_value(15) := p_source_66;
86186 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
86187 l_rec_acct_attrs.array_char_value(16) := p_source_67;
86188 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
86189 l_rec_acct_attrs.array_num_value(17) := p_source_68;
86190 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
86191 l_rec_acct_attrs.array_num_value(18) := p_source_69;
86192 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
86193 l_rec_acct_attrs.array_num_value(19) := p_source_70;
86194 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
86195 l_rec_acct_attrs.array_char_value(20) := p_source_67;
86196 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
86197 l_rec_acct_attrs.array_num_value(21) := p_source_71;
86198 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
86199 l_rec_acct_attrs.array_char_value(22) := p_source_72;
86200 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
86201 l_rec_acct_attrs.array_num_value(23) := p_source_73;
86202 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
86203 l_rec_acct_attrs.array_char_value(24) := p_source_67;
86204 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
86205 l_rec_acct_attrs.array_date_value(25) := p_source_143;
86206 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
86207 l_rec_acct_attrs.array_num_value(26) := p_source_144;
86208 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
86209 l_rec_acct_attrs.array_char_value(27) := p_source_145;
86210 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
86211 l_rec_acct_attrs.array_num_value(28) := p_source_21;
86212 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
86213 l_rec_acct_attrs.array_date_value(29) := p_source_77;
86217 l_rec_acct_attrs.array_date_value(31) := p_source_79;
86214 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
86215 l_rec_acct_attrs.array_char_value(30) := p_source_78;
86216 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
86218 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
86219 l_rec_acct_attrs.array_char_value(32) := p_source_80;
86220 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
86221 l_rec_acct_attrs.array_num_value(33) := p_source_81;
86222 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
86223 l_rec_acct_attrs.array_num_value(34) := p_source_82;
86224 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
86225 l_rec_acct_attrs.array_char_value(35) := p_source_83;
86226 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
86227 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
86228 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
86229 l_rec_acct_attrs.array_char_value(37) := p_source_55;
86230 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
86231 l_rec_acct_attrs.array_num_value(38) := p_source_86;
86232 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
86233 l_rec_acct_attrs.array_num_value(39) := p_source_87;
86234 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
86235 l_rec_acct_attrs.array_num_value(40) := p_source_88;
86236 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
86237 l_rec_acct_attrs.array_num_value(41) := p_source_89;
86238 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
86239 l_rec_acct_attrs.array_num_value(42) := p_source_90;
86240
86241 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
86242 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
86243
86244 ---------------------------------------------------------------------------------------------------------------
86245 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
86246 ---------------------------------------------------------------------------------------------------------------
86247 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
86248
86249 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
86250 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
86251
86252 IF xla_accounting_cache_pkg.GetValueChar
86253 (p_source_code => 'LEDGER_CATEGORY_CODE'
86254 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
86255 AND l_bflow_method_code = 'PRIOR_ENTRY'
86256 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
86257 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
86258 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
86259 )
86260 THEN
86261 xla_ae_lines_pkg.BflowUpgEntry
86262 (p_business_method_code => l_bflow_method_code
86263 ,p_business_class_code => l_bflow_class_code
86264 ,p_balance_type => l_balance_type_code);
86265 ELSE
86266 NULL;
86267 XLA_AE_LINES_PKG.business_flow_validation(
86268 p_business_method_code => l_bflow_method_code
86269 ,p_business_class_code => l_bflow_class_code
86270 ,p_inherit_description_flag => l_inherit_desc_flag);
86271 END IF;
86272
86273 --
86274 -- call analytical criteria
86275 --
86276
86277 --
86278 -- call description
86279 --
86280
86281 xla_ae_lines_pkg.SetLineDescription(
86282 p_ae_header_id => l_ae_header_id
86283 ,p_description => Description_1 (
86284 p_application_id => p_application_id
86285 , p_ae_header_id => l_ae_header_id
86286 , p_source_1 => p_source_1
86287 )
86288 );
86289
86290
86291 --
86292 -- call ADRs
86293 -- Bug 4922099
86294 --
86295 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
86296 (NVL(l_actual_upg_option, 'N') = 'O') OR
86297 (NVL(l_enc_upg_option, 'N') = 'O')
86298 )
86299 THEN
86300 NULL;
86301 --
86302 --
86303
86304 l_ccid := AcctDerRule_34(
86305 p_application_id => p_application_id
86306 , p_ae_header_id => l_ae_header_id
86307 , p_source_34 => p_source_34
86308 , x_transaction_coa_id => l_adr_transaction_coa_id
86309 , x_accounting_coa_id => l_adr_accounting_coa_id
86310 , x_value_type_code => l_adr_value_type_code
86311 , p_side => 'NA'
86312 );
86313
86314 xla_ae_lines_pkg.set_ccid(
86315 p_code_combination_id => l_ccid
86316 , p_value_type_code => l_adr_value_type_code
86317 , p_transaction_coa_id => l_adr_transaction_coa_id
86318 , p_accounting_coa_id => l_adr_accounting_coa_id
86319 , p_adr_code => 'AP_LIAB'
86320 , p_adr_type_code => 'S'
86321 , p_component_type => l_component_type
86322 , p_component_code => l_component_code
86323 , p_component_type_code => l_component_type_code
86327 );
86324 , p_component_appl_id => l_component_appl_id
86325 , p_amb_context_code => l_amb_context_code
86326 , p_side => 'NA'
86328
86329
86330 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
86331 p_to_segment_code => 'GL_BALANCING'
86332 , p_segment_value => C_CHAR
86333 , p_from_segment_code => NULL
86334 , p_from_combination_id => NULL
86335 , p_value_type_code => NULL
86336 , p_transaction_coa_id => null
86337 , p_accounting_coa_id => null
86338 , p_flexfield_segment_code => NULL
86339 , p_flex_value_set_id => NULL
86340 , p_adr_code => NULL
86341 , p_adr_type_code => NULL
86342 , p_component_type => l_component_type
86343 , p_component_code => l_component_code
86344 , p_component_type_code => l_component_type_code
86345 , p_component_appl_id => l_component_appl_id
86346 , p_amb_context_code => l_amb_context_code
86347 , p_entity_code => 'AP_INVOICES'
86348 , p_event_class_code => 'DEBIT MEMOS'
86349 , p_side => 'NA'
86350 );
86351 --
86352
86353
86354 --
86355 --
86356 END IF;
86357 --
86358 -- Bug 4922099
86359 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
86360 (NVL(l_enc_upg_option, 'N') = 'O')
86361 ) AND
86362 (l_bflow_method_code = 'PRIOR_ENTRY')
86363 )
86364 THEN
86365 IF
86366 --
86367 1 = 2
86368 --
86369 THEN
86370 xla_accounting_err_pkg.build_message
86371 (p_appli_s_name => 'XLA'
86372 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
86373 ,p_token_1 => 'LINE_NUMBER'
86374 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
86375 ,p_token_2 => 'LINE_TYPE_NAME'
86376 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
86377 l_component_type
86378 ,l_component_code
86379 ,l_component_type_code
86380 ,l_component_appl_id
86381 ,l_amb_context_code
86382 ,l_entity_code
86383 ,l_event_class_code
86384 )
86385 ,p_token_3 => 'OWNER'
86386 ,p_value_3 => xla_lookups_pkg.get_meaning(
86387 p_lookup_type => 'XLA_OWNER_TYPE'
86388 ,p_lookup_code => l_component_type_code
86389 )
86390 ,p_token_4 => 'PRODUCT_NAME'
86391 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
86392 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
86393 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
86394 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
86395 ,p_ae_header_id => NULL
86396 );
86397
86398 IF (C_LEVEL_ERROR>= g_log_level) THEN
86399 trace
86400 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
86401 ,p_level => C_LEVEL_ERROR
86402 ,p_module => l_log_module);
86403 END IF;
86404 END IF;
86405 END IF;
86406 --
86407 --
86408 ------------------------------------------------------------------------------------------------
86409 -- 4219869 Business Flow
86410 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
86411 -- Prior Entry. Currently, the following code is always generated.
86412 ------------------------------------------------------------------------------------------------
86413 XLA_AE_LINES_PKG.ValidateCurrentLine;
86414
86415 ------------------------------------------------------------------------------------
86416 -- 4219869 Business Flow
86417 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
86418 ------------------------------------------------------------------------------------
86419 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
86420
86421 ----------------------------------------------------------------------------------
86422 -- 4219869 Business Flow
86423 -- Update journal entry status -- Need to generate this within IF <condition>
86427 ,p_balance_type_code => l_balance_type_code
86424 ----------------------------------------------------------------------------------
86425 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
86426 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
86428 );
86429
86430 -------------------------------------------------------------------------------------------
86431 -- 4262811 - Generate the Accrual Reversal lines
86432 -------------------------------------------------------------------------------------------
86433 BEGIN
86434 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
86435 (g_array_event(p_event_id).array_value_num('header_index'));
86436 IF l_acc_rev_flag IS NULL THEN
86437 l_acc_rev_flag := 'N';
86438 END IF;
86439 EXCEPTION
86440 WHEN OTHERS THEN
86441 l_acc_rev_flag := 'N';
86442 END;
86443 --
86444 IF (l_acc_rev_flag = 'Y') THEN
86445
86446 -- 4645092 ------------------------------------------------------------------------------
86447 -- To allow MPA report to determine if it should generate report process
86448 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
86449 ------------------------------------------------------------------------------------------
86450
86451 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
86452 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
86453 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
86454 -- call ADRs
86455 -- Bug 4922099
86456 --
86457 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
86458 (NVL(l_actual_upg_option, 'N') = 'O') OR
86459 (NVL(l_enc_upg_option, 'N') = 'O')
86460 )
86461 THEN
86462 NULL;
86463 --
86464 --
86465
86466 l_ccid := AcctDerRule_34(
86467 p_application_id => p_application_id
86468 , p_ae_header_id => l_ae_header_id
86469 , p_source_34 => p_source_34
86470 , x_transaction_coa_id => l_adr_transaction_coa_id
86471 , x_accounting_coa_id => l_adr_accounting_coa_id
86472 , x_value_type_code => l_adr_value_type_code
86473 , p_side => 'NA'
86474 );
86475
86476 xla_ae_lines_pkg.set_ccid(
86477 p_code_combination_id => l_ccid
86478 , p_value_type_code => l_adr_value_type_code
86479 , p_transaction_coa_id => l_adr_transaction_coa_id
86480 , p_accounting_coa_id => l_adr_accounting_coa_id
86481 , p_adr_code => 'AP_LIAB'
86482 , p_adr_type_code => 'S'
86483 , p_component_type => l_component_type
86484 , p_component_code => l_component_code
86485 , p_component_type_code => l_component_type_code
86486 , p_component_appl_id => l_component_appl_id
86487 , p_amb_context_code => l_amb_context_code
86488 , p_side => 'NA'
86489 );
86490
86491
86492 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
86493 p_to_segment_code => 'GL_BALANCING'
86494 , p_segment_value => C_CHAR
86495 , p_from_segment_code => NULL
86496 , p_from_combination_id => NULL
86497 , p_value_type_code => NULL
86498 , p_transaction_coa_id => null
86499 , p_accounting_coa_id => null
86500 , p_flexfield_segment_code => NULL
86501 , p_flex_value_set_id => NULL
86502 , p_adr_code => NULL
86503 , p_adr_type_code => NULL
86504 , p_component_type => l_component_type
86505 , p_component_code => l_component_code
86506 , p_component_type_code => l_component_type_code
86507 , p_component_appl_id => l_component_appl_id
86508 , p_amb_context_code => l_amb_context_code
86509 , p_entity_code => 'AP_INVOICES'
86510 , p_event_class_code => 'DEBIT MEMOS'
86511 , p_side => 'NA'
86512 );
86513 --
86514
86515
86516 --
86517 --
86518 END IF;
86519
86520 --
86521 -- Update the line information that should be overwritten
86522 --
86523 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
86524 p_header_num => 1);
86525 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
86526
86527 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
86528
86529 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
86530 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
86531 END IF;
86532
86533 --
86534 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
86535 --
86536 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
86537 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
86538 ELSE
86539 ---------------------------------------------------------------------------------------------------
86540 -- 4262811a Switch Sign
86541 ---------------------------------------------------------------------------------------------------
86545 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
86542 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
86543 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
86544 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
86546 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
86547 -- 5132302
86548 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
86549 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
86550
86551 END IF;
86552
86553 -- 4955764
86554 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
86555 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
86556
86557
86558 XLA_AE_LINES_PKG.ValidateCurrentLine;
86559 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
86560
86561 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
86562 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
86563 ,p_balance_type_code => l_balance_type_code);
86564
86565 END IF;
86566
86567 -----------------------------------------------------------------------------------------
86568 -- 4262811 Multiperiod Accounting
86569 -----------------------------------------------------------------------------------------
86570 -- No MPA option is assigned.
86571
86572
86573 END IF;
86574 END IF;
86575 --
86576
86577 --
86578 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
86579 trace
86580 (p_msg => 'END of AcctLineType_153'
86581 ,p_level => C_LEVEL_PROCEDURE
86582 ,p_module => l_log_module);
86583 END IF;
86584 --
86585 EXCEPTION
86586 WHEN xla_exceptions_pkg.application_exception THEN
86587 RAISE;
86588 WHEN OTHERS THEN
86589 xla_exceptions_pkg.raise_message
86590 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_153');
86591 END AcctLineType_153;
86592 --
86593
86594 ---------------------------------------
86595 --
86596 -- PRIVATE FUNCTION
86597 -- AcctLineType_154
86598 --
86599 ---------------------------------------
86600 PROCEDURE AcctLineType_154 (
86601 p_application_id IN NUMBER
86602 ,p_event_id IN NUMBER
86603 ,p_calculate_acctd_flag IN VARCHAR2
86604 ,p_calculate_g_l_flag IN VARCHAR2
86605 ,p_actual_flag IN OUT VARCHAR2
86606 ,p_balance_type_code OUT VARCHAR2
86607 ,p_gain_or_loss_ref OUT VARCHAR2
86608
86609 --Invoice Distribution Description
86610 , p_source_1 IN VARCHAR2
86611 --Automatic Offsets Value
86612 , p_source_15 IN VARCHAR2
86613 , p_source_15_meaning IN VARCHAR2
86614 --Invoice Distribution Ledger Amount
86615 , p_source_21 IN NUMBER
86616 --Invoice Liability Account
86617 , p_source_34 IN NUMBER
86618 --Accounting Reversal Indicator
86619 , p_source_53 IN VARCHAR2
86620 --Distribution Link Type
86621 , p_source_55 IN VARCHAR2
86622 --Allocation to Main Distribution Identifier
86623 , p_source_57 IN NUMBER
86624 --Invoice Identifier
86625 , p_source_58 IN NUMBER
86626 --Invoice Distribution Identifier
86627 , p_source_64 IN NUMBER
86628 --Payables Encumbrance Upgrade Credit Account
86629 , p_source_65 IN NUMBER
86630 --Payables Encumbrance Upgrade Credit Amount
86631 , p_source_66 IN NUMBER
86632 --Invoice Currency Code
86633 , p_source_67 IN VARCHAR2
86634 --Payables Encumbrance Upgrade Credit Base Amount
86635 , p_source_68 IN NUMBER
86636 --Payables Encumbrance Upgrade Debit Account
86637 , p_source_69 IN NUMBER
86638 --Payables Encumbrance Upgrade Debit Amount
86639 , p_source_70 IN NUMBER
86640 --Payables Encumbrance Upgrade Debit Base Amount
86641 , p_source_71 IN NUMBER
86642 --Payables Encumbrance Upgrade Option
86643 , p_source_72 IN VARCHAR2
86644 --Invoice Distribution Amount
86645 , p_source_73 IN NUMBER
86646 --Deferred Accounting End Date
86647 , p_source_77 IN DATE
86648 --Deferred Accounting Option
86649 , p_source_78 IN VARCHAR2
86650 --Deferred Accounting Start Date
86651 , p_source_79 IN DATE
86652 --Override Accounted Amount Indicator
86653 , p_source_80 IN VARCHAR2
86654 , p_source_80_meaning IN VARCHAR2
86655 --Invoice Supplier Identifier
86656 , p_source_81 IN NUMBER
86657 --Invoice Supplier Site Identifier
86658 , p_source_82 IN NUMBER
86659 --Third Party Type
86660 , p_source_83 IN VARCHAR2
86661 --Parent Reversal Identifier
86662 , p_source_84 IN NUMBER
86663 --Invoice Distribution Statistical Amount
86664 , p_source_85 IN NUMBER
86665 --Invoice Distribution Tax Line Identifier
86666 , p_source_86 IN NUMBER
86667 --Invoice Distribution Tax Distribution Identifier from Tax
86668 , p_source_87 IN NUMBER
86669 --Invoice Distribution Summary Tax Line Identifier
86670 , p_source_88 IN NUMBER
86674 , p_source_90 IN NUMBER
86671 --Payables Upgrade Credit Encumbrance Type Identifier
86672 , p_source_89 IN NUMBER
86673 --Payables Upgrade Debit Encumbrance Type Identifier
86675 --Business Flow Accounts Payable Application Identifier
86676 , p_source_91 IN NUMBER
86677 --Business Flow Invoice Distribution Type
86678 , p_source_92 IN VARCHAR2
86679 --Business Flow Invoice Entity Code
86680 , p_source_93 IN VARCHAR2
86681 --Business Flow Invoice Distribution Identifier
86682 , p_source_94 IN NUMBER
86683 --Business Flow Invoice Identifier
86684 , p_source_95 IN NUMBER
86685 --Self-Assessed Tax Flag
86686 , p_source_142 IN VARCHAR2
86687 , p_source_142_meaning IN VARCHAR2
86688 --Invoice Exchange Date
86689 , p_source_143 IN DATE
86690 --Invoice Exchange Rate
86691 , p_source_144 IN NUMBER
86692 --Invoice Exchange Rate Type
86693 , p_source_145 IN VARCHAR2
86694 --Invoice Type
86695 , p_source_165 IN VARCHAR2
86696 , p_source_165_meaning IN VARCHAR2
86697 )
86698 IS
86699
86700 l_component_type VARCHAR2(80);
86701 l_component_code VARCHAR2(30);
86702 l_component_type_code VARCHAR2(1);
86703 l_component_appl_id INTEGER;
86704 l_amb_context_code VARCHAR2(30);
86705 l_entity_code VARCHAR2(30);
86706 l_event_class_code VARCHAR2(30);
86707 l_ae_header_id NUMBER;
86708 l_event_type_code VARCHAR2(30);
86709 l_line_definition_code VARCHAR2(30);
86710 l_line_definition_owner_code VARCHAR2(1);
86711 --
86712 -- adr variables
86713 l_segment VARCHAR2(30);
86714 l_ccid NUMBER;
86715 l_adr_transaction_coa_id NUMBER;
86716 l_adr_accounting_coa_id NUMBER;
86717 l_adr_flexfield_segment_code VARCHAR2(30);
86718 l_adr_flex_value_set_id NUMBER;
86719 l_adr_value_type_code VARCHAR2(30);
86720 l_adr_value_combination_id NUMBER;
86721 l_adr_value_segment_code VARCHAR2(30);
86722
86723 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
86724 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
86725 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
86726 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
86727
86728 -- 4262811 Variables ------------------------------------------------------------------------------------------
86729 l_entered_amt_idx NUMBER;
86730 l_accted_amt_idx NUMBER;
86731 l_acc_rev_flag VARCHAR2(1);
86732 l_accrual_line_num NUMBER;
86733 l_tmp_amt NUMBER;
86734 l_acc_rev_natural_side_code VARCHAR2(1);
86735
86736 l_num_entries NUMBER;
86737 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
86738 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
86739 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
86740 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
86741 l_recog_line_1 NUMBER;
86742 l_recog_line_2 NUMBER;
86743
86744 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
86745 l_bflow_applied_to_amt NUMBER; -- 5132302
86746 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
86747
86748 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
86749
86750 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
86751 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
86752
86753 ---------------------------------------------------------------------------------------------------------------
86754
86755
86756 --
86757 -- bulk performance
86758 --
86759 l_balance_type_code VARCHAR2(1);
86760 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
86761 l_log_module VARCHAR2(240);
86762
86763 --
86764 -- Upgrade strategy
86765 --
86766 l_actual_upg_option VARCHAR2(1);
86767 l_enc_upg_option VARCHAR2(1);
86768
86769 --
86770 BEGIN
86771 --
86772 IF g_log_enabled THEN
86773 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_154';
86774 END IF;
86775 --
86776 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
86777
86778 trace
86779 (p_msg => 'BEGIN of AcctLineType_154'
86780 ,p_level => C_LEVEL_PROCEDURE
86781 ,p_module => l_log_module);
86782
86783 END IF;
86784 --
86785 l_component_type := 'AMB_JLT';
86786 l_component_code := 'AP_LIAB_INV';
86787 l_component_type_code := 'S';
86788 l_component_appl_id := 200;
86789 l_amb_context_code := 'DEFAULT';
86790 l_entity_code := 'AP_INVOICES';
86791 l_event_class_code := 'INVOICES';
86792 l_event_type_code := 'INVOICES_ALL';
86793 l_line_definition_owner_code := 'S';
86794 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
86795 --
86796 l_balance_type_code := 'A';
86797 l_segment := NULL;
86798 l_ccid := NULL;
86799 l_adr_transaction_coa_id := NULL;
86800 l_adr_accounting_coa_id := NULL;
86801 l_adr_flexfield_segment_code := NULL;
86805 l_adr_value_segment_code := NULL;
86802 l_adr_flex_value_set_id := NULL;
86803 l_adr_value_type_code := NULL;
86804 l_adr_value_combination_id := NULL;
86806
86807 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
86808 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
86809 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
86810 l_budgetary_control_flag := 'N';
86811
86812 l_bflow_applied_to_amt_idx := NULL; -- 5132302
86813 l_bflow_applied_to_amt := NULL; -- 5132302
86814 l_entered_amt_idx := NULL; -- 4262811
86815 l_accted_amt_idx := NULL; -- 4262811
86816 l_acc_rev_flag := NULL; -- 4262811
86817 l_accrual_line_num := NULL; -- 4262811
86818 l_tmp_amt := NULL; -- 4262811
86819 --
86820
86821 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
86822 l_balance_type_code <> 'B' THEN
86823 IF (NVL(p_source_15,'
86824 ') <> 'BALANCING_SEGMENT' AND
86825 NVL(p_source_15,'
86826 ') <> 'ACCOUNT_SEGMENT_VALUE') AND
86827 (NVL(p_source_165,'
86828 ') = 'STANDARD' OR
86829 NVL(p_source_165,'
86830 ') = 'MIXED' OR
86831 NVL(p_source_165,'
86832 ') = 'AWT' OR
86833 NVL(p_source_165,'
86834 ') = 'PO PRICE ADJUST' OR
86835 NVL(p_source_165,'
86836 ') = 'EXPENSE REPORT' OR
86837 NVL(p_source_165,'
86838 ') = 'PAYMENT REQUEST' OR
86839 NVL(p_source_165,'
86840 ') = 'RETAINAGE RELEASE') AND
86841 NVL(p_source_142,'
86842 ') <> 'Y'
86843 THEN
86844
86845 --
86846 XLA_AE_LINES_PKG.SetNewLine;
86847
86848 p_balance_type_code := l_balance_type_code;
86849 -- set the flag so later we will know whether the gain loss line needs to be created
86850
86851 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
86852 p_actual_flag :='A';
86853 END IF;
86854
86855 --
86856 -- bulk performance
86857 --
86858 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
86859 p_header_num => 0); -- 4262811
86860 --
86861 -- set accounting line options
86862 --
86863 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
86864 p_natural_side_code => 'C'
86865 , p_gain_or_loss_flag => 'N'
86866 , p_gl_transfer_mode_code => 'S'
86867 , p_acct_entry_type_code => 'A'
86868 , p_switch_side_flag => 'Y'
86869 , p_merge_duplicate_code => 'A'
86870 );
86871 --
86872 l_acc_rev_natural_side_code := 'D'; -- 4262811
86873 --
86874 --
86875 -- set accounting line type info
86876 --
86877 xla_ae_lines_pkg.SetAcctLineType
86878 (p_component_type => l_component_type
86879 ,p_event_type_code => l_event_type_code
86880 ,p_line_definition_owner_code => l_line_definition_owner_code
86881 ,p_line_definition_code => l_line_definition_code
86882 ,p_accounting_line_code => l_component_code
86883 ,p_accounting_line_type_code => l_component_type_code
86884 ,p_accounting_line_appl_id => l_component_appl_id
86885 ,p_amb_context_code => l_amb_context_code
86886 ,p_entity_code => l_entity_code
86887 ,p_event_class_code => l_event_class_code);
86888 --
86889 -- set accounting class
86890 --
86891 xla_ae_lines_pkg.SetAcctClass(
86892 p_accounting_class_code => 'LIABILITY'
86893 , p_ae_header_id => l_ae_header_id
86894 );
86895
86896 --
86897 -- set rounding class
86898 --
86899 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
86900 'LIABILITY';
86901
86902 --
86903 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
86904 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
86905 --
86906 -- bulk performance
86907 --
86908 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
86909
86910 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
86911 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
86912
86913 -- 4955764
86914 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
86915 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
86916
86917 -- 4458381 Public Sector Enh
86918
86919 --
86920 -- set accounting attributes for the line type
86921 --
86922 l_entered_amt_idx := 24;
86923 l_accted_amt_idx := 29;
86924 l_bflow_applied_to_amt_idx := 7; -- 5132302
86925 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
86926 l_rec_acct_attrs.array_char_value(1) := p_source_53;
86927 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
86928 l_rec_acct_attrs.array_num_value(2) :=
86929 xla_ae_sources_pkg.GetSystemSourceNum(
86930 p_source_code => 'XLA_EVENT_APPL_ID'
86931 , p_source_type_code => 'Y'
86935 l_rec_acct_attrs.array_char_value(3) := p_source_55;
86932 , p_source_application_id => 602
86933 );
86934 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
86936 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
86937 l_rec_acct_attrs.array_char_value(4) :=
86938 xla_ae_sources_pkg.GetSystemSourceChar(
86939 p_source_code => 'XLA_ENTITY_CODE'
86940 , p_source_type_code => 'Y'
86941 , p_source_application_id => 602
86942 );
86943 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
86944 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
86945 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
86946 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
86947 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
86948 l_rec_acct_attrs.array_num_value(7) := p_source_73;
86949 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
86950 l_rec_acct_attrs.array_num_value(8) := p_source_91;
86951 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
86952 l_rec_acct_attrs.array_char_value(9) := p_source_92;
86953 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
86954 l_rec_acct_attrs.array_char_value(10) := p_source_93;
86955 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
86956 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
86957 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
86958 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_95);
86959 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
86960 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_64);
86961 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
86962 l_rec_acct_attrs.array_char_value(14) := p_source_55;
86963 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
86964 l_rec_acct_attrs.array_num_value(15) := p_source_65;
86965 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
86966 l_rec_acct_attrs.array_num_value(16) := p_source_66;
86967 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
86968 l_rec_acct_attrs.array_char_value(17) := p_source_67;
86969 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
86970 l_rec_acct_attrs.array_num_value(18) := p_source_68;
86971 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
86972 l_rec_acct_attrs.array_num_value(19) := p_source_69;
86973 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
86974 l_rec_acct_attrs.array_num_value(20) := p_source_70;
86975 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
86976 l_rec_acct_attrs.array_char_value(21) := p_source_67;
86977 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
86978 l_rec_acct_attrs.array_num_value(22) := p_source_71;
86979 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
86980 l_rec_acct_attrs.array_char_value(23) := p_source_72;
86981 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
86982 l_rec_acct_attrs.array_num_value(24) := p_source_73;
86983 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
86984 l_rec_acct_attrs.array_char_value(25) := p_source_67;
86985 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
86986 l_rec_acct_attrs.array_date_value(26) := p_source_143;
86987 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
86988 l_rec_acct_attrs.array_num_value(27) := p_source_144;
86989 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
86990 l_rec_acct_attrs.array_char_value(28) := p_source_145;
86991 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
86992 l_rec_acct_attrs.array_num_value(29) := p_source_21;
86993 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
86994 l_rec_acct_attrs.array_date_value(30) := p_source_77;
86995 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
86996 l_rec_acct_attrs.array_char_value(31) := p_source_78;
86997 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
86998 l_rec_acct_attrs.array_date_value(32) := p_source_79;
86999 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
87000 l_rec_acct_attrs.array_char_value(33) := p_source_80;
87001 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
87002 l_rec_acct_attrs.array_num_value(34) := p_source_81;
87003 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
87004 l_rec_acct_attrs.array_num_value(35) := p_source_82;
87005 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
87006 l_rec_acct_attrs.array_char_value(36) := p_source_83;
87007 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
87008 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_84);
87009 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
87010 l_rec_acct_attrs.array_char_value(38) := p_source_55;
87011 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
87012 l_rec_acct_attrs.array_num_value(39) := p_source_85;
87013 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
87014 l_rec_acct_attrs.array_num_value(40) := p_source_86;
87015 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
87016 l_rec_acct_attrs.array_num_value(41) := p_source_87;
87017 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
87021 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
87018 l_rec_acct_attrs.array_num_value(42) := p_source_88;
87019 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
87020 l_rec_acct_attrs.array_num_value(43) := p_source_89;
87022 l_rec_acct_attrs.array_num_value(44) := p_source_90;
87023
87024 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
87025 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
87026
87027 ---------------------------------------------------------------------------------------------------------------
87028 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
87029 ---------------------------------------------------------------------------------------------------------------
87030 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
87031
87032 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
87033 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
87034
87035 IF xla_accounting_cache_pkg.GetValueChar
87036 (p_source_code => 'LEDGER_CATEGORY_CODE'
87037 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
87038 AND l_bflow_method_code = 'PRIOR_ENTRY'
87039 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
87040 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
87041 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
87042 )
87043 THEN
87044 xla_ae_lines_pkg.BflowUpgEntry
87045 (p_business_method_code => l_bflow_method_code
87046 ,p_business_class_code => l_bflow_class_code
87047 ,p_balance_type => l_balance_type_code);
87048 ELSE
87049 NULL;
87050 -- No business flow processing for business flow method of NONE.
87051 END IF;
87052
87053 --
87054 -- call analytical criteria
87055 --
87056
87057 --
87058 -- call description
87059 --
87060
87061 xla_ae_lines_pkg.SetLineDescription(
87062 p_ae_header_id => l_ae_header_id
87063 ,p_description => Description_1 (
87064 p_application_id => p_application_id
87065 , p_ae_header_id => l_ae_header_id
87066 , p_source_1 => p_source_1
87067 )
87068 );
87069
87070
87071 --
87072 -- call ADRs
87073 -- Bug 4922099
87074 --
87075 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
87076 (NVL(l_actual_upg_option, 'N') = 'O') OR
87077 (NVL(l_enc_upg_option, 'N') = 'O')
87078 )
87079 THEN
87080 NULL;
87081 --
87082 --
87083
87084 l_ccid := AcctDerRule_34(
87085 p_application_id => p_application_id
87086 , p_ae_header_id => l_ae_header_id
87087 , p_source_34 => p_source_34
87088 , x_transaction_coa_id => l_adr_transaction_coa_id
87089 , x_accounting_coa_id => l_adr_accounting_coa_id
87090 , x_value_type_code => l_adr_value_type_code
87091 , p_side => 'NA'
87092 );
87093
87094 xla_ae_lines_pkg.set_ccid(
87095 p_code_combination_id => l_ccid
87096 , p_value_type_code => l_adr_value_type_code
87097 , p_transaction_coa_id => l_adr_transaction_coa_id
87098 , p_accounting_coa_id => l_adr_accounting_coa_id
87099 , p_adr_code => 'AP_LIAB'
87100 , p_adr_type_code => 'S'
87101 , p_component_type => l_component_type
87102 , p_component_code => l_component_code
87103 , p_component_type_code => l_component_type_code
87104 , p_component_appl_id => l_component_appl_id
87105 , p_amb_context_code => l_amb_context_code
87106 , p_side => 'NA'
87107 );
87108
87109
87110 --
87111 --
87112 END IF;
87113 --
87114 -- Bug 4922099
87115 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
87116 (NVL(l_enc_upg_option, 'N') = 'O')
87117 ) AND
87118 (l_bflow_method_code = 'PRIOR_ENTRY')
87119 )
87120 THEN
87121 IF
87122 --
87123 1 = 2
87124 --
87125 THEN
87126 xla_accounting_err_pkg.build_message
87127 (p_appli_s_name => 'XLA'
87128 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
87129 ,p_token_1 => 'LINE_NUMBER'
87130 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
87131 ,p_token_2 => 'LINE_TYPE_NAME'
87132 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
87133 l_component_type
87134 ,l_component_code
87135 ,l_component_type_code
87136 ,l_component_appl_id
87140 )
87137 ,l_amb_context_code
87138 ,l_entity_code
87139 ,l_event_class_code
87141 ,p_token_3 => 'OWNER'
87142 ,p_value_3 => xla_lookups_pkg.get_meaning(
87143 p_lookup_type => 'XLA_OWNER_TYPE'
87144 ,p_lookup_code => l_component_type_code
87145 )
87146 ,p_token_4 => 'PRODUCT_NAME'
87147 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
87148 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
87149 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
87150 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
87151 ,p_ae_header_id => NULL
87152 );
87153
87154 IF (C_LEVEL_ERROR>= g_log_level) THEN
87155 trace
87156 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
87157 ,p_level => C_LEVEL_ERROR
87158 ,p_module => l_log_module);
87159 END IF;
87160 END IF;
87161 END IF;
87162 --
87163 --
87164 ------------------------------------------------------------------------------------------------
87165 -- 4219869 Business Flow
87166 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
87167 -- Prior Entry. Currently, the following code is always generated.
87168 ------------------------------------------------------------------------------------------------
87169 XLA_AE_LINES_PKG.ValidateCurrentLine;
87170
87171 ------------------------------------------------------------------------------------
87172 -- 4219869 Business Flow
87173 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
87174 ------------------------------------------------------------------------------------
87175 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
87176
87177 ----------------------------------------------------------------------------------
87178 -- 4219869 Business Flow
87179 -- Update journal entry status -- Need to generate this within IF <condition>
87180 ----------------------------------------------------------------------------------
87181 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
87182 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
87183 ,p_balance_type_code => l_balance_type_code
87184 );
87185
87186 -------------------------------------------------------------------------------------------
87187 -- 4262811 - Generate the Accrual Reversal lines
87188 -------------------------------------------------------------------------------------------
87189 BEGIN
87190 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
87191 (g_array_event(p_event_id).array_value_num('header_index'));
87192 IF l_acc_rev_flag IS NULL THEN
87193 l_acc_rev_flag := 'N';
87194 END IF;
87195 EXCEPTION
87196 WHEN OTHERS THEN
87197 l_acc_rev_flag := 'N';
87198 END;
87199 --
87200 IF (l_acc_rev_flag = 'Y') THEN
87201
87202 -- 4645092 ------------------------------------------------------------------------------
87203 -- To allow MPA report to determine if it should generate report process
87204 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
87205 ------------------------------------------------------------------------------------------
87206
87207 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
87208 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
87209 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
87210 -- call ADRs
87211 -- Bug 4922099
87212 --
87213 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
87214 (NVL(l_actual_upg_option, 'N') = 'O') OR
87215 (NVL(l_enc_upg_option, 'N') = 'O')
87216 )
87217 THEN
87218 NULL;
87219 --
87220 --
87221
87222 l_ccid := AcctDerRule_34(
87223 p_application_id => p_application_id
87224 , p_ae_header_id => l_ae_header_id
87225 , p_source_34 => p_source_34
87226 , x_transaction_coa_id => l_adr_transaction_coa_id
87227 , x_accounting_coa_id => l_adr_accounting_coa_id
87228 , x_value_type_code => l_adr_value_type_code
87229 , p_side => 'NA'
87230 );
87231
87232 xla_ae_lines_pkg.set_ccid(
87233 p_code_combination_id => l_ccid
87234 , p_value_type_code => l_adr_value_type_code
87235 , p_transaction_coa_id => l_adr_transaction_coa_id
87236 , p_accounting_coa_id => l_adr_accounting_coa_id
87237 , p_adr_code => 'AP_LIAB'
87238 , p_adr_type_code => 'S'
87242 , p_component_appl_id => l_component_appl_id
87239 , p_component_type => l_component_type
87240 , p_component_code => l_component_code
87241 , p_component_type_code => l_component_type_code
87243 , p_amb_context_code => l_amb_context_code
87244 , p_side => 'NA'
87245 );
87246
87247
87248 --
87249 --
87250 END IF;
87251
87252 --
87253 -- Update the line information that should be overwritten
87254 --
87255 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
87256 p_header_num => 1);
87257 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
87258
87259 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
87260
87261 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
87262 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
87263 END IF;
87264
87265 --
87266 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
87267 --
87268 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
87269 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
87270 ELSE
87271 ---------------------------------------------------------------------------------------------------
87272 -- 4262811a Switch Sign
87273 ---------------------------------------------------------------------------------------------------
87274 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
87275 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
87276 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
87277 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
87278 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
87279 -- 5132302
87280 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
87281 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
87282
87283 END IF;
87284
87285 -- 4955764
87286 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
87287 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
87288
87289
87290 XLA_AE_LINES_PKG.ValidateCurrentLine;
87291 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
87292
87293 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
87294 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
87295 ,p_balance_type_code => l_balance_type_code);
87296
87297 END IF;
87298
87299 -----------------------------------------------------------------------------------------
87300 -- 4262811 Multiperiod Accounting
87301 -----------------------------------------------------------------------------------------
87302 -- No MPA option is assigned.
87303
87304
87305 END IF;
87306 END IF;
87307 --
87308
87309 --
87310 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
87311 trace
87312 (p_msg => 'END of AcctLineType_154'
87313 ,p_level => C_LEVEL_PROCEDURE
87314 ,p_module => l_log_module);
87315 END IF;
87316 --
87317 EXCEPTION
87318 WHEN xla_exceptions_pkg.application_exception THEN
87319 RAISE;
87320 WHEN OTHERS THEN
87321 xla_exceptions_pkg.raise_message
87322 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_154');
87323 END AcctLineType_154;
87324 --
87325
87326 ---------------------------------------
87327 --
87328 -- PRIVATE FUNCTION
87329 -- AcctLineType_155
87330 --
87331 ---------------------------------------
87332 PROCEDURE AcctLineType_155 (
87333 p_application_id IN NUMBER
87334 ,p_event_id IN NUMBER
87335 ,p_calculate_acctd_flag IN VARCHAR2
87336 ,p_calculate_g_l_flag IN VARCHAR2
87337 ,p_actual_flag IN OUT VARCHAR2
87338 ,p_balance_type_code OUT VARCHAR2
87339 ,p_gain_or_loss_ref OUT VARCHAR2
87340
87341 --Invoice Distribution Description
87342 , p_source_1 IN VARCHAR2
87343 --Automatic Offsets Value
87344 , p_source_15 IN VARCHAR2
87345 , p_source_15_meaning IN VARCHAR2
87346 --Invoice Distribution Ledger Amount
87347 , p_source_21 IN NUMBER
87348 --Invoice Liability Account
87349 , p_source_34 IN NUMBER
87350 --Accounting Reversal Indicator
87351 , p_source_53 IN VARCHAR2
87352 --Distribution Link Type
87353 , p_source_55 IN VARCHAR2
87354 --Allocation to Main Distribution Identifier
87355 , p_source_57 IN NUMBER
87356 --Invoice Identifier
87357 , p_source_58 IN NUMBER
87358 --Invoice Distribution Identifier
87359 , p_source_64 IN NUMBER
87360 --Payables Encumbrance Upgrade Credit Account
87361 , p_source_65 IN NUMBER
87362 --Payables Encumbrance Upgrade Credit Amount
87366 --Payables Encumbrance Upgrade Credit Base Amount
87363 , p_source_66 IN NUMBER
87364 --Invoice Currency Code
87365 , p_source_67 IN VARCHAR2
87367 , p_source_68 IN NUMBER
87368 --Payables Encumbrance Upgrade Debit Account
87369 , p_source_69 IN NUMBER
87370 --Payables Encumbrance Upgrade Debit Amount
87371 , p_source_70 IN NUMBER
87372 --Payables Encumbrance Upgrade Debit Base Amount
87373 , p_source_71 IN NUMBER
87374 --Payables Encumbrance Upgrade Option
87375 , p_source_72 IN VARCHAR2
87376 --Invoice Distribution Amount
87377 , p_source_73 IN NUMBER
87378 --Deferred Accounting End Date
87379 , p_source_77 IN DATE
87380 --Deferred Accounting Option
87381 , p_source_78 IN VARCHAR2
87382 --Deferred Accounting Start Date
87383 , p_source_79 IN DATE
87384 --Override Accounted Amount Indicator
87385 , p_source_80 IN VARCHAR2
87386 , p_source_80_meaning IN VARCHAR2
87387 --Invoice Supplier Identifier
87388 , p_source_81 IN NUMBER
87389 --Invoice Supplier Site Identifier
87390 , p_source_82 IN NUMBER
87391 --Third Party Type
87392 , p_source_83 IN VARCHAR2
87393 --Parent Reversal Identifier
87394 , p_source_84 IN NUMBER
87395 --Invoice Distribution Statistical Amount
87396 , p_source_85 IN NUMBER
87397 --Invoice Distribution Tax Line Identifier
87398 , p_source_86 IN NUMBER
87399 --Invoice Distribution Tax Distribution Identifier from Tax
87400 , p_source_87 IN NUMBER
87401 --Invoice Distribution Summary Tax Line Identifier
87402 , p_source_88 IN NUMBER
87403 --Payables Upgrade Credit Encumbrance Type Identifier
87404 , p_source_89 IN NUMBER
87405 --Payables Upgrade Debit Encumbrance Type Identifier
87406 , p_source_90 IN NUMBER
87407 --Business Flow Accounts Payable Application Identifier
87408 , p_source_91 IN NUMBER
87409 --Business Flow Invoice Distribution Type
87410 , p_source_92 IN VARCHAR2
87411 --Business Flow Invoice Entity Code
87412 , p_source_93 IN VARCHAR2
87413 --Business Flow Invoice Distribution Identifier
87414 , p_source_94 IN NUMBER
87415 --Business Flow Invoice Identifier
87416 , p_source_95 IN NUMBER
87417 --Self-Assessed Tax Flag
87418 , p_source_142 IN VARCHAR2
87419 , p_source_142_meaning IN VARCHAR2
87420 --Invoice Exchange Date
87421 , p_source_143 IN DATE
87422 --Invoice Exchange Rate
87423 , p_source_144 IN NUMBER
87424 --Invoice Exchange Rate Type
87425 , p_source_145 IN VARCHAR2
87426 --Invoice Type
87427 , p_source_165 IN VARCHAR2
87428 , p_source_165_meaning IN VARCHAR2
87429 )
87430 IS
87431
87432 l_component_type VARCHAR2(80);
87433 l_component_code VARCHAR2(30);
87434 l_component_type_code VARCHAR2(1);
87435 l_component_appl_id INTEGER;
87436 l_amb_context_code VARCHAR2(30);
87437 l_entity_code VARCHAR2(30);
87438 l_event_class_code VARCHAR2(30);
87439 l_ae_header_id NUMBER;
87440 l_event_type_code VARCHAR2(30);
87441 l_line_definition_code VARCHAR2(30);
87442 l_line_definition_owner_code VARCHAR2(1);
87443 --
87444 -- adr variables
87445 l_segment VARCHAR2(30);
87446 l_ccid NUMBER;
87447 l_adr_transaction_coa_id NUMBER;
87448 l_adr_accounting_coa_id NUMBER;
87449 l_adr_flexfield_segment_code VARCHAR2(30);
87450 l_adr_flex_value_set_id NUMBER;
87451 l_adr_value_type_code VARCHAR2(30);
87452 l_adr_value_combination_id NUMBER;
87453 l_adr_value_segment_code VARCHAR2(30);
87454
87455 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
87456 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
87457 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
87458 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
87459
87460 -- 4262811 Variables ------------------------------------------------------------------------------------------
87461 l_entered_amt_idx NUMBER;
87462 l_accted_amt_idx NUMBER;
87463 l_acc_rev_flag VARCHAR2(1);
87464 l_accrual_line_num NUMBER;
87465 l_tmp_amt NUMBER;
87466 l_acc_rev_natural_side_code VARCHAR2(1);
87467
87468 l_num_entries NUMBER;
87469 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
87470 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
87471 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
87472 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
87473 l_recog_line_1 NUMBER;
87474 l_recog_line_2 NUMBER;
87475
87476 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
87477 l_bflow_applied_to_amt NUMBER; -- 5132302
87478 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
87479
87480 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
87481
87482 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
87483 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
87484
87488 --
87485 ---------------------------------------------------------------------------------------------------------------
87486
87487
87489 -- bulk performance
87490 --
87491 l_balance_type_code VARCHAR2(1);
87492 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
87493 l_log_module VARCHAR2(240);
87494
87495 --
87496 -- Upgrade strategy
87497 --
87498 l_actual_upg_option VARCHAR2(1);
87499 l_enc_upg_option VARCHAR2(1);
87500
87501 --
87502 BEGIN
87503 --
87504 IF g_log_enabled THEN
87505 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_155';
87506 END IF;
87507 --
87508 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
87509
87510 trace
87511 (p_msg => 'BEGIN of AcctLineType_155'
87512 ,p_level => C_LEVEL_PROCEDURE
87513 ,p_module => l_log_module);
87514
87515 END IF;
87516 --
87517 l_component_type := 'AMB_JLT';
87518 l_component_code := 'AP_LIAB_INV_AOS_AS';
87519 l_component_type_code := 'S';
87520 l_component_appl_id := 200;
87521 l_amb_context_code := 'DEFAULT';
87522 l_entity_code := 'AP_INVOICES';
87523 l_event_class_code := 'INVOICES';
87524 l_event_type_code := 'INVOICES_ALL';
87525 l_line_definition_owner_code := 'S';
87526 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
87527 --
87528 l_balance_type_code := 'A';
87529 l_segment := NULL;
87530 l_ccid := NULL;
87531 l_adr_transaction_coa_id := NULL;
87532 l_adr_accounting_coa_id := NULL;
87533 l_adr_flexfield_segment_code := NULL;
87534 l_adr_flex_value_set_id := NULL;
87535 l_adr_value_type_code := NULL;
87536 l_adr_value_combination_id := NULL;
87537 l_adr_value_segment_code := NULL;
87538
87539 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
87540 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
87541 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
87542 l_budgetary_control_flag := 'N';
87543
87544 l_bflow_applied_to_amt_idx := NULL; -- 5132302
87545 l_bflow_applied_to_amt := NULL; -- 5132302
87546 l_entered_amt_idx := NULL; -- 4262811
87547 l_accted_amt_idx := NULL; -- 4262811
87548 l_acc_rev_flag := NULL; -- 4262811
87549 l_accrual_line_num := NULL; -- 4262811
87550 l_tmp_amt := NULL; -- 4262811
87551 --
87552
87553 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
87554 l_balance_type_code <> 'B' THEN
87555 IF NVL(p_source_15,'
87556 ') = 'ACCOUNT_SEGMENT_VALUE' AND
87557 (NVL(p_source_165,'
87558 ') = 'STANDARD' OR
87559 NVL(p_source_165,'
87560 ') = 'MIXED' OR
87561 NVL(p_source_165,'
87562 ') = 'AWT' OR
87563 NVL(p_source_165,'
87564 ') = 'PO PRICE ADJUST' OR
87565 NVL(p_source_165,'
87566 ') = 'EXPENSE REPORT' OR
87567 NVL(p_source_165,'
87568 ') = 'PAYMENT REQUEST' OR
87569 NVL(p_source_165,'
87570 ') = 'RETAINAGE RELEASE') AND
87571 NVL(p_source_142,'
87572 ') <> 'Y'
87573 THEN
87574
87575 --
87576 XLA_AE_LINES_PKG.SetNewLine;
87577
87578 p_balance_type_code := l_balance_type_code;
87579 -- set the flag so later we will know whether the gain loss line needs to be created
87580
87581 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
87582 p_actual_flag :='A';
87583 END IF;
87584
87585 --
87586 -- bulk performance
87587 --
87588 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
87589 p_header_num => 0); -- 4262811
87590 --
87591 -- set accounting line options
87592 --
87593 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
87594 p_natural_side_code => 'C'
87595 , p_gain_or_loss_flag => 'N'
87596 , p_gl_transfer_mode_code => 'S'
87597 , p_acct_entry_type_code => 'A'
87598 , p_switch_side_flag => 'Y'
87599 , p_merge_duplicate_code => 'A'
87600 );
87601 --
87602 l_acc_rev_natural_side_code := 'D'; -- 4262811
87603 --
87604 --
87605 -- set accounting line type info
87606 --
87607 xla_ae_lines_pkg.SetAcctLineType
87608 (p_component_type => l_component_type
87609 ,p_event_type_code => l_event_type_code
87610 ,p_line_definition_owner_code => l_line_definition_owner_code
87611 ,p_line_definition_code => l_line_definition_code
87612 ,p_accounting_line_code => l_component_code
87613 ,p_accounting_line_type_code => l_component_type_code
87614 ,p_accounting_line_appl_id => l_component_appl_id
87615 ,p_amb_context_code => l_amb_context_code
87616 ,p_entity_code => l_entity_code
87617 ,p_event_class_code => l_event_class_code);
87618 --
87619 -- set accounting class
87620 --
87621 xla_ae_lines_pkg.SetAcctClass(
87622 p_accounting_class_code => 'LIABILITY'
87623 , p_ae_header_id => l_ae_header_id
87624 );
87628 --
87625
87626 --
87627 -- set rounding class
87629 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
87630 'LIABILITY';
87631
87632 --
87633 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
87634 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
87635 --
87636 -- bulk performance
87637 --
87638 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
87639
87640 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
87641 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
87642
87643 -- 4955764
87644 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
87645 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
87646
87647 -- 4458381 Public Sector Enh
87648
87649 --
87650 -- set accounting attributes for the line type
87651 --
87652 l_entered_amt_idx := 24;
87653 l_accted_amt_idx := 29;
87654 l_bflow_applied_to_amt_idx := 7; -- 5132302
87655 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
87656 l_rec_acct_attrs.array_char_value(1) := p_source_53;
87657 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
87658 l_rec_acct_attrs.array_num_value(2) :=
87659 xla_ae_sources_pkg.GetSystemSourceNum(
87660 p_source_code => 'XLA_EVENT_APPL_ID'
87661 , p_source_type_code => 'Y'
87662 , p_source_application_id => 602
87663 );
87664 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
87665 l_rec_acct_attrs.array_char_value(3) := p_source_55;
87666 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
87667 l_rec_acct_attrs.array_char_value(4) :=
87668 xla_ae_sources_pkg.GetSystemSourceChar(
87669 p_source_code => 'XLA_ENTITY_CODE'
87670 , p_source_type_code => 'Y'
87671 , p_source_application_id => 602
87672 );
87673 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
87674 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
87675 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
87676 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
87677 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
87678 l_rec_acct_attrs.array_num_value(7) := p_source_73;
87679 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
87680 l_rec_acct_attrs.array_num_value(8) := p_source_91;
87681 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
87682 l_rec_acct_attrs.array_char_value(9) := p_source_92;
87683 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
87684 l_rec_acct_attrs.array_char_value(10) := p_source_93;
87685 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
87686 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
87687 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
87688 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_95);
87689 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
87690 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_64);
87691 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
87692 l_rec_acct_attrs.array_char_value(14) := p_source_55;
87693 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
87694 l_rec_acct_attrs.array_num_value(15) := p_source_65;
87695 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
87696 l_rec_acct_attrs.array_num_value(16) := p_source_66;
87697 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
87698 l_rec_acct_attrs.array_char_value(17) := p_source_67;
87699 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
87700 l_rec_acct_attrs.array_num_value(18) := p_source_68;
87701 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
87702 l_rec_acct_attrs.array_num_value(19) := p_source_69;
87703 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
87704 l_rec_acct_attrs.array_num_value(20) := p_source_70;
87705 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
87706 l_rec_acct_attrs.array_char_value(21) := p_source_67;
87707 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
87708 l_rec_acct_attrs.array_num_value(22) := p_source_71;
87709 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
87710 l_rec_acct_attrs.array_char_value(23) := p_source_72;
87711 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
87712 l_rec_acct_attrs.array_num_value(24) := p_source_73;
87713 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
87714 l_rec_acct_attrs.array_char_value(25) := p_source_67;
87715 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
87716 l_rec_acct_attrs.array_date_value(26) := p_source_143;
87717 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
87718 l_rec_acct_attrs.array_num_value(27) := p_source_144;
87719 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
87720 l_rec_acct_attrs.array_char_value(28) := p_source_145;
87721 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
87725 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
87722 l_rec_acct_attrs.array_num_value(29) := p_source_21;
87723 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
87724 l_rec_acct_attrs.array_date_value(30) := p_source_77;
87726 l_rec_acct_attrs.array_char_value(31) := p_source_78;
87727 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
87728 l_rec_acct_attrs.array_date_value(32) := p_source_79;
87729 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
87730 l_rec_acct_attrs.array_char_value(33) := p_source_80;
87731 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
87732 l_rec_acct_attrs.array_num_value(34) := p_source_81;
87733 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
87734 l_rec_acct_attrs.array_num_value(35) := p_source_82;
87735 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
87736 l_rec_acct_attrs.array_char_value(36) := p_source_83;
87737 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
87738 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_84);
87739 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
87740 l_rec_acct_attrs.array_char_value(38) := p_source_55;
87741 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
87742 l_rec_acct_attrs.array_num_value(39) := p_source_85;
87743 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
87744 l_rec_acct_attrs.array_num_value(40) := p_source_86;
87745 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
87746 l_rec_acct_attrs.array_num_value(41) := p_source_87;
87747 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
87748 l_rec_acct_attrs.array_num_value(42) := p_source_88;
87749 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
87750 l_rec_acct_attrs.array_num_value(43) := p_source_89;
87751 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
87752 l_rec_acct_attrs.array_num_value(44) := p_source_90;
87753
87754 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
87755 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
87756
87757 ---------------------------------------------------------------------------------------------------------------
87758 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
87759 ---------------------------------------------------------------------------------------------------------------
87760 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
87761
87762 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
87763 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
87764
87765 IF xla_accounting_cache_pkg.GetValueChar
87766 (p_source_code => 'LEDGER_CATEGORY_CODE'
87767 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
87768 AND l_bflow_method_code = 'PRIOR_ENTRY'
87769 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
87770 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
87771 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
87772 )
87773 THEN
87774 xla_ae_lines_pkg.BflowUpgEntry
87775 (p_business_method_code => l_bflow_method_code
87776 ,p_business_class_code => l_bflow_class_code
87777 ,p_balance_type => l_balance_type_code);
87778 ELSE
87779 NULL;
87780 XLA_AE_LINES_PKG.business_flow_validation(
87781 p_business_method_code => l_bflow_method_code
87782 ,p_business_class_code => l_bflow_class_code
87783 ,p_inherit_description_flag => l_inherit_desc_flag);
87784 END IF;
87785
87786 --
87787 -- call analytical criteria
87788 --
87789
87790 --
87791 -- call description
87792 --
87793
87794 xla_ae_lines_pkg.SetLineDescription(
87795 p_ae_header_id => l_ae_header_id
87796 ,p_description => Description_1 (
87797 p_application_id => p_application_id
87798 , p_ae_header_id => l_ae_header_id
87799 , p_source_1 => p_source_1
87800 )
87801 );
87802
87803
87804 --
87805 -- call ADRs
87806 -- Bug 4922099
87807 --
87808 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
87809 (NVL(l_actual_upg_option, 'N') = 'O') OR
87810 (NVL(l_enc_upg_option, 'N') = 'O')
87811 )
87812 THEN
87813 NULL;
87814 --
87815 --
87816
87817 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
87818 p_code_combination_id => TO_NUMBER(C_NUM)
87819 , p_value_type_code => NULL
87820 , p_transaction_coa_id => null
87821 , p_accounting_coa_id => null
87822 , p_adr_code => NULL
87823 , p_adr_type_code => NULL
87824 , p_component_type => l_component_type
87825 , p_component_code => l_component_code
87826 , p_component_type_code => l_component_type_code
87827 , p_component_appl_id => l_component_appl_id
87828 , p_amb_context_code => l_amb_context_code
87829 , p_side => NULL
87830 );
87831
87832
87833 -- initialise segments
87837 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87834 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87835 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87836 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87838 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87839 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87840 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87841 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87842 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87843 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87844 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87845 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87846 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87847 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87848 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87849 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87850 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87851 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87852 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87853 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87854 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87855 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87856 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87857 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87858 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87859 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87860 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87861 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87862 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87863 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
87864 --
87865
87866 --
87867
87868
87869 l_segment := AcctDerRule_15(
87870 p_application_id => p_application_id
87871 , p_ae_header_id => l_ae_header_id
87872 , p_source_34 => p_source_34
87873 , x_transaction_coa_id => l_adr_transaction_coa_id
87874 , x_accounting_coa_id => l_adr_accounting_coa_id
87875 , x_flexfield_segment_code => l_adr_flexfield_segment_code
87876 , x_flex_value_set_id => l_adr_flex_value_set_id
87877 , x_value_type_code => l_adr_value_type_code
87878 , x_value_combination_id => l_adr_value_combination_id
87879 , x_value_segment_code => l_adr_value_segment_code
87880 , p_side => 'NA'
87881 , p_override_seg_flag => 'Y'
87882 );
87883
87884 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
87885
87886 xla_ae_lines_pkg.set_segment(
87887 p_to_segment_code => 'GL_ACCOUNT'
87888 , p_segment_value => l_segment
87889 , p_from_segment_code => l_adr_value_segment_code
87890 , p_from_combination_id => l_adr_value_combination_id
87891 , p_value_type_code => l_adr_value_type_code
87892 , p_transaction_coa_id => l_adr_transaction_coa_id
87893 , p_accounting_coa_id => l_adr_accounting_coa_id
87894 , p_flexfield_segment_code => l_adr_flexfield_segment_code
87895 , p_flex_value_set_id => l_adr_flex_value_set_id
87896 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
87897 , p_adr_type_code => 'S'
87898 , p_component_type => l_component_type
87899 , p_component_code => l_component_code
87900 , p_component_type_code => l_component_type_code
87901 , p_component_appl_id => l_component_appl_id
87902 , p_amb_context_code => l_amb_context_code
87903 , p_entity_code => 'AP_INVOICES'
87904 , p_event_class_code => 'INVOICES'
87905 , p_side => 'NA'
87906 );
87907
87908 END IF;
87909
87910 --
87911 --
87912 END IF;
87913 --
87914 -- Bug 4922099
87915 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
87916 (NVL(l_enc_upg_option, 'N') = 'O')
87917 ) AND
87918 (l_bflow_method_code = 'PRIOR_ENTRY')
87919 )
87920 THEN
87921 IF
87922 --
87923 1 = 2
87924 --
87925 THEN
87926 xla_accounting_err_pkg.build_message
87927 (p_appli_s_name => 'XLA'
87928 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
87929 ,p_token_1 => 'LINE_NUMBER'
87933 l_component_type
87930 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
87931 ,p_token_2 => 'LINE_TYPE_NAME'
87932 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
87934 ,l_component_code
87935 ,l_component_type_code
87936 ,l_component_appl_id
87937 ,l_amb_context_code
87938 ,l_entity_code
87939 ,l_event_class_code
87940 )
87941 ,p_token_3 => 'OWNER'
87942 ,p_value_3 => xla_lookups_pkg.get_meaning(
87943 p_lookup_type => 'XLA_OWNER_TYPE'
87944 ,p_lookup_code => l_component_type_code
87945 )
87946 ,p_token_4 => 'PRODUCT_NAME'
87947 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
87948 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
87949 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
87950 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
87951 ,p_ae_header_id => NULL
87952 );
87953
87954 IF (C_LEVEL_ERROR>= g_log_level) THEN
87955 trace
87956 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
87957 ,p_level => C_LEVEL_ERROR
87958 ,p_module => l_log_module);
87959 END IF;
87960 END IF;
87961 END IF;
87962 --
87963 --
87964 ------------------------------------------------------------------------------------------------
87965 -- 4219869 Business Flow
87966 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
87967 -- Prior Entry. Currently, the following code is always generated.
87968 ------------------------------------------------------------------------------------------------
87969 XLA_AE_LINES_PKG.ValidateCurrentLine;
87970
87971 ------------------------------------------------------------------------------------
87972 -- 4219869 Business Flow
87973 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
87974 ------------------------------------------------------------------------------------
87975 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
87976
87977 ----------------------------------------------------------------------------------
87978 -- 4219869 Business Flow
87979 -- Update journal entry status -- Need to generate this within IF <condition>
87980 ----------------------------------------------------------------------------------
87981 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
87982 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
87983 ,p_balance_type_code => l_balance_type_code
87984 );
87985
87986 -------------------------------------------------------------------------------------------
87987 -- 4262811 - Generate the Accrual Reversal lines
87988 -------------------------------------------------------------------------------------------
87989 BEGIN
87990 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
87991 (g_array_event(p_event_id).array_value_num('header_index'));
87992 IF l_acc_rev_flag IS NULL THEN
87993 l_acc_rev_flag := 'N';
87994 END IF;
87995 EXCEPTION
87996 WHEN OTHERS THEN
87997 l_acc_rev_flag := 'N';
87998 END;
87999 --
88000 IF (l_acc_rev_flag = 'Y') THEN
88001
88002 -- 4645092 ------------------------------------------------------------------------------
88003 -- To allow MPA report to determine if it should generate report process
88004 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
88005 ------------------------------------------------------------------------------------------
88006
88007 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
88008 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
88009 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
88010 -- call ADRs
88011 -- Bug 4922099
88012 --
88013 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
88014 (NVL(l_actual_upg_option, 'N') = 'O') OR
88015 (NVL(l_enc_upg_option, 'N') = 'O')
88016 )
88017 THEN
88018 NULL;
88019 --
88020 --
88021
88022 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
88023 p_code_combination_id => TO_NUMBER(C_NUM)
88024 , p_value_type_code => NULL
88028 , p_adr_type_code => NULL
88025 , p_transaction_coa_id => null
88026 , p_accounting_coa_id => null
88027 , p_adr_code => NULL
88029 , p_component_type => l_component_type
88030 , p_component_code => l_component_code
88031 , p_component_type_code => l_component_type_code
88032 , p_component_appl_id => l_component_appl_id
88033 , p_amb_context_code => l_amb_context_code
88034 , p_side => NULL
88035 );
88036
88037
88038 -- initialise segments
88039 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88040 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88041 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88042 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88043 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88044 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88045 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88046 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88047 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88048 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88049 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88050 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88051 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88052 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88053 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88054 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88055 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88056 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88057 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88058 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88059 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88060 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88061 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88062 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88063 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88064 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88065 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88066 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88067 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88068 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88069 --
88070
88071 --
88072
88073
88074 l_segment := AcctDerRule_15(
88075 p_application_id => p_application_id
88076 , p_ae_header_id => l_ae_header_id
88077 , p_source_34 => p_source_34
88078 , x_transaction_coa_id => l_adr_transaction_coa_id
88079 , x_accounting_coa_id => l_adr_accounting_coa_id
88080 , x_flexfield_segment_code => l_adr_flexfield_segment_code
88081 , x_flex_value_set_id => l_adr_flex_value_set_id
88082 , x_value_type_code => l_adr_value_type_code
88083 , x_value_combination_id => l_adr_value_combination_id
88084 , x_value_segment_code => l_adr_value_segment_code
88085 , p_side => 'NA'
88086 , p_override_seg_flag => 'Y'
88087 );
88088
88089 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
88090
88091 xla_ae_lines_pkg.set_segment(
88092 p_to_segment_code => 'GL_ACCOUNT'
88093 , p_segment_value => l_segment
88094 , p_from_segment_code => l_adr_value_segment_code
88095 , p_from_combination_id => l_adr_value_combination_id
88096 , p_value_type_code => l_adr_value_type_code
88097 , p_transaction_coa_id => l_adr_transaction_coa_id
88098 , p_accounting_coa_id => l_adr_accounting_coa_id
88099 , p_flexfield_segment_code => l_adr_flexfield_segment_code
88100 , p_flex_value_set_id => l_adr_flex_value_set_id
88101 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
88102 , p_adr_type_code => 'S'
88103 , p_component_type => l_component_type
88104 , p_component_code => l_component_code
88105 , p_component_type_code => l_component_type_code
88106 , p_component_appl_id => l_component_appl_id
88107 , p_amb_context_code => l_amb_context_code
88108 , p_entity_code => 'AP_INVOICES'
88109 , p_event_class_code => 'INVOICES'
88110 , p_side => 'NA'
88111 );
88112
88113 END IF;
88114
88115 --
88116 --
88117 END IF;
88118
88119 --
88123 p_header_num => 1);
88120 -- Update the line information that should be overwritten
88121 --
88122 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
88124 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
88125
88126 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
88127
88128 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
88129 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
88130 END IF;
88131
88132 --
88133 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
88134 --
88135 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
88136 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
88137 ELSE
88138 ---------------------------------------------------------------------------------------------------
88139 -- 4262811a Switch Sign
88140 ---------------------------------------------------------------------------------------------------
88141 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
88142 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
88143 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
88144 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
88145 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
88146 -- 5132302
88147 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
88148 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
88149
88150 END IF;
88151
88152 -- 4955764
88153 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
88154 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
88155
88156
88157 XLA_AE_LINES_PKG.ValidateCurrentLine;
88158 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
88159
88160 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
88161 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
88162 ,p_balance_type_code => l_balance_type_code);
88163
88164 END IF;
88165
88166 -----------------------------------------------------------------------------------------
88167 -- 4262811 Multiperiod Accounting
88168 -----------------------------------------------------------------------------------------
88169 -- No MPA option is assigned.
88170
88171
88172 END IF;
88173 END IF;
88174 --
88175
88176 --
88177 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
88178 trace
88179 (p_msg => 'END of AcctLineType_155'
88180 ,p_level => C_LEVEL_PROCEDURE
88181 ,p_module => l_log_module);
88182 END IF;
88183 --
88184 EXCEPTION
88185 WHEN xla_exceptions_pkg.application_exception THEN
88186 RAISE;
88187 WHEN OTHERS THEN
88188 xla_exceptions_pkg.raise_message
88189 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_155');
88190 END AcctLineType_155;
88191 --
88192
88193 ---------------------------------------
88194 --
88195 -- PRIVATE FUNCTION
88196 -- AcctLineType_156
88197 --
88198 ---------------------------------------
88199 PROCEDURE AcctLineType_156 (
88200 p_application_id IN NUMBER
88201 ,p_event_id IN NUMBER
88202 ,p_calculate_acctd_flag IN VARCHAR2
88203 ,p_calculate_g_l_flag IN VARCHAR2
88204 ,p_actual_flag IN OUT VARCHAR2
88205 ,p_balance_type_code OUT VARCHAR2
88206 ,p_gain_or_loss_ref OUT VARCHAR2
88207
88208 --Invoice Distribution Description
88209 , p_source_1 IN VARCHAR2
88210 --Automatic Offsets Value
88211 , p_source_15 IN VARCHAR2
88212 , p_source_15_meaning IN VARCHAR2
88213 --Invoice Distribution Ledger Amount
88214 , p_source_21 IN NUMBER
88215 --Invoice Liability Account
88216 , p_source_34 IN NUMBER
88217 --Accounting Reversal Indicator
88218 , p_source_53 IN VARCHAR2
88219 --Distribution Link Type
88220 , p_source_55 IN VARCHAR2
88221 --Allocation to Main Distribution Identifier
88222 , p_source_57 IN NUMBER
88223 --Invoice Identifier
88224 , p_source_58 IN NUMBER
88225 --Invoice Distribution Identifier
88226 , p_source_64 IN NUMBER
88227 --Payables Encumbrance Upgrade Credit Account
88228 , p_source_65 IN NUMBER
88229 --Payables Encumbrance Upgrade Credit Amount
88230 , p_source_66 IN NUMBER
88231 --Invoice Currency Code
88232 , p_source_67 IN VARCHAR2
88233 --Payables Encumbrance Upgrade Credit Base Amount
88234 , p_source_68 IN NUMBER
88235 --Payables Encumbrance Upgrade Debit Account
88236 , p_source_69 IN NUMBER
88237 --Payables Encumbrance Upgrade Debit Amount
88238 , p_source_70 IN NUMBER
88242 , p_source_72 IN VARCHAR2
88239 --Payables Encumbrance Upgrade Debit Base Amount
88240 , p_source_71 IN NUMBER
88241 --Payables Encumbrance Upgrade Option
88243 --Invoice Distribution Amount
88244 , p_source_73 IN NUMBER
88245 --Deferred Accounting End Date
88246 , p_source_77 IN DATE
88247 --Deferred Accounting Option
88248 , p_source_78 IN VARCHAR2
88249 --Deferred Accounting Start Date
88250 , p_source_79 IN DATE
88251 --Override Accounted Amount Indicator
88252 , p_source_80 IN VARCHAR2
88253 , p_source_80_meaning IN VARCHAR2
88254 --Invoice Supplier Identifier
88255 , p_source_81 IN NUMBER
88256 --Invoice Supplier Site Identifier
88257 , p_source_82 IN NUMBER
88258 --Third Party Type
88259 , p_source_83 IN VARCHAR2
88260 --Parent Reversal Identifier
88261 , p_source_84 IN NUMBER
88262 --Invoice Distribution Statistical Amount
88263 , p_source_85 IN NUMBER
88264 --Invoice Distribution Tax Line Identifier
88265 , p_source_86 IN NUMBER
88266 --Invoice Distribution Tax Distribution Identifier from Tax
88267 , p_source_87 IN NUMBER
88268 --Invoice Distribution Summary Tax Line Identifier
88269 , p_source_88 IN NUMBER
88270 --Payables Upgrade Credit Encumbrance Type Identifier
88271 , p_source_89 IN NUMBER
88272 --Payables Upgrade Debit Encumbrance Type Identifier
88273 , p_source_90 IN NUMBER
88274 --Business Flow Accounts Payable Application Identifier
88275 , p_source_91 IN NUMBER
88276 --Business Flow Invoice Distribution Type
88277 , p_source_92 IN VARCHAR2
88278 --Business Flow Invoice Entity Code
88279 , p_source_93 IN VARCHAR2
88280 --Business Flow Invoice Distribution Identifier
88281 , p_source_94 IN NUMBER
88282 --Business Flow Invoice Identifier
88283 , p_source_95 IN NUMBER
88284 --Self-Assessed Tax Flag
88285 , p_source_142 IN VARCHAR2
88286 , p_source_142_meaning IN VARCHAR2
88287 --Invoice Exchange Date
88288 , p_source_143 IN DATE
88289 --Invoice Exchange Rate
88290 , p_source_144 IN NUMBER
88291 --Invoice Exchange Rate Type
88292 , p_source_145 IN VARCHAR2
88293 --Invoice Type
88294 , p_source_165 IN VARCHAR2
88295 , p_source_165_meaning IN VARCHAR2
88296 )
88297 IS
88298
88299 l_component_type VARCHAR2(80);
88300 l_component_code VARCHAR2(30);
88301 l_component_type_code VARCHAR2(1);
88302 l_component_appl_id INTEGER;
88303 l_amb_context_code VARCHAR2(30);
88304 l_entity_code VARCHAR2(30);
88305 l_event_class_code VARCHAR2(30);
88306 l_ae_header_id NUMBER;
88307 l_event_type_code VARCHAR2(30);
88308 l_line_definition_code VARCHAR2(30);
88309 l_line_definition_owner_code VARCHAR2(1);
88310 --
88311 -- adr variables
88312 l_segment VARCHAR2(30);
88313 l_ccid NUMBER;
88314 l_adr_transaction_coa_id NUMBER;
88315 l_adr_accounting_coa_id NUMBER;
88316 l_adr_flexfield_segment_code VARCHAR2(30);
88317 l_adr_flex_value_set_id NUMBER;
88318 l_adr_value_type_code VARCHAR2(30);
88319 l_adr_value_combination_id NUMBER;
88320 l_adr_value_segment_code VARCHAR2(30);
88321
88322 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
88323 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
88324 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
88325 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
88326
88327 -- 4262811 Variables ------------------------------------------------------------------------------------------
88328 l_entered_amt_idx NUMBER;
88329 l_accted_amt_idx NUMBER;
88330 l_acc_rev_flag VARCHAR2(1);
88331 l_accrual_line_num NUMBER;
88332 l_tmp_amt NUMBER;
88333 l_acc_rev_natural_side_code VARCHAR2(1);
88334
88335 l_num_entries NUMBER;
88336 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
88337 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
88338 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
88339 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
88340 l_recog_line_1 NUMBER;
88341 l_recog_line_2 NUMBER;
88342
88343 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
88344 l_bflow_applied_to_amt NUMBER; -- 5132302
88345 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
88346
88347 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
88348
88349 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
88350 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
88351
88352 ---------------------------------------------------------------------------------------------------------------
88353
88354
88355 --
88356 -- bulk performance
88357 --
88358 l_balance_type_code VARCHAR2(1);
88359 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
88360 l_log_module VARCHAR2(240);
88361
88365 l_actual_upg_option VARCHAR2(1);
88362 --
88363 -- Upgrade strategy
88364 --
88366 l_enc_upg_option VARCHAR2(1);
88367
88368 --
88369 BEGIN
88370 --
88371 IF g_log_enabled THEN
88372 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_156';
88373 END IF;
88374 --
88375 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
88376
88377 trace
88378 (p_msg => 'BEGIN of AcctLineType_156'
88379 ,p_level => C_LEVEL_PROCEDURE
88380 ,p_module => l_log_module);
88381
88382 END IF;
88383 --
88384 l_component_type := 'AMB_JLT';
88385 l_component_code := 'AP_LIAB_INV_AOS_BS';
88386 l_component_type_code := 'S';
88387 l_component_appl_id := 200;
88388 l_amb_context_code := 'DEFAULT';
88389 l_entity_code := 'AP_INVOICES';
88390 l_event_class_code := 'INVOICES';
88391 l_event_type_code := 'INVOICES_ALL';
88392 l_line_definition_owner_code := 'S';
88393 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
88394 --
88395 l_balance_type_code := 'A';
88396 l_segment := NULL;
88397 l_ccid := NULL;
88398 l_adr_transaction_coa_id := NULL;
88399 l_adr_accounting_coa_id := NULL;
88400 l_adr_flexfield_segment_code := NULL;
88401 l_adr_flex_value_set_id := NULL;
88402 l_adr_value_type_code := NULL;
88403 l_adr_value_combination_id := NULL;
88404 l_adr_value_segment_code := NULL;
88405
88406 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
88407 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
88408 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
88409 l_budgetary_control_flag := 'N';
88410
88411 l_bflow_applied_to_amt_idx := NULL; -- 5132302
88412 l_bflow_applied_to_amt := NULL; -- 5132302
88413 l_entered_amt_idx := NULL; -- 4262811
88414 l_accted_amt_idx := NULL; -- 4262811
88415 l_acc_rev_flag := NULL; -- 4262811
88416 l_accrual_line_num := NULL; -- 4262811
88417 l_tmp_amt := NULL; -- 4262811
88418 --
88419
88420 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
88421 l_balance_type_code <> 'B' THEN
88422 IF NVL(p_source_15,'
88423 ') = 'BALANCING_SEGMENT' AND
88424 (NVL(p_source_165,'
88425 ') = 'STANDARD' OR
88426 NVL(p_source_165,'
88427 ') = 'MIXED' OR
88428 NVL(p_source_165,'
88429 ') = 'AWT' OR
88430 NVL(p_source_165,'
88431 ') = 'PO PRICE ADJUST' OR
88432 NVL(p_source_165,'
88433 ') = 'EXPENSE REPORT' OR
88434 NVL(p_source_165,'
88435 ') = 'PAYMENT REQUEST' OR
88436 NVL(p_source_165,'
88437 ') = 'RETAINAGE RELEASE') AND
88438 NVL(p_source_142,'
88439 ') <> 'Y'
88440 THEN
88441
88442 --
88443 XLA_AE_LINES_PKG.SetNewLine;
88444
88445 p_balance_type_code := l_balance_type_code;
88446 -- set the flag so later we will know whether the gain loss line needs to be created
88447
88448 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
88449 p_actual_flag :='A';
88450 END IF;
88451
88452 --
88453 -- bulk performance
88454 --
88455 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
88456 p_header_num => 0); -- 4262811
88457 --
88458 -- set accounting line options
88459 --
88460 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
88461 p_natural_side_code => 'C'
88462 , p_gain_or_loss_flag => 'N'
88463 , p_gl_transfer_mode_code => 'S'
88464 , p_acct_entry_type_code => 'A'
88465 , p_switch_side_flag => 'Y'
88466 , p_merge_duplicate_code => 'A'
88467 );
88468 --
88469 l_acc_rev_natural_side_code := 'D'; -- 4262811
88470 --
88471 --
88472 -- set accounting line type info
88473 --
88474 xla_ae_lines_pkg.SetAcctLineType
88475 (p_component_type => l_component_type
88476 ,p_event_type_code => l_event_type_code
88477 ,p_line_definition_owner_code => l_line_definition_owner_code
88478 ,p_line_definition_code => l_line_definition_code
88479 ,p_accounting_line_code => l_component_code
88480 ,p_accounting_line_type_code => l_component_type_code
88481 ,p_accounting_line_appl_id => l_component_appl_id
88482 ,p_amb_context_code => l_amb_context_code
88483 ,p_entity_code => l_entity_code
88484 ,p_event_class_code => l_event_class_code);
88485 --
88486 -- set accounting class
88487 --
88488 xla_ae_lines_pkg.SetAcctClass(
88489 p_accounting_class_code => 'LIABILITY'
88490 , p_ae_header_id => l_ae_header_id
88491 );
88492
88493 --
88494 -- set rounding class
88495 --
88496 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
88497 'LIABILITY';
88498
88499 --
88500 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
88501 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
88502 --
88506
88503 -- bulk performance
88504 --
88505 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
88507 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
88508 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
88509
88510 -- 4955764
88511 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
88512 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
88513
88514 -- 4458381 Public Sector Enh
88515
88516 --
88517 -- set accounting attributes for the line type
88518 --
88519 l_entered_amt_idx := 24;
88520 l_accted_amt_idx := 29;
88521 l_bflow_applied_to_amt_idx := 7; -- 5132302
88522 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
88523 l_rec_acct_attrs.array_char_value(1) := p_source_53;
88524 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
88525 l_rec_acct_attrs.array_num_value(2) :=
88526 xla_ae_sources_pkg.GetSystemSourceNum(
88527 p_source_code => 'XLA_EVENT_APPL_ID'
88528 , p_source_type_code => 'Y'
88529 , p_source_application_id => 602
88530 );
88531 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
88532 l_rec_acct_attrs.array_char_value(3) := p_source_55;
88533 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
88534 l_rec_acct_attrs.array_char_value(4) :=
88535 xla_ae_sources_pkg.GetSystemSourceChar(
88536 p_source_code => 'XLA_ENTITY_CODE'
88537 , p_source_type_code => 'Y'
88538 , p_source_application_id => 602
88539 );
88540 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
88541 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
88542 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
88543 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
88544 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
88545 l_rec_acct_attrs.array_num_value(7) := p_source_73;
88546 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
88547 l_rec_acct_attrs.array_num_value(8) := p_source_91;
88548 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
88549 l_rec_acct_attrs.array_char_value(9) := p_source_92;
88550 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
88551 l_rec_acct_attrs.array_char_value(10) := p_source_93;
88552 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
88553 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
88554 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
88555 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_95);
88556 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
88557 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_64);
88558 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
88559 l_rec_acct_attrs.array_char_value(14) := p_source_55;
88560 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
88561 l_rec_acct_attrs.array_num_value(15) := p_source_65;
88562 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
88563 l_rec_acct_attrs.array_num_value(16) := p_source_66;
88564 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
88565 l_rec_acct_attrs.array_char_value(17) := p_source_67;
88566 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
88567 l_rec_acct_attrs.array_num_value(18) := p_source_68;
88568 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
88569 l_rec_acct_attrs.array_num_value(19) := p_source_69;
88570 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
88571 l_rec_acct_attrs.array_num_value(20) := p_source_70;
88572 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
88573 l_rec_acct_attrs.array_char_value(21) := p_source_67;
88574 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
88575 l_rec_acct_attrs.array_num_value(22) := p_source_71;
88576 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
88577 l_rec_acct_attrs.array_char_value(23) := p_source_72;
88578 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
88579 l_rec_acct_attrs.array_num_value(24) := p_source_73;
88580 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
88581 l_rec_acct_attrs.array_char_value(25) := p_source_67;
88582 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
88583 l_rec_acct_attrs.array_date_value(26) := p_source_143;
88584 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
88585 l_rec_acct_attrs.array_num_value(27) := p_source_144;
88586 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
88587 l_rec_acct_attrs.array_char_value(28) := p_source_145;
88588 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
88589 l_rec_acct_attrs.array_num_value(29) := p_source_21;
88590 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
88591 l_rec_acct_attrs.array_date_value(30) := p_source_77;
88592 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
88593 l_rec_acct_attrs.array_char_value(31) := p_source_78;
88594 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
88595 l_rec_acct_attrs.array_date_value(32) := p_source_79;
88596 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
88600 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
88597 l_rec_acct_attrs.array_char_value(33) := p_source_80;
88598 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
88599 l_rec_acct_attrs.array_num_value(34) := p_source_81;
88601 l_rec_acct_attrs.array_num_value(35) := p_source_82;
88602 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
88603 l_rec_acct_attrs.array_char_value(36) := p_source_83;
88604 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
88605 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_84);
88606 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
88607 l_rec_acct_attrs.array_char_value(38) := p_source_55;
88608 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
88609 l_rec_acct_attrs.array_num_value(39) := p_source_85;
88610 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
88611 l_rec_acct_attrs.array_num_value(40) := p_source_86;
88612 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
88613 l_rec_acct_attrs.array_num_value(41) := p_source_87;
88614 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
88615 l_rec_acct_attrs.array_num_value(42) := p_source_88;
88616 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
88617 l_rec_acct_attrs.array_num_value(43) := p_source_89;
88618 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
88619 l_rec_acct_attrs.array_num_value(44) := p_source_90;
88620
88621 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
88622 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
88623
88624 ---------------------------------------------------------------------------------------------------------------
88625 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
88626 ---------------------------------------------------------------------------------------------------------------
88627 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
88628
88629 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
88630 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
88631
88632 IF xla_accounting_cache_pkg.GetValueChar
88633 (p_source_code => 'LEDGER_CATEGORY_CODE'
88634 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
88635 AND l_bflow_method_code = 'PRIOR_ENTRY'
88636 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
88637 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
88638 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
88639 )
88640 THEN
88641 xla_ae_lines_pkg.BflowUpgEntry
88642 (p_business_method_code => l_bflow_method_code
88643 ,p_business_class_code => l_bflow_class_code
88644 ,p_balance_type => l_balance_type_code);
88645 ELSE
88646 NULL;
88647 XLA_AE_LINES_PKG.business_flow_validation(
88648 p_business_method_code => l_bflow_method_code
88649 ,p_business_class_code => l_bflow_class_code
88650 ,p_inherit_description_flag => l_inherit_desc_flag);
88651 END IF;
88652
88653 --
88654 -- call analytical criteria
88655 --
88656
88657 --
88658 -- call description
88659 --
88660
88661 xla_ae_lines_pkg.SetLineDescription(
88662 p_ae_header_id => l_ae_header_id
88663 ,p_description => Description_1 (
88664 p_application_id => p_application_id
88665 , p_ae_header_id => l_ae_header_id
88666 , p_source_1 => p_source_1
88667 )
88668 );
88669
88670
88671 --
88672 -- call ADRs
88673 -- Bug 4922099
88674 --
88675 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
88676 (NVL(l_actual_upg_option, 'N') = 'O') OR
88677 (NVL(l_enc_upg_option, 'N') = 'O')
88678 )
88679 THEN
88680 NULL;
88681 --
88682 --
88683
88684 l_ccid := AcctDerRule_34(
88685 p_application_id => p_application_id
88686 , p_ae_header_id => l_ae_header_id
88687 , p_source_34 => p_source_34
88688 , x_transaction_coa_id => l_adr_transaction_coa_id
88689 , x_accounting_coa_id => l_adr_accounting_coa_id
88690 , x_value_type_code => l_adr_value_type_code
88691 , p_side => 'NA'
88692 );
88693
88694 xla_ae_lines_pkg.set_ccid(
88695 p_code_combination_id => l_ccid
88696 , p_value_type_code => l_adr_value_type_code
88697 , p_transaction_coa_id => l_adr_transaction_coa_id
88698 , p_accounting_coa_id => l_adr_accounting_coa_id
88699 , p_adr_code => 'AP_LIAB'
88700 , p_adr_type_code => 'S'
88701 , p_component_type => l_component_type
88702 , p_component_code => l_component_code
88703 , p_component_type_code => l_component_type_code
88704 , p_component_appl_id => l_component_appl_id
88705 , p_amb_context_code => l_amb_context_code
88706 , p_side => 'NA'
88707 );
88708
88709
88710 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
88714 , p_from_combination_id => NULL
88711 p_to_segment_code => 'GL_BALANCING'
88712 , p_segment_value => C_CHAR
88713 , p_from_segment_code => NULL
88715 , p_value_type_code => NULL
88716 , p_transaction_coa_id => null
88717 , p_accounting_coa_id => null
88718 , p_flexfield_segment_code => NULL
88719 , p_flex_value_set_id => NULL
88720 , p_adr_code => NULL
88721 , p_adr_type_code => NULL
88722 , p_component_type => l_component_type
88723 , p_component_code => l_component_code
88724 , p_component_type_code => l_component_type_code
88725 , p_component_appl_id => l_component_appl_id
88726 , p_amb_context_code => l_amb_context_code
88727 , p_entity_code => 'AP_INVOICES'
88728 , p_event_class_code => 'INVOICES'
88729 , p_side => 'NA'
88730 );
88731 --
88732
88733
88734 --
88735 --
88736 END IF;
88737 --
88738 -- Bug 4922099
88739 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
88740 (NVL(l_enc_upg_option, 'N') = 'O')
88741 ) AND
88742 (l_bflow_method_code = 'PRIOR_ENTRY')
88743 )
88744 THEN
88745 IF
88746 --
88747 1 = 2
88748 --
88749 THEN
88750 xla_accounting_err_pkg.build_message
88751 (p_appli_s_name => 'XLA'
88752 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
88753 ,p_token_1 => 'LINE_NUMBER'
88754 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
88755 ,p_token_2 => 'LINE_TYPE_NAME'
88756 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
88757 l_component_type
88758 ,l_component_code
88759 ,l_component_type_code
88760 ,l_component_appl_id
88761 ,l_amb_context_code
88762 ,l_entity_code
88763 ,l_event_class_code
88764 )
88765 ,p_token_3 => 'OWNER'
88766 ,p_value_3 => xla_lookups_pkg.get_meaning(
88767 p_lookup_type => 'XLA_OWNER_TYPE'
88768 ,p_lookup_code => l_component_type_code
88769 )
88770 ,p_token_4 => 'PRODUCT_NAME'
88771 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
88772 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
88773 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
88774 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
88775 ,p_ae_header_id => NULL
88776 );
88777
88778 IF (C_LEVEL_ERROR>= g_log_level) THEN
88779 trace
88780 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
88781 ,p_level => C_LEVEL_ERROR
88782 ,p_module => l_log_module);
88783 END IF;
88784 END IF;
88785 END IF;
88786 --
88787 --
88788 ------------------------------------------------------------------------------------------------
88789 -- 4219869 Business Flow
88790 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
88791 -- Prior Entry. Currently, the following code is always generated.
88792 ------------------------------------------------------------------------------------------------
88793 XLA_AE_LINES_PKG.ValidateCurrentLine;
88794
88795 ------------------------------------------------------------------------------------
88796 -- 4219869 Business Flow
88797 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
88798 ------------------------------------------------------------------------------------
88799 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
88800
88801 ----------------------------------------------------------------------------------
88802 -- 4219869 Business Flow
88803 -- Update journal entry status -- Need to generate this within IF <condition>
88804 ----------------------------------------------------------------------------------
88805 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
88806 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
88807 ,p_balance_type_code => l_balance_type_code
88808 );
88809
88813 BEGIN
88810 -------------------------------------------------------------------------------------------
88811 -- 4262811 - Generate the Accrual Reversal lines
88812 -------------------------------------------------------------------------------------------
88814 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
88815 (g_array_event(p_event_id).array_value_num('header_index'));
88816 IF l_acc_rev_flag IS NULL THEN
88817 l_acc_rev_flag := 'N';
88818 END IF;
88819 EXCEPTION
88820 WHEN OTHERS THEN
88821 l_acc_rev_flag := 'N';
88822 END;
88823 --
88824 IF (l_acc_rev_flag = 'Y') THEN
88825
88826 -- 4645092 ------------------------------------------------------------------------------
88827 -- To allow MPA report to determine if it should generate report process
88828 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
88829 ------------------------------------------------------------------------------------------
88830
88831 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
88832 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
88833 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
88834 -- call ADRs
88835 -- Bug 4922099
88836 --
88837 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
88838 (NVL(l_actual_upg_option, 'N') = 'O') OR
88839 (NVL(l_enc_upg_option, 'N') = 'O')
88840 )
88841 THEN
88842 NULL;
88843 --
88844 --
88845
88846 l_ccid := AcctDerRule_34(
88847 p_application_id => p_application_id
88848 , p_ae_header_id => l_ae_header_id
88849 , p_source_34 => p_source_34
88850 , x_transaction_coa_id => l_adr_transaction_coa_id
88851 , x_accounting_coa_id => l_adr_accounting_coa_id
88852 , x_value_type_code => l_adr_value_type_code
88853 , p_side => 'NA'
88854 );
88855
88856 xla_ae_lines_pkg.set_ccid(
88857 p_code_combination_id => l_ccid
88858 , p_value_type_code => l_adr_value_type_code
88859 , p_transaction_coa_id => l_adr_transaction_coa_id
88860 , p_accounting_coa_id => l_adr_accounting_coa_id
88861 , p_adr_code => 'AP_LIAB'
88862 , p_adr_type_code => 'S'
88863 , p_component_type => l_component_type
88864 , p_component_code => l_component_code
88865 , p_component_type_code => l_component_type_code
88866 , p_component_appl_id => l_component_appl_id
88867 , p_amb_context_code => l_amb_context_code
88868 , p_side => 'NA'
88869 );
88870
88871
88872 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
88873 p_to_segment_code => 'GL_BALANCING'
88874 , p_segment_value => C_CHAR
88875 , p_from_segment_code => NULL
88876 , p_from_combination_id => NULL
88877 , p_value_type_code => NULL
88878 , p_transaction_coa_id => null
88879 , p_accounting_coa_id => null
88880 , p_flexfield_segment_code => NULL
88881 , p_flex_value_set_id => NULL
88882 , p_adr_code => NULL
88883 , p_adr_type_code => NULL
88884 , p_component_type => l_component_type
88885 , p_component_code => l_component_code
88886 , p_component_type_code => l_component_type_code
88887 , p_component_appl_id => l_component_appl_id
88888 , p_amb_context_code => l_amb_context_code
88889 , p_entity_code => 'AP_INVOICES'
88890 , p_event_class_code => 'INVOICES'
88891 , p_side => 'NA'
88892 );
88893 --
88894
88895
88896 --
88897 --
88898 END IF;
88899
88900 --
88901 -- Update the line information that should be overwritten
88902 --
88903 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
88904 p_header_num => 1);
88905 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
88906
88907 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
88908
88909 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
88910 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
88911 END IF;
88912
88913 --
88914 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
88915 --
88916 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
88917 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
88918 ELSE
88919 ---------------------------------------------------------------------------------------------------
88920 -- 4262811a Switch Sign
88921 ---------------------------------------------------------------------------------------------------
88922 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
88926 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
88923 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
88924 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
88925 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
88927 -- 5132302
88928 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
88929 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
88930
88931 END IF;
88932
88933 -- 4955764
88934 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
88935 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
88936
88937
88938 XLA_AE_LINES_PKG.ValidateCurrentLine;
88939 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
88940
88941 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
88942 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
88943 ,p_balance_type_code => l_balance_type_code);
88944
88945 END IF;
88946
88947 -----------------------------------------------------------------------------------------
88948 -- 4262811 Multiperiod Accounting
88949 -----------------------------------------------------------------------------------------
88950 -- No MPA option is assigned.
88951
88952
88953 END IF;
88954 END IF;
88955 --
88956
88957 --
88958 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
88959 trace
88960 (p_msg => 'END of AcctLineType_156'
88961 ,p_level => C_LEVEL_PROCEDURE
88962 ,p_module => l_log_module);
88963 END IF;
88964 --
88965 EXCEPTION
88966 WHEN xla_exceptions_pkg.application_exception THEN
88967 RAISE;
88968 WHEN OTHERS THEN
88969 xla_exceptions_pkg.raise_message
88970 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_156');
88971 END AcctLineType_156;
88972 --
88973
88974 ---------------------------------------
88975 --
88976 -- PRIVATE FUNCTION
88977 -- AcctLineType_157
88978 --
88979 ---------------------------------------
88980 PROCEDURE AcctLineType_157 (
88981 p_application_id IN NUMBER
88982 ,p_event_id IN NUMBER
88983 ,p_calculate_acctd_flag IN VARCHAR2
88984 ,p_calculate_g_l_flag IN VARCHAR2
88985 ,p_actual_flag IN OUT VARCHAR2
88986 ,p_balance_type_code OUT VARCHAR2
88987 ,p_gain_or_loss_ref OUT VARCHAR2
88988
88989 --Payment Currency Code
88990 , p_source_13 IN VARCHAR2
88991 --Accounting Reversal Indicator
88992 , p_source_53 IN VARCHAR2
88993 --Distribution Link Type
88994 , p_source_55 IN VARCHAR2
88995 --Override Accounted Amount Indicator
88996 , p_source_80 IN VARCHAR2
88997 , p_source_80_meaning IN VARCHAR2
88998 --Third Party Type
88999 , p_source_83 IN VARCHAR2
89000 --Invoice Distribution Tax Line Identifier
89001 , p_source_86 IN NUMBER
89002 --Invoice Distribution Tax Distribution Identifier from Tax
89003 , p_source_87 IN NUMBER
89004 --Invoice Distribution Summary Tax Line Identifier
89005 , p_source_88 IN NUMBER
89006 --Business Flow Accounts Payable Application Identifier
89007 , p_source_91 IN NUMBER
89008 --Business Flow Invoice Distribution Type
89009 , p_source_92 IN VARCHAR2
89010 --Business Flow Invoice Entity Code
89011 , p_source_93 IN VARCHAR2
89012 --Business Flow Invoice Distribution Identifier
89013 , p_source_94 IN NUMBER
89014 --Business Flow Invoice Identifier
89015 , p_source_95 IN NUMBER
89016 --When to Account for Payment Option
89017 , p_source_97 IN VARCHAR2
89018 --Payment Distribution Type
89019 , p_source_98 IN VARCHAR2
89020 , p_source_98_meaning IN VARCHAR2
89021 --Payment Distribution Amount
89022 , p_source_99 IN NUMBER
89023 --Payment Distribution Identifier
89024 , p_source_104 IN NUMBER
89025 --Payment Distribution Reversed Identifier
89026 , p_source_112 IN NUMBER
89027 --Payment Distribution (Invoice Rate) Ledger Amount
89028 , p_source_116 IN NUMBER
89029 --Payment Type
89030 , p_source_122 IN VARCHAR2
89031 , p_source_122_meaning IN VARCHAR2
89032 --Invoice Distribution Amount of the Payment Distribution
89033 , p_source_124 IN NUMBER
89034 --Invoice Type Paid
89035 , p_source_163 IN VARCHAR2
89036 , p_source_163_meaning IN VARCHAR2
89037 )
89038 IS
89039
89040 l_component_type VARCHAR2(80);
89041 l_component_code VARCHAR2(30);
89042 l_component_type_code VARCHAR2(1);
89043 l_component_appl_id INTEGER;
89044 l_amb_context_code VARCHAR2(30);
89045 l_entity_code VARCHAR2(30);
89046 l_event_class_code VARCHAR2(30);
89047 l_ae_header_id NUMBER;
89048 l_event_type_code VARCHAR2(30);
89049 l_line_definition_code VARCHAR2(30);
89050 l_line_definition_owner_code VARCHAR2(1);
89051 --
89052 -- adr variables
89053 l_segment VARCHAR2(30);
89057 l_adr_flexfield_segment_code VARCHAR2(30);
89054 l_ccid NUMBER;
89055 l_adr_transaction_coa_id NUMBER;
89056 l_adr_accounting_coa_id NUMBER;
89058 l_adr_flex_value_set_id NUMBER;
89059 l_adr_value_type_code VARCHAR2(30);
89060 l_adr_value_combination_id NUMBER;
89061 l_adr_value_segment_code VARCHAR2(30);
89062
89063 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
89064 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
89065 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
89066 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
89067
89068 -- 4262811 Variables ------------------------------------------------------------------------------------------
89069 l_entered_amt_idx NUMBER;
89070 l_accted_amt_idx NUMBER;
89071 l_acc_rev_flag VARCHAR2(1);
89072 l_accrual_line_num NUMBER;
89073 l_tmp_amt NUMBER;
89074 l_acc_rev_natural_side_code VARCHAR2(1);
89075
89076 l_num_entries NUMBER;
89077 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
89078 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
89079 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
89080 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
89081 l_recog_line_1 NUMBER;
89082 l_recog_line_2 NUMBER;
89083
89084 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
89085 l_bflow_applied_to_amt NUMBER; -- 5132302
89086 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
89087
89088 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
89089
89090 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
89091 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
89092
89093 ---------------------------------------------------------------------------------------------------------------
89094
89095
89096 --
89097 -- bulk performance
89098 --
89099 l_balance_type_code VARCHAR2(1);
89100 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
89101 l_log_module VARCHAR2(240);
89102
89103 --
89104 -- Upgrade strategy
89105 --
89106 l_actual_upg_option VARCHAR2(1);
89107 l_enc_upg_option VARCHAR2(1);
89108
89109 --
89110 BEGIN
89111 --
89112 IF g_log_enabled THEN
89113 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_157';
89114 END IF;
89115 --
89116 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
89117
89118 trace
89119 (p_msg => 'BEGIN of AcctLineType_157'
89120 ,p_level => C_LEVEL_PROCEDURE
89121 ,p_module => l_log_module);
89122
89123 END IF;
89124 --
89125 l_component_type := 'AMB_JLT';
89126 l_component_code := 'AP_LIAB_PMT';
89127 l_component_type_code := 'S';
89128 l_component_appl_id := 200;
89129 l_amb_context_code := 'DEFAULT';
89130 l_entity_code := 'AP_PAYMENTS';
89131 l_event_class_code := 'PAYMENTS';
89132 l_event_type_code := 'PAYMENTS_ALL';
89133 l_line_definition_owner_code := 'S';
89134 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
89135 --
89136 l_balance_type_code := 'A';
89137 l_segment := NULL;
89138 l_ccid := NULL;
89139 l_adr_transaction_coa_id := NULL;
89140 l_adr_accounting_coa_id := NULL;
89141 l_adr_flexfield_segment_code := NULL;
89142 l_adr_flex_value_set_id := NULL;
89143 l_adr_value_type_code := NULL;
89144 l_adr_value_combination_id := NULL;
89145 l_adr_value_segment_code := NULL;
89146
89147 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
89148 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
89149 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
89150 l_budgetary_control_flag := 'N';
89151
89152 l_bflow_applied_to_amt_idx := NULL; -- 5132302
89153 l_bflow_applied_to_amt := NULL; -- 5132302
89154 l_entered_amt_idx := NULL; -- 4262811
89155 l_accted_amt_idx := NULL; -- 4262811
89156 l_acc_rev_flag := NULL; -- 4262811
89157 l_accrual_line_num := NULL; -- 4262811
89158 l_tmp_amt := NULL; -- 4262811
89159 --
89160
89161 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
89162 l_balance_type_code <> 'B' THEN
89163 IF NVL(p_source_97,'
89164 ') <> 'CLEAR_CLEAR' AND
89165 NVL(p_source_163,'
89166 ') <> 'INTEREST' AND
89167 (NVL(p_source_98,'
89168 ') = 'ROUNDING' OR
89169 NVL(p_source_98,'
89170 ') = 'CASH' OR
89171 NVL(p_source_98,'
89172 ') = 'DISCOUNT') AND
89173 NVL(p_source_122,'
89174 ') <> 'R'
89175 THEN
89176
89177 --
89178 XLA_AE_LINES_PKG.SetNewLine;
89179
89180 p_balance_type_code := l_balance_type_code;
89181 -- set the flag so later we will know whether the gain loss line needs to be created
89182
89183 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
89184 p_actual_flag :='A';
89185 END IF;
89186
89187 --
89191 p_header_num => 0); -- 4262811
89188 -- bulk performance
89189 --
89190 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
89192 --
89193 -- set accounting line options
89194 --
89195 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
89196 p_natural_side_code => 'D'
89197 , p_gain_or_loss_flag => 'N'
89198 , p_gl_transfer_mode_code => 'S'
89199 , p_acct_entry_type_code => 'A'
89200 , p_switch_side_flag => 'Y'
89201 , p_merge_duplicate_code => 'A'
89202 );
89203 --
89204 l_acc_rev_natural_side_code := 'C'; -- 4262811
89205 --
89206 --
89207 -- set accounting line type info
89208 --
89209 xla_ae_lines_pkg.SetAcctLineType
89210 (p_component_type => l_component_type
89211 ,p_event_type_code => l_event_type_code
89212 ,p_line_definition_owner_code => l_line_definition_owner_code
89213 ,p_line_definition_code => l_line_definition_code
89214 ,p_accounting_line_code => l_component_code
89215 ,p_accounting_line_type_code => l_component_type_code
89216 ,p_accounting_line_appl_id => l_component_appl_id
89217 ,p_amb_context_code => l_amb_context_code
89218 ,p_entity_code => l_entity_code
89219 ,p_event_class_code => l_event_class_code);
89220 --
89221 -- set accounting class
89222 --
89223 xla_ae_lines_pkg.SetAcctClass(
89224 p_accounting_class_code => 'LIABILITY'
89225 , p_ae_header_id => l_ae_header_id
89226 );
89227
89228 --
89229 -- set rounding class
89230 --
89231 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
89232 'LIABILITY';
89233
89234 --
89235 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
89236 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
89237 --
89238 -- bulk performance
89239 --
89240 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
89241
89242 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
89243 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
89244
89245 -- 4955764
89246 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
89247 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
89248
89249 -- 4458381 Public Sector Enh
89250
89251 --
89252 -- set accounting attributes for the line type
89253 --
89254 l_entered_amt_idx := 10;
89255 l_accted_amt_idx := 12;
89256 l_bflow_applied_to_amt_idx := 2; -- 5132302
89257 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
89258 l_rec_acct_attrs.array_char_value(1) := p_source_53;
89259 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
89260 l_rec_acct_attrs.array_num_value(2) := p_source_124;
89261 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
89262 l_rec_acct_attrs.array_num_value(3) := p_source_91;
89263 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
89264 l_rec_acct_attrs.array_char_value(4) := p_source_92;
89265 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
89266 l_rec_acct_attrs.array_char_value(5) := p_source_93;
89267 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
89268 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
89269 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
89270 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
89271 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
89272 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
89273 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
89274 l_rec_acct_attrs.array_char_value(9) := p_source_55;
89275 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
89276 l_rec_acct_attrs.array_num_value(10) := p_source_99;
89277 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
89278 l_rec_acct_attrs.array_char_value(11) := p_source_13;
89279 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
89280 l_rec_acct_attrs.array_num_value(12) := p_source_116;
89281 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
89282 l_rec_acct_attrs.array_char_value(13) := p_source_80;
89283 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
89284 l_rec_acct_attrs.array_char_value(14) := p_source_83;
89285 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
89286 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_112);
89287 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
89288 l_rec_acct_attrs.array_char_value(16) := p_source_55;
89289 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
89290 l_rec_acct_attrs.array_num_value(17) := p_source_86;
89291 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
89292 l_rec_acct_attrs.array_num_value(18) := p_source_87;
89293 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
89294 l_rec_acct_attrs.array_num_value(19) := p_source_88;
89298
89295
89296 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
89297 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
89299 ---------------------------------------------------------------------------------------------------------------
89300 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
89301 ---------------------------------------------------------------------------------------------------------------
89302 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
89303
89304 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
89305 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
89306
89307 IF xla_accounting_cache_pkg.GetValueChar
89308 (p_source_code => 'LEDGER_CATEGORY_CODE'
89309 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
89310 AND l_bflow_method_code = 'PRIOR_ENTRY'
89311 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
89312 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
89313 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
89314 )
89315 THEN
89316 xla_ae_lines_pkg.BflowUpgEntry
89317 (p_business_method_code => l_bflow_method_code
89318 ,p_business_class_code => l_bflow_class_code
89319 ,p_balance_type => l_balance_type_code);
89320 ELSE
89321 NULL;
89322 XLA_AE_LINES_PKG.business_flow_validation(
89323 p_business_method_code => l_bflow_method_code
89324 ,p_business_class_code => l_bflow_class_code
89325 ,p_inherit_description_flag => l_inherit_desc_flag);
89326 END IF;
89327
89328 --
89329 -- call analytical criteria
89330 --
89331 -- Inherited Analytical Criteria for business flow method of Prior Entry.
89332 --
89333 -- call description
89334 --
89335 -- No description or it is inherited.
89336 --
89337 -- call ADRs
89338 -- Bug 4922099
89339 --
89340 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
89341 (NVL(l_actual_upg_option, 'N') = 'O') OR
89342 (NVL(l_enc_upg_option, 'N') = 'O')
89343 )
89344 THEN
89345 NULL;
89346 --
89347 --
89348
89349 --
89350 --
89351 END IF;
89352 --
89353 -- Bug 4922099
89354 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
89355 (NVL(l_enc_upg_option, 'N') = 'O')
89356 ) AND
89357 (l_bflow_method_code = 'PRIOR_ENTRY')
89358 )
89359 THEN
89360 IF
89361 --
89362 1 = 1
89363 --
89364 THEN
89365 xla_accounting_err_pkg.build_message
89366 (p_appli_s_name => 'XLA'
89367 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
89368 ,p_token_1 => 'LINE_NUMBER'
89369 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
89370 ,p_token_2 => 'LINE_TYPE_NAME'
89371 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
89372 l_component_type
89373 ,l_component_code
89374 ,l_component_type_code
89375 ,l_component_appl_id
89376 ,l_amb_context_code
89377 ,l_entity_code
89378 ,l_event_class_code
89379 )
89380 ,p_token_3 => 'OWNER'
89381 ,p_value_3 => xla_lookups_pkg.get_meaning(
89382 p_lookup_type => 'XLA_OWNER_TYPE'
89383 ,p_lookup_code => l_component_type_code
89384 )
89385 ,p_token_4 => 'PRODUCT_NAME'
89386 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
89387 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
89388 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
89389 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
89390 ,p_ae_header_id => NULL
89391 );
89392
89393 IF (C_LEVEL_ERROR>= g_log_level) THEN
89394 trace
89395 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
89396 ,p_level => C_LEVEL_ERROR
89400 END IF;
89397 ,p_module => l_log_module);
89398 END IF;
89399 END IF;
89401 --
89402 --
89403 ------------------------------------------------------------------------------------------------
89404 -- 4219869 Business Flow
89405 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
89406 -- Prior Entry. Currently, the following code is always generated.
89407 ------------------------------------------------------------------------------------------------
89408 -- No ValidateCurrentLine for business flow method of Prior Entry
89409
89410 ------------------------------------------------------------------------------------
89411 -- 4219869 Business Flow
89412 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
89413 ------------------------------------------------------------------------------------
89414 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
89415
89416 ----------------------------------------------------------------------------------
89417 -- 4219869 Business Flow
89418 -- Update journal entry status -- Need to generate this within IF <condition>
89419 ----------------------------------------------------------------------------------
89420 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
89421 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
89422 ,p_balance_type_code => l_balance_type_code
89423 );
89424
89425 -------------------------------------------------------------------------------------------
89426 -- 4262811 - Generate the Accrual Reversal lines
89427 -------------------------------------------------------------------------------------------
89428 BEGIN
89429 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
89430 (g_array_event(p_event_id).array_value_num('header_index'));
89431 IF l_acc_rev_flag IS NULL THEN
89432 l_acc_rev_flag := 'N';
89433 END IF;
89434 EXCEPTION
89435 WHEN OTHERS THEN
89436 l_acc_rev_flag := 'N';
89437 END;
89438 --
89439 IF (l_acc_rev_flag = 'Y') THEN
89440
89441 -- 4645092 ------------------------------------------------------------------------------
89442 -- To allow MPA report to determine if it should generate report process
89443 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
89444 ------------------------------------------------------------------------------------------
89445
89446 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
89447 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
89448 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
89449 -- call ADRs
89450 -- Bug 4922099
89451 --
89452 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
89453 (NVL(l_actual_upg_option, 'N') = 'O') OR
89454 (NVL(l_enc_upg_option, 'N') = 'O')
89455 )
89456 THEN
89457 NULL;
89458 --
89459 --
89460
89461 --
89462 --
89463 END IF;
89464
89465 --
89466 -- Update the line information that should be overwritten
89467 --
89468 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
89469 p_header_num => 1);
89470 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
89471
89472 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
89473
89474 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
89475 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
89476 END IF;
89477
89478 --
89479 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
89480 --
89481 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
89482 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
89483 ELSE
89484 ---------------------------------------------------------------------------------------------------
89485 -- 4262811a Switch Sign
89486 ---------------------------------------------------------------------------------------------------
89487 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
89488 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
89489 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
89490 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
89491 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
89492 -- 5132302
89493 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
89494 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
89495
89496 END IF;
89497
89498 -- 4955764
89499 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
89500 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
89501
89502
89503 XLA_AE_LINES_PKG.ValidateCurrentLine;
89507 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
89504 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
89505
89506 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
89508 ,p_balance_type_code => l_balance_type_code);
89509
89510 END IF;
89511
89512 -----------------------------------------------------------------------------------------
89513 -- 4262811 Multiperiod Accounting
89514 -----------------------------------------------------------------------------------------
89515 -- No MPA option is assigned.
89516
89517
89518 END IF;
89519 END IF;
89520 --
89521
89522 --
89523 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
89524 trace
89525 (p_msg => 'END of AcctLineType_157'
89526 ,p_level => C_LEVEL_PROCEDURE
89527 ,p_module => l_log_module);
89528 END IF;
89529 --
89530 EXCEPTION
89531 WHEN xla_exceptions_pkg.application_exception THEN
89532 RAISE;
89533 WHEN OTHERS THEN
89534 xla_exceptions_pkg.raise_message
89535 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_157');
89536 END AcctLineType_157;
89537 --
89538
89539 ---------------------------------------
89540 --
89541 -- PRIVATE FUNCTION
89542 -- AcctLineType_158
89543 --
89544 ---------------------------------------
89545 PROCEDURE AcctLineType_158 (
89546 p_application_id IN NUMBER
89547 ,p_event_id IN NUMBER
89548 ,p_calculate_acctd_flag IN VARCHAR2
89549 ,p_calculate_g_l_flag IN VARCHAR2
89550 ,p_actual_flag IN OUT VARCHAR2
89551 ,p_balance_type_code OUT VARCHAR2
89552 ,p_gain_or_loss_ref OUT VARCHAR2
89553
89554 --Invoice Distribution Description
89555 , p_source_1 IN VARCHAR2
89556 --Automatic Offsets Value
89557 , p_source_15 IN VARCHAR2
89558 , p_source_15_meaning IN VARCHAR2
89559 --Invoice Distribution Ledger Amount
89560 , p_source_21 IN NUMBER
89561 --Invoice Liability Account
89562 , p_source_34 IN NUMBER
89563 --Accounting Reversal Indicator
89564 , p_source_53 IN VARCHAR2
89565 --Distribution Link Type
89566 , p_source_55 IN VARCHAR2
89567 --Allocation to Main Distribution Identifier
89568 , p_source_57 IN NUMBER
89569 --Invoice Identifier
89570 , p_source_58 IN NUMBER
89571 --Invoice Distribution Identifier
89572 , p_source_64 IN NUMBER
89573 --Payables Encumbrance Upgrade Credit Account
89574 , p_source_65 IN NUMBER
89575 --Payables Encumbrance Upgrade Credit Amount
89576 , p_source_66 IN NUMBER
89577 --Invoice Currency Code
89578 , p_source_67 IN VARCHAR2
89579 --Payables Encumbrance Upgrade Credit Base Amount
89580 , p_source_68 IN NUMBER
89581 --Payables Encumbrance Upgrade Debit Account
89582 , p_source_69 IN NUMBER
89583 --Payables Encumbrance Upgrade Debit Amount
89584 , p_source_70 IN NUMBER
89585 --Payables Encumbrance Upgrade Debit Base Amount
89586 , p_source_71 IN NUMBER
89587 --Payables Encumbrance Upgrade Option
89588 , p_source_72 IN VARCHAR2
89589 --Invoice Distribution Amount
89590 , p_source_73 IN NUMBER
89591 --Deferred Accounting End Date
89592 , p_source_77 IN DATE
89593 --Deferred Accounting Option
89594 , p_source_78 IN VARCHAR2
89595 --Deferred Accounting Start Date
89596 , p_source_79 IN DATE
89597 --Override Accounted Amount Indicator
89598 , p_source_80 IN VARCHAR2
89599 , p_source_80_meaning IN VARCHAR2
89600 --Invoice Supplier Identifier
89601 , p_source_81 IN NUMBER
89602 --Invoice Supplier Site Identifier
89603 , p_source_82 IN NUMBER
89604 --Third Party Type
89605 , p_source_83 IN VARCHAR2
89606 --Parent Reversal Identifier
89607 , p_source_84 IN NUMBER
89608 --Invoice Distribution Statistical Amount
89609 , p_source_85 IN NUMBER
89610 --Invoice Distribution Tax Line Identifier
89611 , p_source_86 IN NUMBER
89612 --Invoice Distribution Tax Distribution Identifier from Tax
89613 , p_source_87 IN NUMBER
89614 --Invoice Distribution Summary Tax Line Identifier
89615 , p_source_88 IN NUMBER
89616 --Payables Upgrade Credit Encumbrance Type Identifier
89617 , p_source_89 IN NUMBER
89618 --Payables Upgrade Debit Encumbrance Type Identifier
89619 , p_source_90 IN NUMBER
89620 --Business Flow Accounts Payable Application Identifier
89621 , p_source_91 IN NUMBER
89622 --Business Flow Invoice Distribution Type
89623 , p_source_92 IN VARCHAR2
89624 --Business Flow Invoice Entity Code
89625 , p_source_93 IN VARCHAR2
89626 --Business Flow Invoice Distribution Identifier
89627 , p_source_94 IN NUMBER
89628 --Business Flow Invoice Identifier
89629 , p_source_95 IN NUMBER
89630 --Self-Assessed Tax Flag
89631 , p_source_142 IN VARCHAR2
89632 , p_source_142_meaning IN VARCHAR2
89633 --Invoice Exchange Date
89634 , p_source_143 IN DATE
89635 --Invoice Exchange Rate
89636 , p_source_144 IN NUMBER
89637 --Invoice Exchange Rate Type
89638 , p_source_145 IN VARCHAR2
89639 )
89640 IS
89641
89645 l_component_appl_id INTEGER;
89642 l_component_type VARCHAR2(80);
89643 l_component_code VARCHAR2(30);
89644 l_component_type_code VARCHAR2(1);
89646 l_amb_context_code VARCHAR2(30);
89647 l_entity_code VARCHAR2(30);
89648 l_event_class_code VARCHAR2(30);
89649 l_ae_header_id NUMBER;
89650 l_event_type_code VARCHAR2(30);
89651 l_line_definition_code VARCHAR2(30);
89652 l_line_definition_owner_code VARCHAR2(1);
89653 --
89654 -- adr variables
89655 l_segment VARCHAR2(30);
89656 l_ccid NUMBER;
89657 l_adr_transaction_coa_id NUMBER;
89658 l_adr_accounting_coa_id NUMBER;
89659 l_adr_flexfield_segment_code VARCHAR2(30);
89660 l_adr_flex_value_set_id NUMBER;
89661 l_adr_value_type_code VARCHAR2(30);
89662 l_adr_value_combination_id NUMBER;
89663 l_adr_value_segment_code VARCHAR2(30);
89664
89665 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
89666 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
89667 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
89668 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
89669
89670 -- 4262811 Variables ------------------------------------------------------------------------------------------
89671 l_entered_amt_idx NUMBER;
89672 l_accted_amt_idx NUMBER;
89673 l_acc_rev_flag VARCHAR2(1);
89674 l_accrual_line_num NUMBER;
89675 l_tmp_amt NUMBER;
89676 l_acc_rev_natural_side_code VARCHAR2(1);
89677
89678 l_num_entries NUMBER;
89679 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
89680 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
89681 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
89682 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
89683 l_recog_line_1 NUMBER;
89684 l_recog_line_2 NUMBER;
89685
89686 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
89687 l_bflow_applied_to_amt NUMBER; -- 5132302
89688 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
89689
89690 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
89691
89692 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
89693 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
89694
89695 ---------------------------------------------------------------------------------------------------------------
89696
89697
89698 --
89699 -- bulk performance
89700 --
89701 l_balance_type_code VARCHAR2(1);
89702 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
89703 l_log_module VARCHAR2(240);
89704
89705 --
89706 -- Upgrade strategy
89707 --
89708 l_actual_upg_option VARCHAR2(1);
89709 l_enc_upg_option VARCHAR2(1);
89710
89711 --
89712 BEGIN
89713 --
89714 IF g_log_enabled THEN
89715 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_158';
89716 END IF;
89717 --
89718 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
89719
89720 trace
89721 (p_msg => 'BEGIN of AcctLineType_158'
89722 ,p_level => C_LEVEL_PROCEDURE
89723 ,p_module => l_log_module);
89724
89725 END IF;
89726 --
89727 l_component_type := 'AMB_JLT';
89728 l_component_code := 'AP_LIAB_PREPAY';
89729 l_component_type_code := 'S';
89730 l_component_appl_id := 200;
89731 l_amb_context_code := 'DEFAULT';
89732 l_entity_code := 'AP_INVOICES';
89733 l_event_class_code := 'PREPAYMENTS';
89734 l_event_type_code := 'PREPAYMENTS_ALL';
89735 l_line_definition_owner_code := 'S';
89736 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
89737 --
89738 l_balance_type_code := 'A';
89739 l_segment := NULL;
89740 l_ccid := NULL;
89741 l_adr_transaction_coa_id := NULL;
89742 l_adr_accounting_coa_id := NULL;
89743 l_adr_flexfield_segment_code := NULL;
89744 l_adr_flex_value_set_id := NULL;
89745 l_adr_value_type_code := NULL;
89746 l_adr_value_combination_id := NULL;
89747 l_adr_value_segment_code := NULL;
89748
89749 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
89750 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
89751 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
89752 l_budgetary_control_flag := 'N';
89753
89754 l_bflow_applied_to_amt_idx := NULL; -- 5132302
89755 l_bflow_applied_to_amt := NULL; -- 5132302
89756 l_entered_amt_idx := NULL; -- 4262811
89757 l_accted_amt_idx := NULL; -- 4262811
89758 l_acc_rev_flag := NULL; -- 4262811
89759 l_accrual_line_num := NULL; -- 4262811
89760 l_tmp_amt := NULL; -- 4262811
89761 --
89762
89763 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
89764 l_balance_type_code <> 'B' THEN
89765 IF (NVL(p_source_15,'
89769 NVL(p_source_142,'
89766 ') <> 'BALANCING_SEGMENT' AND
89767 NVL(p_source_15,'
89768 ') <> 'ACCOUNT_SEGMENT_VALUE') AND
89770 ') <> 'Y'
89771 THEN
89772
89773 --
89774 XLA_AE_LINES_PKG.SetNewLine;
89775
89776 p_balance_type_code := l_balance_type_code;
89777 -- set the flag so later we will know whether the gain loss line needs to be created
89778
89779 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
89780 p_actual_flag :='A';
89781 END IF;
89782
89783 --
89784 -- bulk performance
89785 --
89786 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
89787 p_header_num => 0); -- 4262811
89788 --
89789 -- set accounting line options
89790 --
89791 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
89792 p_natural_side_code => 'C'
89793 , p_gain_or_loss_flag => 'N'
89794 , p_gl_transfer_mode_code => 'S'
89795 , p_acct_entry_type_code => 'A'
89796 , p_switch_side_flag => 'Y'
89797 , p_merge_duplicate_code => 'A'
89798 );
89799 --
89800 l_acc_rev_natural_side_code := 'D'; -- 4262811
89801 --
89802 --
89803 -- set accounting line type info
89804 --
89805 xla_ae_lines_pkg.SetAcctLineType
89806 (p_component_type => l_component_type
89807 ,p_event_type_code => l_event_type_code
89808 ,p_line_definition_owner_code => l_line_definition_owner_code
89809 ,p_line_definition_code => l_line_definition_code
89810 ,p_accounting_line_code => l_component_code
89811 ,p_accounting_line_type_code => l_component_type_code
89812 ,p_accounting_line_appl_id => l_component_appl_id
89813 ,p_amb_context_code => l_amb_context_code
89814 ,p_entity_code => l_entity_code
89815 ,p_event_class_code => l_event_class_code);
89816 --
89817 -- set accounting class
89818 --
89819 xla_ae_lines_pkg.SetAcctClass(
89820 p_accounting_class_code => 'LIABILITY'
89821 , p_ae_header_id => l_ae_header_id
89822 );
89823
89824 --
89825 -- set rounding class
89826 --
89827 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
89828 'LIABILITY';
89829
89830 --
89831 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
89832 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
89833 --
89834 -- bulk performance
89835 --
89836 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
89837
89838 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
89839 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
89840
89841 -- 4955764
89842 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
89843 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
89844
89845 -- 4458381 Public Sector Enh
89846
89847 --
89848 -- set accounting attributes for the line type
89849 --
89850 l_entered_amt_idx := 23;
89851 l_accted_amt_idx := 28;
89852 l_bflow_applied_to_amt_idx := NULL; -- 5132302
89853 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
89854 l_rec_acct_attrs.array_char_value(1) := p_source_53;
89855 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
89856 l_rec_acct_attrs.array_num_value(2) :=
89857 xla_ae_sources_pkg.GetSystemSourceNum(
89858 p_source_code => 'XLA_EVENT_APPL_ID'
89859 , p_source_type_code => 'Y'
89860 , p_source_application_id => 602
89861 );
89862 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
89863 l_rec_acct_attrs.array_char_value(3) := p_source_55;
89864 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
89865 l_rec_acct_attrs.array_char_value(4) :=
89866 xla_ae_sources_pkg.GetSystemSourceChar(
89867 p_source_code => 'XLA_ENTITY_CODE'
89868 , p_source_type_code => 'Y'
89869 , p_source_application_id => 602
89870 );
89871 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
89872 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
89873 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
89874 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
89875 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
89876 l_rec_acct_attrs.array_num_value(7) := p_source_91;
89877 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
89878 l_rec_acct_attrs.array_char_value(8) := p_source_92;
89879 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
89880 l_rec_acct_attrs.array_char_value(9) := p_source_93;
89881 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
89882 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
89883 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
89884 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
89885 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
89889 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
89886 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
89887 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
89888 l_rec_acct_attrs.array_char_value(13) := p_source_55;
89890 l_rec_acct_attrs.array_num_value(14) := p_source_65;
89891 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
89892 l_rec_acct_attrs.array_num_value(15) := p_source_66;
89893 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
89894 l_rec_acct_attrs.array_char_value(16) := p_source_67;
89895 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
89896 l_rec_acct_attrs.array_num_value(17) := p_source_68;
89897 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
89898 l_rec_acct_attrs.array_num_value(18) := p_source_69;
89899 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
89900 l_rec_acct_attrs.array_num_value(19) := p_source_70;
89901 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
89902 l_rec_acct_attrs.array_char_value(20) := p_source_67;
89903 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
89904 l_rec_acct_attrs.array_num_value(21) := p_source_71;
89905 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
89906 l_rec_acct_attrs.array_char_value(22) := p_source_72;
89907 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
89908 l_rec_acct_attrs.array_num_value(23) := p_source_73;
89909 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
89910 l_rec_acct_attrs.array_char_value(24) := p_source_67;
89911 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
89912 l_rec_acct_attrs.array_date_value(25) := p_source_143;
89913 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
89914 l_rec_acct_attrs.array_num_value(26) := p_source_144;
89915 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
89916 l_rec_acct_attrs.array_char_value(27) := p_source_145;
89917 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
89918 l_rec_acct_attrs.array_num_value(28) := p_source_21;
89919 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
89920 l_rec_acct_attrs.array_date_value(29) := p_source_77;
89921 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
89922 l_rec_acct_attrs.array_char_value(30) := p_source_78;
89923 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
89924 l_rec_acct_attrs.array_date_value(31) := p_source_79;
89925 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
89926 l_rec_acct_attrs.array_char_value(32) := p_source_80;
89927 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
89928 l_rec_acct_attrs.array_num_value(33) := p_source_81;
89929 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
89930 l_rec_acct_attrs.array_num_value(34) := p_source_82;
89931 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
89932 l_rec_acct_attrs.array_char_value(35) := p_source_83;
89933 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
89934 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
89935 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
89936 l_rec_acct_attrs.array_char_value(37) := p_source_55;
89937 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
89938 l_rec_acct_attrs.array_num_value(38) := p_source_85;
89939 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
89940 l_rec_acct_attrs.array_num_value(39) := p_source_86;
89941 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
89942 l_rec_acct_attrs.array_num_value(40) := p_source_87;
89943 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
89944 l_rec_acct_attrs.array_num_value(41) := p_source_88;
89945 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
89946 l_rec_acct_attrs.array_num_value(42) := p_source_89;
89947 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
89948 l_rec_acct_attrs.array_num_value(43) := p_source_90;
89949
89950 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
89951 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
89952
89953 ---------------------------------------------------------------------------------------------------------------
89954 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
89955 ---------------------------------------------------------------------------------------------------------------
89956 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
89957
89958 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
89959 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
89960
89961 IF xla_accounting_cache_pkg.GetValueChar
89962 (p_source_code => 'LEDGER_CATEGORY_CODE'
89963 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
89964 AND l_bflow_method_code = 'PRIOR_ENTRY'
89965 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
89966 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
89967 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
89968 )
89969 THEN
89970 xla_ae_lines_pkg.BflowUpgEntry
89971 (p_business_method_code => l_bflow_method_code
89975 NULL;
89972 ,p_business_class_code => l_bflow_class_code
89973 ,p_balance_type => l_balance_type_code);
89974 ELSE
89976 -- No business flow processing for business flow method of NONE.
89977 END IF;
89978
89979 --
89980 -- call analytical criteria
89981 --
89982
89983 --
89984 -- call description
89985 --
89986
89987 xla_ae_lines_pkg.SetLineDescription(
89988 p_ae_header_id => l_ae_header_id
89989 ,p_description => Description_1 (
89990 p_application_id => p_application_id
89991 , p_ae_header_id => l_ae_header_id
89992 , p_source_1 => p_source_1
89993 )
89994 );
89995
89996
89997 --
89998 -- call ADRs
89999 -- Bug 4922099
90000 --
90001 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
90002 (NVL(l_actual_upg_option, 'N') = 'O') OR
90003 (NVL(l_enc_upg_option, 'N') = 'O')
90004 )
90005 THEN
90006 NULL;
90007 --
90008 --
90009
90010 l_ccid := AcctDerRule_34(
90011 p_application_id => p_application_id
90012 , p_ae_header_id => l_ae_header_id
90013 , p_source_34 => p_source_34
90014 , x_transaction_coa_id => l_adr_transaction_coa_id
90015 , x_accounting_coa_id => l_adr_accounting_coa_id
90016 , x_value_type_code => l_adr_value_type_code
90017 , p_side => 'NA'
90018 );
90019
90020 xla_ae_lines_pkg.set_ccid(
90021 p_code_combination_id => l_ccid
90022 , p_value_type_code => l_adr_value_type_code
90023 , p_transaction_coa_id => l_adr_transaction_coa_id
90024 , p_accounting_coa_id => l_adr_accounting_coa_id
90025 , p_adr_code => 'AP_LIAB'
90026 , p_adr_type_code => 'S'
90027 , p_component_type => l_component_type
90028 , p_component_code => l_component_code
90029 , p_component_type_code => l_component_type_code
90030 , p_component_appl_id => l_component_appl_id
90031 , p_amb_context_code => l_amb_context_code
90032 , p_side => 'NA'
90033 );
90034
90035
90036 --
90037 --
90038 END IF;
90039 --
90040 -- Bug 4922099
90041 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
90042 (NVL(l_enc_upg_option, 'N') = 'O')
90043 ) AND
90044 (l_bflow_method_code = 'PRIOR_ENTRY')
90045 )
90046 THEN
90047 IF
90048 --
90049 1 = 2
90050 --
90051 THEN
90052 xla_accounting_err_pkg.build_message
90053 (p_appli_s_name => 'XLA'
90054 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
90055 ,p_token_1 => 'LINE_NUMBER'
90056 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
90057 ,p_token_2 => 'LINE_TYPE_NAME'
90058 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
90059 l_component_type
90060 ,l_component_code
90061 ,l_component_type_code
90062 ,l_component_appl_id
90063 ,l_amb_context_code
90064 ,l_entity_code
90065 ,l_event_class_code
90066 )
90067 ,p_token_3 => 'OWNER'
90068 ,p_value_3 => xla_lookups_pkg.get_meaning(
90069 p_lookup_type => 'XLA_OWNER_TYPE'
90070 ,p_lookup_code => l_component_type_code
90071 )
90072 ,p_token_4 => 'PRODUCT_NAME'
90073 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
90074 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
90075 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
90076 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
90077 ,p_ae_header_id => NULL
90078 );
90079
90080 IF (C_LEVEL_ERROR>= g_log_level) THEN
90081 trace
90082 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
90083 ,p_level => C_LEVEL_ERROR
90084 ,p_module => l_log_module);
90085 END IF;
90086 END IF;
90087 END IF;
90088 --
90089 --
90093 -- Prior Entry. Currently, the following code is always generated.
90090 ------------------------------------------------------------------------------------------------
90091 -- 4219869 Business Flow
90092 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
90094 ------------------------------------------------------------------------------------------------
90095 XLA_AE_LINES_PKG.ValidateCurrentLine;
90096
90097 ------------------------------------------------------------------------------------
90098 -- 4219869 Business Flow
90099 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
90100 ------------------------------------------------------------------------------------
90101 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
90102
90103 ----------------------------------------------------------------------------------
90104 -- 4219869 Business Flow
90105 -- Update journal entry status -- Need to generate this within IF <condition>
90106 ----------------------------------------------------------------------------------
90107 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
90108 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
90109 ,p_balance_type_code => l_balance_type_code
90110 );
90111
90112 -------------------------------------------------------------------------------------------
90113 -- 4262811 - Generate the Accrual Reversal lines
90114 -------------------------------------------------------------------------------------------
90115 BEGIN
90116 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
90117 (g_array_event(p_event_id).array_value_num('header_index'));
90118 IF l_acc_rev_flag IS NULL THEN
90119 l_acc_rev_flag := 'N';
90120 END IF;
90121 EXCEPTION
90122 WHEN OTHERS THEN
90123 l_acc_rev_flag := 'N';
90124 END;
90125 --
90126 IF (l_acc_rev_flag = 'Y') THEN
90127
90128 -- 4645092 ------------------------------------------------------------------------------
90129 -- To allow MPA report to determine if it should generate report process
90130 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
90131 ------------------------------------------------------------------------------------------
90132
90133 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
90134 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
90135 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
90136 -- call ADRs
90137 -- Bug 4922099
90138 --
90139 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
90140 (NVL(l_actual_upg_option, 'N') = 'O') OR
90141 (NVL(l_enc_upg_option, 'N') = 'O')
90142 )
90143 THEN
90144 NULL;
90145 --
90146 --
90147
90148 l_ccid := AcctDerRule_34(
90149 p_application_id => p_application_id
90150 , p_ae_header_id => l_ae_header_id
90151 , p_source_34 => p_source_34
90152 , x_transaction_coa_id => l_adr_transaction_coa_id
90153 , x_accounting_coa_id => l_adr_accounting_coa_id
90154 , x_value_type_code => l_adr_value_type_code
90155 , p_side => 'NA'
90156 );
90157
90158 xla_ae_lines_pkg.set_ccid(
90159 p_code_combination_id => l_ccid
90160 , p_value_type_code => l_adr_value_type_code
90161 , p_transaction_coa_id => l_adr_transaction_coa_id
90162 , p_accounting_coa_id => l_adr_accounting_coa_id
90163 , p_adr_code => 'AP_LIAB'
90164 , p_adr_type_code => 'S'
90165 , p_component_type => l_component_type
90166 , p_component_code => l_component_code
90167 , p_component_type_code => l_component_type_code
90168 , p_component_appl_id => l_component_appl_id
90169 , p_amb_context_code => l_amb_context_code
90170 , p_side => 'NA'
90171 );
90172
90173
90174 --
90175 --
90176 END IF;
90177
90178 --
90179 -- Update the line information that should be overwritten
90180 --
90181 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
90182 p_header_num => 1);
90183 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
90184
90185 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
90186
90187 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
90188 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
90189 END IF;
90190
90191 --
90192 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
90193 --
90194 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
90195 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
90196 ELSE
90197 ---------------------------------------------------------------------------------------------------
90198 -- 4262811a Switch Sign
90199 ---------------------------------------------------------------------------------------------------
90203 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
90200 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
90201 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
90202 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
90204 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
90205 -- 5132302
90206 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
90207 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
90208
90209 END IF;
90210
90211 -- 4955764
90212 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
90213 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
90214
90215
90216 XLA_AE_LINES_PKG.ValidateCurrentLine;
90217 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
90218
90219 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
90220 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
90221 ,p_balance_type_code => l_balance_type_code);
90222
90223 END IF;
90224
90225 -----------------------------------------------------------------------------------------
90226 -- 4262811 Multiperiod Accounting
90227 -----------------------------------------------------------------------------------------
90228 -- No MPA option is assigned.
90229
90230
90231 END IF;
90232 END IF;
90233 --
90234
90235 --
90236 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
90237 trace
90238 (p_msg => 'END of AcctLineType_158'
90239 ,p_level => C_LEVEL_PROCEDURE
90240 ,p_module => l_log_module);
90241 END IF;
90242 --
90243 EXCEPTION
90244 WHEN xla_exceptions_pkg.application_exception THEN
90245 RAISE;
90246 WHEN OTHERS THEN
90247 xla_exceptions_pkg.raise_message
90248 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_158');
90249 END AcctLineType_158;
90250 --
90251
90252 ---------------------------------------
90253 --
90254 -- PRIVATE FUNCTION
90255 -- AcctLineType_159
90256 --
90257 ---------------------------------------
90258 PROCEDURE AcctLineType_159 (
90259 p_application_id IN NUMBER
90260 ,p_event_id IN NUMBER
90261 ,p_calculate_acctd_flag IN VARCHAR2
90262 ,p_calculate_g_l_flag IN VARCHAR2
90263 ,p_actual_flag IN OUT VARCHAR2
90264 ,p_balance_type_code OUT VARCHAR2
90265 ,p_gain_or_loss_ref OUT VARCHAR2
90266
90267 --Invoice Distribution Description
90268 , p_source_1 IN VARCHAR2
90269 --Automatic Offsets Value
90270 , p_source_15 IN VARCHAR2
90271 , p_source_15_meaning IN VARCHAR2
90272 --Invoice Distribution Ledger Amount
90273 , p_source_21 IN NUMBER
90274 --Invoice Liability Account
90275 , p_source_34 IN NUMBER
90276 --Accounting Reversal Indicator
90277 , p_source_53 IN VARCHAR2
90278 --Distribution Link Type
90279 , p_source_55 IN VARCHAR2
90280 --Allocation to Main Distribution Identifier
90281 , p_source_57 IN NUMBER
90282 --Invoice Identifier
90283 , p_source_58 IN NUMBER
90284 --Invoice Distribution Identifier
90285 , p_source_64 IN NUMBER
90286 --Payables Encumbrance Upgrade Credit Account
90287 , p_source_65 IN NUMBER
90288 --Payables Encumbrance Upgrade Credit Amount
90289 , p_source_66 IN NUMBER
90290 --Invoice Currency Code
90291 , p_source_67 IN VARCHAR2
90292 --Payables Encumbrance Upgrade Credit Base Amount
90293 , p_source_68 IN NUMBER
90294 --Payables Encumbrance Upgrade Debit Account
90295 , p_source_69 IN NUMBER
90296 --Payables Encumbrance Upgrade Debit Amount
90297 , p_source_70 IN NUMBER
90298 --Payables Encumbrance Upgrade Debit Base Amount
90299 , p_source_71 IN NUMBER
90300 --Payables Encumbrance Upgrade Option
90301 , p_source_72 IN VARCHAR2
90302 --Invoice Distribution Amount
90303 , p_source_73 IN NUMBER
90304 --Deferred Accounting End Date
90305 , p_source_77 IN DATE
90306 --Deferred Accounting Option
90307 , p_source_78 IN VARCHAR2
90308 --Deferred Accounting Start Date
90309 , p_source_79 IN DATE
90310 --Override Accounted Amount Indicator
90311 , p_source_80 IN VARCHAR2
90312 , p_source_80_meaning IN VARCHAR2
90313 --Invoice Supplier Identifier
90314 , p_source_81 IN NUMBER
90315 --Invoice Supplier Site Identifier
90316 , p_source_82 IN NUMBER
90317 --Third Party Type
90318 , p_source_83 IN VARCHAR2
90319 --Parent Reversal Identifier
90320 , p_source_84 IN NUMBER
90321 --Invoice Distribution Statistical Amount
90322 , p_source_85 IN NUMBER
90323 --Invoice Distribution Tax Line Identifier
90324 , p_source_86 IN NUMBER
90325 --Invoice Distribution Tax Distribution Identifier from Tax
90326 , p_source_87 IN NUMBER
90327 --Invoice Distribution Summary Tax Line Identifier
90331 --Payables Upgrade Debit Encumbrance Type Identifier
90328 , p_source_88 IN NUMBER
90329 --Payables Upgrade Credit Encumbrance Type Identifier
90330 , p_source_89 IN NUMBER
90332 , p_source_90 IN NUMBER
90333 --Business Flow Accounts Payable Application Identifier
90334 , p_source_91 IN NUMBER
90335 --Business Flow Invoice Distribution Type
90336 , p_source_92 IN VARCHAR2
90337 --Business Flow Invoice Entity Code
90338 , p_source_93 IN VARCHAR2
90339 --Business Flow Invoice Distribution Identifier
90340 , p_source_94 IN NUMBER
90341 --Business Flow Invoice Identifier
90342 , p_source_95 IN NUMBER
90343 --Self-Assessed Tax Flag
90344 , p_source_142 IN VARCHAR2
90345 , p_source_142_meaning IN VARCHAR2
90346 --Invoice Exchange Date
90347 , p_source_143 IN DATE
90348 --Invoice Exchange Rate
90349 , p_source_144 IN NUMBER
90350 --Invoice Exchange Rate Type
90351 , p_source_145 IN VARCHAR2
90352 )
90353 IS
90354
90355 l_component_type VARCHAR2(80);
90356 l_component_code VARCHAR2(30);
90357 l_component_type_code VARCHAR2(1);
90358 l_component_appl_id INTEGER;
90359 l_amb_context_code VARCHAR2(30);
90360 l_entity_code VARCHAR2(30);
90361 l_event_class_code VARCHAR2(30);
90362 l_ae_header_id NUMBER;
90363 l_event_type_code VARCHAR2(30);
90364 l_line_definition_code VARCHAR2(30);
90365 l_line_definition_owner_code VARCHAR2(1);
90366 --
90367 -- adr variables
90368 l_segment VARCHAR2(30);
90369 l_ccid NUMBER;
90370 l_adr_transaction_coa_id NUMBER;
90371 l_adr_accounting_coa_id NUMBER;
90372 l_adr_flexfield_segment_code VARCHAR2(30);
90373 l_adr_flex_value_set_id NUMBER;
90374 l_adr_value_type_code VARCHAR2(30);
90375 l_adr_value_combination_id NUMBER;
90376 l_adr_value_segment_code VARCHAR2(30);
90377
90378 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
90379 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
90380 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
90381 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
90382
90383 -- 4262811 Variables ------------------------------------------------------------------------------------------
90384 l_entered_amt_idx NUMBER;
90385 l_accted_amt_idx NUMBER;
90386 l_acc_rev_flag VARCHAR2(1);
90387 l_accrual_line_num NUMBER;
90388 l_tmp_amt NUMBER;
90389 l_acc_rev_natural_side_code VARCHAR2(1);
90390
90391 l_num_entries NUMBER;
90392 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
90393 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
90394 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
90395 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
90396 l_recog_line_1 NUMBER;
90397 l_recog_line_2 NUMBER;
90398
90399 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
90400 l_bflow_applied_to_amt NUMBER; -- 5132302
90401 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
90402
90403 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
90404
90405 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
90406 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
90407
90408 ---------------------------------------------------------------------------------------------------------------
90409
90410
90411 --
90412 -- bulk performance
90413 --
90414 l_balance_type_code VARCHAR2(1);
90415 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
90416 l_log_module VARCHAR2(240);
90417
90418 --
90419 -- Upgrade strategy
90420 --
90421 l_actual_upg_option VARCHAR2(1);
90422 l_enc_upg_option VARCHAR2(1);
90423
90424 --
90425 BEGIN
90426 --
90427 IF g_log_enabled THEN
90428 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_159';
90429 END IF;
90430 --
90431 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
90432
90433 trace
90434 (p_msg => 'BEGIN of AcctLineType_159'
90435 ,p_level => C_LEVEL_PROCEDURE
90436 ,p_module => l_log_module);
90437
90438 END IF;
90439 --
90440 l_component_type := 'AMB_JLT';
90441 l_component_code := 'AP_LIAB_PREPAY_AOS_AS';
90442 l_component_type_code := 'S';
90443 l_component_appl_id := 200;
90444 l_amb_context_code := 'DEFAULT';
90445 l_entity_code := 'AP_INVOICES';
90446 l_event_class_code := 'PREPAYMENTS';
90447 l_event_type_code := 'PREPAYMENTS_ALL';
90448 l_line_definition_owner_code := 'S';
90449 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
90450 --
90451 l_balance_type_code := 'A';
90452 l_segment := NULL;
90453 l_ccid := NULL;
90454 l_adr_transaction_coa_id := NULL;
90455 l_adr_accounting_coa_id := NULL;
90459 l_adr_value_combination_id := NULL;
90456 l_adr_flexfield_segment_code := NULL;
90457 l_adr_flex_value_set_id := NULL;
90458 l_adr_value_type_code := NULL;
90460 l_adr_value_segment_code := NULL;
90461
90462 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
90463 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
90464 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
90465 l_budgetary_control_flag := 'N';
90466
90467 l_bflow_applied_to_amt_idx := NULL; -- 5132302
90468 l_bflow_applied_to_amt := NULL; -- 5132302
90469 l_entered_amt_idx := NULL; -- 4262811
90470 l_accted_amt_idx := NULL; -- 4262811
90471 l_acc_rev_flag := NULL; -- 4262811
90472 l_accrual_line_num := NULL; -- 4262811
90473 l_tmp_amt := NULL; -- 4262811
90474 --
90475
90476 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
90477 l_balance_type_code <> 'B' THEN
90478 IF NVL(p_source_15,'
90479 ') = 'ACCOUNT_SEGMENT_VALUE' AND
90480 NVL(p_source_142,'
90481 ') <> 'Y'
90482 THEN
90483
90484 --
90485 XLA_AE_LINES_PKG.SetNewLine;
90486
90487 p_balance_type_code := l_balance_type_code;
90488 -- set the flag so later we will know whether the gain loss line needs to be created
90489
90490 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
90491 p_actual_flag :='A';
90492 END IF;
90493
90494 --
90495 -- bulk performance
90496 --
90497 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
90498 p_header_num => 0); -- 4262811
90499 --
90500 -- set accounting line options
90501 --
90502 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
90503 p_natural_side_code => 'C'
90504 , p_gain_or_loss_flag => 'N'
90505 , p_gl_transfer_mode_code => 'S'
90506 , p_acct_entry_type_code => 'A'
90507 , p_switch_side_flag => 'Y'
90508 , p_merge_duplicate_code => 'A'
90509 );
90510 --
90511 l_acc_rev_natural_side_code := 'D'; -- 4262811
90512 --
90513 --
90514 -- set accounting line type info
90515 --
90516 xla_ae_lines_pkg.SetAcctLineType
90517 (p_component_type => l_component_type
90518 ,p_event_type_code => l_event_type_code
90519 ,p_line_definition_owner_code => l_line_definition_owner_code
90520 ,p_line_definition_code => l_line_definition_code
90521 ,p_accounting_line_code => l_component_code
90522 ,p_accounting_line_type_code => l_component_type_code
90523 ,p_accounting_line_appl_id => l_component_appl_id
90524 ,p_amb_context_code => l_amb_context_code
90525 ,p_entity_code => l_entity_code
90526 ,p_event_class_code => l_event_class_code);
90527 --
90528 -- set accounting class
90529 --
90530 xla_ae_lines_pkg.SetAcctClass(
90531 p_accounting_class_code => 'LIABILITY'
90532 , p_ae_header_id => l_ae_header_id
90533 );
90534
90535 --
90536 -- set rounding class
90537 --
90538 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
90539 'LIABILITY';
90540
90541 --
90542 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
90543 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
90544 --
90545 -- bulk performance
90546 --
90547 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
90548
90549 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
90550 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
90551
90552 -- 4955764
90553 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
90554 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
90555
90556 -- 4458381 Public Sector Enh
90557
90558 --
90559 -- set accounting attributes for the line type
90560 --
90561 l_entered_amt_idx := 23;
90562 l_accted_amt_idx := 28;
90563 l_bflow_applied_to_amt_idx := NULL; -- 5132302
90564 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
90565 l_rec_acct_attrs.array_char_value(1) := p_source_53;
90566 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
90567 l_rec_acct_attrs.array_num_value(2) :=
90568 xla_ae_sources_pkg.GetSystemSourceNum(
90569 p_source_code => 'XLA_EVENT_APPL_ID'
90570 , p_source_type_code => 'Y'
90571 , p_source_application_id => 602
90572 );
90573 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
90574 l_rec_acct_attrs.array_char_value(3) := p_source_55;
90575 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
90576 l_rec_acct_attrs.array_char_value(4) :=
90577 xla_ae_sources_pkg.GetSystemSourceChar(
90578 p_source_code => 'XLA_ENTITY_CODE'
90579 , p_source_type_code => 'Y'
90580 , p_source_application_id => 602
90581 );
90585 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
90582 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
90583 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
90584 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
90586 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
90587 l_rec_acct_attrs.array_num_value(7) := p_source_91;
90588 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
90589 l_rec_acct_attrs.array_char_value(8) := p_source_92;
90590 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
90591 l_rec_acct_attrs.array_char_value(9) := p_source_93;
90592 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
90593 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
90594 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
90595 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
90596 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
90597 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
90598 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
90599 l_rec_acct_attrs.array_char_value(13) := p_source_55;
90600 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
90601 l_rec_acct_attrs.array_num_value(14) := p_source_65;
90602 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
90603 l_rec_acct_attrs.array_num_value(15) := p_source_66;
90604 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
90605 l_rec_acct_attrs.array_char_value(16) := p_source_67;
90606 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
90607 l_rec_acct_attrs.array_num_value(17) := p_source_68;
90608 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
90609 l_rec_acct_attrs.array_num_value(18) := p_source_69;
90610 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
90611 l_rec_acct_attrs.array_num_value(19) := p_source_70;
90612 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
90613 l_rec_acct_attrs.array_char_value(20) := p_source_67;
90614 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
90615 l_rec_acct_attrs.array_num_value(21) := p_source_71;
90616 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
90617 l_rec_acct_attrs.array_char_value(22) := p_source_72;
90618 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
90619 l_rec_acct_attrs.array_num_value(23) := p_source_73;
90620 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
90621 l_rec_acct_attrs.array_char_value(24) := p_source_67;
90622 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
90623 l_rec_acct_attrs.array_date_value(25) := p_source_143;
90624 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
90625 l_rec_acct_attrs.array_num_value(26) := p_source_144;
90626 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
90627 l_rec_acct_attrs.array_char_value(27) := p_source_145;
90628 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
90629 l_rec_acct_attrs.array_num_value(28) := p_source_21;
90630 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
90631 l_rec_acct_attrs.array_date_value(29) := p_source_77;
90632 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
90633 l_rec_acct_attrs.array_char_value(30) := p_source_78;
90634 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
90635 l_rec_acct_attrs.array_date_value(31) := p_source_79;
90636 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
90637 l_rec_acct_attrs.array_char_value(32) := p_source_80;
90638 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
90639 l_rec_acct_attrs.array_num_value(33) := p_source_81;
90640 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
90641 l_rec_acct_attrs.array_num_value(34) := p_source_82;
90642 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
90643 l_rec_acct_attrs.array_char_value(35) := p_source_83;
90644 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
90645 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
90646 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
90647 l_rec_acct_attrs.array_char_value(37) := p_source_55;
90648 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
90649 l_rec_acct_attrs.array_num_value(38) := p_source_85;
90650 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
90651 l_rec_acct_attrs.array_num_value(39) := p_source_86;
90652 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
90653 l_rec_acct_attrs.array_num_value(40) := p_source_87;
90654 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
90655 l_rec_acct_attrs.array_num_value(41) := p_source_88;
90656 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
90657 l_rec_acct_attrs.array_num_value(42) := p_source_89;
90658 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
90659 l_rec_acct_attrs.array_num_value(43) := p_source_90;
90660
90661 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
90662 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
90663
90664 ---------------------------------------------------------------------------------------------------------------
90665 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
90669 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
90666 ---------------------------------------------------------------------------------------------------------------
90667 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
90668
90670 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
90671
90672 IF xla_accounting_cache_pkg.GetValueChar
90673 (p_source_code => 'LEDGER_CATEGORY_CODE'
90674 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
90675 AND l_bflow_method_code = 'PRIOR_ENTRY'
90676 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
90677 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
90678 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
90679 )
90680 THEN
90681 xla_ae_lines_pkg.BflowUpgEntry
90682 (p_business_method_code => l_bflow_method_code
90683 ,p_business_class_code => l_bflow_class_code
90684 ,p_balance_type => l_balance_type_code);
90685 ELSE
90686 NULL;
90687 XLA_AE_LINES_PKG.business_flow_validation(
90688 p_business_method_code => l_bflow_method_code
90689 ,p_business_class_code => l_bflow_class_code
90690 ,p_inherit_description_flag => l_inherit_desc_flag);
90691 END IF;
90692
90693 --
90694 -- call analytical criteria
90695 --
90696
90697 --
90698 -- call description
90699 --
90700
90701 xla_ae_lines_pkg.SetLineDescription(
90702 p_ae_header_id => l_ae_header_id
90703 ,p_description => Description_1 (
90704 p_application_id => p_application_id
90705 , p_ae_header_id => l_ae_header_id
90706 , p_source_1 => p_source_1
90707 )
90708 );
90709
90710
90711 --
90712 -- call ADRs
90713 -- Bug 4922099
90714 --
90715 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
90716 (NVL(l_actual_upg_option, 'N') = 'O') OR
90717 (NVL(l_enc_upg_option, 'N') = 'O')
90718 )
90719 THEN
90720 NULL;
90721 --
90722 --
90723
90724 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
90725 p_code_combination_id => TO_NUMBER(C_NUM)
90726 , p_value_type_code => NULL
90727 , p_transaction_coa_id => null
90728 , p_accounting_coa_id => null
90729 , p_adr_code => NULL
90730 , p_adr_type_code => NULL
90731 , p_component_type => l_component_type
90732 , p_component_code => l_component_code
90733 , p_component_type_code => l_component_type_code
90734 , p_component_appl_id => l_component_appl_id
90735 , p_amb_context_code => l_amb_context_code
90736 , p_side => NULL
90737 );
90738
90739
90740 -- initialise segments
90741 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90742 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90743 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90744 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90745 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90746 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90747 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90748 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90749 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90750 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90751 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90752 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90753 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90754 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90755 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90756 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90757 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90758 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90759 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90760 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90761 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90762 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90763 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90764 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90765 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90766 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90767 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90771 --
90768 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90769 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90770 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90772
90773 --
90774
90775
90776 l_segment := AcctDerRule_15(
90777 p_application_id => p_application_id
90778 , p_ae_header_id => l_ae_header_id
90779 , p_source_34 => p_source_34
90780 , x_transaction_coa_id => l_adr_transaction_coa_id
90781 , x_accounting_coa_id => l_adr_accounting_coa_id
90782 , x_flexfield_segment_code => l_adr_flexfield_segment_code
90783 , x_flex_value_set_id => l_adr_flex_value_set_id
90784 , x_value_type_code => l_adr_value_type_code
90785 , x_value_combination_id => l_adr_value_combination_id
90786 , x_value_segment_code => l_adr_value_segment_code
90787 , p_side => 'NA'
90788 , p_override_seg_flag => 'Y'
90789 );
90790
90791 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
90792
90793 xla_ae_lines_pkg.set_segment(
90794 p_to_segment_code => 'GL_ACCOUNT'
90795 , p_segment_value => l_segment
90796 , p_from_segment_code => l_adr_value_segment_code
90797 , p_from_combination_id => l_adr_value_combination_id
90798 , p_value_type_code => l_adr_value_type_code
90799 , p_transaction_coa_id => l_adr_transaction_coa_id
90800 , p_accounting_coa_id => l_adr_accounting_coa_id
90801 , p_flexfield_segment_code => l_adr_flexfield_segment_code
90802 , p_flex_value_set_id => l_adr_flex_value_set_id
90803 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
90804 , p_adr_type_code => 'S'
90805 , p_component_type => l_component_type
90806 , p_component_code => l_component_code
90807 , p_component_type_code => l_component_type_code
90808 , p_component_appl_id => l_component_appl_id
90809 , p_amb_context_code => l_amb_context_code
90810 , p_entity_code => 'AP_INVOICES'
90811 , p_event_class_code => 'PREPAYMENTS'
90812 , p_side => 'NA'
90813 );
90814
90815 END IF;
90816
90817 --
90818 --
90819 END IF;
90820 --
90821 -- Bug 4922099
90822 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
90823 (NVL(l_enc_upg_option, 'N') = 'O')
90824 ) AND
90825 (l_bflow_method_code = 'PRIOR_ENTRY')
90826 )
90827 THEN
90828 IF
90829 --
90830 1 = 2
90831 --
90832 THEN
90833 xla_accounting_err_pkg.build_message
90834 (p_appli_s_name => 'XLA'
90835 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
90836 ,p_token_1 => 'LINE_NUMBER'
90837 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
90838 ,p_token_2 => 'LINE_TYPE_NAME'
90839 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
90840 l_component_type
90841 ,l_component_code
90842 ,l_component_type_code
90843 ,l_component_appl_id
90844 ,l_amb_context_code
90845 ,l_entity_code
90846 ,l_event_class_code
90847 )
90848 ,p_token_3 => 'OWNER'
90849 ,p_value_3 => xla_lookups_pkg.get_meaning(
90850 p_lookup_type => 'XLA_OWNER_TYPE'
90851 ,p_lookup_code => l_component_type_code
90852 )
90853 ,p_token_4 => 'PRODUCT_NAME'
90854 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
90855 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
90856 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
90857 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
90858 ,p_ae_header_id => NULL
90859 );
90860
90861 IF (C_LEVEL_ERROR>= g_log_level) THEN
90862 trace
90863 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
90864 ,p_level => C_LEVEL_ERROR
90865 ,p_module => l_log_module);
90869 --
90866 END IF;
90867 END IF;
90868 END IF;
90870 --
90871 ------------------------------------------------------------------------------------------------
90872 -- 4219869 Business Flow
90873 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
90874 -- Prior Entry. Currently, the following code is always generated.
90875 ------------------------------------------------------------------------------------------------
90876 XLA_AE_LINES_PKG.ValidateCurrentLine;
90877
90878 ------------------------------------------------------------------------------------
90879 -- 4219869 Business Flow
90880 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
90881 ------------------------------------------------------------------------------------
90882 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
90883
90884 ----------------------------------------------------------------------------------
90885 -- 4219869 Business Flow
90886 -- Update journal entry status -- Need to generate this within IF <condition>
90887 ----------------------------------------------------------------------------------
90888 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
90889 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
90890 ,p_balance_type_code => l_balance_type_code
90891 );
90892
90893 -------------------------------------------------------------------------------------------
90894 -- 4262811 - Generate the Accrual Reversal lines
90895 -------------------------------------------------------------------------------------------
90896 BEGIN
90897 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
90898 (g_array_event(p_event_id).array_value_num('header_index'));
90899 IF l_acc_rev_flag IS NULL THEN
90900 l_acc_rev_flag := 'N';
90901 END IF;
90902 EXCEPTION
90903 WHEN OTHERS THEN
90904 l_acc_rev_flag := 'N';
90905 END;
90906 --
90907 IF (l_acc_rev_flag = 'Y') THEN
90908
90909 -- 4645092 ------------------------------------------------------------------------------
90910 -- To allow MPA report to determine if it should generate report process
90911 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
90912 ------------------------------------------------------------------------------------------
90913
90914 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
90915 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
90916 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
90917 -- call ADRs
90918 -- Bug 4922099
90919 --
90920 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
90921 (NVL(l_actual_upg_option, 'N') = 'O') OR
90922 (NVL(l_enc_upg_option, 'N') = 'O')
90923 )
90924 THEN
90925 NULL;
90926 --
90927 --
90928
90929 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
90930 p_code_combination_id => TO_NUMBER(C_NUM)
90931 , p_value_type_code => NULL
90932 , p_transaction_coa_id => null
90933 , p_accounting_coa_id => null
90934 , p_adr_code => NULL
90935 , p_adr_type_code => NULL
90936 , p_component_type => l_component_type
90937 , p_component_code => l_component_code
90938 , p_component_type_code => l_component_type_code
90939 , p_component_appl_id => l_component_appl_id
90940 , p_amb_context_code => l_amb_context_code
90941 , p_side => NULL
90942 );
90943
90944
90945 -- initialise segments
90946 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90947 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90948 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90949 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90950 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90951 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90952 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90953 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90954 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90955 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90956 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90957 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90958 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90959 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90960 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90961 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90962 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90963 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90964 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90968 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90965 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90966 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90967 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90969 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90970 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90971 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90972 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90973 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90974 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90975 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
90976 --
90977
90978 --
90979
90980
90981 l_segment := AcctDerRule_15(
90982 p_application_id => p_application_id
90983 , p_ae_header_id => l_ae_header_id
90984 , p_source_34 => p_source_34
90985 , x_transaction_coa_id => l_adr_transaction_coa_id
90986 , x_accounting_coa_id => l_adr_accounting_coa_id
90987 , x_flexfield_segment_code => l_adr_flexfield_segment_code
90988 , x_flex_value_set_id => l_adr_flex_value_set_id
90989 , x_value_type_code => l_adr_value_type_code
90990 , x_value_combination_id => l_adr_value_combination_id
90991 , x_value_segment_code => l_adr_value_segment_code
90992 , p_side => 'NA'
90993 , p_override_seg_flag => 'Y'
90994 );
90995
90996 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
90997
90998 xla_ae_lines_pkg.set_segment(
90999 p_to_segment_code => 'GL_ACCOUNT'
91000 , p_segment_value => l_segment
91001 , p_from_segment_code => l_adr_value_segment_code
91002 , p_from_combination_id => l_adr_value_combination_id
91003 , p_value_type_code => l_adr_value_type_code
91004 , p_transaction_coa_id => l_adr_transaction_coa_id
91005 , p_accounting_coa_id => l_adr_accounting_coa_id
91006 , p_flexfield_segment_code => l_adr_flexfield_segment_code
91007 , p_flex_value_set_id => l_adr_flex_value_set_id
91008 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
91009 , p_adr_type_code => 'S'
91010 , p_component_type => l_component_type
91011 , p_component_code => l_component_code
91012 , p_component_type_code => l_component_type_code
91013 , p_component_appl_id => l_component_appl_id
91014 , p_amb_context_code => l_amb_context_code
91015 , p_entity_code => 'AP_INVOICES'
91016 , p_event_class_code => 'PREPAYMENTS'
91017 , p_side => 'NA'
91018 );
91019
91020 END IF;
91021
91022 --
91023 --
91024 END IF;
91025
91026 --
91027 -- Update the line information that should be overwritten
91028 --
91029 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
91030 p_header_num => 1);
91031 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
91032
91033 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
91034
91035 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
91036 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
91037 END IF;
91038
91039 --
91040 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
91041 --
91042 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
91043 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
91044 ELSE
91045 ---------------------------------------------------------------------------------------------------
91046 -- 4262811a Switch Sign
91047 ---------------------------------------------------------------------------------------------------
91048 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
91049 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
91050 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
91051 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
91052 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
91053 -- 5132302
91054 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
91055 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
91056
91057 END IF;
91058
91059 -- 4955764
91060 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
91064 XLA_AE_LINES_PKG.ValidateCurrentLine;
91061 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
91062
91063
91065 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
91066
91067 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
91068 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
91069 ,p_balance_type_code => l_balance_type_code);
91070
91071 END IF;
91072
91073 -----------------------------------------------------------------------------------------
91074 -- 4262811 Multiperiod Accounting
91075 -----------------------------------------------------------------------------------------
91076 -- No MPA option is assigned.
91077
91078
91079 END IF;
91080 END IF;
91081 --
91082
91083 --
91084 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
91085 trace
91086 (p_msg => 'END of AcctLineType_159'
91087 ,p_level => C_LEVEL_PROCEDURE
91088 ,p_module => l_log_module);
91089 END IF;
91090 --
91091 EXCEPTION
91092 WHEN xla_exceptions_pkg.application_exception THEN
91093 RAISE;
91094 WHEN OTHERS THEN
91095 xla_exceptions_pkg.raise_message
91096 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_159');
91097 END AcctLineType_159;
91098 --
91099
91100 ---------------------------------------
91101 --
91102 -- PRIVATE FUNCTION
91103 -- AcctLineType_160
91104 --
91105 ---------------------------------------
91106 PROCEDURE AcctLineType_160 (
91107 p_application_id IN NUMBER
91108 ,p_event_id IN NUMBER
91109 ,p_calculate_acctd_flag IN VARCHAR2
91110 ,p_calculate_g_l_flag IN VARCHAR2
91111 ,p_actual_flag IN OUT VARCHAR2
91112 ,p_balance_type_code OUT VARCHAR2
91113 ,p_gain_or_loss_ref OUT VARCHAR2
91114
91115 --Invoice Distribution Description
91116 , p_source_1 IN VARCHAR2
91117 --Automatic Offsets Value
91118 , p_source_15 IN VARCHAR2
91119 , p_source_15_meaning IN VARCHAR2
91120 --Invoice Distribution Ledger Amount
91121 , p_source_21 IN NUMBER
91122 --Invoice Liability Account
91123 , p_source_34 IN NUMBER
91124 --Accounting Reversal Indicator
91125 , p_source_53 IN VARCHAR2
91126 --Distribution Link Type
91127 , p_source_55 IN VARCHAR2
91128 --Allocation to Main Distribution Identifier
91129 , p_source_57 IN NUMBER
91130 --Invoice Identifier
91131 , p_source_58 IN NUMBER
91132 --Invoice Distribution Identifier
91133 , p_source_64 IN NUMBER
91134 --Payables Encumbrance Upgrade Credit Account
91135 , p_source_65 IN NUMBER
91136 --Payables Encumbrance Upgrade Credit Amount
91137 , p_source_66 IN NUMBER
91138 --Invoice Currency Code
91139 , p_source_67 IN VARCHAR2
91140 --Payables Encumbrance Upgrade Credit Base Amount
91141 , p_source_68 IN NUMBER
91142 --Payables Encumbrance Upgrade Debit Account
91143 , p_source_69 IN NUMBER
91144 --Payables Encumbrance Upgrade Debit Amount
91145 , p_source_70 IN NUMBER
91146 --Payables Encumbrance Upgrade Debit Base Amount
91147 , p_source_71 IN NUMBER
91148 --Payables Encumbrance Upgrade Option
91149 , p_source_72 IN VARCHAR2
91150 --Invoice Distribution Amount
91151 , p_source_73 IN NUMBER
91152 --Deferred Accounting End Date
91153 , p_source_77 IN DATE
91154 --Deferred Accounting Option
91155 , p_source_78 IN VARCHAR2
91156 --Deferred Accounting Start Date
91157 , p_source_79 IN DATE
91158 --Override Accounted Amount Indicator
91159 , p_source_80 IN VARCHAR2
91160 , p_source_80_meaning IN VARCHAR2
91161 --Invoice Supplier Identifier
91162 , p_source_81 IN NUMBER
91163 --Invoice Supplier Site Identifier
91164 , p_source_82 IN NUMBER
91165 --Third Party Type
91166 , p_source_83 IN VARCHAR2
91167 --Parent Reversal Identifier
91168 , p_source_84 IN NUMBER
91169 --Invoice Distribution Statistical Amount
91170 , p_source_85 IN NUMBER
91171 --Invoice Distribution Tax Line Identifier
91172 , p_source_86 IN NUMBER
91173 --Invoice Distribution Tax Distribution Identifier from Tax
91174 , p_source_87 IN NUMBER
91175 --Invoice Distribution Summary Tax Line Identifier
91176 , p_source_88 IN NUMBER
91177 --Payables Upgrade Credit Encumbrance Type Identifier
91178 , p_source_89 IN NUMBER
91179 --Payables Upgrade Debit Encumbrance Type Identifier
91180 , p_source_90 IN NUMBER
91181 --Business Flow Accounts Payable Application Identifier
91182 , p_source_91 IN NUMBER
91183 --Business Flow Invoice Distribution Type
91184 , p_source_92 IN VARCHAR2
91185 --Business Flow Invoice Entity Code
91186 , p_source_93 IN VARCHAR2
91187 --Business Flow Invoice Distribution Identifier
91188 , p_source_94 IN NUMBER
91189 --Business Flow Invoice Identifier
91190 , p_source_95 IN NUMBER
91191 --Self-Assessed Tax Flag
91192 , p_source_142 IN VARCHAR2
91193 , p_source_142_meaning IN VARCHAR2
91194 --Invoice Exchange Date
91195 , p_source_143 IN DATE
91196 --Invoice Exchange Rate
91197 , p_source_144 IN NUMBER
91201 IS
91198 --Invoice Exchange Rate Type
91199 , p_source_145 IN VARCHAR2
91200 )
91202
91203 l_component_type VARCHAR2(80);
91204 l_component_code VARCHAR2(30);
91205 l_component_type_code VARCHAR2(1);
91206 l_component_appl_id INTEGER;
91207 l_amb_context_code VARCHAR2(30);
91208 l_entity_code VARCHAR2(30);
91209 l_event_class_code VARCHAR2(30);
91210 l_ae_header_id NUMBER;
91211 l_event_type_code VARCHAR2(30);
91212 l_line_definition_code VARCHAR2(30);
91213 l_line_definition_owner_code VARCHAR2(1);
91214 --
91215 -- adr variables
91216 l_segment VARCHAR2(30);
91217 l_ccid NUMBER;
91218 l_adr_transaction_coa_id NUMBER;
91219 l_adr_accounting_coa_id NUMBER;
91220 l_adr_flexfield_segment_code VARCHAR2(30);
91221 l_adr_flex_value_set_id NUMBER;
91222 l_adr_value_type_code VARCHAR2(30);
91223 l_adr_value_combination_id NUMBER;
91224 l_adr_value_segment_code VARCHAR2(30);
91225
91226 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
91227 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
91228 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
91229 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
91230
91231 -- 4262811 Variables ------------------------------------------------------------------------------------------
91232 l_entered_amt_idx NUMBER;
91233 l_accted_amt_idx NUMBER;
91234 l_acc_rev_flag VARCHAR2(1);
91235 l_accrual_line_num NUMBER;
91236 l_tmp_amt NUMBER;
91237 l_acc_rev_natural_side_code VARCHAR2(1);
91238
91239 l_num_entries NUMBER;
91240 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
91241 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
91242 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
91243 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
91244 l_recog_line_1 NUMBER;
91245 l_recog_line_2 NUMBER;
91246
91247 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
91248 l_bflow_applied_to_amt NUMBER; -- 5132302
91249 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
91250
91251 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
91252
91253 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
91254 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
91255
91256 ---------------------------------------------------------------------------------------------------------------
91257
91258
91259 --
91260 -- bulk performance
91261 --
91262 l_balance_type_code VARCHAR2(1);
91263 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
91264 l_log_module VARCHAR2(240);
91265
91266 --
91267 -- Upgrade strategy
91268 --
91269 l_actual_upg_option VARCHAR2(1);
91270 l_enc_upg_option VARCHAR2(1);
91271
91272 --
91273 BEGIN
91274 --
91275 IF g_log_enabled THEN
91276 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_160';
91277 END IF;
91278 --
91279 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
91280
91281 trace
91282 (p_msg => 'BEGIN of AcctLineType_160'
91283 ,p_level => C_LEVEL_PROCEDURE
91284 ,p_module => l_log_module);
91285
91286 END IF;
91287 --
91288 l_component_type := 'AMB_JLT';
91289 l_component_code := 'AP_LIAB_PREPAY_AOS_BS';
91290 l_component_type_code := 'S';
91291 l_component_appl_id := 200;
91292 l_amb_context_code := 'DEFAULT';
91293 l_entity_code := 'AP_INVOICES';
91294 l_event_class_code := 'PREPAYMENTS';
91295 l_event_type_code := 'PREPAYMENTS_ALL';
91296 l_line_definition_owner_code := 'S';
91297 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
91298 --
91299 l_balance_type_code := 'A';
91300 l_segment := NULL;
91301 l_ccid := NULL;
91302 l_adr_transaction_coa_id := NULL;
91303 l_adr_accounting_coa_id := NULL;
91304 l_adr_flexfield_segment_code := NULL;
91305 l_adr_flex_value_set_id := NULL;
91306 l_adr_value_type_code := NULL;
91307 l_adr_value_combination_id := NULL;
91308 l_adr_value_segment_code := NULL;
91309
91310 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
91311 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
91312 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
91313 l_budgetary_control_flag := 'N';
91314
91315 l_bflow_applied_to_amt_idx := NULL; -- 5132302
91316 l_bflow_applied_to_amt := NULL; -- 5132302
91317 l_entered_amt_idx := NULL; -- 4262811
91318 l_accted_amt_idx := NULL; -- 4262811
91319 l_acc_rev_flag := NULL; -- 4262811
91320 l_accrual_line_num := NULL; -- 4262811
91321 l_tmp_amt := NULL; -- 4262811
91322 --
91323
91324 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
91325 l_balance_type_code <> 'B' THEN
91329 ') <> 'Y'
91326 IF NVL(p_source_15,'
91327 ') = 'BALANCING_SEGMENT' AND
91328 NVL(p_source_142,'
91330 THEN
91331
91332 --
91333 XLA_AE_LINES_PKG.SetNewLine;
91334
91335 p_balance_type_code := l_balance_type_code;
91336 -- set the flag so later we will know whether the gain loss line needs to be created
91337
91338 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
91339 p_actual_flag :='A';
91340 END IF;
91341
91342 --
91343 -- bulk performance
91344 --
91345 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
91346 p_header_num => 0); -- 4262811
91347 --
91348 -- set accounting line options
91349 --
91350 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
91351 p_natural_side_code => 'C'
91352 , p_gain_or_loss_flag => 'N'
91353 , p_gl_transfer_mode_code => 'S'
91354 , p_acct_entry_type_code => 'A'
91355 , p_switch_side_flag => 'Y'
91356 , p_merge_duplicate_code => 'A'
91357 );
91358 --
91359 l_acc_rev_natural_side_code := 'D'; -- 4262811
91360 --
91361 --
91362 -- set accounting line type info
91363 --
91364 xla_ae_lines_pkg.SetAcctLineType
91365 (p_component_type => l_component_type
91366 ,p_event_type_code => l_event_type_code
91367 ,p_line_definition_owner_code => l_line_definition_owner_code
91368 ,p_line_definition_code => l_line_definition_code
91369 ,p_accounting_line_code => l_component_code
91370 ,p_accounting_line_type_code => l_component_type_code
91371 ,p_accounting_line_appl_id => l_component_appl_id
91372 ,p_amb_context_code => l_amb_context_code
91373 ,p_entity_code => l_entity_code
91374 ,p_event_class_code => l_event_class_code);
91375 --
91376 -- set accounting class
91377 --
91378 xla_ae_lines_pkg.SetAcctClass(
91379 p_accounting_class_code => 'LIABILITY'
91380 , p_ae_header_id => l_ae_header_id
91381 );
91382
91383 --
91384 -- set rounding class
91385 --
91386 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
91387 'LIABILITY';
91388
91389 --
91390 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
91391 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
91392 --
91393 -- bulk performance
91394 --
91395 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
91396
91397 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
91398 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
91399
91400 -- 4955764
91401 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
91402 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
91403
91404 -- 4458381 Public Sector Enh
91405
91406 --
91407 -- set accounting attributes for the line type
91408 --
91409 l_entered_amt_idx := 23;
91410 l_accted_amt_idx := 28;
91411 l_bflow_applied_to_amt_idx := NULL; -- 5132302
91412 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
91413 l_rec_acct_attrs.array_char_value(1) := p_source_53;
91414 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
91415 l_rec_acct_attrs.array_num_value(2) :=
91416 xla_ae_sources_pkg.GetSystemSourceNum(
91417 p_source_code => 'XLA_EVENT_APPL_ID'
91418 , p_source_type_code => 'Y'
91419 , p_source_application_id => 602
91420 );
91421 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
91422 l_rec_acct_attrs.array_char_value(3) := p_source_55;
91423 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
91424 l_rec_acct_attrs.array_char_value(4) :=
91425 xla_ae_sources_pkg.GetSystemSourceChar(
91426 p_source_code => 'XLA_ENTITY_CODE'
91427 , p_source_type_code => 'Y'
91428 , p_source_application_id => 602
91429 );
91430 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
91431 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
91432 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
91433 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
91434 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
91435 l_rec_acct_attrs.array_num_value(7) := p_source_91;
91436 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
91437 l_rec_acct_attrs.array_char_value(8) := p_source_92;
91438 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
91439 l_rec_acct_attrs.array_char_value(9) := p_source_93;
91440 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
91441 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
91442 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
91443 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
91444 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
91448 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
91445 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
91446 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
91447 l_rec_acct_attrs.array_char_value(13) := p_source_55;
91449 l_rec_acct_attrs.array_num_value(14) := p_source_65;
91450 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
91451 l_rec_acct_attrs.array_num_value(15) := p_source_66;
91452 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
91453 l_rec_acct_attrs.array_char_value(16) := p_source_67;
91454 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
91455 l_rec_acct_attrs.array_num_value(17) := p_source_68;
91456 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
91457 l_rec_acct_attrs.array_num_value(18) := p_source_69;
91458 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
91459 l_rec_acct_attrs.array_num_value(19) := p_source_70;
91460 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
91461 l_rec_acct_attrs.array_char_value(20) := p_source_67;
91462 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
91463 l_rec_acct_attrs.array_num_value(21) := p_source_71;
91464 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
91465 l_rec_acct_attrs.array_char_value(22) := p_source_72;
91466 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
91467 l_rec_acct_attrs.array_num_value(23) := p_source_73;
91468 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
91469 l_rec_acct_attrs.array_char_value(24) := p_source_67;
91470 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
91471 l_rec_acct_attrs.array_date_value(25) := p_source_143;
91472 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
91473 l_rec_acct_attrs.array_num_value(26) := p_source_144;
91474 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
91475 l_rec_acct_attrs.array_char_value(27) := p_source_145;
91476 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
91477 l_rec_acct_attrs.array_num_value(28) := p_source_21;
91478 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
91479 l_rec_acct_attrs.array_date_value(29) := p_source_77;
91480 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
91481 l_rec_acct_attrs.array_char_value(30) := p_source_78;
91482 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
91483 l_rec_acct_attrs.array_date_value(31) := p_source_79;
91484 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
91485 l_rec_acct_attrs.array_char_value(32) := p_source_80;
91486 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
91487 l_rec_acct_attrs.array_num_value(33) := p_source_81;
91488 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
91489 l_rec_acct_attrs.array_num_value(34) := p_source_82;
91490 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
91491 l_rec_acct_attrs.array_char_value(35) := p_source_83;
91492 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
91493 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
91494 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
91495 l_rec_acct_attrs.array_char_value(37) := p_source_55;
91496 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
91497 l_rec_acct_attrs.array_num_value(38) := p_source_85;
91498 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
91499 l_rec_acct_attrs.array_num_value(39) := p_source_86;
91500 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
91501 l_rec_acct_attrs.array_num_value(40) := p_source_87;
91502 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
91503 l_rec_acct_attrs.array_num_value(41) := p_source_88;
91504 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
91505 l_rec_acct_attrs.array_num_value(42) := p_source_89;
91506 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
91507 l_rec_acct_attrs.array_num_value(43) := p_source_90;
91508
91509 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
91510 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
91511
91512 ---------------------------------------------------------------------------------------------------------------
91513 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
91514 ---------------------------------------------------------------------------------------------------------------
91515 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
91516
91517 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
91518 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
91519
91520 IF xla_accounting_cache_pkg.GetValueChar
91521 (p_source_code => 'LEDGER_CATEGORY_CODE'
91522 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
91523 AND l_bflow_method_code = 'PRIOR_ENTRY'
91524 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
91525 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
91526 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
91527 )
91528 THEN
91529 xla_ae_lines_pkg.BflowUpgEntry
91533 ELSE
91530 (p_business_method_code => l_bflow_method_code
91531 ,p_business_class_code => l_bflow_class_code
91532 ,p_balance_type => l_balance_type_code);
91534 NULL;
91535 XLA_AE_LINES_PKG.business_flow_validation(
91536 p_business_method_code => l_bflow_method_code
91537 ,p_business_class_code => l_bflow_class_code
91538 ,p_inherit_description_flag => l_inherit_desc_flag);
91539 END IF;
91540
91541 --
91542 -- call analytical criteria
91543 --
91544
91545 --
91546 -- call description
91547 --
91548
91549 xla_ae_lines_pkg.SetLineDescription(
91550 p_ae_header_id => l_ae_header_id
91551 ,p_description => Description_1 (
91552 p_application_id => p_application_id
91553 , p_ae_header_id => l_ae_header_id
91554 , p_source_1 => p_source_1
91555 )
91556 );
91557
91558
91559 --
91560 -- call ADRs
91561 -- Bug 4922099
91562 --
91563 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
91564 (NVL(l_actual_upg_option, 'N') = 'O') OR
91565 (NVL(l_enc_upg_option, 'N') = 'O')
91566 )
91567 THEN
91568 NULL;
91569 --
91570 --
91571
91572 l_ccid := AcctDerRule_34(
91573 p_application_id => p_application_id
91574 , p_ae_header_id => l_ae_header_id
91575 , p_source_34 => p_source_34
91576 , x_transaction_coa_id => l_adr_transaction_coa_id
91577 , x_accounting_coa_id => l_adr_accounting_coa_id
91578 , x_value_type_code => l_adr_value_type_code
91579 , p_side => 'NA'
91580 );
91581
91582 xla_ae_lines_pkg.set_ccid(
91583 p_code_combination_id => l_ccid
91584 , p_value_type_code => l_adr_value_type_code
91585 , p_transaction_coa_id => l_adr_transaction_coa_id
91586 , p_accounting_coa_id => l_adr_accounting_coa_id
91587 , p_adr_code => 'AP_LIAB'
91588 , p_adr_type_code => 'S'
91589 , p_component_type => l_component_type
91590 , p_component_code => l_component_code
91591 , p_component_type_code => l_component_type_code
91592 , p_component_appl_id => l_component_appl_id
91593 , p_amb_context_code => l_amb_context_code
91594 , p_side => 'NA'
91595 );
91596
91597
91598 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
91599 p_to_segment_code => 'GL_BALANCING'
91600 , p_segment_value => C_CHAR
91601 , p_from_segment_code => NULL
91602 , p_from_combination_id => NULL
91603 , p_value_type_code => NULL
91604 , p_transaction_coa_id => null
91605 , p_accounting_coa_id => null
91606 , p_flexfield_segment_code => NULL
91607 , p_flex_value_set_id => NULL
91608 , p_adr_code => NULL
91609 , p_adr_type_code => NULL
91610 , p_component_type => l_component_type
91611 , p_component_code => l_component_code
91612 , p_component_type_code => l_component_type_code
91613 , p_component_appl_id => l_component_appl_id
91614 , p_amb_context_code => l_amb_context_code
91615 , p_entity_code => 'AP_INVOICES'
91616 , p_event_class_code => 'PREPAYMENTS'
91617 , p_side => 'NA'
91618 );
91619 --
91620
91621
91622 --
91623 --
91624 END IF;
91625 --
91626 -- Bug 4922099
91627 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
91628 (NVL(l_enc_upg_option, 'N') = 'O')
91629 ) AND
91630 (l_bflow_method_code = 'PRIOR_ENTRY')
91631 )
91632 THEN
91633 IF
91634 --
91635 1 = 2
91636 --
91637 THEN
91638 xla_accounting_err_pkg.build_message
91639 (p_appli_s_name => 'XLA'
91640 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
91641 ,p_token_1 => 'LINE_NUMBER'
91642 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
91643 ,p_token_2 => 'LINE_TYPE_NAME'
91644 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
91645 l_component_type
91646 ,l_component_code
91647 ,l_component_type_code
91648 ,l_component_appl_id
91649 ,l_amb_context_code
91650 ,l_entity_code
91651 ,l_event_class_code
91652 )
91656 ,p_lookup_code => l_component_type_code
91653 ,p_token_3 => 'OWNER'
91654 ,p_value_3 => xla_lookups_pkg.get_meaning(
91655 p_lookup_type => 'XLA_OWNER_TYPE'
91657 )
91658 ,p_token_4 => 'PRODUCT_NAME'
91659 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
91660 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
91661 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
91662 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
91663 ,p_ae_header_id => NULL
91664 );
91665
91666 IF (C_LEVEL_ERROR>= g_log_level) THEN
91667 trace
91668 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
91669 ,p_level => C_LEVEL_ERROR
91670 ,p_module => l_log_module);
91671 END IF;
91672 END IF;
91673 END IF;
91674 --
91675 --
91676 ------------------------------------------------------------------------------------------------
91677 -- 4219869 Business Flow
91678 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
91679 -- Prior Entry. Currently, the following code is always generated.
91680 ------------------------------------------------------------------------------------------------
91681 XLA_AE_LINES_PKG.ValidateCurrentLine;
91682
91683 ------------------------------------------------------------------------------------
91684 -- 4219869 Business Flow
91685 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
91686 ------------------------------------------------------------------------------------
91687 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
91688
91689 ----------------------------------------------------------------------------------
91690 -- 4219869 Business Flow
91691 -- Update journal entry status -- Need to generate this within IF <condition>
91692 ----------------------------------------------------------------------------------
91693 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
91694 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
91695 ,p_balance_type_code => l_balance_type_code
91696 );
91697
91698 -------------------------------------------------------------------------------------------
91699 -- 4262811 - Generate the Accrual Reversal lines
91700 -------------------------------------------------------------------------------------------
91701 BEGIN
91702 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
91703 (g_array_event(p_event_id).array_value_num('header_index'));
91704 IF l_acc_rev_flag IS NULL THEN
91705 l_acc_rev_flag := 'N';
91706 END IF;
91707 EXCEPTION
91708 WHEN OTHERS THEN
91709 l_acc_rev_flag := 'N';
91710 END;
91711 --
91712 IF (l_acc_rev_flag = 'Y') THEN
91713
91714 -- 4645092 ------------------------------------------------------------------------------
91715 -- To allow MPA report to determine if it should generate report process
91716 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
91717 ------------------------------------------------------------------------------------------
91718
91719 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
91720 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
91721 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
91722 -- call ADRs
91723 -- Bug 4922099
91724 --
91725 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
91726 (NVL(l_actual_upg_option, 'N') = 'O') OR
91727 (NVL(l_enc_upg_option, 'N') = 'O')
91728 )
91729 THEN
91730 NULL;
91731 --
91732 --
91733
91734 l_ccid := AcctDerRule_34(
91735 p_application_id => p_application_id
91736 , p_ae_header_id => l_ae_header_id
91737 , p_source_34 => p_source_34
91738 , x_transaction_coa_id => l_adr_transaction_coa_id
91739 , x_accounting_coa_id => l_adr_accounting_coa_id
91740 , x_value_type_code => l_adr_value_type_code
91741 , p_side => 'NA'
91742 );
91743
91744 xla_ae_lines_pkg.set_ccid(
91745 p_code_combination_id => l_ccid
91746 , p_value_type_code => l_adr_value_type_code
91747 , p_transaction_coa_id => l_adr_transaction_coa_id
91748 , p_accounting_coa_id => l_adr_accounting_coa_id
91749 , p_adr_code => 'AP_LIAB'
91750 , p_adr_type_code => 'S'
91751 , p_component_type => l_component_type
91752 , p_component_code => l_component_code
91753 , p_component_type_code => l_component_type_code
91754 , p_component_appl_id => l_component_appl_id
91758
91755 , p_amb_context_code => l_amb_context_code
91756 , p_side => 'NA'
91757 );
91759
91760 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
91761 p_to_segment_code => 'GL_BALANCING'
91762 , p_segment_value => C_CHAR
91763 , p_from_segment_code => NULL
91764 , p_from_combination_id => NULL
91765 , p_value_type_code => NULL
91766 , p_transaction_coa_id => null
91767 , p_accounting_coa_id => null
91768 , p_flexfield_segment_code => NULL
91769 , p_flex_value_set_id => NULL
91770 , p_adr_code => NULL
91771 , p_adr_type_code => NULL
91772 , p_component_type => l_component_type
91773 , p_component_code => l_component_code
91774 , p_component_type_code => l_component_type_code
91775 , p_component_appl_id => l_component_appl_id
91776 , p_amb_context_code => l_amb_context_code
91777 , p_entity_code => 'AP_INVOICES'
91778 , p_event_class_code => 'PREPAYMENTS'
91779 , p_side => 'NA'
91780 );
91781 --
91782
91783
91784 --
91785 --
91786 END IF;
91787
91788 --
91789 -- Update the line information that should be overwritten
91790 --
91791 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
91792 p_header_num => 1);
91793 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
91794
91795 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
91796
91797 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
91798 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
91799 END IF;
91800
91801 --
91802 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
91803 --
91804 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
91805 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
91806 ELSE
91807 ---------------------------------------------------------------------------------------------------
91808 -- 4262811a Switch Sign
91809 ---------------------------------------------------------------------------------------------------
91810 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
91811 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
91812 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
91813 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
91814 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
91815 -- 5132302
91816 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
91817 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
91818
91819 END IF;
91820
91821 -- 4955764
91822 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
91823 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
91824
91825
91826 XLA_AE_LINES_PKG.ValidateCurrentLine;
91827 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
91828
91829 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
91830 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
91831 ,p_balance_type_code => l_balance_type_code);
91832
91833 END IF;
91834
91835 -----------------------------------------------------------------------------------------
91836 -- 4262811 Multiperiod Accounting
91837 -----------------------------------------------------------------------------------------
91838 -- No MPA option is assigned.
91839
91840
91841 END IF;
91842 END IF;
91843 --
91844
91845 --
91846 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
91847 trace
91848 (p_msg => 'END of AcctLineType_160'
91849 ,p_level => C_LEVEL_PROCEDURE
91850 ,p_module => l_log_module);
91851 END IF;
91852 --
91853 EXCEPTION
91854 WHEN xla_exceptions_pkg.application_exception THEN
91855 RAISE;
91856 WHEN OTHERS THEN
91857 xla_exceptions_pkg.raise_message
91858 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_160');
91859 END AcctLineType_160;
91860 --
91861
91862 ---------------------------------------
91863 --
91864 -- PRIVATE FUNCTION
91865 -- AcctLineType_161
91866 --
91867 ---------------------------------------
91868 PROCEDURE AcctLineType_161 (
91869 p_application_id IN NUMBER
91870 ,p_event_id IN NUMBER
91871 ,p_calculate_acctd_flag IN VARCHAR2
91872 ,p_calculate_g_l_flag IN VARCHAR2
91873 ,p_actual_flag IN OUT VARCHAR2
91874 ,p_balance_type_code OUT VARCHAR2
91875 ,p_gain_or_loss_ref OUT VARCHAR2
91876
91877 --Accounting Reversal Indicator
91878 , p_source_53 IN VARCHAR2
91879 --Distribution Link Type
91883 --Payables Encumbrance Upgrade Credit Account
91880 , p_source_55 IN VARCHAR2
91881 --Invoice Identifier
91882 , p_source_58 IN NUMBER
91884 , p_source_65 IN NUMBER
91885 --Payables Encumbrance Upgrade Credit Amount
91886 , p_source_66 IN NUMBER
91887 --Invoice Currency Code
91888 , p_source_67 IN VARCHAR2
91889 --Payables Encumbrance Upgrade Credit Base Amount
91890 , p_source_68 IN NUMBER
91891 --Payables Encumbrance Upgrade Debit Account
91892 , p_source_69 IN NUMBER
91893 --Payables Encumbrance Upgrade Debit Amount
91894 , p_source_70 IN NUMBER
91895 --Payables Encumbrance Upgrade Debit Base Amount
91896 , p_source_71 IN NUMBER
91897 --Payables Encumbrance Upgrade Option
91898 , p_source_72 IN VARCHAR2
91899 --Deferred Accounting End Date
91900 , p_source_77 IN DATE
91901 --Deferred Accounting Option
91902 , p_source_78 IN VARCHAR2
91903 --Deferred Accounting Start Date
91904 , p_source_79 IN DATE
91905 --Override Accounted Amount Indicator
91906 , p_source_80 IN VARCHAR2
91907 , p_source_80_meaning IN VARCHAR2
91908 --Third Party Type
91909 , p_source_83 IN VARCHAR2
91910 --Invoice Distribution Tax Line Identifier
91911 , p_source_86 IN NUMBER
91912 --Invoice Distribution Tax Distribution Identifier from Tax
91913 , p_source_87 IN NUMBER
91914 --Invoice Distribution Summary Tax Line Identifier
91915 , p_source_88 IN NUMBER
91916 --Payables Upgrade Credit Encumbrance Type Identifier
91917 , p_source_89 IN NUMBER
91918 --Payables Upgrade Debit Encumbrance Type Identifier
91919 , p_source_90 IN NUMBER
91920 --Business Flow Accounts Payable Application Identifier
91921 , p_source_91 IN NUMBER
91922 --Prepayment Distribution Type
91923 , p_source_125 IN VARCHAR2
91924 --Prepayment Application Distribution Identifier
91925 , p_source_127 IN NUMBER
91926 --Upgrade Encumbrance Credit Account Class
91927 , p_source_132 IN VARCHAR2
91928 --Upgrade Encumbrance Debit Account Class
91929 , p_source_133 IN VARCHAR2
91930 --Prepayment Distribution Amount
91931 , p_source_134 IN NUMBER
91932 --Identifier of the Prepayment Application Reversed
91933 , p_source_136 IN NUMBER
91934 --Business Flow Recipient Invoice Distribution Identifier
91935 , p_source_139 IN NUMBER
91936 --Business Flow Recipient Invoice Identifier
91937 , p_source_140 IN NUMBER
91938 --Prepayment Distribution (Invoice Rate) Ledger Amount
91939 , p_source_141 IN NUMBER
91940 --Business Flow Prepayment Invoice Distribution Type
91941 , p_source_146 IN VARCHAR2
91942 --Business Flow Prepayment Invoice Entity Code
91943 , p_source_147 IN VARCHAR2
91944 )
91945 IS
91946
91947 l_component_type VARCHAR2(80);
91948 l_component_code VARCHAR2(30);
91949 l_component_type_code VARCHAR2(1);
91950 l_component_appl_id INTEGER;
91951 l_amb_context_code VARCHAR2(30);
91952 l_entity_code VARCHAR2(30);
91953 l_event_class_code VARCHAR2(30);
91954 l_ae_header_id NUMBER;
91955 l_event_type_code VARCHAR2(30);
91956 l_line_definition_code VARCHAR2(30);
91957 l_line_definition_owner_code VARCHAR2(1);
91958 --
91959 -- adr variables
91960 l_segment VARCHAR2(30);
91961 l_ccid NUMBER;
91962 l_adr_transaction_coa_id NUMBER;
91963 l_adr_accounting_coa_id NUMBER;
91964 l_adr_flexfield_segment_code VARCHAR2(30);
91965 l_adr_flex_value_set_id NUMBER;
91966 l_adr_value_type_code VARCHAR2(30);
91967 l_adr_value_combination_id NUMBER;
91968 l_adr_value_segment_code VARCHAR2(30);
91969
91970 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
91971 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
91972 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
91973 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
91974
91975 -- 4262811 Variables ------------------------------------------------------------------------------------------
91976 l_entered_amt_idx NUMBER;
91977 l_accted_amt_idx NUMBER;
91978 l_acc_rev_flag VARCHAR2(1);
91979 l_accrual_line_num NUMBER;
91980 l_tmp_amt NUMBER;
91981 l_acc_rev_natural_side_code VARCHAR2(1);
91982
91983 l_num_entries NUMBER;
91984 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
91985 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
91986 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
91987 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
91988 l_recog_line_1 NUMBER;
91989 l_recog_line_2 NUMBER;
91990
91991 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
91992 l_bflow_applied_to_amt NUMBER; -- 5132302
91993 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
91994
91995 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
91996
91997 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
91998 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
91999
92003 --
92000 ---------------------------------------------------------------------------------------------------------------
92001
92002
92004 -- bulk performance
92005 --
92006 l_balance_type_code VARCHAR2(1);
92007 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
92008 l_log_module VARCHAR2(240);
92009
92010 --
92011 -- Upgrade strategy
92012 --
92013 l_actual_upg_option VARCHAR2(1);
92014 l_enc_upg_option VARCHAR2(1);
92015
92016 --
92017 BEGIN
92018 --
92019 IF g_log_enabled THEN
92020 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_161';
92021 END IF;
92022 --
92023 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
92024
92025 trace
92026 (p_msg => 'BEGIN of AcctLineType_161'
92027 ,p_level => C_LEVEL_PROCEDURE
92028 ,p_module => l_log_module);
92029
92030 END IF;
92031 --
92032 l_component_type := 'AMB_JLT';
92033 l_component_code := 'AP_LIAB_PREPAY_APP';
92034 l_component_type_code := 'S';
92035 l_component_appl_id := 200;
92036 l_amb_context_code := 'DEFAULT';
92037 l_entity_code := 'AP_INVOICES';
92038 l_event_class_code := 'PREPAYMENT APPLICATIONS';
92039 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
92040 l_line_definition_owner_code := 'S';
92041 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
92042 --
92043 l_balance_type_code := 'A';
92044 l_segment := NULL;
92045 l_ccid := NULL;
92046 l_adr_transaction_coa_id := NULL;
92047 l_adr_accounting_coa_id := NULL;
92048 l_adr_flexfield_segment_code := NULL;
92049 l_adr_flex_value_set_id := NULL;
92050 l_adr_value_type_code := NULL;
92051 l_adr_value_combination_id := NULL;
92052 l_adr_value_segment_code := NULL;
92053
92054 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
92055 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
92056 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
92057 l_budgetary_control_flag := 'N';
92058
92059 l_bflow_applied_to_amt_idx := NULL; -- 5132302
92060 l_bflow_applied_to_amt := NULL; -- 5132302
92061 l_entered_amt_idx := NULL; -- 4262811
92062 l_accted_amt_idx := NULL; -- 4262811
92063 l_acc_rev_flag := NULL; -- 4262811
92064 l_accrual_line_num := NULL; -- 4262811
92065 l_tmp_amt := NULL; -- 4262811
92066 --
92067
92068 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
92069 l_balance_type_code <> 'B' THEN
92070 IF NVL(p_source_125,'
92071 ') = 'PREPAY APPL' OR
92072 NVL(p_source_125,'
92073 ') = 'FINAL PAYMENT ROUNDING' OR
92074 NVL(p_source_125,'
92075 ') = 'PREPAY APPL REC TAX' OR
92076 NVL(p_source_125,'
92077 ') = 'PREPAY APPL NONREC TAX'
92078 THEN
92079
92080 --
92081 XLA_AE_LINES_PKG.SetNewLine;
92082
92083 p_balance_type_code := l_balance_type_code;
92084 -- set the flag so later we will know whether the gain loss line needs to be created
92085
92086 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
92087 p_actual_flag :='A';
92088 END IF;
92089
92090 --
92091 -- bulk performance
92092 --
92093 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
92094 p_header_num => 0); -- 4262811
92095 --
92096 -- set accounting line options
92097 --
92098 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
92099 p_natural_side_code => 'C'
92100 , p_gain_or_loss_flag => 'N'
92101 , p_gl_transfer_mode_code => 'S'
92102 , p_acct_entry_type_code => 'A'
92103 , p_switch_side_flag => 'Y'
92104 , p_merge_duplicate_code => 'A'
92105 );
92106 --
92107 l_acc_rev_natural_side_code := 'D'; -- 4262811
92108 --
92109 --
92110 -- set accounting line type info
92111 --
92112 xla_ae_lines_pkg.SetAcctLineType
92113 (p_component_type => l_component_type
92114 ,p_event_type_code => l_event_type_code
92115 ,p_line_definition_owner_code => l_line_definition_owner_code
92116 ,p_line_definition_code => l_line_definition_code
92117 ,p_accounting_line_code => l_component_code
92118 ,p_accounting_line_type_code => l_component_type_code
92119 ,p_accounting_line_appl_id => l_component_appl_id
92120 ,p_amb_context_code => l_amb_context_code
92121 ,p_entity_code => l_entity_code
92122 ,p_event_class_code => l_event_class_code);
92123 --
92124 -- set accounting class
92125 --
92126 xla_ae_lines_pkg.SetAcctClass(
92127 p_accounting_class_code => 'LIABILITY'
92128 , p_ae_header_id => l_ae_header_id
92129 );
92130
92131 --
92132 -- set rounding class
92133 --
92134 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
92135 'LIABILITY';
92136
92137 --
92141 -- bulk performance
92138 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
92139 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
92140 --
92142 --
92143 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
92144
92145 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
92146 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
92147
92148 -- 4955764
92149 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
92150 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
92151
92152 -- 4458381 Public Sector Enh
92153
92154 --
92155 -- set accounting attributes for the line type
92156 --
92157 l_entered_amt_idx := 25;
92158 l_accted_amt_idx := 27;
92159 l_bflow_applied_to_amt_idx := NULL; -- 5132302
92160 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
92161 l_rec_acct_attrs.array_char_value(1) := p_source_53;
92162 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
92163 l_rec_acct_attrs.array_num_value(2) :=
92164 xla_ae_sources_pkg.GetSystemSourceNum(
92165 p_source_code => 'XLA_EVENT_APPL_ID'
92166 , p_source_type_code => 'Y'
92167 , p_source_application_id => 602
92168 );
92169 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
92170 l_rec_acct_attrs.array_char_value(3) := p_source_55;
92171 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
92172 l_rec_acct_attrs.array_char_value(4) :=
92173 xla_ae_sources_pkg.GetSystemSourceChar(
92174 p_source_code => 'XLA_ENTITY_CODE'
92175 , p_source_type_code => 'Y'
92176 , p_source_application_id => 602
92177 );
92178 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
92179 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_127);
92180 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
92181 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
92182 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
92183 l_rec_acct_attrs.array_num_value(7) := p_source_91;
92184 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
92185 l_rec_acct_attrs.array_char_value(8) := p_source_146;
92186 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
92187 l_rec_acct_attrs.array_char_value(9) := p_source_147;
92188 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
92189 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_139);
92190 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
92191 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_140);
92192 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
92193 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_127);
92194 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
92195 l_rec_acct_attrs.array_char_value(13) := p_source_55;
92196 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
92197 l_rec_acct_attrs.array_char_value(14) := p_source_132;
92198 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
92199 l_rec_acct_attrs.array_num_value(15) := p_source_65;
92200 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
92201 l_rec_acct_attrs.array_num_value(16) := p_source_66;
92202 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
92203 l_rec_acct_attrs.array_char_value(17) := p_source_67;
92204 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
92205 l_rec_acct_attrs.array_num_value(18) := p_source_68;
92206 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
92207 l_rec_acct_attrs.array_char_value(19) := p_source_133;
92208 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
92209 l_rec_acct_attrs.array_num_value(20) := p_source_69;
92210 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
92211 l_rec_acct_attrs.array_num_value(21) := p_source_70;
92212 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
92213 l_rec_acct_attrs.array_char_value(22) := p_source_67;
92214 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
92215 l_rec_acct_attrs.array_num_value(23) := p_source_71;
92216 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
92217 l_rec_acct_attrs.array_char_value(24) := p_source_72;
92218 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
92219 l_rec_acct_attrs.array_num_value(25) := p_source_134;
92220 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
92221 l_rec_acct_attrs.array_char_value(26) := p_source_67;
92222 l_rec_acct_attrs.array_acct_attr_code(27) := 'LEDGER_AMOUNT';
92223 l_rec_acct_attrs.array_num_value(27) := p_source_141;
92224 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_END_DATE';
92225 l_rec_acct_attrs.array_date_value(28) := p_source_77;
92226 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_OPTION';
92227 l_rec_acct_attrs.array_char_value(29) := p_source_78;
92228 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_START_DATE';
92229 l_rec_acct_attrs.array_date_value(30) := p_source_79;
92230 l_rec_acct_attrs.array_acct_attr_code(31) := 'OVERRIDE_ACCTD_AMT_FLAG';
92234 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_ID1';
92231 l_rec_acct_attrs.array_char_value(31) := p_source_80;
92232 l_rec_acct_attrs.array_acct_attr_code(32) := 'PARTY_TYPE';
92233 l_rec_acct_attrs.array_char_value(32) := p_source_83;
92235 l_rec_acct_attrs.array_num_value(33) := to_char(p_source_136);
92236 l_rec_acct_attrs.array_acct_attr_code(34) := 'REVERSED_DISTRIBUTION_TYPE';
92237 l_rec_acct_attrs.array_char_value(34) := p_source_55;
92238 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
92239 l_rec_acct_attrs.array_num_value(35) := p_source_86;
92240 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
92241 l_rec_acct_attrs.array_num_value(36) := p_source_87;
92242 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
92243 l_rec_acct_attrs.array_num_value(37) := p_source_88;
92244 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
92245 l_rec_acct_attrs.array_num_value(38) := p_source_89;
92246 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
92247 l_rec_acct_attrs.array_num_value(39) := p_source_90;
92248
92249 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
92250 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
92251
92252 ---------------------------------------------------------------------------------------------------------------
92253 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
92254 ---------------------------------------------------------------------------------------------------------------
92255 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
92256
92257 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
92258 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
92259
92260 IF xla_accounting_cache_pkg.GetValueChar
92261 (p_source_code => 'LEDGER_CATEGORY_CODE'
92262 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
92263 AND l_bflow_method_code = 'PRIOR_ENTRY'
92264 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
92265 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
92266 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
92267 )
92268 THEN
92269 xla_ae_lines_pkg.BflowUpgEntry
92270 (p_business_method_code => l_bflow_method_code
92271 ,p_business_class_code => l_bflow_class_code
92272 ,p_balance_type => l_balance_type_code);
92273 ELSE
92274 NULL;
92275 XLA_AE_LINES_PKG.business_flow_validation(
92276 p_business_method_code => l_bflow_method_code
92277 ,p_business_class_code => l_bflow_class_code
92278 ,p_inherit_description_flag => l_inherit_desc_flag);
92279 END IF;
92280
92281 --
92282 -- call analytical criteria
92283 --
92284 -- Inherited Analytical Criteria for business flow method of Prior Entry.
92285 --
92286 -- call description
92287 --
92288 -- No description or it is inherited.
92289 --
92290 -- call ADRs
92291 -- Bug 4922099
92292 --
92293 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
92294 (NVL(l_actual_upg_option, 'N') = 'O') OR
92295 (NVL(l_enc_upg_option, 'N') = 'O')
92296 )
92297 THEN
92298 NULL;
92299 --
92300 --
92301
92302 --
92303 --
92304 END IF;
92305 --
92306 -- Bug 4922099
92307 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
92308 (NVL(l_enc_upg_option, 'N') = 'O')
92309 ) AND
92310 (l_bflow_method_code = 'PRIOR_ENTRY')
92311 )
92312 THEN
92313 IF
92314 --
92315 1 = 1
92316 --
92317 THEN
92318 xla_accounting_err_pkg.build_message
92319 (p_appli_s_name => 'XLA'
92320 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
92321 ,p_token_1 => 'LINE_NUMBER'
92322 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
92323 ,p_token_2 => 'LINE_TYPE_NAME'
92324 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
92325 l_component_type
92326 ,l_component_code
92327 ,l_component_type_code
92328 ,l_component_appl_id
92329 ,l_amb_context_code
92330 ,l_entity_code
92331 ,l_event_class_code
92332 )
92333 ,p_token_3 => 'OWNER'
92337 )
92334 ,p_value_3 => xla_lookups_pkg.get_meaning(
92335 p_lookup_type => 'XLA_OWNER_TYPE'
92336 ,p_lookup_code => l_component_type_code
92338 ,p_token_4 => 'PRODUCT_NAME'
92339 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
92340 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
92341 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
92342 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
92343 ,p_ae_header_id => NULL
92344 );
92345
92346 IF (C_LEVEL_ERROR>= g_log_level) THEN
92347 trace
92348 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
92349 ,p_level => C_LEVEL_ERROR
92350 ,p_module => l_log_module);
92351 END IF;
92352 END IF;
92353 END IF;
92354 --
92355 --
92356 ------------------------------------------------------------------------------------------------
92357 -- 4219869 Business Flow
92358 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
92359 -- Prior Entry. Currently, the following code is always generated.
92360 ------------------------------------------------------------------------------------------------
92361 -- No ValidateCurrentLine for business flow method of Prior Entry
92362
92363 ------------------------------------------------------------------------------------
92364 -- 4219869 Business Flow
92365 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
92366 ------------------------------------------------------------------------------------
92367 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
92368
92369 ----------------------------------------------------------------------------------
92370 -- 4219869 Business Flow
92371 -- Update journal entry status -- Need to generate this within IF <condition>
92372 ----------------------------------------------------------------------------------
92373 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
92374 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
92375 ,p_balance_type_code => l_balance_type_code
92376 );
92377
92378 -------------------------------------------------------------------------------------------
92379 -- 4262811 - Generate the Accrual Reversal lines
92380 -------------------------------------------------------------------------------------------
92381 BEGIN
92382 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
92383 (g_array_event(p_event_id).array_value_num('header_index'));
92384 IF l_acc_rev_flag IS NULL THEN
92385 l_acc_rev_flag := 'N';
92386 END IF;
92387 EXCEPTION
92388 WHEN OTHERS THEN
92389 l_acc_rev_flag := 'N';
92390 END;
92391 --
92392 IF (l_acc_rev_flag = 'Y') THEN
92393
92394 -- 4645092 ------------------------------------------------------------------------------
92395 -- To allow MPA report to determine if it should generate report process
92396 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
92397 ------------------------------------------------------------------------------------------
92398
92399 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
92400 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
92401 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
92402 -- call ADRs
92403 -- Bug 4922099
92404 --
92405 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
92406 (NVL(l_actual_upg_option, 'N') = 'O') OR
92407 (NVL(l_enc_upg_option, 'N') = 'O')
92408 )
92409 THEN
92410 NULL;
92411 --
92412 --
92413
92414 --
92415 --
92416 END IF;
92417
92418 --
92419 -- Update the line information that should be overwritten
92420 --
92421 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
92422 p_header_num => 1);
92423 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
92424
92425 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
92426
92427 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
92428 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
92429 END IF;
92430
92431 --
92432 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
92433 --
92434 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
92435 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
92436 ELSE
92440 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
92437 ---------------------------------------------------------------------------------------------------
92438 -- 4262811a Switch Sign
92439 ---------------------------------------------------------------------------------------------------
92441 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
92442 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
92443 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
92444 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
92445 -- 5132302
92446 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
92447 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
92448
92449 END IF;
92450
92451 -- 4955764
92452 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
92453 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
92454
92455
92456 XLA_AE_LINES_PKG.ValidateCurrentLine;
92457 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
92458
92459 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
92460 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
92461 ,p_balance_type_code => l_balance_type_code);
92462
92463 END IF;
92464
92465 -----------------------------------------------------------------------------------------
92466 -- 4262811 Multiperiod Accounting
92467 -----------------------------------------------------------------------------------------
92468 -- No MPA option is assigned.
92469
92470
92471 END IF;
92472 END IF;
92473 --
92474
92475 --
92476 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
92477 trace
92478 (p_msg => 'END of AcctLineType_161'
92479 ,p_level => C_LEVEL_PROCEDURE
92480 ,p_module => l_log_module);
92481 END IF;
92482 --
92483 EXCEPTION
92484 WHEN xla_exceptions_pkg.application_exception THEN
92485 RAISE;
92486 WHEN OTHERS THEN
92487 xla_exceptions_pkg.raise_message
92488 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_161');
92489 END AcctLineType_161;
92490 --
92491
92492 ---------------------------------------
92493 --
92494 -- PRIVATE FUNCTION
92495 -- AcctLineType_162
92496 --
92497 ---------------------------------------
92498 PROCEDURE AcctLineType_162 (
92499 p_application_id IN NUMBER
92500 ,p_event_id IN NUMBER
92501 ,p_calculate_acctd_flag IN VARCHAR2
92502 ,p_calculate_g_l_flag IN VARCHAR2
92503 ,p_actual_flag IN OUT VARCHAR2
92504 ,p_balance_type_code OUT VARCHAR2
92505 ,p_gain_or_loss_ref OUT VARCHAR2
92506
92507 --Payment Currency Code
92508 , p_source_13 IN VARCHAR2
92509 --Accounting Reversal Indicator
92510 , p_source_53 IN VARCHAR2
92511 --Distribution Link Type
92512 , p_source_55 IN VARCHAR2
92513 --Override Accounted Amount Indicator
92514 , p_source_80 IN VARCHAR2
92515 , p_source_80_meaning IN VARCHAR2
92516 --Third Party Type
92517 , p_source_83 IN VARCHAR2
92518 --Invoice Distribution Tax Line Identifier
92519 , p_source_86 IN NUMBER
92520 --Invoice Distribution Tax Distribution Identifier from Tax
92521 , p_source_87 IN NUMBER
92522 --Invoice Distribution Summary Tax Line Identifier
92523 , p_source_88 IN NUMBER
92524 --Business Flow Accounts Payable Application Identifier
92525 , p_source_91 IN NUMBER
92526 --Business Flow Invoice Distribution Type
92527 , p_source_92 IN VARCHAR2
92528 --Business Flow Invoice Entity Code
92529 , p_source_93 IN VARCHAR2
92530 --Business Flow Invoice Distribution Identifier
92531 , p_source_94 IN NUMBER
92532 --Business Flow Invoice Identifier
92533 , p_source_95 IN NUMBER
92534 --When to Account for Payment Option
92535 , p_source_97 IN VARCHAR2
92536 --Payment Distribution Type
92537 , p_source_98 IN VARCHAR2
92538 , p_source_98_meaning IN VARCHAR2
92539 --Payment Distribution Amount
92540 , p_source_99 IN NUMBER
92541 --Payment Distribution Identifier
92542 , p_source_104 IN NUMBER
92543 --Payment Distribution Reversed Identifier
92544 , p_source_112 IN NUMBER
92545 --Payment Distribution (Invoice Rate) Ledger Amount
92546 , p_source_116 IN NUMBER
92547 --Payment Type
92548 , p_source_122 IN VARCHAR2
92549 , p_source_122_meaning IN VARCHAR2
92550 )
92551 IS
92552
92553 l_component_type VARCHAR2(80);
92554 l_component_code VARCHAR2(30);
92555 l_component_type_code VARCHAR2(1);
92556 l_component_appl_id INTEGER;
92557 l_amb_context_code VARCHAR2(30);
92558 l_entity_code VARCHAR2(30);
92559 l_event_class_code VARCHAR2(30);
92560 l_ae_header_id NUMBER;
92561 l_event_type_code VARCHAR2(30);
92562 l_line_definition_code VARCHAR2(30);
92563 l_line_definition_owner_code VARCHAR2(1);
92564 --
92568 l_adr_transaction_coa_id NUMBER;
92565 -- adr variables
92566 l_segment VARCHAR2(30);
92567 l_ccid NUMBER;
92569 l_adr_accounting_coa_id NUMBER;
92570 l_adr_flexfield_segment_code VARCHAR2(30);
92571 l_adr_flex_value_set_id NUMBER;
92572 l_adr_value_type_code VARCHAR2(30);
92573 l_adr_value_combination_id NUMBER;
92574 l_adr_value_segment_code VARCHAR2(30);
92575
92576 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
92577 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
92578 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
92579 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
92580
92581 -- 4262811 Variables ------------------------------------------------------------------------------------------
92582 l_entered_amt_idx NUMBER;
92583 l_accted_amt_idx NUMBER;
92584 l_acc_rev_flag VARCHAR2(1);
92585 l_accrual_line_num NUMBER;
92586 l_tmp_amt NUMBER;
92587 l_acc_rev_natural_side_code VARCHAR2(1);
92588
92589 l_num_entries NUMBER;
92590 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
92591 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
92592 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
92593 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
92594 l_recog_line_1 NUMBER;
92595 l_recog_line_2 NUMBER;
92596
92597 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
92598 l_bflow_applied_to_amt NUMBER; -- 5132302
92599 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
92600
92601 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
92602
92603 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
92604 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
92605
92606 ---------------------------------------------------------------------------------------------------------------
92607
92608
92609 --
92610 -- bulk performance
92611 --
92612 l_balance_type_code VARCHAR2(1);
92613 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
92614 l_log_module VARCHAR2(240);
92615
92616 --
92617 -- Upgrade strategy
92618 --
92619 l_actual_upg_option VARCHAR2(1);
92620 l_enc_upg_option VARCHAR2(1);
92621
92622 --
92623 BEGIN
92624 --
92625 IF g_log_enabled THEN
92626 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_162';
92627 END IF;
92628 --
92629 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
92630
92631 trace
92632 (p_msg => 'BEGIN of AcctLineType_162'
92633 ,p_level => C_LEVEL_PROCEDURE
92634 ,p_module => l_log_module);
92635
92636 END IF;
92637 --
92638 l_component_type := 'AMB_JLT';
92639 l_component_code := 'AP_LIAB_REF';
92640 l_component_type_code := 'S';
92641 l_component_appl_id := 200;
92642 l_amb_context_code := 'DEFAULT';
92643 l_entity_code := 'AP_PAYMENTS';
92644 l_event_class_code := 'REFUNDS';
92645 l_event_type_code := 'REFUNDS_ALL';
92646 l_line_definition_owner_code := 'S';
92647 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
92648 --
92649 l_balance_type_code := 'A';
92650 l_segment := NULL;
92651 l_ccid := NULL;
92652 l_adr_transaction_coa_id := NULL;
92653 l_adr_accounting_coa_id := NULL;
92654 l_adr_flexfield_segment_code := NULL;
92655 l_adr_flex_value_set_id := NULL;
92656 l_adr_value_type_code := NULL;
92657 l_adr_value_combination_id := NULL;
92658 l_adr_value_segment_code := NULL;
92659
92660 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
92661 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
92662 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
92663 l_budgetary_control_flag := 'N';
92664
92665 l_bflow_applied_to_amt_idx := NULL; -- 5132302
92666 l_bflow_applied_to_amt := NULL; -- 5132302
92667 l_entered_amt_idx := NULL; -- 4262811
92668 l_accted_amt_idx := NULL; -- 4262811
92669 l_acc_rev_flag := NULL; -- 4262811
92670 l_accrual_line_num := NULL; -- 4262811
92671 l_tmp_amt := NULL; -- 4262811
92672 --
92673
92674 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
92675 l_balance_type_code <> 'B' THEN
92676 IF NVL(p_source_97,'
92677 ') <> 'CLEAR_CLEAR' AND
92678 (NVL(p_source_98,'
92679 ') = 'ROUNDING' OR
92680 NVL(p_source_98,'
92681 ') = 'CASH' OR
92682 NVL(p_source_98,'
92683 ') = 'DISCOUNT') AND
92684 NVL(p_source_122,'
92685 ') = 'R'
92686 THEN
92687
92688 --
92689 XLA_AE_LINES_PKG.SetNewLine;
92690
92691 p_balance_type_code := l_balance_type_code;
92692 -- set the flag so later we will know whether the gain loss line needs to be created
92693
92694 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
92695 p_actual_flag :='A';
92696 END IF;
92697
92698 --
92702 p_header_num => 0); -- 4262811
92699 -- bulk performance
92700 --
92701 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
92703 --
92704 -- set accounting line options
92705 --
92706 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
92707 p_natural_side_code => 'D'
92708 , p_gain_or_loss_flag => 'N'
92709 , p_gl_transfer_mode_code => 'S'
92710 , p_acct_entry_type_code => 'A'
92711 , p_switch_side_flag => 'Y'
92712 , p_merge_duplicate_code => 'A'
92713 );
92714 --
92715 l_acc_rev_natural_side_code := 'C'; -- 4262811
92716 --
92717 --
92718 -- set accounting line type info
92719 --
92720 xla_ae_lines_pkg.SetAcctLineType
92721 (p_component_type => l_component_type
92722 ,p_event_type_code => l_event_type_code
92723 ,p_line_definition_owner_code => l_line_definition_owner_code
92724 ,p_line_definition_code => l_line_definition_code
92725 ,p_accounting_line_code => l_component_code
92726 ,p_accounting_line_type_code => l_component_type_code
92727 ,p_accounting_line_appl_id => l_component_appl_id
92728 ,p_amb_context_code => l_amb_context_code
92729 ,p_entity_code => l_entity_code
92730 ,p_event_class_code => l_event_class_code);
92731 --
92732 -- set accounting class
92733 --
92734 xla_ae_lines_pkg.SetAcctClass(
92735 p_accounting_class_code => 'LIABILITY'
92736 , p_ae_header_id => l_ae_header_id
92737 );
92738
92739 --
92740 -- set rounding class
92741 --
92742 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
92743 'LIABILITY';
92744
92745 --
92746 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
92747 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
92748 --
92749 -- bulk performance
92750 --
92751 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
92752
92753 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
92754 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
92755
92756 -- 4955764
92757 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
92758 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
92759
92760 -- 4458381 Public Sector Enh
92761
92762 --
92763 -- set accounting attributes for the line type
92764 --
92765 l_entered_amt_idx := 9;
92766 l_accted_amt_idx := 11;
92767 l_bflow_applied_to_amt_idx := NULL; -- 5132302
92768 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
92769 l_rec_acct_attrs.array_char_value(1) := p_source_53;
92770 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
92771 l_rec_acct_attrs.array_num_value(2) := p_source_91;
92772 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
92773 l_rec_acct_attrs.array_char_value(3) := p_source_92;
92774 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
92775 l_rec_acct_attrs.array_char_value(4) := p_source_93;
92776 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
92777 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
92778 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
92779 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
92780 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
92781 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
92782 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
92783 l_rec_acct_attrs.array_char_value(8) := p_source_55;
92784 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
92785 l_rec_acct_attrs.array_num_value(9) := p_source_99;
92786 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
92787 l_rec_acct_attrs.array_char_value(10) := p_source_13;
92788 l_rec_acct_attrs.array_acct_attr_code(11) := 'LEDGER_AMOUNT';
92789 l_rec_acct_attrs.array_num_value(11) := p_source_116;
92790 l_rec_acct_attrs.array_acct_attr_code(12) := 'OVERRIDE_ACCTD_AMT_FLAG';
92791 l_rec_acct_attrs.array_char_value(12) := p_source_80;
92792 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_TYPE';
92793 l_rec_acct_attrs.array_char_value(13) := p_source_83;
92794 l_rec_acct_attrs.array_acct_attr_code(14) := 'REVERSED_DISTRIBUTION_ID1';
92795 l_rec_acct_attrs.array_num_value(14) := to_char(p_source_112);
92796 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_TYPE';
92797 l_rec_acct_attrs.array_char_value(15) := p_source_55;
92798 l_rec_acct_attrs.array_acct_attr_code(16) := 'TAX_LINE_REF_ID';
92799 l_rec_acct_attrs.array_num_value(16) := p_source_86;
92800 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_REC_NREC_DIST_REF_ID';
92801 l_rec_acct_attrs.array_num_value(17) := p_source_87;
92802 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_SUMMARY_LINE_REF_ID';
92803 l_rec_acct_attrs.array_num_value(18) := p_source_88;
92804
92805 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
92809 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
92806 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
92807
92808 ---------------------------------------------------------------------------------------------------------------
92810 ---------------------------------------------------------------------------------------------------------------
92811 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
92812
92813 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
92814 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
92815
92816 IF xla_accounting_cache_pkg.GetValueChar
92817 (p_source_code => 'LEDGER_CATEGORY_CODE'
92818 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
92819 AND l_bflow_method_code = 'PRIOR_ENTRY'
92820 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
92821 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
92822 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
92823 )
92824 THEN
92825 xla_ae_lines_pkg.BflowUpgEntry
92826 (p_business_method_code => l_bflow_method_code
92827 ,p_business_class_code => l_bflow_class_code
92828 ,p_balance_type => l_balance_type_code);
92829 ELSE
92830 NULL;
92831 XLA_AE_LINES_PKG.business_flow_validation(
92832 p_business_method_code => l_bflow_method_code
92833 ,p_business_class_code => l_bflow_class_code
92834 ,p_inherit_description_flag => l_inherit_desc_flag);
92835 END IF;
92836
92837 --
92838 -- call analytical criteria
92839 --
92840 -- Inherited Analytical Criteria for business flow method of Prior Entry.
92841 --
92842 -- call description
92843 --
92844 -- No description or it is inherited.
92845 --
92846 -- call ADRs
92847 -- Bug 4922099
92848 --
92849 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
92850 (NVL(l_actual_upg_option, 'N') = 'O') OR
92851 (NVL(l_enc_upg_option, 'N') = 'O')
92852 )
92853 THEN
92854 NULL;
92855 --
92856 --
92857
92858 --
92859 --
92860 END IF;
92861 --
92862 -- Bug 4922099
92863 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
92864 (NVL(l_enc_upg_option, 'N') = 'O')
92865 ) AND
92866 (l_bflow_method_code = 'PRIOR_ENTRY')
92867 )
92868 THEN
92869 IF
92870 --
92871 1 = 1
92872 --
92873 THEN
92874 xla_accounting_err_pkg.build_message
92875 (p_appli_s_name => 'XLA'
92876 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
92877 ,p_token_1 => 'LINE_NUMBER'
92878 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
92879 ,p_token_2 => 'LINE_TYPE_NAME'
92880 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
92881 l_component_type
92882 ,l_component_code
92883 ,l_component_type_code
92884 ,l_component_appl_id
92885 ,l_amb_context_code
92886 ,l_entity_code
92887 ,l_event_class_code
92888 )
92889 ,p_token_3 => 'OWNER'
92890 ,p_value_3 => xla_lookups_pkg.get_meaning(
92891 p_lookup_type => 'XLA_OWNER_TYPE'
92892 ,p_lookup_code => l_component_type_code
92893 )
92894 ,p_token_4 => 'PRODUCT_NAME'
92895 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
92896 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
92897 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
92898 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
92899 ,p_ae_header_id => NULL
92900 );
92901
92902 IF (C_LEVEL_ERROR>= g_log_level) THEN
92903 trace
92904 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
92905 ,p_level => C_LEVEL_ERROR
92909 END IF;
92906 ,p_module => l_log_module);
92907 END IF;
92908 END IF;
92910 --
92911 --
92912 ------------------------------------------------------------------------------------------------
92913 -- 4219869 Business Flow
92914 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
92915 -- Prior Entry. Currently, the following code is always generated.
92916 ------------------------------------------------------------------------------------------------
92917 -- No ValidateCurrentLine for business flow method of Prior Entry
92918
92919 ------------------------------------------------------------------------------------
92920 -- 4219869 Business Flow
92921 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
92922 ------------------------------------------------------------------------------------
92923 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
92924
92925 ----------------------------------------------------------------------------------
92926 -- 4219869 Business Flow
92927 -- Update journal entry status -- Need to generate this within IF <condition>
92928 ----------------------------------------------------------------------------------
92929 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
92930 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
92931 ,p_balance_type_code => l_balance_type_code
92932 );
92933
92934 -------------------------------------------------------------------------------------------
92935 -- 4262811 - Generate the Accrual Reversal lines
92936 -------------------------------------------------------------------------------------------
92937 BEGIN
92938 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
92939 (g_array_event(p_event_id).array_value_num('header_index'));
92940 IF l_acc_rev_flag IS NULL THEN
92941 l_acc_rev_flag := 'N';
92942 END IF;
92943 EXCEPTION
92944 WHEN OTHERS THEN
92945 l_acc_rev_flag := 'N';
92946 END;
92947 --
92948 IF (l_acc_rev_flag = 'Y') THEN
92949
92950 -- 4645092 ------------------------------------------------------------------------------
92951 -- To allow MPA report to determine if it should generate report process
92952 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
92953 ------------------------------------------------------------------------------------------
92954
92955 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
92956 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
92957 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
92958 -- call ADRs
92959 -- Bug 4922099
92960 --
92961 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
92962 (NVL(l_actual_upg_option, 'N') = 'O') OR
92963 (NVL(l_enc_upg_option, 'N') = 'O')
92964 )
92965 THEN
92966 NULL;
92967 --
92968 --
92969
92970 --
92971 --
92972 END IF;
92973
92974 --
92975 -- Update the line information that should be overwritten
92976 --
92977 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
92978 p_header_num => 1);
92979 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
92980
92981 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
92982
92983 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
92984 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
92985 END IF;
92986
92987 --
92988 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
92989 --
92990 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
92991 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
92992 ELSE
92993 ---------------------------------------------------------------------------------------------------
92994 -- 4262811a Switch Sign
92995 ---------------------------------------------------------------------------------------------------
92996 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
92997 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
92998 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
92999 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
93000 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
93001 -- 5132302
93002 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
93003 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
93004
93005 END IF;
93006
93007 -- 4955764
93008 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
93009 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
93010
93011
93012 XLA_AE_LINES_PKG.ValidateCurrentLine;
93016 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
93013 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
93014
93015 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
93017 ,p_balance_type_code => l_balance_type_code);
93018
93019 END IF;
93020
93021 -----------------------------------------------------------------------------------------
93022 -- 4262811 Multiperiod Accounting
93023 -----------------------------------------------------------------------------------------
93024 -- No MPA option is assigned.
93025
93026
93027 END IF;
93028 END IF;
93029 --
93030
93031 --
93032 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
93033 trace
93034 (p_msg => 'END of AcctLineType_162'
93035 ,p_level => C_LEVEL_PROCEDURE
93036 ,p_module => l_log_module);
93037 END IF;
93038 --
93039 EXCEPTION
93040 WHEN xla_exceptions_pkg.application_exception THEN
93041 RAISE;
93042 WHEN OTHERS THEN
93043 xla_exceptions_pkg.raise_message
93044 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_162');
93045 END AcctLineType_162;
93046 --
93047
93048 ---------------------------------------
93049 --
93050 -- PRIVATE FUNCTION
93051 -- AcctLineType_163
93052 --
93053 ---------------------------------------
93054 PROCEDURE AcctLineType_163 (
93055 p_application_id IN NUMBER
93056 ,p_event_id IN NUMBER
93057 ,p_calculate_acctd_flag IN VARCHAR2
93058 ,p_calculate_g_l_flag IN VARCHAR2
93059 ,p_actual_flag IN OUT VARCHAR2
93060 ,p_balance_type_code OUT VARCHAR2
93061 ,p_gain_or_loss_ref OUT VARCHAR2
93062
93063 --Payment Currency Code
93064 , p_source_13 IN VARCHAR2
93065 --Automatic Offsets Value
93066 , p_source_15 IN VARCHAR2
93067 , p_source_15_meaning IN VARCHAR2
93068 --Invoice Distribution Account
93069 , p_source_30 IN NUMBER
93070 --Internal Realized Loss Account
93071 , p_source_38 IN NUMBER
93072 --Bank Loss Account
93073 , p_source_39 IN NUMBER
93074 --Accounting Reversal Indicator
93075 , p_source_53 IN VARCHAR2
93076 --Distribution Link Type
93077 , p_source_55 IN VARCHAR2
93078 --Override Accounted Amount Indicator
93079 , p_source_80 IN VARCHAR2
93080 , p_source_80_meaning IN VARCHAR2
93081 --Third Party Type
93082 , p_source_83 IN VARCHAR2
93083 --Invoice Distribution Tax Line Identifier
93084 , p_source_86 IN NUMBER
93085 --Invoice Distribution Summary Tax Line Identifier
93086 , p_source_88 IN NUMBER
93087 --Business Flow Accounts Payable Application Identifier
93088 , p_source_91 IN NUMBER
93089 --When to Account for Payment Option
93090 , p_source_97 IN VARCHAR2
93091 --Payment Distribution Type
93092 , p_source_98 IN VARCHAR2
93093 , p_source_98_meaning IN VARCHAR2
93094 --Payment Distribution Amount
93095 , p_source_99 IN NUMBER
93096 --Business Flow Payment Distribution Type
93097 , p_source_100 IN VARCHAR2
93098 --Business Flow Payment Entity Code
93099 , p_source_101 IN VARCHAR2
93100 --Business Flow Payment Distribution Identifier
93101 , p_source_102 IN NUMBER
93102 --Business Flow Payment Identifier
93103 , p_source_103 IN NUMBER
93104 --Payment Distribution Identifier
93105 , p_source_104 IN NUMBER
93106 --Cleared Exchange Date
93107 , p_source_106 IN DATE
93108 --Cleared Exchange Rate
93109 , p_source_107 IN NUMBER
93110 --Cleared Exchange Rate Type
93111 , p_source_108 IN VARCHAR2
93112 --Payment Supplier Identifier
93113 , p_source_110 IN NUMBER
93114 --Payment Supplier Site Identifier
93115 , p_source_111 IN NUMBER
93116 --Payment Distribution Reversed Identifier
93117 , p_source_112 IN NUMBER
93118 --Gain or Loss Indicator between Invoice and Clearing
93119 , p_source_151 IN VARCHAR2
93120 --Invoice/Clearing Ledger Amount Difference
93121 , p_source_152 IN NUMBER
93122 )
93123 IS
93124
93125 l_component_type VARCHAR2(80);
93126 l_component_code VARCHAR2(30);
93127 l_component_type_code VARCHAR2(1);
93128 l_component_appl_id INTEGER;
93129 l_amb_context_code VARCHAR2(30);
93130 l_entity_code VARCHAR2(30);
93131 l_event_class_code VARCHAR2(30);
93132 l_ae_header_id NUMBER;
93133 l_event_type_code VARCHAR2(30);
93134 l_line_definition_code VARCHAR2(30);
93135 l_line_definition_owner_code VARCHAR2(1);
93136 --
93137 -- adr variables
93138 l_segment VARCHAR2(30);
93139 l_ccid NUMBER;
93140 l_adr_transaction_coa_id NUMBER;
93141 l_adr_accounting_coa_id NUMBER;
93142 l_adr_flexfield_segment_code VARCHAR2(30);
93143 l_adr_flex_value_set_id NUMBER;
93144 l_adr_value_type_code VARCHAR2(30);
93145 l_adr_value_combination_id NUMBER;
93146 l_adr_value_segment_code VARCHAR2(30);
93147
93148 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
93149 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
93153 -- 4262811 Variables ------------------------------------------------------------------------------------------
93150 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
93151 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
93152
93154 l_entered_amt_idx NUMBER;
93155 l_accted_amt_idx NUMBER;
93156 l_acc_rev_flag VARCHAR2(1);
93157 l_accrual_line_num NUMBER;
93158 l_tmp_amt NUMBER;
93159 l_acc_rev_natural_side_code VARCHAR2(1);
93160
93161 l_num_entries NUMBER;
93162 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
93163 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
93164 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
93165 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
93166 l_recog_line_1 NUMBER;
93167 l_recog_line_2 NUMBER;
93168
93169 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
93170 l_bflow_applied_to_amt NUMBER; -- 5132302
93171 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
93172
93173 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
93174
93175 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
93176 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
93177
93178 ---------------------------------------------------------------------------------------------------------------
93179
93180
93181 --
93182 -- bulk performance
93183 --
93184 l_balance_type_code VARCHAR2(1);
93185 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
93186 l_log_module VARCHAR2(240);
93187
93188 --
93189 -- Upgrade strategy
93190 --
93191 l_actual_upg_option VARCHAR2(1);
93192 l_enc_upg_option VARCHAR2(1);
93193
93194 --
93195 BEGIN
93196 --
93197 IF g_log_enabled THEN
93198 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_163';
93199 END IF;
93200 --
93201 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
93202
93203 trace
93204 (p_msg => 'BEGIN of AcctLineType_163'
93205 ,p_level => C_LEVEL_PROCEDURE
93206 ,p_module => l_log_module);
93207
93208 END IF;
93209 --
93210 l_component_type := 'AMB_JLT';
93211 l_component_code := 'AP_LOSS_INV_CLEAR';
93212 l_component_type_code := 'S';
93213 l_component_appl_id := 200;
93214 l_amb_context_code := 'DEFAULT';
93215 l_entity_code := 'AP_PAYMENTS';
93216 l_event_class_code := 'RECONCILED PAYMENTS';
93217 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
93218 l_line_definition_owner_code := 'S';
93219 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
93220 --
93221 l_balance_type_code := 'A';
93222 l_segment := NULL;
93223 l_ccid := NULL;
93224 l_adr_transaction_coa_id := NULL;
93225 l_adr_accounting_coa_id := NULL;
93226 l_adr_flexfield_segment_code := NULL;
93227 l_adr_flex_value_set_id := NULL;
93228 l_adr_value_type_code := NULL;
93229 l_adr_value_combination_id := NULL;
93230 l_adr_value_segment_code := NULL;
93231
93232 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
93233 l_bflow_class_code := ''; -- 4219869 Business Flow
93234 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
93235 l_budgetary_control_flag := 'N';
93236
93237 l_bflow_applied_to_amt_idx := NULL; -- 5132302
93238 l_bflow_applied_to_amt := NULL; -- 5132302
93239 l_entered_amt_idx := NULL; -- 4262811
93240 l_accted_amt_idx := NULL; -- 4262811
93241 l_acc_rev_flag := NULL; -- 4262811
93242 l_accrual_line_num := NULL; -- 4262811
93243 l_tmp_amt := NULL; -- 4262811
93244 --
93245 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
93246 (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
93247 return;
93248 END IF;
93249
93250 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
93251 l_balance_type_code <> 'B' THEN
93252 IF (NVL(p_source_97,'
93253 ') = 'CLEAR_CLEAR' OR
93254 NVL(p_source_97,'
93255 ') = 'ALWAYS_CLEAR') AND
93256 NVL(p_source_151,'
93257 ') = 'LOSS' AND
93258 NVL(p_source_98,'
93259 ') <> 'EXCHANGE RATE VARIANCE' AND
93260 NVL(p_source_98,'
93261 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
93262 NVL(p_source_98,'
93263 ') <> 'BANK CHARGE' AND
93264 NVL(p_source_98,'
93265 ') <> 'BANK ERROR' AND
93266 NVL(p_source_98,'
93267 ') <> 'AWT'
93268 THEN
93269
93270 --
93271 XLA_AE_LINES_PKG.SetNewLine;
93272
93273 p_balance_type_code := l_balance_type_code;
93274 -- set the flag so later we will know whether the gain loss line needs to be created
93275
93276 IF(l_balance_type_code = 'A' ) THEN
93277 p_actual_flag :='G';
93278 END IF;
93282 --
93279
93280 --
93281 -- bulk performance
93283 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
93284 p_header_num => 0); -- 4262811
93285 --
93286 -- set accounting line options
93287 --
93288 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
93289 p_natural_side_code => 'C'
93290 , p_gain_or_loss_flag => 'Y'
93291 , p_gl_transfer_mode_code => 'S'
93292 , p_acct_entry_type_code => 'A'
93293 , p_switch_side_flag => 'Y'
93294 , p_merge_duplicate_code => 'A'
93295 );
93296 --
93297 l_acc_rev_natural_side_code := 'D'; -- 4262811
93298 --
93299 --
93300 -- set accounting line type info
93301 --
93302 xla_ae_lines_pkg.SetAcctLineType
93303 (p_component_type => l_component_type
93304 ,p_event_type_code => l_event_type_code
93305 ,p_line_definition_owner_code => l_line_definition_owner_code
93306 ,p_line_definition_code => l_line_definition_code
93307 ,p_accounting_line_code => l_component_code
93308 ,p_accounting_line_type_code => l_component_type_code
93309 ,p_accounting_line_appl_id => l_component_appl_id
93310 ,p_amb_context_code => l_amb_context_code
93311 ,p_entity_code => l_entity_code
93312 ,p_event_class_code => l_event_class_code);
93313 --
93314 -- set accounting class
93315 --
93316 xla_ae_lines_pkg.SetAcctClass(
93317 p_accounting_class_code => 'LOSS'
93318 , p_ae_header_id => l_ae_header_id
93319 );
93320
93321 --
93322 -- set rounding class
93323 --
93324 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
93325 'LOSS';
93326
93327 --
93328 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
93329 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
93330 --
93331 -- bulk performance
93332 --
93333 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
93334
93335 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
93336 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
93337
93338 -- 4955764
93339 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
93340 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
93341
93342 -- 4458381 Public Sector Enh
93343
93344 --
93345 -- set accounting attributes for the line type
93346 --
93347 l_entered_amt_idx := 10;
93348 l_accted_amt_idx := 15;
93349 l_bflow_applied_to_amt_idx := 2; -- 5132302
93350 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
93351 l_rec_acct_attrs.array_char_value(1) := p_source_53;
93352 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
93353 l_rec_acct_attrs.array_num_value(2) := p_source_99;
93354 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
93355 l_rec_acct_attrs.array_num_value(3) := p_source_91;
93356 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
93357 l_rec_acct_attrs.array_char_value(4) := p_source_100;
93358 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
93359 l_rec_acct_attrs.array_char_value(5) := p_source_101;
93360 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
93361 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
93362 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
93363 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
93364 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
93365 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
93366 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
93367 l_rec_acct_attrs.array_char_value(9) := p_source_55;
93368 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
93369 l_rec_acct_attrs.array_num_value(10) := p_source_99;
93370 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
93371 l_rec_acct_attrs.array_char_value(11) := p_source_13;
93372 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
93373 l_rec_acct_attrs.array_date_value(12) := p_source_106;
93374 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
93375 l_rec_acct_attrs.array_num_value(13) := p_source_107;
93376 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
93377 l_rec_acct_attrs.array_char_value(14) := p_source_108;
93378 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
93379 l_rec_acct_attrs.array_num_value(15) := p_source_152;
93380 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
93381 l_rec_acct_attrs.array_char_value(16) := p_source_80;
93382 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
93383 l_rec_acct_attrs.array_num_value(17) := p_source_110;
93384 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
93385 l_rec_acct_attrs.array_num_value(18) := p_source_111;
93386 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
93387 l_rec_acct_attrs.array_char_value(19) := p_source_83;
93391 l_rec_acct_attrs.array_char_value(21) := p_source_55;
93388 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
93389 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
93390 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
93392 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
93393 l_rec_acct_attrs.array_num_value(22) := p_source_86;
93394 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
93395 l_rec_acct_attrs.array_num_value(23) := p_source_86;
93396 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
93397 l_rec_acct_attrs.array_num_value(24) := p_source_88;
93398
93399 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
93400 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
93401
93402 ---------------------------------------------------------------------------------------------------------------
93403 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
93404 ---------------------------------------------------------------------------------------------------------------
93405 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
93406
93407 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
93408 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
93409
93410 IF xla_accounting_cache_pkg.GetValueChar
93411 (p_source_code => 'LEDGER_CATEGORY_CODE'
93412 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
93413 AND l_bflow_method_code = 'PRIOR_ENTRY'
93414 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
93415 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
93416 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
93417 )
93418 THEN
93419 xla_ae_lines_pkg.BflowUpgEntry
93420 (p_business_method_code => l_bflow_method_code
93421 ,p_business_class_code => l_bflow_class_code
93422 ,p_balance_type => l_balance_type_code);
93423 ELSE
93424 NULL;
93425 -- No business flow processing for business flow method of NONE.
93426 END IF;
93427
93428 --
93429 -- call analytical criteria
93430 --
93431
93432 --
93433 -- call description
93434 --
93435 -- No description or it is inherited.
93436 --
93437 -- call ADRs
93438 -- Bug 4922099
93439 --
93440 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
93441 (NVL(l_actual_upg_option, 'N') = 'O') OR
93442 (NVL(l_enc_upg_option, 'N') = 'O')
93443 )
93444 THEN
93445 NULL;
93446 --
93447 --
93448
93449 l_ccid := AcctDerRule_39(
93450 p_application_id => p_application_id
93451 , p_ae_header_id => l_ae_header_id
93452 , p_source_15 => p_source_15
93453 , p_source_15_meaning => p_source_15_meaning
93454 , p_source_30 => p_source_30
93455 , p_source_38 => p_source_38
93456 , p_source_39 => p_source_39
93457 , x_transaction_coa_id => l_adr_transaction_coa_id
93458 , x_accounting_coa_id => l_adr_accounting_coa_id
93459 , x_value_type_code => l_adr_value_type_code
93460 , p_side => 'NA'
93461 );
93462
93463 xla_ae_lines_pkg.set_ccid(
93464 p_code_combination_id => l_ccid
93465 , p_value_type_code => l_adr_value_type_code
93466 , p_transaction_coa_id => l_adr_transaction_coa_id
93467 , p_accounting_coa_id => l_adr_accounting_coa_id
93468 , p_adr_code => 'AP_REAL_LOSS'
93469 , p_adr_type_code => 'S'
93470 , p_component_type => l_component_type
93471 , p_component_code => l_component_code
93472 , p_component_type_code => l_component_type_code
93473 , p_component_appl_id => l_component_appl_id
93474 , p_amb_context_code => l_amb_context_code
93475 , p_side => 'NA'
93476 );
93477
93478
93479 l_segment := AcctDerRule_22(
93480 p_application_id => p_application_id
93481 , p_ae_header_id => l_ae_header_id
93482 , p_source_15 => p_source_15
93483 , p_source_15_meaning => p_source_15_meaning
93484 , p_source_30 => p_source_30
93485 , x_transaction_coa_id => l_adr_transaction_coa_id
93486 , x_accounting_coa_id => l_adr_accounting_coa_id
93487 , x_flexfield_segment_code => l_adr_flexfield_segment_code
93488 , x_flex_value_set_id => l_adr_flex_value_set_id
93489 , x_value_type_code => l_adr_value_type_code
93490 , x_value_combination_id => l_adr_value_combination_id
93491 , x_value_segment_code => l_adr_value_segment_code
93492 , p_side => 'NA'
93493 , p_override_seg_flag => 'Y'
93494 );
93495
93496 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
93497
93498 xla_ae_lines_pkg.set_segment(
93499 p_to_segment_code => 'GL_BALANCING'
93500 , p_segment_value => l_segment
93501 , p_from_segment_code => l_adr_value_segment_code
93505 , p_accounting_coa_id => l_adr_accounting_coa_id
93502 , p_from_combination_id => l_adr_value_combination_id
93503 , p_value_type_code => l_adr_value_type_code
93504 , p_transaction_coa_id => l_adr_transaction_coa_id
93506 , p_flexfield_segment_code => l_adr_flexfield_segment_code
93507 , p_flex_value_set_id => l_adr_flex_value_set_id
93508 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
93509 , p_adr_type_code => 'S'
93510 , p_component_type => l_component_type
93511 , p_component_code => l_component_code
93512 , p_component_type_code => l_component_type_code
93513 , p_component_appl_id => l_component_appl_id
93514 , p_amb_context_code => l_amb_context_code
93515 , p_entity_code => 'AP_PAYMENTS'
93516 , p_event_class_code => 'RECONCILED PAYMENTS'
93517 , p_side => 'NA'
93518 );
93519
93520 END IF;
93521
93522 l_segment := AcctDerRule_18(
93523 p_application_id => p_application_id
93524 , p_ae_header_id => l_ae_header_id
93525 , p_source_15 => p_source_15
93526 , p_source_15_meaning => p_source_15_meaning
93527 , p_source_38 => p_source_38
93528 , p_source_39 => p_source_39
93529 , x_transaction_coa_id => l_adr_transaction_coa_id
93530 , x_accounting_coa_id => l_adr_accounting_coa_id
93531 , x_flexfield_segment_code => l_adr_flexfield_segment_code
93532 , x_flex_value_set_id => l_adr_flex_value_set_id
93533 , x_value_type_code => l_adr_value_type_code
93534 , x_value_combination_id => l_adr_value_combination_id
93535 , x_value_segment_code => l_adr_value_segment_code
93536 , p_side => 'NA'
93537 , p_override_seg_flag => 'Y'
93538 );
93539
93540 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
93541
93542 xla_ae_lines_pkg.set_segment(
93543 p_to_segment_code => 'GL_ACCOUNT'
93544 , p_segment_value => l_segment
93545 , p_from_segment_code => l_adr_value_segment_code
93546 , p_from_combination_id => l_adr_value_combination_id
93547 , p_value_type_code => l_adr_value_type_code
93548 , p_transaction_coa_id => l_adr_transaction_coa_id
93549 , p_accounting_coa_id => l_adr_accounting_coa_id
93550 , p_flexfield_segment_code => l_adr_flexfield_segment_code
93551 , p_flex_value_set_id => l_adr_flex_value_set_id
93552 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
93553 , p_adr_type_code => 'S'
93554 , p_component_type => l_component_type
93555 , p_component_code => l_component_code
93556 , p_component_type_code => l_component_type_code
93557 , p_component_appl_id => l_component_appl_id
93558 , p_amb_context_code => l_amb_context_code
93559 , p_entity_code => 'AP_PAYMENTS'
93560 , p_event_class_code => 'RECONCILED PAYMENTS'
93561 , p_side => 'NA'
93562 );
93563
93564 END IF;
93565
93566 --
93567 --
93568 END IF;
93569 --
93570 -- Bug 4922099
93571 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
93572 (NVL(l_enc_upg_option, 'N') = 'O')
93573 ) AND
93574 (l_bflow_method_code = 'PRIOR_ENTRY')
93575 )
93576 THEN
93577 IF
93578 --
93579 1 = 2
93580 --
93581 THEN
93582 xla_accounting_err_pkg.build_message
93583 (p_appli_s_name => 'XLA'
93584 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
93585 ,p_token_1 => 'LINE_NUMBER'
93586 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
93587 ,p_token_2 => 'LINE_TYPE_NAME'
93588 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
93589 l_component_type
93590 ,l_component_code
93591 ,l_component_type_code
93592 ,l_component_appl_id
93593 ,l_amb_context_code
93594 ,l_entity_code
93595 ,l_event_class_code
93596 )
93597 ,p_token_3 => 'OWNER'
93598 ,p_value_3 => xla_lookups_pkg.get_meaning(
93599 p_lookup_type => 'XLA_OWNER_TYPE'
93600 ,p_lookup_code => l_component_type_code
93601 )
93602 ,p_token_4 => 'PRODUCT_NAME'
93606 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
93603 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
93604 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
93605 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
93607 ,p_ae_header_id => NULL
93608 );
93609
93610 IF (C_LEVEL_ERROR>= g_log_level) THEN
93611 trace
93612 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
93613 ,p_level => C_LEVEL_ERROR
93614 ,p_module => l_log_module);
93615 END IF;
93616 END IF;
93617 END IF;
93618 --
93619 --
93620 ------------------------------------------------------------------------------------------------
93621 -- 4219869 Business Flow
93622 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
93623 -- Prior Entry. Currently, the following code is always generated.
93624 ------------------------------------------------------------------------------------------------
93625 XLA_AE_LINES_PKG.ValidateCurrentLine;
93626
93627 ------------------------------------------------------------------------------------
93628 -- 4219869 Business Flow
93629 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
93630 ------------------------------------------------------------------------------------
93631 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
93632
93633 ----------------------------------------------------------------------------------
93634 -- 4219869 Business Flow
93635 -- Update journal entry status -- Need to generate this within IF <condition>
93636 ----------------------------------------------------------------------------------
93637 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
93638 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
93639 ,p_balance_type_code => l_balance_type_code
93640 );
93641
93642 -------------------------------------------------------------------------------------------
93643 -- 4262811 - Generate the Accrual Reversal lines
93644 -------------------------------------------------------------------------------------------
93645 BEGIN
93646 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
93647 (g_array_event(p_event_id).array_value_num('header_index'));
93648 IF l_acc_rev_flag IS NULL THEN
93649 l_acc_rev_flag := 'N';
93650 END IF;
93651 EXCEPTION
93652 WHEN OTHERS THEN
93653 l_acc_rev_flag := 'N';
93654 END;
93655 --
93656 IF (l_acc_rev_flag = 'Y') THEN
93657
93658 -- 4645092 ------------------------------------------------------------------------------
93659 -- To allow MPA report to determine if it should generate report process
93660 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
93661 ------------------------------------------------------------------------------------------
93662
93663 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
93664 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
93665 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
93666 -- call ADRs
93667 -- Bug 4922099
93668 --
93669 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
93670 (NVL(l_actual_upg_option, 'N') = 'O') OR
93671 (NVL(l_enc_upg_option, 'N') = 'O')
93672 )
93673 THEN
93674 NULL;
93675 --
93676 --
93677
93678 l_ccid := AcctDerRule_39(
93679 p_application_id => p_application_id
93680 , p_ae_header_id => l_ae_header_id
93681 , p_source_15 => p_source_15
93682 , p_source_15_meaning => p_source_15_meaning
93683 , p_source_30 => p_source_30
93684 , p_source_38 => p_source_38
93685 , p_source_39 => p_source_39
93686 , x_transaction_coa_id => l_adr_transaction_coa_id
93687 , x_accounting_coa_id => l_adr_accounting_coa_id
93688 , x_value_type_code => l_adr_value_type_code
93689 , p_side => 'NA'
93690 );
93691
93692 xla_ae_lines_pkg.set_ccid(
93693 p_code_combination_id => l_ccid
93694 , p_value_type_code => l_adr_value_type_code
93695 , p_transaction_coa_id => l_adr_transaction_coa_id
93696 , p_accounting_coa_id => l_adr_accounting_coa_id
93697 , p_adr_code => 'AP_REAL_LOSS'
93698 , p_adr_type_code => 'S'
93699 , p_component_type => l_component_type
93700 , p_component_code => l_component_code
93701 , p_component_type_code => l_component_type_code
93702 , p_component_appl_id => l_component_appl_id
93703 , p_amb_context_code => l_amb_context_code
93704 , p_side => 'NA'
93705 );
93706
93707
93708 l_segment := AcctDerRule_22(
93709 p_application_id => p_application_id
93710 , p_ae_header_id => l_ae_header_id
93711 , p_source_15 => p_source_15
93712 , p_source_15_meaning => p_source_15_meaning
93713 , p_source_30 => p_source_30
93714 , x_transaction_coa_id => l_adr_transaction_coa_id
93718 , x_value_type_code => l_adr_value_type_code
93715 , x_accounting_coa_id => l_adr_accounting_coa_id
93716 , x_flexfield_segment_code => l_adr_flexfield_segment_code
93717 , x_flex_value_set_id => l_adr_flex_value_set_id
93719 , x_value_combination_id => l_adr_value_combination_id
93720 , x_value_segment_code => l_adr_value_segment_code
93721 , p_side => 'NA'
93722 , p_override_seg_flag => 'Y'
93723 );
93724
93725 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
93726
93727 xla_ae_lines_pkg.set_segment(
93728 p_to_segment_code => 'GL_BALANCING'
93729 , p_segment_value => l_segment
93730 , p_from_segment_code => l_adr_value_segment_code
93731 , p_from_combination_id => l_adr_value_combination_id
93732 , p_value_type_code => l_adr_value_type_code
93733 , p_transaction_coa_id => l_adr_transaction_coa_id
93734 , p_accounting_coa_id => l_adr_accounting_coa_id
93735 , p_flexfield_segment_code => l_adr_flexfield_segment_code
93736 , p_flex_value_set_id => l_adr_flex_value_set_id
93737 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
93738 , p_adr_type_code => 'S'
93739 , p_component_type => l_component_type
93740 , p_component_code => l_component_code
93741 , p_component_type_code => l_component_type_code
93742 , p_component_appl_id => l_component_appl_id
93743 , p_amb_context_code => l_amb_context_code
93744 , p_entity_code => 'AP_PAYMENTS'
93745 , p_event_class_code => 'RECONCILED PAYMENTS'
93746 , p_side => 'NA'
93747 );
93748
93749 END IF;
93750
93751 l_segment := AcctDerRule_18(
93752 p_application_id => p_application_id
93753 , p_ae_header_id => l_ae_header_id
93754 , p_source_15 => p_source_15
93755 , p_source_15_meaning => p_source_15_meaning
93756 , p_source_38 => p_source_38
93757 , p_source_39 => p_source_39
93758 , x_transaction_coa_id => l_adr_transaction_coa_id
93759 , x_accounting_coa_id => l_adr_accounting_coa_id
93760 , x_flexfield_segment_code => l_adr_flexfield_segment_code
93761 , x_flex_value_set_id => l_adr_flex_value_set_id
93762 , x_value_type_code => l_adr_value_type_code
93763 , x_value_combination_id => l_adr_value_combination_id
93764 , x_value_segment_code => l_adr_value_segment_code
93765 , p_side => 'NA'
93766 , p_override_seg_flag => 'Y'
93767 );
93768
93769 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
93770
93771 xla_ae_lines_pkg.set_segment(
93772 p_to_segment_code => 'GL_ACCOUNT'
93773 , p_segment_value => l_segment
93774 , p_from_segment_code => l_adr_value_segment_code
93775 , p_from_combination_id => l_adr_value_combination_id
93776 , p_value_type_code => l_adr_value_type_code
93777 , p_transaction_coa_id => l_adr_transaction_coa_id
93778 , p_accounting_coa_id => l_adr_accounting_coa_id
93779 , p_flexfield_segment_code => l_adr_flexfield_segment_code
93780 , p_flex_value_set_id => l_adr_flex_value_set_id
93781 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
93782 , p_adr_type_code => 'S'
93783 , p_component_type => l_component_type
93784 , p_component_code => l_component_code
93785 , p_component_type_code => l_component_type_code
93786 , p_component_appl_id => l_component_appl_id
93787 , p_amb_context_code => l_amb_context_code
93788 , p_entity_code => 'AP_PAYMENTS'
93789 , p_event_class_code => 'RECONCILED PAYMENTS'
93790 , p_side => 'NA'
93791 );
93792
93793 END IF;
93794
93795 --
93796 --
93797 END IF;
93798
93799 --
93800 -- Update the line information that should be overwritten
93801 --
93802 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
93803 p_header_num => 1);
93804 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
93805
93806 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
93807
93808 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
93809 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
93810 END IF;
93811
93812 --
93813 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
93814 --
93815 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
93816 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
93817 ELSE
93818 ---------------------------------------------------------------------------------------------------
93819 -- 4262811a Switch Sign
93820 ---------------------------------------------------------------------------------------------------
93824 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
93821 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
93822 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
93823 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
93825 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
93826 -- 5132302
93827 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
93828 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
93829
93830 END IF;
93831
93832 -- 4955764
93833 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
93834 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
93835
93836
93837 XLA_AE_LINES_PKG.ValidateCurrentLine;
93838 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
93839
93840 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
93841 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
93842 ,p_balance_type_code => l_balance_type_code);
93843
93844 END IF;
93845
93846 -----------------------------------------------------------------------------------------
93847 -- 4262811 Multiperiod Accounting
93848 -----------------------------------------------------------------------------------------
93849 -- No MPA option is assigned.
93850
93851
93852 END IF;
93853 END IF;
93854 --
93855
93856 --
93857 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
93858 trace
93859 (p_msg => 'END of AcctLineType_163'
93860 ,p_level => C_LEVEL_PROCEDURE
93861 ,p_module => l_log_module);
93862 END IF;
93863 --
93864 EXCEPTION
93865 WHEN xla_exceptions_pkg.application_exception THEN
93866 RAISE;
93867 WHEN OTHERS THEN
93868 xla_exceptions_pkg.raise_message
93869 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_163');
93870 END AcctLineType_163;
93871 --
93872
93873 ---------------------------------------
93874 --
93875 -- PRIVATE FUNCTION
93876 -- AcctLineType_164
93877 --
93878 ---------------------------------------
93879 PROCEDURE AcctLineType_164 (
93880 p_application_id IN NUMBER
93881 ,p_event_id IN NUMBER
93882 ,p_calculate_acctd_flag IN VARCHAR2
93883 ,p_calculate_g_l_flag IN VARCHAR2
93884 ,p_actual_flag IN OUT VARCHAR2
93885 ,p_balance_type_code OUT VARCHAR2
93886 ,p_gain_or_loss_ref OUT VARCHAR2
93887
93888 --Payment Currency Code
93889 , p_source_13 IN VARCHAR2
93890 --Automatic Offsets Value
93891 , p_source_15 IN VARCHAR2
93892 , p_source_15_meaning IN VARCHAR2
93893 --Invoice Distribution Account
93894 , p_source_30 IN NUMBER
93895 --Internal Realized Loss Account
93896 , p_source_38 IN NUMBER
93897 --Bank Loss Account
93898 , p_source_39 IN NUMBER
93899 --Accounting Reversal Indicator
93900 , p_source_53 IN VARCHAR2
93901 --Distribution Link Type
93902 , p_source_55 IN VARCHAR2
93903 --Override Accounted Amount Indicator
93904 , p_source_80 IN VARCHAR2
93905 , p_source_80_meaning IN VARCHAR2
93906 --Third Party Type
93907 , p_source_83 IN VARCHAR2
93908 --Invoice Distribution Tax Line Identifier
93909 , p_source_86 IN NUMBER
93910 --Invoice Distribution Summary Tax Line Identifier
93911 , p_source_88 IN NUMBER
93912 --Business Flow Accounts Payable Application Identifier
93913 , p_source_91 IN NUMBER
93914 --When to Account for Payment Option
93915 , p_source_97 IN VARCHAR2
93916 --Payment Distribution Type
93917 , p_source_98 IN VARCHAR2
93918 , p_source_98_meaning IN VARCHAR2
93919 --Payment Distribution Amount
93920 , p_source_99 IN NUMBER
93921 --Business Flow Payment Distribution Type
93922 , p_source_100 IN VARCHAR2
93923 --Business Flow Payment Entity Code
93924 , p_source_101 IN VARCHAR2
93925 --Business Flow Payment Distribution Identifier
93926 , p_source_102 IN NUMBER
93927 --Business Flow Payment Identifier
93928 , p_source_103 IN NUMBER
93929 --Payment Distribution Identifier
93930 , p_source_104 IN NUMBER
93931 --Cleared Exchange Date
93932 , p_source_106 IN DATE
93933 --Cleared Exchange Rate
93934 , p_source_107 IN NUMBER
93935 --Cleared Exchange Rate Type
93936 , p_source_108 IN VARCHAR2
93937 --Payment Supplier Identifier
93938 , p_source_110 IN NUMBER
93939 --Payment Supplier Site Identifier
93940 , p_source_111 IN NUMBER
93941 --Payment Distribution Reversed Identifier
93942 , p_source_112 IN NUMBER
93943 --Payment Maturity Date
93944 , p_source_114 IN DATE
93945 --Gain or Loss Indicator between Maturity and Clearing
93946 , p_source_156 IN VARCHAR2
93947 --Maturity/Clearing Ledger Amount Difference
93948 , p_source_157 IN NUMBER
93949 )
93950 IS
93951
93955 l_component_appl_id INTEGER;
93952 l_component_type VARCHAR2(80);
93953 l_component_code VARCHAR2(30);
93954 l_component_type_code VARCHAR2(1);
93956 l_amb_context_code VARCHAR2(30);
93957 l_entity_code VARCHAR2(30);
93958 l_event_class_code VARCHAR2(30);
93959 l_ae_header_id NUMBER;
93960 l_event_type_code VARCHAR2(30);
93961 l_line_definition_code VARCHAR2(30);
93962 l_line_definition_owner_code VARCHAR2(1);
93963 --
93964 -- adr variables
93965 l_segment VARCHAR2(30);
93966 l_ccid NUMBER;
93967 l_adr_transaction_coa_id NUMBER;
93968 l_adr_accounting_coa_id NUMBER;
93969 l_adr_flexfield_segment_code VARCHAR2(30);
93970 l_adr_flex_value_set_id NUMBER;
93971 l_adr_value_type_code VARCHAR2(30);
93972 l_adr_value_combination_id NUMBER;
93973 l_adr_value_segment_code VARCHAR2(30);
93974
93975 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
93976 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
93977 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
93978 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
93979
93980 -- 4262811 Variables ------------------------------------------------------------------------------------------
93981 l_entered_amt_idx NUMBER;
93982 l_accted_amt_idx NUMBER;
93983 l_acc_rev_flag VARCHAR2(1);
93984 l_accrual_line_num NUMBER;
93985 l_tmp_amt NUMBER;
93986 l_acc_rev_natural_side_code VARCHAR2(1);
93987
93988 l_num_entries NUMBER;
93989 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
93990 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
93991 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
93992 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
93993 l_recog_line_1 NUMBER;
93994 l_recog_line_2 NUMBER;
93995
93996 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
93997 l_bflow_applied_to_amt NUMBER; -- 5132302
93998 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
93999
94000 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
94001
94002 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
94003 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
94004
94005 ---------------------------------------------------------------------------------------------------------------
94006
94007
94008 --
94009 -- bulk performance
94010 --
94011 l_balance_type_code VARCHAR2(1);
94012 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
94013 l_log_module VARCHAR2(240);
94014
94015 --
94016 -- Upgrade strategy
94017 --
94018 l_actual_upg_option VARCHAR2(1);
94019 l_enc_upg_option VARCHAR2(1);
94020
94021 --
94022 BEGIN
94023 --
94024 IF g_log_enabled THEN
94025 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_164';
94026 END IF;
94027 --
94028 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
94029
94030 trace
94031 (p_msg => 'BEGIN of AcctLineType_164'
94032 ,p_level => C_LEVEL_PROCEDURE
94033 ,p_module => l_log_module);
94034
94035 END IF;
94036 --
94037 l_component_type := 'AMB_JLT';
94038 l_component_code := 'AP_LOSS_MAT_CLEAR';
94039 l_component_type_code := 'S';
94040 l_component_appl_id := 200;
94041 l_amb_context_code := 'DEFAULT';
94042 l_entity_code := 'AP_PAYMENTS';
94043 l_event_class_code := 'RECONCILED PAYMENTS';
94044 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
94045 l_line_definition_owner_code := 'S';
94046 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
94047 --
94048 l_balance_type_code := 'A';
94049 l_segment := NULL;
94050 l_ccid := NULL;
94051 l_adr_transaction_coa_id := NULL;
94052 l_adr_accounting_coa_id := NULL;
94053 l_adr_flexfield_segment_code := NULL;
94054 l_adr_flex_value_set_id := NULL;
94055 l_adr_value_type_code := NULL;
94056 l_adr_value_combination_id := NULL;
94057 l_adr_value_segment_code := NULL;
94058
94059 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
94060 l_bflow_class_code := ''; -- 4219869 Business Flow
94061 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
94062 l_budgetary_control_flag := 'N';
94063
94064 l_bflow_applied_to_amt_idx := NULL; -- 5132302
94065 l_bflow_applied_to_amt := NULL; -- 5132302
94066 l_entered_amt_idx := NULL; -- 4262811
94067 l_accted_amt_idx := NULL; -- 4262811
94068 l_acc_rev_flag := NULL; -- 4262811
94069 l_accrual_line_num := NULL; -- 4262811
94070 l_tmp_amt := NULL; -- 4262811
94071 --
94072 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
94076
94073 (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
94074 return;
94075 END IF;
94077 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
94078 l_balance_type_code <> 'B' THEN
94079 IF NVL(p_source_97,'
94080 ') = 'ALWAYS_ALWAYS' AND
94081 p_source_114 IS NOT NULL AND
94082 NVL(p_source_156,'
94083 ') = 'LOSS' AND
94084 NVL(p_source_98,'
94085 ') <> 'EXCHANGE RATE VARIANCE' AND
94086 NVL(p_source_98,'
94087 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
94088 NVL(p_source_98,'
94089 ') <> 'BANK CHARGE' AND
94090 NVL(p_source_98,'
94091 ') <> 'BANK ERROR'
94092 THEN
94093
94094 --
94095 XLA_AE_LINES_PKG.SetNewLine;
94096
94097 p_balance_type_code := l_balance_type_code;
94098 -- set the flag so later we will know whether the gain loss line needs to be created
94099
94100 IF(l_balance_type_code = 'A' ) THEN
94101 p_actual_flag :='G';
94102 END IF;
94103
94104 --
94105 -- bulk performance
94106 --
94107 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
94108 p_header_num => 0); -- 4262811
94109 --
94110 -- set accounting line options
94111 --
94112 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
94113 p_natural_side_code => 'C'
94114 , p_gain_or_loss_flag => 'Y'
94115 , p_gl_transfer_mode_code => 'S'
94116 , p_acct_entry_type_code => 'A'
94117 , p_switch_side_flag => 'Y'
94118 , p_merge_duplicate_code => 'A'
94119 );
94120 --
94121 l_acc_rev_natural_side_code := 'D'; -- 4262811
94122 --
94123 --
94124 -- set accounting line type info
94125 --
94126 xla_ae_lines_pkg.SetAcctLineType
94127 (p_component_type => l_component_type
94128 ,p_event_type_code => l_event_type_code
94129 ,p_line_definition_owner_code => l_line_definition_owner_code
94130 ,p_line_definition_code => l_line_definition_code
94131 ,p_accounting_line_code => l_component_code
94132 ,p_accounting_line_type_code => l_component_type_code
94133 ,p_accounting_line_appl_id => l_component_appl_id
94134 ,p_amb_context_code => l_amb_context_code
94135 ,p_entity_code => l_entity_code
94136 ,p_event_class_code => l_event_class_code);
94137 --
94138 -- set accounting class
94139 --
94140 xla_ae_lines_pkg.SetAcctClass(
94141 p_accounting_class_code => 'LOSS'
94142 , p_ae_header_id => l_ae_header_id
94143 );
94144
94145 --
94146 -- set rounding class
94147 --
94148 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
94149 'LOSS';
94150
94151 --
94152 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
94153 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
94154 --
94155 -- bulk performance
94156 --
94157 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
94158
94159 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
94160 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
94161
94162 -- 4955764
94163 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
94164 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
94165
94166 -- 4458381 Public Sector Enh
94167
94168 --
94169 -- set accounting attributes for the line type
94170 --
94171 l_entered_amt_idx := 10;
94172 l_accted_amt_idx := 15;
94173 l_bflow_applied_to_amt_idx := 2; -- 5132302
94174 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
94175 l_rec_acct_attrs.array_char_value(1) := p_source_53;
94176 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
94177 l_rec_acct_attrs.array_num_value(2) := p_source_99;
94178 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
94179 l_rec_acct_attrs.array_num_value(3) := p_source_91;
94180 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
94181 l_rec_acct_attrs.array_char_value(4) := p_source_100;
94182 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
94183 l_rec_acct_attrs.array_char_value(5) := p_source_101;
94184 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
94185 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
94186 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
94187 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
94188 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
94189 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
94190 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
94191 l_rec_acct_attrs.array_char_value(9) := p_source_55;
94192 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
94193 l_rec_acct_attrs.array_num_value(10) := p_source_99;
94194 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
94198 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
94195 l_rec_acct_attrs.array_char_value(11) := p_source_13;
94196 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
94197 l_rec_acct_attrs.array_date_value(12) := p_source_106;
94199 l_rec_acct_attrs.array_num_value(13) := p_source_107;
94200 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
94201 l_rec_acct_attrs.array_char_value(14) := p_source_108;
94202 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
94203 l_rec_acct_attrs.array_num_value(15) := p_source_157;
94204 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
94205 l_rec_acct_attrs.array_char_value(16) := p_source_80;
94206 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
94207 l_rec_acct_attrs.array_num_value(17) := p_source_110;
94208 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
94209 l_rec_acct_attrs.array_num_value(18) := p_source_111;
94210 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
94211 l_rec_acct_attrs.array_char_value(19) := p_source_83;
94212 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
94213 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
94214 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
94215 l_rec_acct_attrs.array_char_value(21) := p_source_55;
94216 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
94217 l_rec_acct_attrs.array_num_value(22) := p_source_86;
94218 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
94219 l_rec_acct_attrs.array_num_value(23) := p_source_86;
94220 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
94221 l_rec_acct_attrs.array_num_value(24) := p_source_88;
94222
94223 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
94224 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
94225
94226 ---------------------------------------------------------------------------------------------------------------
94227 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
94228 ---------------------------------------------------------------------------------------------------------------
94229 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
94230
94231 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
94232 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
94233
94234 IF xla_accounting_cache_pkg.GetValueChar
94235 (p_source_code => 'LEDGER_CATEGORY_CODE'
94236 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
94237 AND l_bflow_method_code = 'PRIOR_ENTRY'
94238 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
94239 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
94240 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
94241 )
94242 THEN
94243 xla_ae_lines_pkg.BflowUpgEntry
94244 (p_business_method_code => l_bflow_method_code
94245 ,p_business_class_code => l_bflow_class_code
94246 ,p_balance_type => l_balance_type_code);
94247 ELSE
94248 NULL;
94249 -- No business flow processing for business flow method of NONE.
94250 END IF;
94251
94252 --
94253 -- call analytical criteria
94254 --
94255
94256 --
94257 -- call description
94258 --
94259 -- No description or it is inherited.
94260 --
94261 -- call ADRs
94262 -- Bug 4922099
94263 --
94264 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
94265 (NVL(l_actual_upg_option, 'N') = 'O') OR
94266 (NVL(l_enc_upg_option, 'N') = 'O')
94267 )
94268 THEN
94269 NULL;
94270 --
94271 --
94272
94273 l_ccid := AcctDerRule_39(
94274 p_application_id => p_application_id
94275 , p_ae_header_id => l_ae_header_id
94276 , p_source_15 => p_source_15
94277 , p_source_15_meaning => p_source_15_meaning
94278 , p_source_30 => p_source_30
94279 , p_source_38 => p_source_38
94280 , p_source_39 => p_source_39
94281 , x_transaction_coa_id => l_adr_transaction_coa_id
94282 , x_accounting_coa_id => l_adr_accounting_coa_id
94283 , x_value_type_code => l_adr_value_type_code
94284 , p_side => 'NA'
94285 );
94286
94287 xla_ae_lines_pkg.set_ccid(
94288 p_code_combination_id => l_ccid
94289 , p_value_type_code => l_adr_value_type_code
94290 , p_transaction_coa_id => l_adr_transaction_coa_id
94291 , p_accounting_coa_id => l_adr_accounting_coa_id
94292 , p_adr_code => 'AP_REAL_LOSS'
94293 , p_adr_type_code => 'S'
94294 , p_component_type => l_component_type
94295 , p_component_code => l_component_code
94296 , p_component_type_code => l_component_type_code
94297 , p_component_appl_id => l_component_appl_id
94298 , p_amb_context_code => l_amb_context_code
94299 , p_side => 'NA'
94300 );
94301
94302
94303 l_segment := AcctDerRule_22(
94304 p_application_id => p_application_id
94305 , p_ae_header_id => l_ae_header_id
94309 , x_transaction_coa_id => l_adr_transaction_coa_id
94306 , p_source_15 => p_source_15
94307 , p_source_15_meaning => p_source_15_meaning
94308 , p_source_30 => p_source_30
94310 , x_accounting_coa_id => l_adr_accounting_coa_id
94311 , x_flexfield_segment_code => l_adr_flexfield_segment_code
94312 , x_flex_value_set_id => l_adr_flex_value_set_id
94313 , x_value_type_code => l_adr_value_type_code
94314 , x_value_combination_id => l_adr_value_combination_id
94315 , x_value_segment_code => l_adr_value_segment_code
94316 , p_side => 'NA'
94317 , p_override_seg_flag => 'Y'
94318 );
94319
94320 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
94321
94322 xla_ae_lines_pkg.set_segment(
94323 p_to_segment_code => 'GL_BALANCING'
94324 , p_segment_value => l_segment
94325 , p_from_segment_code => l_adr_value_segment_code
94326 , p_from_combination_id => l_adr_value_combination_id
94327 , p_value_type_code => l_adr_value_type_code
94328 , p_transaction_coa_id => l_adr_transaction_coa_id
94329 , p_accounting_coa_id => l_adr_accounting_coa_id
94330 , p_flexfield_segment_code => l_adr_flexfield_segment_code
94331 , p_flex_value_set_id => l_adr_flex_value_set_id
94332 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
94333 , p_adr_type_code => 'S'
94334 , p_component_type => l_component_type
94335 , p_component_code => l_component_code
94336 , p_component_type_code => l_component_type_code
94337 , p_component_appl_id => l_component_appl_id
94338 , p_amb_context_code => l_amb_context_code
94339 , p_entity_code => 'AP_PAYMENTS'
94340 , p_event_class_code => 'RECONCILED PAYMENTS'
94341 , p_side => 'NA'
94342 );
94343
94344 END IF;
94345
94346 l_segment := AcctDerRule_18(
94347 p_application_id => p_application_id
94348 , p_ae_header_id => l_ae_header_id
94349 , p_source_15 => p_source_15
94350 , p_source_15_meaning => p_source_15_meaning
94351 , p_source_38 => p_source_38
94352 , p_source_39 => p_source_39
94353 , x_transaction_coa_id => l_adr_transaction_coa_id
94354 , x_accounting_coa_id => l_adr_accounting_coa_id
94355 , x_flexfield_segment_code => l_adr_flexfield_segment_code
94356 , x_flex_value_set_id => l_adr_flex_value_set_id
94357 , x_value_type_code => l_adr_value_type_code
94358 , x_value_combination_id => l_adr_value_combination_id
94359 , x_value_segment_code => l_adr_value_segment_code
94360 , p_side => 'NA'
94361 , p_override_seg_flag => 'Y'
94362 );
94363
94364 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
94365
94366 xla_ae_lines_pkg.set_segment(
94367 p_to_segment_code => 'GL_ACCOUNT'
94368 , p_segment_value => l_segment
94369 , p_from_segment_code => l_adr_value_segment_code
94370 , p_from_combination_id => l_adr_value_combination_id
94371 , p_value_type_code => l_adr_value_type_code
94372 , p_transaction_coa_id => l_adr_transaction_coa_id
94373 , p_accounting_coa_id => l_adr_accounting_coa_id
94374 , p_flexfield_segment_code => l_adr_flexfield_segment_code
94375 , p_flex_value_set_id => l_adr_flex_value_set_id
94376 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
94377 , p_adr_type_code => 'S'
94378 , p_component_type => l_component_type
94379 , p_component_code => l_component_code
94380 , p_component_type_code => l_component_type_code
94381 , p_component_appl_id => l_component_appl_id
94382 , p_amb_context_code => l_amb_context_code
94383 , p_entity_code => 'AP_PAYMENTS'
94384 , p_event_class_code => 'RECONCILED PAYMENTS'
94385 , p_side => 'NA'
94386 );
94387
94388 END IF;
94389
94390 --
94391 --
94392 END IF;
94393 --
94394 -- Bug 4922099
94395 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
94396 (NVL(l_enc_upg_option, 'N') = 'O')
94397 ) AND
94398 (l_bflow_method_code = 'PRIOR_ENTRY')
94399 )
94400 THEN
94401 IF
94402 --
94403 1 = 2
94404 --
94405 THEN
94406 xla_accounting_err_pkg.build_message
94407 (p_appli_s_name => 'XLA'
94408 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
94409 ,p_token_1 => 'LINE_NUMBER'
94410 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
94411 ,p_token_2 => 'LINE_TYPE_NAME'
94412 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
94413 l_component_type
94414 ,l_component_code
94418 ,l_entity_code
94415 ,l_component_type_code
94416 ,l_component_appl_id
94417 ,l_amb_context_code
94419 ,l_event_class_code
94420 )
94421 ,p_token_3 => 'OWNER'
94422 ,p_value_3 => xla_lookups_pkg.get_meaning(
94423 p_lookup_type => 'XLA_OWNER_TYPE'
94424 ,p_lookup_code => l_component_type_code
94425 )
94426 ,p_token_4 => 'PRODUCT_NAME'
94427 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
94428 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
94429 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
94430 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
94431 ,p_ae_header_id => NULL
94432 );
94433
94434 IF (C_LEVEL_ERROR>= g_log_level) THEN
94435 trace
94436 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
94437 ,p_level => C_LEVEL_ERROR
94438 ,p_module => l_log_module);
94439 END IF;
94440 END IF;
94441 END IF;
94442 --
94443 --
94444 ------------------------------------------------------------------------------------------------
94445 -- 4219869 Business Flow
94446 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
94447 -- Prior Entry. Currently, the following code is always generated.
94448 ------------------------------------------------------------------------------------------------
94449 XLA_AE_LINES_PKG.ValidateCurrentLine;
94450
94451 ------------------------------------------------------------------------------------
94452 -- 4219869 Business Flow
94453 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
94454 ------------------------------------------------------------------------------------
94455 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
94456
94457 ----------------------------------------------------------------------------------
94458 -- 4219869 Business Flow
94459 -- Update journal entry status -- Need to generate this within IF <condition>
94460 ----------------------------------------------------------------------------------
94461 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
94462 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
94463 ,p_balance_type_code => l_balance_type_code
94464 );
94465
94466 -------------------------------------------------------------------------------------------
94467 -- 4262811 - Generate the Accrual Reversal lines
94468 -------------------------------------------------------------------------------------------
94469 BEGIN
94470 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
94471 (g_array_event(p_event_id).array_value_num('header_index'));
94472 IF l_acc_rev_flag IS NULL THEN
94473 l_acc_rev_flag := 'N';
94474 END IF;
94475 EXCEPTION
94476 WHEN OTHERS THEN
94477 l_acc_rev_flag := 'N';
94478 END;
94479 --
94480 IF (l_acc_rev_flag = 'Y') THEN
94481
94482 -- 4645092 ------------------------------------------------------------------------------
94483 -- To allow MPA report to determine if it should generate report process
94484 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
94485 ------------------------------------------------------------------------------------------
94486
94487 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
94488 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
94489 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
94490 -- call ADRs
94491 -- Bug 4922099
94492 --
94493 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
94494 (NVL(l_actual_upg_option, 'N') = 'O') OR
94495 (NVL(l_enc_upg_option, 'N') = 'O')
94496 )
94497 THEN
94498 NULL;
94499 --
94500 --
94501
94502 l_ccid := AcctDerRule_39(
94503 p_application_id => p_application_id
94504 , p_ae_header_id => l_ae_header_id
94505 , p_source_15 => p_source_15
94506 , p_source_15_meaning => p_source_15_meaning
94507 , p_source_30 => p_source_30
94508 , p_source_38 => p_source_38
94509 , p_source_39 => p_source_39
94510 , x_transaction_coa_id => l_adr_transaction_coa_id
94511 , x_accounting_coa_id => l_adr_accounting_coa_id
94512 , x_value_type_code => l_adr_value_type_code
94513 , p_side => 'NA'
94517 p_code_combination_id => l_ccid
94514 );
94515
94516 xla_ae_lines_pkg.set_ccid(
94518 , p_value_type_code => l_adr_value_type_code
94519 , p_transaction_coa_id => l_adr_transaction_coa_id
94520 , p_accounting_coa_id => l_adr_accounting_coa_id
94521 , p_adr_code => 'AP_REAL_LOSS'
94522 , p_adr_type_code => 'S'
94523 , p_component_type => l_component_type
94524 , p_component_code => l_component_code
94525 , p_component_type_code => l_component_type_code
94526 , p_component_appl_id => l_component_appl_id
94527 , p_amb_context_code => l_amb_context_code
94528 , p_side => 'NA'
94529 );
94530
94531
94532 l_segment := AcctDerRule_22(
94533 p_application_id => p_application_id
94534 , p_ae_header_id => l_ae_header_id
94535 , p_source_15 => p_source_15
94536 , p_source_15_meaning => p_source_15_meaning
94537 , p_source_30 => p_source_30
94538 , x_transaction_coa_id => l_adr_transaction_coa_id
94539 , x_accounting_coa_id => l_adr_accounting_coa_id
94540 , x_flexfield_segment_code => l_adr_flexfield_segment_code
94541 , x_flex_value_set_id => l_adr_flex_value_set_id
94542 , x_value_type_code => l_adr_value_type_code
94543 , x_value_combination_id => l_adr_value_combination_id
94544 , x_value_segment_code => l_adr_value_segment_code
94545 , p_side => 'NA'
94546 , p_override_seg_flag => 'Y'
94547 );
94548
94549 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
94550
94551 xla_ae_lines_pkg.set_segment(
94552 p_to_segment_code => 'GL_BALANCING'
94553 , p_segment_value => l_segment
94554 , p_from_segment_code => l_adr_value_segment_code
94555 , p_from_combination_id => l_adr_value_combination_id
94556 , p_value_type_code => l_adr_value_type_code
94557 , p_transaction_coa_id => l_adr_transaction_coa_id
94558 , p_accounting_coa_id => l_adr_accounting_coa_id
94559 , p_flexfield_segment_code => l_adr_flexfield_segment_code
94560 , p_flex_value_set_id => l_adr_flex_value_set_id
94561 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
94562 , p_adr_type_code => 'S'
94563 , p_component_type => l_component_type
94564 , p_component_code => l_component_code
94565 , p_component_type_code => l_component_type_code
94566 , p_component_appl_id => l_component_appl_id
94567 , p_amb_context_code => l_amb_context_code
94568 , p_entity_code => 'AP_PAYMENTS'
94569 , p_event_class_code => 'RECONCILED PAYMENTS'
94570 , p_side => 'NA'
94571 );
94572
94573 END IF;
94574
94575 l_segment := AcctDerRule_18(
94576 p_application_id => p_application_id
94577 , p_ae_header_id => l_ae_header_id
94578 , p_source_15 => p_source_15
94579 , p_source_15_meaning => p_source_15_meaning
94580 , p_source_38 => p_source_38
94581 , p_source_39 => p_source_39
94582 , x_transaction_coa_id => l_adr_transaction_coa_id
94583 , x_accounting_coa_id => l_adr_accounting_coa_id
94584 , x_flexfield_segment_code => l_adr_flexfield_segment_code
94585 , x_flex_value_set_id => l_adr_flex_value_set_id
94586 , x_value_type_code => l_adr_value_type_code
94587 , x_value_combination_id => l_adr_value_combination_id
94588 , x_value_segment_code => l_adr_value_segment_code
94589 , p_side => 'NA'
94590 , p_override_seg_flag => 'Y'
94591 );
94592
94593 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
94594
94595 xla_ae_lines_pkg.set_segment(
94596 p_to_segment_code => 'GL_ACCOUNT'
94597 , p_segment_value => l_segment
94598 , p_from_segment_code => l_adr_value_segment_code
94599 , p_from_combination_id => l_adr_value_combination_id
94600 , p_value_type_code => l_adr_value_type_code
94601 , p_transaction_coa_id => l_adr_transaction_coa_id
94602 , p_accounting_coa_id => l_adr_accounting_coa_id
94603 , p_flexfield_segment_code => l_adr_flexfield_segment_code
94604 , p_flex_value_set_id => l_adr_flex_value_set_id
94605 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
94606 , p_adr_type_code => 'S'
94607 , p_component_type => l_component_type
94608 , p_component_code => l_component_code
94609 , p_component_type_code => l_component_type_code
94610 , p_component_appl_id => l_component_appl_id
94611 , p_amb_context_code => l_amb_context_code
94612 , p_entity_code => 'AP_PAYMENTS'
94613 , p_event_class_code => 'RECONCILED PAYMENTS'
94614 , p_side => 'NA'
94615 );
94616
94617 END IF;
94618
94619 --
94620 --
94621 END IF;
94622
94623 --
94624 -- Update the line information that should be overwritten
94625 --
94629
94626 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
94627 p_header_num => 1);
94628 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
94630 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
94631
94632 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
94633 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
94634 END IF;
94635
94636 --
94637 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
94638 --
94639 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
94640 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
94641 ELSE
94642 ---------------------------------------------------------------------------------------------------
94643 -- 4262811a Switch Sign
94644 ---------------------------------------------------------------------------------------------------
94645 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
94646 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
94647 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
94648 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
94649 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
94650 -- 5132302
94651 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
94652 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
94653
94654 END IF;
94655
94656 -- 4955764
94657 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
94658 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
94659
94660
94661 XLA_AE_LINES_PKG.ValidateCurrentLine;
94662 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
94663
94664 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
94665 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
94666 ,p_balance_type_code => l_balance_type_code);
94667
94668 END IF;
94669
94670 -----------------------------------------------------------------------------------------
94671 -- 4262811 Multiperiod Accounting
94672 -----------------------------------------------------------------------------------------
94673 -- No MPA option is assigned.
94674
94675
94676 END IF;
94677 END IF;
94678 --
94679
94680 --
94681 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
94682 trace
94683 (p_msg => 'END of AcctLineType_164'
94684 ,p_level => C_LEVEL_PROCEDURE
94685 ,p_module => l_log_module);
94686 END IF;
94687 --
94688 EXCEPTION
94689 WHEN xla_exceptions_pkg.application_exception THEN
94690 RAISE;
94691 WHEN OTHERS THEN
94692 xla_exceptions_pkg.raise_message
94693 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_164');
94694 END AcctLineType_164;
94695 --
94696
94697 ---------------------------------------
94698 --
94699 -- PRIVATE FUNCTION
94700 -- AcctLineType_165
94701 --
94702 ---------------------------------------
94703 PROCEDURE AcctLineType_165 (
94704 p_application_id IN NUMBER
94705 ,p_event_id IN NUMBER
94706 ,p_calculate_acctd_flag IN VARCHAR2
94707 ,p_calculate_g_l_flag IN VARCHAR2
94708 ,p_actual_flag IN OUT VARCHAR2
94709 ,p_balance_type_code OUT VARCHAR2
94710 ,p_gain_or_loss_ref OUT VARCHAR2
94711
94712 --Payment Currency Code
94713 , p_source_13 IN VARCHAR2
94714 --Automatic Offsets Value
94715 , p_source_15 IN VARCHAR2
94716 , p_source_15_meaning IN VARCHAR2
94717 --Invoice Distribution Account
94718 , p_source_30 IN NUMBER
94719 --Internal Realized Loss Account
94720 , p_source_38 IN NUMBER
94721 --Bank Loss Account
94722 , p_source_39 IN NUMBER
94723 --Accounting Reversal Indicator
94724 , p_source_53 IN VARCHAR2
94725 --Distribution Link Type
94726 , p_source_55 IN VARCHAR2
94727 --Override Accounted Amount Indicator
94728 , p_source_80 IN VARCHAR2
94729 , p_source_80_meaning IN VARCHAR2
94730 --Third Party Type
94731 , p_source_83 IN VARCHAR2
94732 --Invoice Distribution Tax Line Identifier
94733 , p_source_86 IN NUMBER
94734 --Invoice Distribution Tax Distribution Identifier from Tax
94735 , p_source_87 IN NUMBER
94736 --Invoice Distribution Summary Tax Line Identifier
94737 , p_source_88 IN NUMBER
94738 --Business Flow Accounts Payable Application Identifier
94739 , p_source_91 IN NUMBER
94740 --Business Flow Invoice Distribution Type
94741 , p_source_92 IN VARCHAR2
94742 --Business Flow Invoice Entity Code
94743 , p_source_93 IN VARCHAR2
94744 --Business Flow Invoice Distribution Identifier
94748 --When to Account for Payment Option
94745 , p_source_94 IN NUMBER
94746 --Business Flow Invoice Identifier
94747 , p_source_95 IN NUMBER
94749 , p_source_97 IN VARCHAR2
94750 --Payment Distribution Type
94751 , p_source_98 IN VARCHAR2
94752 , p_source_98_meaning IN VARCHAR2
94753 --Payment Distribution Amount
94754 , p_source_99 IN NUMBER
94755 --Payment Distribution Identifier
94756 , p_source_104 IN NUMBER
94757 --Payment Supplier Identifier
94758 , p_source_110 IN NUMBER
94759 --Payment Supplier Site Identifier
94760 , p_source_111 IN NUMBER
94761 --Payment Distribution Reversed Identifier
94762 , p_source_112 IN NUMBER
94763 --Payment Exchange Date
94764 , p_source_117 IN DATE
94765 --Payment Exchange Rate
94766 , p_source_118 IN NUMBER
94767 --Payment Exchange Rate Type
94768 , p_source_119 IN VARCHAR2
94769 --Payment Type
94770 , p_source_122 IN VARCHAR2
94771 , p_source_122_meaning IN VARCHAR2
94772 --Invoice Distribution Amount of the Payment Distribution
94773 , p_source_124 IN NUMBER
94774 --Invoice/Payment Ledger Amount Difference
94775 , p_source_153 IN NUMBER
94776 --Gain or Loss Indicator between Invoice and Payment
94777 , p_source_158 IN VARCHAR2
94778 )
94779 IS
94780
94781 l_component_type VARCHAR2(80);
94782 l_component_code VARCHAR2(30);
94783 l_component_type_code VARCHAR2(1);
94784 l_component_appl_id INTEGER;
94785 l_amb_context_code VARCHAR2(30);
94786 l_entity_code VARCHAR2(30);
94787 l_event_class_code VARCHAR2(30);
94788 l_ae_header_id NUMBER;
94789 l_event_type_code VARCHAR2(30);
94790 l_line_definition_code VARCHAR2(30);
94791 l_line_definition_owner_code VARCHAR2(1);
94792 --
94793 -- adr variables
94794 l_segment VARCHAR2(30);
94795 l_ccid NUMBER;
94796 l_adr_transaction_coa_id NUMBER;
94797 l_adr_accounting_coa_id NUMBER;
94798 l_adr_flexfield_segment_code VARCHAR2(30);
94799 l_adr_flex_value_set_id NUMBER;
94800 l_adr_value_type_code VARCHAR2(30);
94801 l_adr_value_combination_id NUMBER;
94802 l_adr_value_segment_code VARCHAR2(30);
94803
94804 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
94805 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
94806 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
94807 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
94808
94809 -- 4262811 Variables ------------------------------------------------------------------------------------------
94810 l_entered_amt_idx NUMBER;
94811 l_accted_amt_idx NUMBER;
94812 l_acc_rev_flag VARCHAR2(1);
94813 l_accrual_line_num NUMBER;
94814 l_tmp_amt NUMBER;
94815 l_acc_rev_natural_side_code VARCHAR2(1);
94816
94817 l_num_entries NUMBER;
94818 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
94819 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
94820 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
94821 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
94822 l_recog_line_1 NUMBER;
94823 l_recog_line_2 NUMBER;
94824
94825 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
94826 l_bflow_applied_to_amt NUMBER; -- 5132302
94827 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
94828
94829 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
94830
94831 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
94832 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
94833
94834 ---------------------------------------------------------------------------------------------------------------
94835
94836
94837 --
94838 -- bulk performance
94839 --
94840 l_balance_type_code VARCHAR2(1);
94841 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
94842 l_log_module VARCHAR2(240);
94843
94844 --
94845 -- Upgrade strategy
94846 --
94847 l_actual_upg_option VARCHAR2(1);
94848 l_enc_upg_option VARCHAR2(1);
94849
94850 --
94851 BEGIN
94852 --
94853 IF g_log_enabled THEN
94854 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_165';
94855 END IF;
94856 --
94857 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
94858
94859 trace
94860 (p_msg => 'BEGIN of AcctLineType_165'
94861 ,p_level => C_LEVEL_PROCEDURE
94862 ,p_module => l_log_module);
94863
94864 END IF;
94865 --
94866 l_component_type := 'AMB_JLT';
94867 l_component_code := 'AP_LOSS_PMT';
94868 l_component_type_code := 'S';
94869 l_component_appl_id := 200;
94870 l_amb_context_code := 'DEFAULT';
94871 l_entity_code := 'AP_PAYMENTS';
94872 l_event_class_code := 'PAYMENTS';
94873 l_event_type_code := 'PAYMENTS_ALL';
94874 l_line_definition_owner_code := 'S';
94878 l_segment := NULL;
94875 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
94876 --
94877 l_balance_type_code := 'A';
94879 l_ccid := NULL;
94880 l_adr_transaction_coa_id := NULL;
94881 l_adr_accounting_coa_id := NULL;
94882 l_adr_flexfield_segment_code := NULL;
94883 l_adr_flex_value_set_id := NULL;
94884 l_adr_value_type_code := NULL;
94885 l_adr_value_combination_id := NULL;
94886 l_adr_value_segment_code := NULL;
94887
94888 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
94889 l_bflow_class_code := ''; -- 4219869 Business Flow
94890 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
94891 l_budgetary_control_flag := 'N';
94892
94893 l_bflow_applied_to_amt_idx := NULL; -- 5132302
94894 l_bflow_applied_to_amt := NULL; -- 5132302
94895 l_entered_amt_idx := NULL; -- 4262811
94896 l_accted_amt_idx := NULL; -- 4262811
94897 l_acc_rev_flag := NULL; -- 4262811
94898 l_accrual_line_num := NULL; -- 4262811
94899 l_tmp_amt := NULL; -- 4262811
94900 --
94901 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
94902 (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
94903 return;
94904 END IF;
94905
94906 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
94907 l_balance_type_code <> 'B' THEN
94908 IF (NVL(p_source_97,'
94909 ') <> 'CLEAR_CLEAR' AND
94910 NVL(p_source_97,'
94911 ') <> 'ALWAYS_CLEAR') AND
94912 NVL(p_source_158,'
94913 ') = 'LOSS' AND
94914 NVL(p_source_98,'
94915 ') <> 'EXCHANGE RATE VARIANCE' AND
94916 NVL(p_source_98,'
94917 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
94918 NVL(p_source_98,'
94919 ') <> 'BANK CHARGE' AND
94920 NVL(p_source_98,'
94921 ') <> 'BANK ERROR' AND
94922 NVL(p_source_98,'
94923 ') <> 'AWT' AND
94924 NVL(p_source_122,'
94925 ') <> 'R'
94926 THEN
94927
94928 --
94929 XLA_AE_LINES_PKG.SetNewLine;
94930
94931 p_balance_type_code := l_balance_type_code;
94932 -- set the flag so later we will know whether the gain loss line needs to be created
94933
94934 IF(l_balance_type_code = 'A' ) THEN
94935 p_actual_flag :='G';
94936 END IF;
94937
94938 --
94939 -- bulk performance
94940 --
94941 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
94942 p_header_num => 0); -- 4262811
94943 --
94944 -- set accounting line options
94945 --
94946 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
94947 p_natural_side_code => 'C'
94948 , p_gain_or_loss_flag => 'Y'
94949 , p_gl_transfer_mode_code => 'S'
94950 , p_acct_entry_type_code => 'A'
94951 , p_switch_side_flag => 'Y'
94952 , p_merge_duplicate_code => 'A'
94953 );
94954 --
94955 l_acc_rev_natural_side_code := 'D'; -- 4262811
94956 --
94957 --
94958 -- set accounting line type info
94959 --
94960 xla_ae_lines_pkg.SetAcctLineType
94961 (p_component_type => l_component_type
94962 ,p_event_type_code => l_event_type_code
94963 ,p_line_definition_owner_code => l_line_definition_owner_code
94964 ,p_line_definition_code => l_line_definition_code
94965 ,p_accounting_line_code => l_component_code
94966 ,p_accounting_line_type_code => l_component_type_code
94967 ,p_accounting_line_appl_id => l_component_appl_id
94968 ,p_amb_context_code => l_amb_context_code
94969 ,p_entity_code => l_entity_code
94970 ,p_event_class_code => l_event_class_code);
94971 --
94972 -- set accounting class
94973 --
94974 xla_ae_lines_pkg.SetAcctClass(
94975 p_accounting_class_code => 'LOSS'
94976 , p_ae_header_id => l_ae_header_id
94977 );
94978
94979 --
94980 -- set rounding class
94981 --
94982 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
94983 'LOSS';
94984
94985 --
94986 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
94987 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
94988 --
94989 -- bulk performance
94990 --
94991 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
94992
94993 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
94994 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
94995
94996 -- 4955764
94997 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
94998 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
94999
95000 -- 4458381 Public Sector Enh
95001
95002 --
95003 -- set accounting attributes for the line type
95004 --
95005 l_entered_amt_idx := 10;
95006 l_accted_amt_idx := 15;
95010 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
95007 l_bflow_applied_to_amt_idx := 2; -- 5132302
95008 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
95009 l_rec_acct_attrs.array_char_value(1) := p_source_53;
95011 l_rec_acct_attrs.array_num_value(2) := p_source_124;
95012 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
95013 l_rec_acct_attrs.array_num_value(3) := p_source_91;
95014 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
95015 l_rec_acct_attrs.array_char_value(4) := p_source_92;
95016 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
95017 l_rec_acct_attrs.array_char_value(5) := p_source_93;
95018 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
95019 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
95020 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
95021 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
95022 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
95023 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
95024 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
95025 l_rec_acct_attrs.array_char_value(9) := p_source_55;
95026 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
95027 l_rec_acct_attrs.array_num_value(10) := p_source_99;
95028 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
95029 l_rec_acct_attrs.array_char_value(11) := p_source_13;
95030 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
95031 l_rec_acct_attrs.array_date_value(12) := p_source_117;
95032 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
95033 l_rec_acct_attrs.array_num_value(13) := p_source_118;
95034 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
95035 l_rec_acct_attrs.array_char_value(14) := p_source_119;
95036 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
95037 l_rec_acct_attrs.array_num_value(15) := p_source_153;
95038 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
95039 l_rec_acct_attrs.array_char_value(16) := p_source_80;
95040 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
95041 l_rec_acct_attrs.array_num_value(17) := p_source_110;
95042 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
95043 l_rec_acct_attrs.array_num_value(18) := p_source_111;
95044 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
95045 l_rec_acct_attrs.array_char_value(19) := p_source_83;
95046 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
95047 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
95048 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
95049 l_rec_acct_attrs.array_char_value(21) := p_source_55;
95050 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
95051 l_rec_acct_attrs.array_num_value(22) := p_source_86;
95052 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
95053 l_rec_acct_attrs.array_num_value(23) := p_source_87;
95054 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
95055 l_rec_acct_attrs.array_num_value(24) := p_source_88;
95056
95057 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
95058 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
95059
95060 ---------------------------------------------------------------------------------------------------------------
95061 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
95062 ---------------------------------------------------------------------------------------------------------------
95063 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
95064
95065 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
95066 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
95067
95068 IF xla_accounting_cache_pkg.GetValueChar
95069 (p_source_code => 'LEDGER_CATEGORY_CODE'
95070 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
95071 AND l_bflow_method_code = 'PRIOR_ENTRY'
95072 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
95073 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
95074 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
95075 )
95076 THEN
95077 xla_ae_lines_pkg.BflowUpgEntry
95078 (p_business_method_code => l_bflow_method_code
95079 ,p_business_class_code => l_bflow_class_code
95080 ,p_balance_type => l_balance_type_code);
95081 ELSE
95082 NULL;
95083 -- No business flow processing for business flow method of NONE.
95084 END IF;
95085
95086 --
95087 -- call analytical criteria
95088 --
95089
95090 --
95091 -- call description
95092 --
95093 -- No description or it is inherited.
95094 --
95095 -- call ADRs
95096 -- Bug 4922099
95097 --
95098 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
95099 (NVL(l_actual_upg_option, 'N') = 'O') OR
95100 (NVL(l_enc_upg_option, 'N') = 'O')
95101 )
95102 THEN
95103 NULL;
95104 --
95105 --
95106
95107 l_ccid := AcctDerRule_39(
95111 , p_source_15_meaning => p_source_15_meaning
95108 p_application_id => p_application_id
95109 , p_ae_header_id => l_ae_header_id
95110 , p_source_15 => p_source_15
95112 , p_source_30 => p_source_30
95113 , p_source_38 => p_source_38
95114 , p_source_39 => p_source_39
95115 , x_transaction_coa_id => l_adr_transaction_coa_id
95116 , x_accounting_coa_id => l_adr_accounting_coa_id
95117 , x_value_type_code => l_adr_value_type_code
95118 , p_side => 'NA'
95119 );
95120
95121 xla_ae_lines_pkg.set_ccid(
95122 p_code_combination_id => l_ccid
95123 , p_value_type_code => l_adr_value_type_code
95124 , p_transaction_coa_id => l_adr_transaction_coa_id
95125 , p_accounting_coa_id => l_adr_accounting_coa_id
95126 , p_adr_code => 'AP_REAL_LOSS'
95127 , p_adr_type_code => 'S'
95128 , p_component_type => l_component_type
95129 , p_component_code => l_component_code
95130 , p_component_type_code => l_component_type_code
95131 , p_component_appl_id => l_component_appl_id
95132 , p_amb_context_code => l_amb_context_code
95133 , p_side => 'NA'
95134 );
95135
95136
95137 l_segment := AcctDerRule_22(
95138 p_application_id => p_application_id
95139 , p_ae_header_id => l_ae_header_id
95140 , p_source_15 => p_source_15
95141 , p_source_15_meaning => p_source_15_meaning
95142 , p_source_30 => p_source_30
95143 , x_transaction_coa_id => l_adr_transaction_coa_id
95144 , x_accounting_coa_id => l_adr_accounting_coa_id
95145 , x_flexfield_segment_code => l_adr_flexfield_segment_code
95146 , x_flex_value_set_id => l_adr_flex_value_set_id
95147 , x_value_type_code => l_adr_value_type_code
95148 , x_value_combination_id => l_adr_value_combination_id
95149 , x_value_segment_code => l_adr_value_segment_code
95150 , p_side => 'NA'
95151 , p_override_seg_flag => 'Y'
95152 );
95153
95154 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
95155
95156 xla_ae_lines_pkg.set_segment(
95157 p_to_segment_code => 'GL_BALANCING'
95158 , p_segment_value => l_segment
95159 , p_from_segment_code => l_adr_value_segment_code
95160 , p_from_combination_id => l_adr_value_combination_id
95161 , p_value_type_code => l_adr_value_type_code
95162 , p_transaction_coa_id => l_adr_transaction_coa_id
95163 , p_accounting_coa_id => l_adr_accounting_coa_id
95164 , p_flexfield_segment_code => l_adr_flexfield_segment_code
95165 , p_flex_value_set_id => l_adr_flex_value_set_id
95166 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
95167 , p_adr_type_code => 'S'
95168 , p_component_type => l_component_type
95169 , p_component_code => l_component_code
95170 , p_component_type_code => l_component_type_code
95171 , p_component_appl_id => l_component_appl_id
95172 , p_amb_context_code => l_amb_context_code
95173 , p_entity_code => 'AP_PAYMENTS'
95174 , p_event_class_code => 'PAYMENTS'
95175 , p_side => 'NA'
95176 );
95177
95178 END IF;
95179
95180 l_segment := AcctDerRule_18(
95181 p_application_id => p_application_id
95182 , p_ae_header_id => l_ae_header_id
95183 , p_source_15 => p_source_15
95184 , p_source_15_meaning => p_source_15_meaning
95185 , p_source_38 => p_source_38
95186 , p_source_39 => p_source_39
95187 , x_transaction_coa_id => l_adr_transaction_coa_id
95188 , x_accounting_coa_id => l_adr_accounting_coa_id
95189 , x_flexfield_segment_code => l_adr_flexfield_segment_code
95190 , x_flex_value_set_id => l_adr_flex_value_set_id
95191 , x_value_type_code => l_adr_value_type_code
95192 , x_value_combination_id => l_adr_value_combination_id
95193 , x_value_segment_code => l_adr_value_segment_code
95194 , p_side => 'NA'
95195 , p_override_seg_flag => 'Y'
95196 );
95197
95198 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
95199
95200 xla_ae_lines_pkg.set_segment(
95201 p_to_segment_code => 'GL_ACCOUNT'
95202 , p_segment_value => l_segment
95203 , p_from_segment_code => l_adr_value_segment_code
95204 , p_from_combination_id => l_adr_value_combination_id
95205 , p_value_type_code => l_adr_value_type_code
95206 , p_transaction_coa_id => l_adr_transaction_coa_id
95207 , p_accounting_coa_id => l_adr_accounting_coa_id
95208 , p_flexfield_segment_code => l_adr_flexfield_segment_code
95209 , p_flex_value_set_id => l_adr_flex_value_set_id
95210 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
95211 , p_adr_type_code => 'S'
95212 , p_component_type => l_component_type
95213 , p_component_code => l_component_code
95214 , p_component_type_code => l_component_type_code
95218 , p_event_class_code => 'PAYMENTS'
95215 , p_component_appl_id => l_component_appl_id
95216 , p_amb_context_code => l_amb_context_code
95217 , p_entity_code => 'AP_PAYMENTS'
95219 , p_side => 'NA'
95220 );
95221
95222 END IF;
95223
95224 --
95225 --
95226 END IF;
95227 --
95228 -- Bug 4922099
95229 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
95230 (NVL(l_enc_upg_option, 'N') = 'O')
95231 ) AND
95232 (l_bflow_method_code = 'PRIOR_ENTRY')
95233 )
95234 THEN
95235 IF
95236 --
95237 1 = 2
95238 --
95239 THEN
95240 xla_accounting_err_pkg.build_message
95241 (p_appli_s_name => 'XLA'
95242 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
95243 ,p_token_1 => 'LINE_NUMBER'
95244 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
95245 ,p_token_2 => 'LINE_TYPE_NAME'
95246 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
95247 l_component_type
95248 ,l_component_code
95249 ,l_component_type_code
95250 ,l_component_appl_id
95251 ,l_amb_context_code
95252 ,l_entity_code
95253 ,l_event_class_code
95254 )
95255 ,p_token_3 => 'OWNER'
95256 ,p_value_3 => xla_lookups_pkg.get_meaning(
95257 p_lookup_type => 'XLA_OWNER_TYPE'
95258 ,p_lookup_code => l_component_type_code
95259 )
95260 ,p_token_4 => 'PRODUCT_NAME'
95261 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
95262 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
95263 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
95264 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
95265 ,p_ae_header_id => NULL
95266 );
95267
95268 IF (C_LEVEL_ERROR>= g_log_level) THEN
95269 trace
95270 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
95271 ,p_level => C_LEVEL_ERROR
95272 ,p_module => l_log_module);
95273 END IF;
95274 END IF;
95275 END IF;
95276 --
95277 --
95278 ------------------------------------------------------------------------------------------------
95279 -- 4219869 Business Flow
95280 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
95281 -- Prior Entry. Currently, the following code is always generated.
95282 ------------------------------------------------------------------------------------------------
95283 XLA_AE_LINES_PKG.ValidateCurrentLine;
95284
95285 ------------------------------------------------------------------------------------
95286 -- 4219869 Business Flow
95287 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
95288 ------------------------------------------------------------------------------------
95289 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
95290
95291 ----------------------------------------------------------------------------------
95292 -- 4219869 Business Flow
95293 -- Update journal entry status -- Need to generate this within IF <condition>
95294 ----------------------------------------------------------------------------------
95295 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
95296 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
95297 ,p_balance_type_code => l_balance_type_code
95298 );
95299
95300 -------------------------------------------------------------------------------------------
95301 -- 4262811 - Generate the Accrual Reversal lines
95302 -------------------------------------------------------------------------------------------
95303 BEGIN
95304 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
95305 (g_array_event(p_event_id).array_value_num('header_index'));
95306 IF l_acc_rev_flag IS NULL THEN
95307 l_acc_rev_flag := 'N';
95308 END IF;
95309 EXCEPTION
95310 WHEN OTHERS THEN
95311 l_acc_rev_flag := 'N';
95315
95312 END;
95313 --
95314 IF (l_acc_rev_flag = 'Y') THEN
95316 -- 4645092 ------------------------------------------------------------------------------
95317 -- To allow MPA report to determine if it should generate report process
95318 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
95319 ------------------------------------------------------------------------------------------
95320
95321 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
95322 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
95323 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
95324 -- call ADRs
95325 -- Bug 4922099
95326 --
95327 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
95328 (NVL(l_actual_upg_option, 'N') = 'O') OR
95329 (NVL(l_enc_upg_option, 'N') = 'O')
95330 )
95331 THEN
95332 NULL;
95333 --
95334 --
95335
95336 l_ccid := AcctDerRule_39(
95337 p_application_id => p_application_id
95338 , p_ae_header_id => l_ae_header_id
95339 , p_source_15 => p_source_15
95340 , p_source_15_meaning => p_source_15_meaning
95341 , p_source_30 => p_source_30
95342 , p_source_38 => p_source_38
95343 , p_source_39 => p_source_39
95344 , x_transaction_coa_id => l_adr_transaction_coa_id
95345 , x_accounting_coa_id => l_adr_accounting_coa_id
95346 , x_value_type_code => l_adr_value_type_code
95347 , p_side => 'NA'
95348 );
95349
95350 xla_ae_lines_pkg.set_ccid(
95351 p_code_combination_id => l_ccid
95352 , p_value_type_code => l_adr_value_type_code
95353 , p_transaction_coa_id => l_adr_transaction_coa_id
95354 , p_accounting_coa_id => l_adr_accounting_coa_id
95355 , p_adr_code => 'AP_REAL_LOSS'
95356 , p_adr_type_code => 'S'
95357 , p_component_type => l_component_type
95358 , p_component_code => l_component_code
95359 , p_component_type_code => l_component_type_code
95360 , p_component_appl_id => l_component_appl_id
95361 , p_amb_context_code => l_amb_context_code
95362 , p_side => 'NA'
95363 );
95364
95365
95366 l_segment := AcctDerRule_22(
95367 p_application_id => p_application_id
95368 , p_ae_header_id => l_ae_header_id
95369 , p_source_15 => p_source_15
95370 , p_source_15_meaning => p_source_15_meaning
95371 , p_source_30 => p_source_30
95372 , x_transaction_coa_id => l_adr_transaction_coa_id
95373 , x_accounting_coa_id => l_adr_accounting_coa_id
95374 , x_flexfield_segment_code => l_adr_flexfield_segment_code
95375 , x_flex_value_set_id => l_adr_flex_value_set_id
95376 , x_value_type_code => l_adr_value_type_code
95377 , x_value_combination_id => l_adr_value_combination_id
95378 , x_value_segment_code => l_adr_value_segment_code
95379 , p_side => 'NA'
95380 , p_override_seg_flag => 'Y'
95381 );
95382
95383 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
95384
95385 xla_ae_lines_pkg.set_segment(
95386 p_to_segment_code => 'GL_BALANCING'
95387 , p_segment_value => l_segment
95388 , p_from_segment_code => l_adr_value_segment_code
95389 , p_from_combination_id => l_adr_value_combination_id
95390 , p_value_type_code => l_adr_value_type_code
95391 , p_transaction_coa_id => l_adr_transaction_coa_id
95392 , p_accounting_coa_id => l_adr_accounting_coa_id
95393 , p_flexfield_segment_code => l_adr_flexfield_segment_code
95394 , p_flex_value_set_id => l_adr_flex_value_set_id
95395 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
95396 , p_adr_type_code => 'S'
95397 , p_component_type => l_component_type
95398 , p_component_code => l_component_code
95399 , p_component_type_code => l_component_type_code
95400 , p_component_appl_id => l_component_appl_id
95401 , p_amb_context_code => l_amb_context_code
95402 , p_entity_code => 'AP_PAYMENTS'
95403 , p_event_class_code => 'PAYMENTS'
95404 , p_side => 'NA'
95405 );
95406
95407 END IF;
95408
95409 l_segment := AcctDerRule_18(
95410 p_application_id => p_application_id
95411 , p_ae_header_id => l_ae_header_id
95412 , p_source_15 => p_source_15
95413 , p_source_15_meaning => p_source_15_meaning
95414 , p_source_38 => p_source_38
95415 , p_source_39 => p_source_39
95416 , x_transaction_coa_id => l_adr_transaction_coa_id
95417 , x_accounting_coa_id => l_adr_accounting_coa_id
95418 , x_flexfield_segment_code => l_adr_flexfield_segment_code
95419 , x_flex_value_set_id => l_adr_flex_value_set_id
95420 , x_value_type_code => l_adr_value_type_code
95421 , x_value_combination_id => l_adr_value_combination_id
95422 , x_value_segment_code => l_adr_value_segment_code
95423 , p_side => 'NA'
95424 , p_override_seg_flag => 'Y'
95425 );
95426
95430 p_to_segment_code => 'GL_ACCOUNT'
95427 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
95428
95429 xla_ae_lines_pkg.set_segment(
95431 , p_segment_value => l_segment
95432 , p_from_segment_code => l_adr_value_segment_code
95433 , p_from_combination_id => l_adr_value_combination_id
95434 , p_value_type_code => l_adr_value_type_code
95435 , p_transaction_coa_id => l_adr_transaction_coa_id
95436 , p_accounting_coa_id => l_adr_accounting_coa_id
95437 , p_flexfield_segment_code => l_adr_flexfield_segment_code
95438 , p_flex_value_set_id => l_adr_flex_value_set_id
95439 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
95440 , p_adr_type_code => 'S'
95441 , p_component_type => l_component_type
95442 , p_component_code => l_component_code
95443 , p_component_type_code => l_component_type_code
95444 , p_component_appl_id => l_component_appl_id
95445 , p_amb_context_code => l_amb_context_code
95446 , p_entity_code => 'AP_PAYMENTS'
95447 , p_event_class_code => 'PAYMENTS'
95448 , p_side => 'NA'
95449 );
95450
95451 END IF;
95452
95453 --
95454 --
95455 END IF;
95456
95457 --
95458 -- Update the line information that should be overwritten
95459 --
95460 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
95461 p_header_num => 1);
95462 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
95463
95464 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
95465
95466 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
95467 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
95468 END IF;
95469
95470 --
95471 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
95472 --
95473 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
95474 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
95475 ELSE
95476 ---------------------------------------------------------------------------------------------------
95477 -- 4262811a Switch Sign
95478 ---------------------------------------------------------------------------------------------------
95479 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
95480 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
95481 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
95482 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
95483 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
95484 -- 5132302
95485 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
95486 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
95487
95488 END IF;
95489
95490 -- 4955764
95491 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
95492 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
95493
95494
95495 XLA_AE_LINES_PKG.ValidateCurrentLine;
95496 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
95497
95498 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
95499 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
95500 ,p_balance_type_code => l_balance_type_code);
95501
95502 END IF;
95503
95504 -----------------------------------------------------------------------------------------
95505 -- 4262811 Multiperiod Accounting
95506 -----------------------------------------------------------------------------------------
95507 -- No MPA option is assigned.
95508
95509
95510 END IF;
95511 END IF;
95512 --
95513
95514 --
95515 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
95516 trace
95517 (p_msg => 'END of AcctLineType_165'
95518 ,p_level => C_LEVEL_PROCEDURE
95519 ,p_module => l_log_module);
95520 END IF;
95521 --
95522 EXCEPTION
95523 WHEN xla_exceptions_pkg.application_exception THEN
95524 RAISE;
95525 WHEN OTHERS THEN
95526 xla_exceptions_pkg.raise_message
95527 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_165');
95528 END AcctLineType_165;
95529 --
95530
95531 ---------------------------------------
95532 --
95533 -- PRIVATE FUNCTION
95534 -- AcctLineType_166
95535 --
95536 ---------------------------------------
95537 PROCEDURE AcctLineType_166 (
95538 p_application_id IN NUMBER
95539 ,p_event_id IN NUMBER
95540 ,p_calculate_acctd_flag IN VARCHAR2
95541 ,p_calculate_g_l_flag IN VARCHAR2
95542 ,p_actual_flag IN OUT VARCHAR2
95543 ,p_balance_type_code OUT VARCHAR2
95547 , p_source_13 IN VARCHAR2
95544 ,p_gain_or_loss_ref OUT VARCHAR2
95545
95546 --Payment Currency Code
95548 --Automatic Offsets Value
95549 , p_source_15 IN VARCHAR2
95550 , p_source_15_meaning IN VARCHAR2
95551 --Invoice Distribution Account
95552 , p_source_30 IN NUMBER
95553 --Internal Realized Loss Account
95554 , p_source_38 IN NUMBER
95555 --Bank Loss Account
95556 , p_source_39 IN NUMBER
95557 --Accounting Reversal Indicator
95558 , p_source_53 IN VARCHAR2
95559 --Distribution Link Type
95560 , p_source_55 IN VARCHAR2
95561 --Override Accounted Amount Indicator
95562 , p_source_80 IN VARCHAR2
95563 , p_source_80_meaning IN VARCHAR2
95564 --Third Party Type
95565 , p_source_83 IN VARCHAR2
95566 --Invoice Distribution Tax Line Identifier
95567 , p_source_86 IN NUMBER
95568 --Invoice Distribution Summary Tax Line Identifier
95569 , p_source_88 IN NUMBER
95570 --Business Flow Accounts Payable Application Identifier
95571 , p_source_91 IN NUMBER
95572 --When to Account for Payment Option
95573 , p_source_97 IN VARCHAR2
95574 --Payment Distribution Type
95575 , p_source_98 IN VARCHAR2
95576 , p_source_98_meaning IN VARCHAR2
95577 --Payment Distribution Amount
95578 , p_source_99 IN NUMBER
95579 --Business Flow Payment Distribution Type
95580 , p_source_100 IN VARCHAR2
95581 --Business Flow Payment Entity Code
95582 , p_source_101 IN VARCHAR2
95583 --Business Flow Payment Distribution Identifier
95584 , p_source_102 IN NUMBER
95585 --Business Flow Payment Identifier
95586 , p_source_103 IN NUMBER
95587 --Payment Distribution Identifier
95588 , p_source_104 IN NUMBER
95589 --Cleared Exchange Date
95590 , p_source_106 IN DATE
95591 --Cleared Exchange Rate
95592 , p_source_107 IN NUMBER
95593 --Cleared Exchange Rate Type
95594 , p_source_108 IN VARCHAR2
95595 --Payment Supplier Identifier
95596 , p_source_110 IN NUMBER
95597 --Payment Supplier Site Identifier
95598 , p_source_111 IN NUMBER
95599 --Payment Distribution Reversed Identifier
95600 , p_source_112 IN NUMBER
95601 --Payment Maturity Date
95602 , p_source_114 IN DATE
95603 --Gain or Loss Indicator between Payment and Clearing
95604 , p_source_159 IN VARCHAR2
95605 --Payment/Clearing Ledger Amount Difference
95606 , p_source_160 IN NUMBER
95607 )
95608 IS
95609
95610 l_component_type VARCHAR2(80);
95611 l_component_code VARCHAR2(30);
95612 l_component_type_code VARCHAR2(1);
95613 l_component_appl_id INTEGER;
95614 l_amb_context_code VARCHAR2(30);
95615 l_entity_code VARCHAR2(30);
95616 l_event_class_code VARCHAR2(30);
95617 l_ae_header_id NUMBER;
95618 l_event_type_code VARCHAR2(30);
95619 l_line_definition_code VARCHAR2(30);
95620 l_line_definition_owner_code VARCHAR2(1);
95621 --
95622 -- adr variables
95623 l_segment VARCHAR2(30);
95624 l_ccid NUMBER;
95625 l_adr_transaction_coa_id NUMBER;
95626 l_adr_accounting_coa_id NUMBER;
95627 l_adr_flexfield_segment_code VARCHAR2(30);
95628 l_adr_flex_value_set_id NUMBER;
95629 l_adr_value_type_code VARCHAR2(30);
95630 l_adr_value_combination_id NUMBER;
95631 l_adr_value_segment_code VARCHAR2(30);
95632
95633 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
95634 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
95635 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
95636 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
95637
95638 -- 4262811 Variables ------------------------------------------------------------------------------------------
95639 l_entered_amt_idx NUMBER;
95640 l_accted_amt_idx NUMBER;
95641 l_acc_rev_flag VARCHAR2(1);
95642 l_accrual_line_num NUMBER;
95643 l_tmp_amt NUMBER;
95644 l_acc_rev_natural_side_code VARCHAR2(1);
95645
95646 l_num_entries NUMBER;
95647 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
95648 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
95649 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
95650 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
95651 l_recog_line_1 NUMBER;
95652 l_recog_line_2 NUMBER;
95653
95654 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
95655 l_bflow_applied_to_amt NUMBER; -- 5132302
95656 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
95657
95658 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
95659
95660 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
95661 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
95662
95663 ---------------------------------------------------------------------------------------------------------------
95664
95665
95666 --
95667 -- bulk performance
95668 --
95669 l_balance_type_code VARCHAR2(1);
95670 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
95674 -- Upgrade strategy
95671 l_log_module VARCHAR2(240);
95672
95673 --
95675 --
95676 l_actual_upg_option VARCHAR2(1);
95677 l_enc_upg_option VARCHAR2(1);
95678
95679 --
95680 BEGIN
95681 --
95682 IF g_log_enabled THEN
95683 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_166';
95684 END IF;
95685 --
95686 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
95687
95688 trace
95689 (p_msg => 'BEGIN of AcctLineType_166'
95690 ,p_level => C_LEVEL_PROCEDURE
95691 ,p_module => l_log_module);
95692
95693 END IF;
95694 --
95695 l_component_type := 'AMB_JLT';
95696 l_component_code := 'AP_LOSS_PMT_CLEAR';
95697 l_component_type_code := 'S';
95698 l_component_appl_id := 200;
95699 l_amb_context_code := 'DEFAULT';
95700 l_entity_code := 'AP_PAYMENTS';
95701 l_event_class_code := 'RECONCILED PAYMENTS';
95702 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
95703 l_line_definition_owner_code := 'S';
95704 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
95705 --
95706 l_balance_type_code := 'A';
95707 l_segment := NULL;
95708 l_ccid := NULL;
95709 l_adr_transaction_coa_id := NULL;
95710 l_adr_accounting_coa_id := NULL;
95711 l_adr_flexfield_segment_code := NULL;
95712 l_adr_flex_value_set_id := NULL;
95713 l_adr_value_type_code := NULL;
95714 l_adr_value_combination_id := NULL;
95715 l_adr_value_segment_code := NULL;
95716
95717 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
95718 l_bflow_class_code := ''; -- 4219869 Business Flow
95719 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
95720 l_budgetary_control_flag := 'N';
95721
95722 l_bflow_applied_to_amt_idx := NULL; -- 5132302
95723 l_bflow_applied_to_amt := NULL; -- 5132302
95724 l_entered_amt_idx := NULL; -- 4262811
95725 l_accted_amt_idx := NULL; -- 4262811
95726 l_acc_rev_flag := NULL; -- 4262811
95727 l_accrual_line_num := NULL; -- 4262811
95728 l_tmp_amt := NULL; -- 4262811
95729 --
95730 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
95731 (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
95732 return;
95733 END IF;
95734
95735 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
95736 l_balance_type_code <> 'B' THEN
95737 IF NVL(p_source_97,'
95738 ') = 'ALWAYS_ALWAYS' AND
95739 p_source_114 IS NULL AND
95740 NVL(p_source_159,'
95741 ') = 'LOSS' AND
95742 NVL(p_source_98,'
95743 ') <> 'EXCHANGE RATE VARIANCE' AND
95744 NVL(p_source_98,'
95745 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
95746 NVL(p_source_98,'
95747 ') <> 'BANK CHARGE' AND
95748 NVL(p_source_98,'
95749 ') <> 'BANK ERROR' AND
95750 NVL(p_source_98,'
95751 ') <> 'AWT'
95752 THEN
95753
95754 --
95755 XLA_AE_LINES_PKG.SetNewLine;
95756
95757 p_balance_type_code := l_balance_type_code;
95758 -- set the flag so later we will know whether the gain loss line needs to be created
95759
95760 IF(l_balance_type_code = 'A' ) THEN
95761 p_actual_flag :='G';
95762 END IF;
95763
95764 --
95765 -- bulk performance
95766 --
95767 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
95768 p_header_num => 0); -- 4262811
95769 --
95770 -- set accounting line options
95771 --
95772 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
95773 p_natural_side_code => 'C'
95774 , p_gain_or_loss_flag => 'Y'
95775 , p_gl_transfer_mode_code => 'S'
95776 , p_acct_entry_type_code => 'A'
95777 , p_switch_side_flag => 'Y'
95778 , p_merge_duplicate_code => 'A'
95779 );
95780 --
95781 l_acc_rev_natural_side_code := 'D'; -- 4262811
95782 --
95783 --
95784 -- set accounting line type info
95785 --
95786 xla_ae_lines_pkg.SetAcctLineType
95787 (p_component_type => l_component_type
95788 ,p_event_type_code => l_event_type_code
95789 ,p_line_definition_owner_code => l_line_definition_owner_code
95790 ,p_line_definition_code => l_line_definition_code
95791 ,p_accounting_line_code => l_component_code
95792 ,p_accounting_line_type_code => l_component_type_code
95793 ,p_accounting_line_appl_id => l_component_appl_id
95794 ,p_amb_context_code => l_amb_context_code
95795 ,p_entity_code => l_entity_code
95796 ,p_event_class_code => l_event_class_code);
95797 --
95798 -- set accounting class
95799 --
95800 xla_ae_lines_pkg.SetAcctClass(
95801 p_accounting_class_code => 'LOSS'
95802 , p_ae_header_id => l_ae_header_id
95803 );
95804
95805 --
95806 -- set rounding class
95807 --
95811 --
95808 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
95809 'LOSS';
95810
95812 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
95813 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
95814 --
95815 -- bulk performance
95816 --
95817 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
95818
95819 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
95820 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
95821
95822 -- 4955764
95823 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
95824 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
95825
95826 -- 4458381 Public Sector Enh
95827
95828 --
95829 -- set accounting attributes for the line type
95830 --
95831 l_entered_amt_idx := 10;
95832 l_accted_amt_idx := 15;
95833 l_bflow_applied_to_amt_idx := 2; -- 5132302
95834 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
95835 l_rec_acct_attrs.array_char_value(1) := p_source_53;
95836 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
95837 l_rec_acct_attrs.array_num_value(2) := p_source_99;
95838 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
95839 l_rec_acct_attrs.array_num_value(3) := p_source_91;
95840 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
95841 l_rec_acct_attrs.array_char_value(4) := p_source_100;
95842 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
95843 l_rec_acct_attrs.array_char_value(5) := p_source_101;
95844 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
95845 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
95846 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
95847 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
95848 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
95849 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
95850 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
95851 l_rec_acct_attrs.array_char_value(9) := p_source_55;
95852 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
95853 l_rec_acct_attrs.array_num_value(10) := p_source_99;
95854 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
95855 l_rec_acct_attrs.array_char_value(11) := p_source_13;
95856 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
95857 l_rec_acct_attrs.array_date_value(12) := p_source_106;
95858 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
95859 l_rec_acct_attrs.array_num_value(13) := p_source_107;
95860 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
95861 l_rec_acct_attrs.array_char_value(14) := p_source_108;
95862 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
95863 l_rec_acct_attrs.array_num_value(15) := p_source_160;
95864 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
95865 l_rec_acct_attrs.array_char_value(16) := p_source_80;
95866 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
95867 l_rec_acct_attrs.array_num_value(17) := p_source_110;
95868 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
95869 l_rec_acct_attrs.array_num_value(18) := p_source_111;
95870 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
95871 l_rec_acct_attrs.array_char_value(19) := p_source_83;
95872 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
95873 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
95874 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
95875 l_rec_acct_attrs.array_char_value(21) := p_source_55;
95876 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
95877 l_rec_acct_attrs.array_num_value(22) := p_source_86;
95878 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
95879 l_rec_acct_attrs.array_num_value(23) := p_source_86;
95880 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
95881 l_rec_acct_attrs.array_num_value(24) := p_source_88;
95882
95883 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
95884 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
95885
95886 ---------------------------------------------------------------------------------------------------------------
95887 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
95888 ---------------------------------------------------------------------------------------------------------------
95889 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
95890
95891 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
95892 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
95893
95894 IF xla_accounting_cache_pkg.GetValueChar
95895 (p_source_code => 'LEDGER_CATEGORY_CODE'
95896 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
95900 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
95897 AND l_bflow_method_code = 'PRIOR_ENTRY'
95898 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
95899 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
95901 )
95902 THEN
95903 xla_ae_lines_pkg.BflowUpgEntry
95904 (p_business_method_code => l_bflow_method_code
95905 ,p_business_class_code => l_bflow_class_code
95906 ,p_balance_type => l_balance_type_code);
95907 ELSE
95908 NULL;
95909 -- No business flow processing for business flow method of NONE.
95910 END IF;
95911
95912 --
95913 -- call analytical criteria
95914 --
95915
95916 --
95917 -- call description
95918 --
95919 -- No description or it is inherited.
95920 --
95921 -- call ADRs
95922 -- Bug 4922099
95923 --
95924 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
95925 (NVL(l_actual_upg_option, 'N') = 'O') OR
95926 (NVL(l_enc_upg_option, 'N') = 'O')
95927 )
95928 THEN
95929 NULL;
95930 --
95931 --
95932
95933 l_ccid := AcctDerRule_39(
95934 p_application_id => p_application_id
95935 , p_ae_header_id => l_ae_header_id
95936 , p_source_15 => p_source_15
95937 , p_source_15_meaning => p_source_15_meaning
95938 , p_source_30 => p_source_30
95939 , p_source_38 => p_source_38
95940 , p_source_39 => p_source_39
95941 , x_transaction_coa_id => l_adr_transaction_coa_id
95942 , x_accounting_coa_id => l_adr_accounting_coa_id
95943 , x_value_type_code => l_adr_value_type_code
95944 , p_side => 'NA'
95945 );
95946
95947 xla_ae_lines_pkg.set_ccid(
95948 p_code_combination_id => l_ccid
95949 , p_value_type_code => l_adr_value_type_code
95950 , p_transaction_coa_id => l_adr_transaction_coa_id
95951 , p_accounting_coa_id => l_adr_accounting_coa_id
95952 , p_adr_code => 'AP_REAL_LOSS'
95953 , p_adr_type_code => 'S'
95954 , p_component_type => l_component_type
95955 , p_component_code => l_component_code
95956 , p_component_type_code => l_component_type_code
95957 , p_component_appl_id => l_component_appl_id
95958 , p_amb_context_code => l_amb_context_code
95959 , p_side => 'NA'
95960 );
95961
95962
95963 l_segment := AcctDerRule_22(
95964 p_application_id => p_application_id
95965 , p_ae_header_id => l_ae_header_id
95966 , p_source_15 => p_source_15
95967 , p_source_15_meaning => p_source_15_meaning
95968 , p_source_30 => p_source_30
95969 , x_transaction_coa_id => l_adr_transaction_coa_id
95970 , x_accounting_coa_id => l_adr_accounting_coa_id
95971 , x_flexfield_segment_code => l_adr_flexfield_segment_code
95972 , x_flex_value_set_id => l_adr_flex_value_set_id
95973 , x_value_type_code => l_adr_value_type_code
95974 , x_value_combination_id => l_adr_value_combination_id
95975 , x_value_segment_code => l_adr_value_segment_code
95976 , p_side => 'NA'
95977 , p_override_seg_flag => 'Y'
95978 );
95979
95980 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
95981
95982 xla_ae_lines_pkg.set_segment(
95983 p_to_segment_code => 'GL_BALANCING'
95984 , p_segment_value => l_segment
95985 , p_from_segment_code => l_adr_value_segment_code
95986 , p_from_combination_id => l_adr_value_combination_id
95987 , p_value_type_code => l_adr_value_type_code
95988 , p_transaction_coa_id => l_adr_transaction_coa_id
95989 , p_accounting_coa_id => l_adr_accounting_coa_id
95990 , p_flexfield_segment_code => l_adr_flexfield_segment_code
95991 , p_flex_value_set_id => l_adr_flex_value_set_id
95992 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
95993 , p_adr_type_code => 'S'
95994 , p_component_type => l_component_type
95995 , p_component_code => l_component_code
95996 , p_component_type_code => l_component_type_code
95997 , p_component_appl_id => l_component_appl_id
95998 , p_amb_context_code => l_amb_context_code
95999 , p_entity_code => 'AP_PAYMENTS'
96000 , p_event_class_code => 'RECONCILED PAYMENTS'
96001 , p_side => 'NA'
96002 );
96003
96004 END IF;
96005
96006 l_segment := AcctDerRule_18(
96007 p_application_id => p_application_id
96008 , p_ae_header_id => l_ae_header_id
96009 , p_source_15 => p_source_15
96010 , p_source_15_meaning => p_source_15_meaning
96011 , p_source_38 => p_source_38
96012 , p_source_39 => p_source_39
96013 , x_transaction_coa_id => l_adr_transaction_coa_id
96014 , x_accounting_coa_id => l_adr_accounting_coa_id
96015 , x_flexfield_segment_code => l_adr_flexfield_segment_code
96016 , x_flex_value_set_id => l_adr_flex_value_set_id
96017 , x_value_type_code => l_adr_value_type_code
96018 , x_value_combination_id => l_adr_value_combination_id
96022 );
96019 , x_value_segment_code => l_adr_value_segment_code
96020 , p_side => 'NA'
96021 , p_override_seg_flag => 'Y'
96023
96024 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
96025
96026 xla_ae_lines_pkg.set_segment(
96027 p_to_segment_code => 'GL_ACCOUNT'
96028 , p_segment_value => l_segment
96029 , p_from_segment_code => l_adr_value_segment_code
96030 , p_from_combination_id => l_adr_value_combination_id
96031 , p_value_type_code => l_adr_value_type_code
96032 , p_transaction_coa_id => l_adr_transaction_coa_id
96033 , p_accounting_coa_id => l_adr_accounting_coa_id
96034 , p_flexfield_segment_code => l_adr_flexfield_segment_code
96035 , p_flex_value_set_id => l_adr_flex_value_set_id
96036 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
96037 , p_adr_type_code => 'S'
96038 , p_component_type => l_component_type
96039 , p_component_code => l_component_code
96040 , p_component_type_code => l_component_type_code
96041 , p_component_appl_id => l_component_appl_id
96042 , p_amb_context_code => l_amb_context_code
96043 , p_entity_code => 'AP_PAYMENTS'
96044 , p_event_class_code => 'RECONCILED PAYMENTS'
96045 , p_side => 'NA'
96046 );
96047
96048 END IF;
96049
96050 --
96051 --
96052 END IF;
96053 --
96054 -- Bug 4922099
96055 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
96056 (NVL(l_enc_upg_option, 'N') = 'O')
96057 ) AND
96058 (l_bflow_method_code = 'PRIOR_ENTRY')
96059 )
96060 THEN
96061 IF
96062 --
96063 1 = 2
96064 --
96065 THEN
96066 xla_accounting_err_pkg.build_message
96067 (p_appli_s_name => 'XLA'
96068 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
96069 ,p_token_1 => 'LINE_NUMBER'
96070 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
96071 ,p_token_2 => 'LINE_TYPE_NAME'
96072 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
96073 l_component_type
96074 ,l_component_code
96075 ,l_component_type_code
96076 ,l_component_appl_id
96077 ,l_amb_context_code
96078 ,l_entity_code
96079 ,l_event_class_code
96080 )
96081 ,p_token_3 => 'OWNER'
96082 ,p_value_3 => xla_lookups_pkg.get_meaning(
96083 p_lookup_type => 'XLA_OWNER_TYPE'
96084 ,p_lookup_code => l_component_type_code
96085 )
96086 ,p_token_4 => 'PRODUCT_NAME'
96087 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
96088 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
96089 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
96090 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
96091 ,p_ae_header_id => NULL
96092 );
96093
96094 IF (C_LEVEL_ERROR>= g_log_level) THEN
96095 trace
96096 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
96097 ,p_level => C_LEVEL_ERROR
96098 ,p_module => l_log_module);
96099 END IF;
96100 END IF;
96101 END IF;
96102 --
96103 --
96104 ------------------------------------------------------------------------------------------------
96105 -- 4219869 Business Flow
96106 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
96107 -- Prior Entry. Currently, the following code is always generated.
96108 ------------------------------------------------------------------------------------------------
96109 XLA_AE_LINES_PKG.ValidateCurrentLine;
96110
96111 ------------------------------------------------------------------------------------
96112 -- 4219869 Business Flow
96113 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
96114 ------------------------------------------------------------------------------------
96118 -- 4219869 Business Flow
96115 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
96116
96117 ----------------------------------------------------------------------------------
96119 -- Update journal entry status -- Need to generate this within IF <condition>
96120 ----------------------------------------------------------------------------------
96121 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
96122 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
96123 ,p_balance_type_code => l_balance_type_code
96124 );
96125
96126 -------------------------------------------------------------------------------------------
96127 -- 4262811 - Generate the Accrual Reversal lines
96128 -------------------------------------------------------------------------------------------
96129 BEGIN
96130 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
96131 (g_array_event(p_event_id).array_value_num('header_index'));
96132 IF l_acc_rev_flag IS NULL THEN
96133 l_acc_rev_flag := 'N';
96134 END IF;
96135 EXCEPTION
96136 WHEN OTHERS THEN
96137 l_acc_rev_flag := 'N';
96138 END;
96139 --
96140 IF (l_acc_rev_flag = 'Y') THEN
96141
96142 -- 4645092 ------------------------------------------------------------------------------
96143 -- To allow MPA report to determine if it should generate report process
96144 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
96145 ------------------------------------------------------------------------------------------
96146
96147 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
96148 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
96149 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
96150 -- call ADRs
96151 -- Bug 4922099
96152 --
96153 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
96154 (NVL(l_actual_upg_option, 'N') = 'O') OR
96155 (NVL(l_enc_upg_option, 'N') = 'O')
96156 )
96157 THEN
96158 NULL;
96159 --
96160 --
96161
96162 l_ccid := AcctDerRule_39(
96163 p_application_id => p_application_id
96164 , p_ae_header_id => l_ae_header_id
96165 , p_source_15 => p_source_15
96166 , p_source_15_meaning => p_source_15_meaning
96167 , p_source_30 => p_source_30
96168 , p_source_38 => p_source_38
96169 , p_source_39 => p_source_39
96170 , x_transaction_coa_id => l_adr_transaction_coa_id
96171 , x_accounting_coa_id => l_adr_accounting_coa_id
96172 , x_value_type_code => l_adr_value_type_code
96173 , p_side => 'NA'
96174 );
96175
96176 xla_ae_lines_pkg.set_ccid(
96177 p_code_combination_id => l_ccid
96178 , p_value_type_code => l_adr_value_type_code
96179 , p_transaction_coa_id => l_adr_transaction_coa_id
96180 , p_accounting_coa_id => l_adr_accounting_coa_id
96181 , p_adr_code => 'AP_REAL_LOSS'
96182 , p_adr_type_code => 'S'
96183 , p_component_type => l_component_type
96184 , p_component_code => l_component_code
96185 , p_component_type_code => l_component_type_code
96186 , p_component_appl_id => l_component_appl_id
96187 , p_amb_context_code => l_amb_context_code
96188 , p_side => 'NA'
96189 );
96190
96191
96192 l_segment := AcctDerRule_22(
96193 p_application_id => p_application_id
96194 , p_ae_header_id => l_ae_header_id
96195 , p_source_15 => p_source_15
96196 , p_source_15_meaning => p_source_15_meaning
96197 , p_source_30 => p_source_30
96198 , x_transaction_coa_id => l_adr_transaction_coa_id
96199 , x_accounting_coa_id => l_adr_accounting_coa_id
96200 , x_flexfield_segment_code => l_adr_flexfield_segment_code
96201 , x_flex_value_set_id => l_adr_flex_value_set_id
96202 , x_value_type_code => l_adr_value_type_code
96203 , x_value_combination_id => l_adr_value_combination_id
96204 , x_value_segment_code => l_adr_value_segment_code
96205 , p_side => 'NA'
96206 , p_override_seg_flag => 'Y'
96207 );
96208
96209 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
96210
96211 xla_ae_lines_pkg.set_segment(
96212 p_to_segment_code => 'GL_BALANCING'
96213 , p_segment_value => l_segment
96214 , p_from_segment_code => l_adr_value_segment_code
96215 , p_from_combination_id => l_adr_value_combination_id
96216 , p_value_type_code => l_adr_value_type_code
96217 , p_transaction_coa_id => l_adr_transaction_coa_id
96218 , p_accounting_coa_id => l_adr_accounting_coa_id
96219 , p_flexfield_segment_code => l_adr_flexfield_segment_code
96220 , p_flex_value_set_id => l_adr_flex_value_set_id
96221 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
96222 , p_adr_type_code => 'S'
96223 , p_component_type => l_component_type
96224 , p_component_code => l_component_code
96225 , p_component_type_code => l_component_type_code
96226 , p_component_appl_id => l_component_appl_id
96230 , p_side => 'NA'
96227 , p_amb_context_code => l_amb_context_code
96228 , p_entity_code => 'AP_PAYMENTS'
96229 , p_event_class_code => 'RECONCILED PAYMENTS'
96231 );
96232
96233 END IF;
96234
96235 l_segment := AcctDerRule_18(
96236 p_application_id => p_application_id
96237 , p_ae_header_id => l_ae_header_id
96238 , p_source_15 => p_source_15
96239 , p_source_15_meaning => p_source_15_meaning
96240 , p_source_38 => p_source_38
96241 , p_source_39 => p_source_39
96242 , x_transaction_coa_id => l_adr_transaction_coa_id
96243 , x_accounting_coa_id => l_adr_accounting_coa_id
96244 , x_flexfield_segment_code => l_adr_flexfield_segment_code
96245 , x_flex_value_set_id => l_adr_flex_value_set_id
96246 , x_value_type_code => l_adr_value_type_code
96247 , x_value_combination_id => l_adr_value_combination_id
96248 , x_value_segment_code => l_adr_value_segment_code
96249 , p_side => 'NA'
96250 , p_override_seg_flag => 'Y'
96251 );
96252
96253 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
96254
96255 xla_ae_lines_pkg.set_segment(
96256 p_to_segment_code => 'GL_ACCOUNT'
96257 , p_segment_value => l_segment
96258 , p_from_segment_code => l_adr_value_segment_code
96259 , p_from_combination_id => l_adr_value_combination_id
96260 , p_value_type_code => l_adr_value_type_code
96261 , p_transaction_coa_id => l_adr_transaction_coa_id
96262 , p_accounting_coa_id => l_adr_accounting_coa_id
96263 , p_flexfield_segment_code => l_adr_flexfield_segment_code
96264 , p_flex_value_set_id => l_adr_flex_value_set_id
96265 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
96266 , p_adr_type_code => 'S'
96267 , p_component_type => l_component_type
96268 , p_component_code => l_component_code
96269 , p_component_type_code => l_component_type_code
96270 , p_component_appl_id => l_component_appl_id
96271 , p_amb_context_code => l_amb_context_code
96272 , p_entity_code => 'AP_PAYMENTS'
96273 , p_event_class_code => 'RECONCILED PAYMENTS'
96274 , p_side => 'NA'
96275 );
96276
96277 END IF;
96278
96279 --
96280 --
96281 END IF;
96282
96283 --
96284 -- Update the line information that should be overwritten
96285 --
96286 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
96287 p_header_num => 1);
96288 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
96289
96290 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
96291
96292 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
96293 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
96294 END IF;
96295
96296 --
96297 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
96298 --
96299 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
96300 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
96301 ELSE
96302 ---------------------------------------------------------------------------------------------------
96303 -- 4262811a Switch Sign
96304 ---------------------------------------------------------------------------------------------------
96305 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
96306 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
96307 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
96308 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
96309 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
96310 -- 5132302
96311 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
96312 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
96313
96314 END IF;
96315
96316 -- 4955764
96317 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
96318 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
96319
96320
96321 XLA_AE_LINES_PKG.ValidateCurrentLine;
96322 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
96323
96324 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
96325 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
96326 ,p_balance_type_code => l_balance_type_code);
96327
96328 END IF;
96329
96330 -----------------------------------------------------------------------------------------
96331 -- 4262811 Multiperiod Accounting
96335
96332 -----------------------------------------------------------------------------------------
96333 -- No MPA option is assigned.
96334
96336 END IF;
96337 END IF;
96338 --
96339
96340 --
96341 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
96342 trace
96343 (p_msg => 'END of AcctLineType_166'
96344 ,p_level => C_LEVEL_PROCEDURE
96345 ,p_module => l_log_module);
96346 END IF;
96347 --
96348 EXCEPTION
96349 WHEN xla_exceptions_pkg.application_exception THEN
96350 RAISE;
96351 WHEN OTHERS THEN
96352 xla_exceptions_pkg.raise_message
96353 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_166');
96354 END AcctLineType_166;
96355 --
96356
96357 ---------------------------------------
96358 --
96359 -- PRIVATE FUNCTION
96360 -- AcctLineType_167
96361 --
96362 ---------------------------------------
96363 PROCEDURE AcctLineType_167 (
96364 p_application_id IN NUMBER
96365 ,p_event_id IN NUMBER
96366 ,p_calculate_acctd_flag IN VARCHAR2
96367 ,p_calculate_g_l_flag IN VARCHAR2
96368 ,p_actual_flag IN OUT VARCHAR2
96369 ,p_balance_type_code OUT VARCHAR2
96370 ,p_gain_or_loss_ref OUT VARCHAR2
96371
96372 --Payment Currency Code
96373 , p_source_13 IN VARCHAR2
96374 --Automatic Offsets Value
96375 , p_source_15 IN VARCHAR2
96376 , p_source_15_meaning IN VARCHAR2
96377 --Invoice Distribution Account
96378 , p_source_30 IN NUMBER
96379 --Internal Realized Loss Account
96380 , p_source_38 IN NUMBER
96381 --Bank Loss Account
96382 , p_source_39 IN NUMBER
96383 --Accounting Reversal Indicator
96384 , p_source_53 IN VARCHAR2
96385 --Distribution Link Type
96386 , p_source_55 IN VARCHAR2
96387 --Override Accounted Amount Indicator
96388 , p_source_80 IN VARCHAR2
96389 , p_source_80_meaning IN VARCHAR2
96390 --Third Party Type
96391 , p_source_83 IN VARCHAR2
96392 --Business Flow Accounts Payable Application Identifier
96393 , p_source_91 IN NUMBER
96394 --When to Account for Payment Option
96395 , p_source_97 IN VARCHAR2
96396 --Payment Distribution Type
96397 , p_source_98 IN VARCHAR2
96398 , p_source_98_meaning IN VARCHAR2
96399 --Payment Distribution Amount
96400 , p_source_99 IN NUMBER
96401 --Business Flow Payment Distribution Type
96402 , p_source_100 IN VARCHAR2
96403 --Business Flow Payment Entity Code
96404 , p_source_101 IN VARCHAR2
96405 --Business Flow Payment Distribution Identifier
96406 , p_source_102 IN NUMBER
96407 --Business Flow Payment Identifier
96408 , p_source_103 IN NUMBER
96409 --Payment Distribution Identifier
96410 , p_source_104 IN NUMBER
96411 --Payment Supplier Identifier
96412 , p_source_110 IN NUMBER
96413 --Payment Supplier Site Identifier
96414 , p_source_111 IN NUMBER
96415 --Payment Distribution Reversed Identifier
96416 , p_source_112 IN NUMBER
96417 --Payment Maturity Date
96418 , p_source_114 IN DATE
96419 --Payment Exchange Date
96420 , p_source_117 IN DATE
96421 --Payment Exchange Rate
96422 , p_source_118 IN NUMBER
96423 --Payment Exchange Rate Type
96424 , p_source_119 IN VARCHAR2
96425 --Payment/Maturity Ledger Amount Difference
96426 , p_source_154 IN NUMBER
96427 --Gain or Loss Indicator between Payment and Maturity
96428 , p_source_161 IN VARCHAR2
96429 )
96430 IS
96431
96432 l_component_type VARCHAR2(80);
96433 l_component_code VARCHAR2(30);
96434 l_component_type_code VARCHAR2(1);
96435 l_component_appl_id INTEGER;
96436 l_amb_context_code VARCHAR2(30);
96437 l_entity_code VARCHAR2(30);
96438 l_event_class_code VARCHAR2(30);
96439 l_ae_header_id NUMBER;
96440 l_event_type_code VARCHAR2(30);
96441 l_line_definition_code VARCHAR2(30);
96442 l_line_definition_owner_code VARCHAR2(1);
96443 --
96444 -- adr variables
96445 l_segment VARCHAR2(30);
96446 l_ccid NUMBER;
96447 l_adr_transaction_coa_id NUMBER;
96448 l_adr_accounting_coa_id NUMBER;
96449 l_adr_flexfield_segment_code VARCHAR2(30);
96450 l_adr_flex_value_set_id NUMBER;
96451 l_adr_value_type_code VARCHAR2(30);
96452 l_adr_value_combination_id NUMBER;
96453 l_adr_value_segment_code VARCHAR2(30);
96454
96455 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
96456 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
96457 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
96458 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
96459
96460 -- 4262811 Variables ------------------------------------------------------------------------------------------
96461 l_entered_amt_idx NUMBER;
96462 l_accted_amt_idx NUMBER;
96463 l_acc_rev_flag VARCHAR2(1);
96464 l_accrual_line_num NUMBER;
96465 l_tmp_amt NUMBER;
96466 l_acc_rev_natural_side_code VARCHAR2(1);
96467
96468 l_num_entries NUMBER;
96469 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
96473 l_recog_line_1 NUMBER;
96470 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
96471 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
96472 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
96474 l_recog_line_2 NUMBER;
96475
96476 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
96477 l_bflow_applied_to_amt NUMBER; -- 5132302
96478 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
96479
96480 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
96481
96482 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
96483 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
96484
96485 ---------------------------------------------------------------------------------------------------------------
96486
96487
96488 --
96489 -- bulk performance
96490 --
96491 l_balance_type_code VARCHAR2(1);
96492 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
96493 l_log_module VARCHAR2(240);
96494
96495 --
96496 -- Upgrade strategy
96497 --
96498 l_actual_upg_option VARCHAR2(1);
96499 l_enc_upg_option VARCHAR2(1);
96500
96501 --
96502 BEGIN
96503 --
96504 IF g_log_enabled THEN
96505 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_167';
96506 END IF;
96507 --
96508 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
96509
96510 trace
96511 (p_msg => 'BEGIN of AcctLineType_167'
96512 ,p_level => C_LEVEL_PROCEDURE
96513 ,p_module => l_log_module);
96514
96515 END IF;
96516 --
96517 l_component_type := 'AMB_JLT';
96518 l_component_code := 'AP_LOSS_PMT_MAT';
96519 l_component_type_code := 'S';
96520 l_component_appl_id := 200;
96521 l_amb_context_code := 'DEFAULT';
96522 l_entity_code := 'AP_PAYMENTS';
96523 l_event_class_code := 'FUTURE DATED PAYMENTS';
96524 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
96525 l_line_definition_owner_code := 'S';
96526 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
96527 --
96528 l_balance_type_code := 'A';
96529 l_segment := NULL;
96530 l_ccid := NULL;
96531 l_adr_transaction_coa_id := NULL;
96532 l_adr_accounting_coa_id := NULL;
96533 l_adr_flexfield_segment_code := NULL;
96534 l_adr_flex_value_set_id := NULL;
96535 l_adr_value_type_code := NULL;
96536 l_adr_value_combination_id := NULL;
96537 l_adr_value_segment_code := NULL;
96538
96539 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
96540 l_bflow_class_code := ''; -- 4219869 Business Flow
96541 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
96542 l_budgetary_control_flag := 'N';
96543
96544 l_bflow_applied_to_amt_idx := NULL; -- 5132302
96545 l_bflow_applied_to_amt := NULL; -- 5132302
96546 l_entered_amt_idx := NULL; -- 4262811
96547 l_accted_amt_idx := NULL; -- 4262811
96548 l_acc_rev_flag := NULL; -- 4262811
96549 l_accrual_line_num := NULL; -- 4262811
96550 l_tmp_amt := NULL; -- 4262811
96551 --
96552 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
96553 (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
96554 return;
96555 END IF;
96556
96557 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
96558 l_balance_type_code <> 'B' THEN
96559 IF (NVL(p_source_97,'
96560 ') = 'ALWAYS_ALWAYS' OR
96561 NVL(p_source_97,'
96562 ') = 'ISSUE_ISSUE') AND
96563 p_source_114 IS NOT NULL AND
96564 NVL(p_source_161,'
96565 ') = 'LOSS' AND
96566 NVL(p_source_98,'
96567 ') <> 'EXCHANGE RATE VARIANCE' AND
96568 NVL(p_source_98,'
96569 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
96570 NVL(p_source_98,'
96571 ') <> 'BANK CHARGE' AND
96572 NVL(p_source_98,'
96573 ') <> 'BANK ERROR' AND
96574 NVL(p_source_98,'
96575 ') <> 'AWT'
96576 THEN
96577
96578 --
96579 XLA_AE_LINES_PKG.SetNewLine;
96580
96581 p_balance_type_code := l_balance_type_code;
96582 -- set the flag so later we will know whether the gain loss line needs to be created
96583
96584 IF(l_balance_type_code = 'A' ) THEN
96585 p_actual_flag :='G';
96586 END IF;
96587
96588 --
96589 -- bulk performance
96590 --
96591 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
96592 p_header_num => 0); -- 4262811
96593 --
96594 -- set accounting line options
96595 --
96596 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
96597 p_natural_side_code => 'C'
96598 , p_gain_or_loss_flag => 'Y'
96599 , p_gl_transfer_mode_code => 'S'
96600 , p_acct_entry_type_code => 'A'
96601 , p_switch_side_flag => 'Y'
96605 l_acc_rev_natural_side_code := 'D'; -- 4262811
96602 , p_merge_duplicate_code => 'A'
96603 );
96604 --
96606 --
96607 --
96608 -- set accounting line type info
96609 --
96610 xla_ae_lines_pkg.SetAcctLineType
96611 (p_component_type => l_component_type
96612 ,p_event_type_code => l_event_type_code
96613 ,p_line_definition_owner_code => l_line_definition_owner_code
96614 ,p_line_definition_code => l_line_definition_code
96615 ,p_accounting_line_code => l_component_code
96616 ,p_accounting_line_type_code => l_component_type_code
96617 ,p_accounting_line_appl_id => l_component_appl_id
96618 ,p_amb_context_code => l_amb_context_code
96619 ,p_entity_code => l_entity_code
96620 ,p_event_class_code => l_event_class_code);
96621 --
96622 -- set accounting class
96623 --
96624 xla_ae_lines_pkg.SetAcctClass(
96625 p_accounting_class_code => 'LOSS'
96626 , p_ae_header_id => l_ae_header_id
96627 );
96628
96629 --
96630 -- set rounding class
96631 --
96632 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
96633 'LOSS';
96634
96635 --
96636 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
96637 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
96638 --
96639 -- bulk performance
96640 --
96641 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
96642
96643 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
96644 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
96645
96646 -- 4955764
96647 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
96648 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
96649
96650 -- 4458381 Public Sector Enh
96651
96652 --
96653 -- set accounting attributes for the line type
96654 --
96655 l_entered_amt_idx := 9;
96656 l_accted_amt_idx := 14;
96657 l_bflow_applied_to_amt_idx := NULL; -- 5132302
96658 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
96659 l_rec_acct_attrs.array_char_value(1) := p_source_53;
96660 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
96661 l_rec_acct_attrs.array_num_value(2) := p_source_91;
96662 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
96663 l_rec_acct_attrs.array_char_value(3) := p_source_100;
96664 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
96665 l_rec_acct_attrs.array_char_value(4) := p_source_101;
96666 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
96667 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_102);
96668 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
96669 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_103);
96670 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
96671 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
96672 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
96673 l_rec_acct_attrs.array_char_value(8) := p_source_55;
96674 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
96675 l_rec_acct_attrs.array_num_value(9) := p_source_99;
96676 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
96677 l_rec_acct_attrs.array_char_value(10) := p_source_13;
96678 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
96679 l_rec_acct_attrs.array_date_value(11) := p_source_117;
96680 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
96681 l_rec_acct_attrs.array_num_value(12) := p_source_118;
96682 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
96683 l_rec_acct_attrs.array_char_value(13) := p_source_119;
96684 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
96685 l_rec_acct_attrs.array_num_value(14) := p_source_154;
96686 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
96687 l_rec_acct_attrs.array_char_value(15) := p_source_80;
96688 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
96689 l_rec_acct_attrs.array_num_value(16) := p_source_110;
96690 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
96691 l_rec_acct_attrs.array_num_value(17) := p_source_111;
96692 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
96693 l_rec_acct_attrs.array_char_value(18) := p_source_83;
96694 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
96695 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_112);
96696 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
96697 l_rec_acct_attrs.array_char_value(20) := p_source_55;
96698
96699 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
96700 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
96701
96702 ---------------------------------------------------------------------------------------------------------------
96703 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
96704 ---------------------------------------------------------------------------------------------------------------
96708 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
96705 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
96706
96707 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
96709
96710 IF xla_accounting_cache_pkg.GetValueChar
96711 (p_source_code => 'LEDGER_CATEGORY_CODE'
96712 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
96713 AND l_bflow_method_code = 'PRIOR_ENTRY'
96714 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
96715 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
96716 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
96717 )
96718 THEN
96719 xla_ae_lines_pkg.BflowUpgEntry
96720 (p_business_method_code => l_bflow_method_code
96721 ,p_business_class_code => l_bflow_class_code
96722 ,p_balance_type => l_balance_type_code);
96723 ELSE
96724 NULL;
96725 -- No business flow processing for business flow method of NONE.
96726 END IF;
96727
96728 --
96729 -- call analytical criteria
96730 --
96731
96732 --
96733 -- call description
96734 --
96735 -- No description or it is inherited.
96736 --
96737 -- call ADRs
96738 -- Bug 4922099
96739 --
96740 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
96741 (NVL(l_actual_upg_option, 'N') = 'O') OR
96742 (NVL(l_enc_upg_option, 'N') = 'O')
96743 )
96744 THEN
96745 NULL;
96746 --
96747 --
96748
96749 l_ccid := AcctDerRule_39(
96750 p_application_id => p_application_id
96751 , p_ae_header_id => l_ae_header_id
96752 , p_source_15 => p_source_15
96753 , p_source_15_meaning => p_source_15_meaning
96754 , p_source_30 => p_source_30
96755 , p_source_38 => p_source_38
96756 , p_source_39 => p_source_39
96757 , x_transaction_coa_id => l_adr_transaction_coa_id
96758 , x_accounting_coa_id => l_adr_accounting_coa_id
96759 , x_value_type_code => l_adr_value_type_code
96760 , p_side => 'NA'
96761 );
96762
96763 xla_ae_lines_pkg.set_ccid(
96764 p_code_combination_id => l_ccid
96765 , p_value_type_code => l_adr_value_type_code
96766 , p_transaction_coa_id => l_adr_transaction_coa_id
96767 , p_accounting_coa_id => l_adr_accounting_coa_id
96768 , p_adr_code => 'AP_REAL_LOSS'
96769 , p_adr_type_code => 'S'
96770 , p_component_type => l_component_type
96771 , p_component_code => l_component_code
96772 , p_component_type_code => l_component_type_code
96773 , p_component_appl_id => l_component_appl_id
96774 , p_amb_context_code => l_amb_context_code
96775 , p_side => 'NA'
96776 );
96777
96778
96779 l_segment := AcctDerRule_22(
96780 p_application_id => p_application_id
96781 , p_ae_header_id => l_ae_header_id
96782 , p_source_15 => p_source_15
96783 , p_source_15_meaning => p_source_15_meaning
96784 , p_source_30 => p_source_30
96785 , x_transaction_coa_id => l_adr_transaction_coa_id
96786 , x_accounting_coa_id => l_adr_accounting_coa_id
96787 , x_flexfield_segment_code => l_adr_flexfield_segment_code
96788 , x_flex_value_set_id => l_adr_flex_value_set_id
96789 , x_value_type_code => l_adr_value_type_code
96790 , x_value_combination_id => l_adr_value_combination_id
96791 , x_value_segment_code => l_adr_value_segment_code
96792 , p_side => 'NA'
96793 , p_override_seg_flag => 'Y'
96794 );
96795
96796 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
96797
96798 xla_ae_lines_pkg.set_segment(
96799 p_to_segment_code => 'GL_BALANCING'
96800 , p_segment_value => l_segment
96801 , p_from_segment_code => l_adr_value_segment_code
96802 , p_from_combination_id => l_adr_value_combination_id
96803 , p_value_type_code => l_adr_value_type_code
96804 , p_transaction_coa_id => l_adr_transaction_coa_id
96805 , p_accounting_coa_id => l_adr_accounting_coa_id
96806 , p_flexfield_segment_code => l_adr_flexfield_segment_code
96807 , p_flex_value_set_id => l_adr_flex_value_set_id
96808 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
96809 , p_adr_type_code => 'S'
96810 , p_component_type => l_component_type
96811 , p_component_code => l_component_code
96812 , p_component_type_code => l_component_type_code
96813 , p_component_appl_id => l_component_appl_id
96814 , p_amb_context_code => l_amb_context_code
96815 , p_entity_code => 'AP_PAYMENTS'
96816 , p_event_class_code => 'FUTURE DATED PAYMENTS'
96817 , p_side => 'NA'
96818 );
96819
96820 END IF;
96821
96822 l_segment := AcctDerRule_18(
96826 , p_source_15_meaning => p_source_15_meaning
96823 p_application_id => p_application_id
96824 , p_ae_header_id => l_ae_header_id
96825 , p_source_15 => p_source_15
96827 , p_source_38 => p_source_38
96828 , p_source_39 => p_source_39
96829 , x_transaction_coa_id => l_adr_transaction_coa_id
96830 , x_accounting_coa_id => l_adr_accounting_coa_id
96831 , x_flexfield_segment_code => l_adr_flexfield_segment_code
96832 , x_flex_value_set_id => l_adr_flex_value_set_id
96833 , x_value_type_code => l_adr_value_type_code
96834 , x_value_combination_id => l_adr_value_combination_id
96835 , x_value_segment_code => l_adr_value_segment_code
96836 , p_side => 'NA'
96837 , p_override_seg_flag => 'Y'
96838 );
96839
96840 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
96841
96842 xla_ae_lines_pkg.set_segment(
96843 p_to_segment_code => 'GL_ACCOUNT'
96844 , p_segment_value => l_segment
96845 , p_from_segment_code => l_adr_value_segment_code
96846 , p_from_combination_id => l_adr_value_combination_id
96847 , p_value_type_code => l_adr_value_type_code
96848 , p_transaction_coa_id => l_adr_transaction_coa_id
96849 , p_accounting_coa_id => l_adr_accounting_coa_id
96850 , p_flexfield_segment_code => l_adr_flexfield_segment_code
96851 , p_flex_value_set_id => l_adr_flex_value_set_id
96852 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
96853 , p_adr_type_code => 'S'
96854 , p_component_type => l_component_type
96855 , p_component_code => l_component_code
96856 , p_component_type_code => l_component_type_code
96857 , p_component_appl_id => l_component_appl_id
96858 , p_amb_context_code => l_amb_context_code
96859 , p_entity_code => 'AP_PAYMENTS'
96860 , p_event_class_code => 'FUTURE DATED PAYMENTS'
96861 , p_side => 'NA'
96862 );
96863
96864 END IF;
96865
96866 --
96867 --
96868 END IF;
96869 --
96870 -- Bug 4922099
96871 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
96872 (NVL(l_enc_upg_option, 'N') = 'O')
96873 ) AND
96874 (l_bflow_method_code = 'PRIOR_ENTRY')
96875 )
96876 THEN
96877 IF
96878 --
96879 1 = 2
96880 --
96881 THEN
96882 xla_accounting_err_pkg.build_message
96883 (p_appli_s_name => 'XLA'
96884 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
96885 ,p_token_1 => 'LINE_NUMBER'
96886 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
96887 ,p_token_2 => 'LINE_TYPE_NAME'
96888 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
96889 l_component_type
96890 ,l_component_code
96891 ,l_component_type_code
96892 ,l_component_appl_id
96893 ,l_amb_context_code
96894 ,l_entity_code
96895 ,l_event_class_code
96896 )
96897 ,p_token_3 => 'OWNER'
96898 ,p_value_3 => xla_lookups_pkg.get_meaning(
96899 p_lookup_type => 'XLA_OWNER_TYPE'
96900 ,p_lookup_code => l_component_type_code
96901 )
96902 ,p_token_4 => 'PRODUCT_NAME'
96903 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
96904 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
96905 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
96906 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
96907 ,p_ae_header_id => NULL
96908 );
96909
96910 IF (C_LEVEL_ERROR>= g_log_level) THEN
96911 trace
96912 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
96913 ,p_level => C_LEVEL_ERROR
96914 ,p_module => l_log_module);
96915 END IF;
96916 END IF;
96917 END IF;
96918 --
96919 --
96920 ------------------------------------------------------------------------------------------------
96924 ------------------------------------------------------------------------------------------------
96921 -- 4219869 Business Flow
96922 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
96923 -- Prior Entry. Currently, the following code is always generated.
96925 XLA_AE_LINES_PKG.ValidateCurrentLine;
96926
96927 ------------------------------------------------------------------------------------
96928 -- 4219869 Business Flow
96929 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
96930 ------------------------------------------------------------------------------------
96931 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
96932
96933 ----------------------------------------------------------------------------------
96934 -- 4219869 Business Flow
96935 -- Update journal entry status -- Need to generate this within IF <condition>
96936 ----------------------------------------------------------------------------------
96937 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
96938 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
96939 ,p_balance_type_code => l_balance_type_code
96940 );
96941
96942 -------------------------------------------------------------------------------------------
96943 -- 4262811 - Generate the Accrual Reversal lines
96944 -------------------------------------------------------------------------------------------
96945 BEGIN
96946 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
96947 (g_array_event(p_event_id).array_value_num('header_index'));
96948 IF l_acc_rev_flag IS NULL THEN
96949 l_acc_rev_flag := 'N';
96950 END IF;
96951 EXCEPTION
96952 WHEN OTHERS THEN
96953 l_acc_rev_flag := 'N';
96954 END;
96955 --
96956 IF (l_acc_rev_flag = 'Y') THEN
96957
96958 -- 4645092 ------------------------------------------------------------------------------
96959 -- To allow MPA report to determine if it should generate report process
96960 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
96961 ------------------------------------------------------------------------------------------
96962
96963 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
96964 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
96965 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
96966 -- call ADRs
96967 -- Bug 4922099
96968 --
96969 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
96970 (NVL(l_actual_upg_option, 'N') = 'O') OR
96971 (NVL(l_enc_upg_option, 'N') = 'O')
96972 )
96973 THEN
96974 NULL;
96975 --
96976 --
96977
96978 l_ccid := AcctDerRule_39(
96979 p_application_id => p_application_id
96980 , p_ae_header_id => l_ae_header_id
96981 , p_source_15 => p_source_15
96982 , p_source_15_meaning => p_source_15_meaning
96983 , p_source_30 => p_source_30
96984 , p_source_38 => p_source_38
96985 , p_source_39 => p_source_39
96986 , x_transaction_coa_id => l_adr_transaction_coa_id
96987 , x_accounting_coa_id => l_adr_accounting_coa_id
96988 , x_value_type_code => l_adr_value_type_code
96989 , p_side => 'NA'
96990 );
96991
96992 xla_ae_lines_pkg.set_ccid(
96993 p_code_combination_id => l_ccid
96994 , p_value_type_code => l_adr_value_type_code
96995 , p_transaction_coa_id => l_adr_transaction_coa_id
96996 , p_accounting_coa_id => l_adr_accounting_coa_id
96997 , p_adr_code => 'AP_REAL_LOSS'
96998 , p_adr_type_code => 'S'
96999 , p_component_type => l_component_type
97000 , p_component_code => l_component_code
97001 , p_component_type_code => l_component_type_code
97002 , p_component_appl_id => l_component_appl_id
97003 , p_amb_context_code => l_amb_context_code
97004 , p_side => 'NA'
97005 );
97006
97007
97008 l_segment := AcctDerRule_22(
97009 p_application_id => p_application_id
97010 , p_ae_header_id => l_ae_header_id
97011 , p_source_15 => p_source_15
97012 , p_source_15_meaning => p_source_15_meaning
97013 , p_source_30 => p_source_30
97014 , x_transaction_coa_id => l_adr_transaction_coa_id
97015 , x_accounting_coa_id => l_adr_accounting_coa_id
97016 , x_flexfield_segment_code => l_adr_flexfield_segment_code
97017 , x_flex_value_set_id => l_adr_flex_value_set_id
97018 , x_value_type_code => l_adr_value_type_code
97019 , x_value_combination_id => l_adr_value_combination_id
97020 , x_value_segment_code => l_adr_value_segment_code
97021 , p_side => 'NA'
97022 , p_override_seg_flag => 'Y'
97023 );
97024
97025 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
97026
97027 xla_ae_lines_pkg.set_segment(
97028 p_to_segment_code => 'GL_BALANCING'
97029 , p_segment_value => l_segment
97030 , p_from_segment_code => l_adr_value_segment_code
97031 , p_from_combination_id => l_adr_value_combination_id
97035 , p_flexfield_segment_code => l_adr_flexfield_segment_code
97032 , p_value_type_code => l_adr_value_type_code
97033 , p_transaction_coa_id => l_adr_transaction_coa_id
97034 , p_accounting_coa_id => l_adr_accounting_coa_id
97036 , p_flex_value_set_id => l_adr_flex_value_set_id
97037 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
97038 , p_adr_type_code => 'S'
97039 , p_component_type => l_component_type
97040 , p_component_code => l_component_code
97041 , p_component_type_code => l_component_type_code
97042 , p_component_appl_id => l_component_appl_id
97043 , p_amb_context_code => l_amb_context_code
97044 , p_entity_code => 'AP_PAYMENTS'
97045 , p_event_class_code => 'FUTURE DATED PAYMENTS'
97046 , p_side => 'NA'
97047 );
97048
97049 END IF;
97050
97051 l_segment := AcctDerRule_18(
97052 p_application_id => p_application_id
97053 , p_ae_header_id => l_ae_header_id
97054 , p_source_15 => p_source_15
97055 , p_source_15_meaning => p_source_15_meaning
97056 , p_source_38 => p_source_38
97057 , p_source_39 => p_source_39
97058 , x_transaction_coa_id => l_adr_transaction_coa_id
97059 , x_accounting_coa_id => l_adr_accounting_coa_id
97060 , x_flexfield_segment_code => l_adr_flexfield_segment_code
97061 , x_flex_value_set_id => l_adr_flex_value_set_id
97062 , x_value_type_code => l_adr_value_type_code
97063 , x_value_combination_id => l_adr_value_combination_id
97064 , x_value_segment_code => l_adr_value_segment_code
97065 , p_side => 'NA'
97066 , p_override_seg_flag => 'Y'
97067 );
97068
97069 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
97070
97071 xla_ae_lines_pkg.set_segment(
97072 p_to_segment_code => 'GL_ACCOUNT'
97073 , p_segment_value => l_segment
97074 , p_from_segment_code => l_adr_value_segment_code
97075 , p_from_combination_id => l_adr_value_combination_id
97076 , p_value_type_code => l_adr_value_type_code
97077 , p_transaction_coa_id => l_adr_transaction_coa_id
97078 , p_accounting_coa_id => l_adr_accounting_coa_id
97079 , p_flexfield_segment_code => l_adr_flexfield_segment_code
97080 , p_flex_value_set_id => l_adr_flex_value_set_id
97081 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
97082 , p_adr_type_code => 'S'
97083 , p_component_type => l_component_type
97084 , p_component_code => l_component_code
97085 , p_component_type_code => l_component_type_code
97086 , p_component_appl_id => l_component_appl_id
97087 , p_amb_context_code => l_amb_context_code
97088 , p_entity_code => 'AP_PAYMENTS'
97089 , p_event_class_code => 'FUTURE DATED PAYMENTS'
97090 , p_side => 'NA'
97091 );
97092
97093 END IF;
97094
97095 --
97096 --
97097 END IF;
97098
97099 --
97100 -- Update the line information that should be overwritten
97101 --
97102 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
97103 p_header_num => 1);
97104 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
97105
97106 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
97107
97108 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
97109 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
97110 END IF;
97111
97112 --
97113 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
97114 --
97115 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
97116 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
97117 ELSE
97118 ---------------------------------------------------------------------------------------------------
97119 -- 4262811a Switch Sign
97120 ---------------------------------------------------------------------------------------------------
97121 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
97122 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
97123 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
97124 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
97125 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
97126 -- 5132302
97127 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
97128 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
97129
97130 END IF;
97131
97132 -- 4955764
97133 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
97137 XLA_AE_LINES_PKG.ValidateCurrentLine;
97134 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
97135
97136
97138 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
97139
97140 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
97141 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
97142 ,p_balance_type_code => l_balance_type_code);
97143
97144 END IF;
97145
97146 -----------------------------------------------------------------------------------------
97147 -- 4262811 Multiperiod Accounting
97148 -----------------------------------------------------------------------------------------
97149 -- No MPA option is assigned.
97150
97151
97152 END IF;
97153 END IF;
97154 --
97155
97156 --
97157 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
97158 trace
97159 (p_msg => 'END of AcctLineType_167'
97160 ,p_level => C_LEVEL_PROCEDURE
97161 ,p_module => l_log_module);
97162 END IF;
97163 --
97164 EXCEPTION
97165 WHEN xla_exceptions_pkg.application_exception THEN
97166 RAISE;
97167 WHEN OTHERS THEN
97168 xla_exceptions_pkg.raise_message
97169 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_167');
97170 END AcctLineType_167;
97171 --
97172
97173 ---------------------------------------
97174 --
97175 -- PRIVATE FUNCTION
97176 -- AcctLineType_168
97177 --
97178 ---------------------------------------
97179 PROCEDURE AcctLineType_168 (
97180 p_application_id IN NUMBER
97181 ,p_event_id IN NUMBER
97182 ,p_calculate_acctd_flag IN VARCHAR2
97183 ,p_calculate_g_l_flag IN VARCHAR2
97184 ,p_actual_flag IN OUT VARCHAR2
97185 ,p_balance_type_code OUT VARCHAR2
97186 ,p_gain_or_loss_ref OUT VARCHAR2
97187
97188 --Automatic Offsets Value
97189 , p_source_15 IN VARCHAR2
97190 , p_source_15_meaning IN VARCHAR2
97191 --Invoice Distribution Account
97192 , p_source_30 IN NUMBER
97193 --Internal Realized Loss Account
97194 , p_source_38 IN NUMBER
97195 --Bank Loss Account
97196 , p_source_39 IN NUMBER
97197 --Accounting Reversal Indicator
97198 , p_source_53 IN VARCHAR2
97199 --Distribution Link Type
97200 , p_source_55 IN VARCHAR2
97201 --Invoice Identifier
97202 , p_source_58 IN NUMBER
97203 --Payables Encumbrance Upgrade Credit Account
97204 , p_source_65 IN NUMBER
97205 --Payables Encumbrance Upgrade Credit Amount
97206 , p_source_66 IN NUMBER
97207 --Invoice Currency Code
97208 , p_source_67 IN VARCHAR2
97209 --Payables Encumbrance Upgrade Credit Base Amount
97210 , p_source_68 IN NUMBER
97211 --Payables Encumbrance Upgrade Debit Account
97212 , p_source_69 IN NUMBER
97213 --Payables Encumbrance Upgrade Debit Amount
97214 , p_source_70 IN NUMBER
97215 --Payables Encumbrance Upgrade Debit Base Amount
97216 , p_source_71 IN NUMBER
97217 --Payables Encumbrance Upgrade Option
97218 , p_source_72 IN VARCHAR2
97219 --Deferred Accounting End Date
97220 , p_source_77 IN DATE
97221 --Deferred Accounting Option
97222 , p_source_78 IN VARCHAR2
97223 --Deferred Accounting Start Date
97224 , p_source_79 IN DATE
97225 --Override Accounted Amount Indicator
97226 , p_source_80 IN VARCHAR2
97227 , p_source_80_meaning IN VARCHAR2
97228 --Invoice Supplier Identifier
97229 , p_source_81 IN NUMBER
97230 --Invoice Supplier Site Identifier
97231 , p_source_82 IN NUMBER
97232 --Third Party Type
97233 , p_source_83 IN VARCHAR2
97234 --Invoice Distribution Tax Line Identifier
97235 , p_source_86 IN NUMBER
97236 --Invoice Distribution Tax Distribution Identifier from Tax
97237 , p_source_87 IN NUMBER
97238 --Invoice Distribution Summary Tax Line Identifier
97239 , p_source_88 IN NUMBER
97240 --Payables Upgrade Credit Encumbrance Type Identifier
97241 , p_source_89 IN NUMBER
97242 --Payables Upgrade Debit Encumbrance Type Identifier
97243 , p_source_90 IN NUMBER
97244 --Business Flow Accounts Payable Application Identifier
97245 , p_source_91 IN NUMBER
97246 --Prepayment Distribution Type
97247 , p_source_125 IN VARCHAR2
97248 --Prepayment Application Distribution Identifier
97249 , p_source_127 IN NUMBER
97250 --Upgrade Encumbrance Credit Account Class
97251 , p_source_132 IN VARCHAR2
97252 --Upgrade Encumbrance Debit Account Class
97253 , p_source_133 IN VARCHAR2
97254 --Prepayment Distribution Amount
97255 , p_source_134 IN NUMBER
97256 --Identifier of the Prepayment Application Reversed
97257 , p_source_136 IN NUMBER
97258 --Invoice Exchange Date
97259 , p_source_143 IN DATE
97260 --Invoice Exchange Rate
97261 , p_source_144 IN NUMBER
97262 --Invoice Exchange Rate Type
97263 , p_source_145 IN VARCHAR2
97264 --Business Flow Prepayment Invoice Distribution Type
97265 , p_source_146 IN VARCHAR2
97266 --Business Flow Prepayment Invoice Entity Code
97267 , p_source_147 IN VARCHAR2
97268 --Business Flow Prepayment Invoice Distribution Identifier
97269 , p_source_148 IN NUMBER
97273 , p_source_155 IN NUMBER
97270 --Business Flow Prepayment Invoice Identifier
97271 , p_source_149 IN NUMBER
97272 --Prepayment/Invoice Ledger Amount Difference
97274 --Gain or Loss Indicator between Prepayment and Invoice
97275 , p_source_162 IN VARCHAR2
97276 )
97277 IS
97278
97279 l_component_type VARCHAR2(80);
97280 l_component_code VARCHAR2(30);
97281 l_component_type_code VARCHAR2(1);
97282 l_component_appl_id INTEGER;
97283 l_amb_context_code VARCHAR2(30);
97284 l_entity_code VARCHAR2(30);
97285 l_event_class_code VARCHAR2(30);
97286 l_ae_header_id NUMBER;
97287 l_event_type_code VARCHAR2(30);
97288 l_line_definition_code VARCHAR2(30);
97289 l_line_definition_owner_code VARCHAR2(1);
97290 --
97291 -- adr variables
97292 l_segment VARCHAR2(30);
97293 l_ccid NUMBER;
97294 l_adr_transaction_coa_id NUMBER;
97295 l_adr_accounting_coa_id NUMBER;
97296 l_adr_flexfield_segment_code VARCHAR2(30);
97297 l_adr_flex_value_set_id NUMBER;
97298 l_adr_value_type_code VARCHAR2(30);
97299 l_adr_value_combination_id NUMBER;
97300 l_adr_value_segment_code VARCHAR2(30);
97301
97302 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
97303 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
97304 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
97305 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
97306
97307 -- 4262811 Variables ------------------------------------------------------------------------------------------
97308 l_entered_amt_idx NUMBER;
97309 l_accted_amt_idx NUMBER;
97310 l_acc_rev_flag VARCHAR2(1);
97311 l_accrual_line_num NUMBER;
97312 l_tmp_amt NUMBER;
97313 l_acc_rev_natural_side_code VARCHAR2(1);
97314
97315 l_num_entries NUMBER;
97316 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
97317 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
97318 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
97319 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
97320 l_recog_line_1 NUMBER;
97321 l_recog_line_2 NUMBER;
97322
97323 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
97324 l_bflow_applied_to_amt NUMBER; -- 5132302
97325 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
97326
97327 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
97328
97329 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
97330 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
97331
97332 ---------------------------------------------------------------------------------------------------------------
97333
97334
97335 --
97336 -- bulk performance
97337 --
97338 l_balance_type_code VARCHAR2(1);
97339 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
97340 l_log_module VARCHAR2(240);
97341
97342 --
97343 -- Upgrade strategy
97344 --
97345 l_actual_upg_option VARCHAR2(1);
97346 l_enc_upg_option VARCHAR2(1);
97347
97348 --
97349 BEGIN
97350 --
97351 IF g_log_enabled THEN
97352 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_168';
97353 END IF;
97354 --
97355 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
97356
97357 trace
97358 (p_msg => 'BEGIN of AcctLineType_168'
97359 ,p_level => C_LEVEL_PROCEDURE
97360 ,p_module => l_log_module);
97361
97362 END IF;
97363 --
97364 l_component_type := 'AMB_JLT';
97365 l_component_code := 'AP_LOSS_PREPAY_APP';
97366 l_component_type_code := 'S';
97367 l_component_appl_id := 200;
97368 l_amb_context_code := 'DEFAULT';
97369 l_entity_code := 'AP_INVOICES';
97370 l_event_class_code := 'PREPAYMENT APPLICATIONS';
97371 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
97372 l_line_definition_owner_code := 'S';
97373 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
97374 --
97375 l_balance_type_code := 'A';
97376 l_segment := NULL;
97377 l_ccid := NULL;
97378 l_adr_transaction_coa_id := NULL;
97379 l_adr_accounting_coa_id := NULL;
97380 l_adr_flexfield_segment_code := NULL;
97381 l_adr_flex_value_set_id := NULL;
97382 l_adr_value_type_code := NULL;
97383 l_adr_value_combination_id := NULL;
97384 l_adr_value_segment_code := NULL;
97385
97386 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
97387 l_bflow_class_code := ''; -- 4219869 Business Flow
97388 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
97389 l_budgetary_control_flag := 'N';
97390
97391 l_bflow_applied_to_amt_idx := NULL; -- 5132302
97392 l_bflow_applied_to_amt := NULL; -- 5132302
97393 l_entered_amt_idx := NULL; -- 4262811
97394 l_accted_amt_idx := NULL; -- 4262811
97398 --
97395 l_acc_rev_flag := NULL; -- 4262811
97396 l_accrual_line_num := NULL; -- 4262811
97397 l_tmp_amt := NULL; -- 4262811
97399 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
97400 (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
97401 return;
97402 END IF;
97403
97404 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
97405 l_balance_type_code <> 'B' THEN
97406 IF (NVL(p_source_125,'
97407 ') = 'PREPAY APPL' OR
97408 NVL(p_source_125,'
97409 ') = 'PREPAY APPL NONREC TAX' OR
97410 NVL(p_source_125,'
97411 ') = 'PREPAY APPL REC TAX') AND
97412 NVL(p_source_162,'
97413 ') = 'LOSS'
97414 THEN
97415
97416 --
97417 XLA_AE_LINES_PKG.SetNewLine;
97418
97419 p_balance_type_code := l_balance_type_code;
97420 -- set the flag so later we will know whether the gain loss line needs to be created
97421
97422 IF(l_balance_type_code = 'A' ) THEN
97423 p_actual_flag :='G';
97424 END IF;
97425
97426 --
97427 -- bulk performance
97428 --
97429 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
97430 p_header_num => 0); -- 4262811
97431 --
97432 -- set accounting line options
97433 --
97434 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
97435 p_natural_side_code => 'D'
97436 , p_gain_or_loss_flag => 'Y'
97437 , p_gl_transfer_mode_code => 'S'
97438 , p_acct_entry_type_code => 'A'
97439 , p_switch_side_flag => 'Y'
97440 , p_merge_duplicate_code => 'A'
97441 );
97442 --
97443 l_acc_rev_natural_side_code := 'C'; -- 4262811
97444 --
97445 --
97446 -- set accounting line type info
97447 --
97448 xla_ae_lines_pkg.SetAcctLineType
97449 (p_component_type => l_component_type
97450 ,p_event_type_code => l_event_type_code
97451 ,p_line_definition_owner_code => l_line_definition_owner_code
97452 ,p_line_definition_code => l_line_definition_code
97453 ,p_accounting_line_code => l_component_code
97454 ,p_accounting_line_type_code => l_component_type_code
97455 ,p_accounting_line_appl_id => l_component_appl_id
97456 ,p_amb_context_code => l_amb_context_code
97457 ,p_entity_code => l_entity_code
97458 ,p_event_class_code => l_event_class_code);
97459 --
97460 -- set accounting class
97461 --
97462 xla_ae_lines_pkg.SetAcctClass(
97463 p_accounting_class_code => 'LOSS'
97464 , p_ae_header_id => l_ae_header_id
97465 );
97466
97467 --
97468 -- set rounding class
97469 --
97470 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
97471 'LOSS';
97472
97473 --
97474 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
97475 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
97476 --
97477 -- bulk performance
97478 --
97479 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
97480
97481 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
97482 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
97483
97484 -- 4955764
97485 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
97486 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
97487
97488 -- 4458381 Public Sector Enh
97489
97490 --
97491 -- set accounting attributes for the line type
97492 --
97493 l_entered_amt_idx := 25;
97494 l_accted_amt_idx := 30;
97495 l_bflow_applied_to_amt_idx := NULL; -- 5132302
97496 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
97497 l_rec_acct_attrs.array_char_value(1) := p_source_53;
97498 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
97499 l_rec_acct_attrs.array_num_value(2) :=
97500 xla_ae_sources_pkg.GetSystemSourceNum(
97501 p_source_code => 'XLA_EVENT_APPL_ID'
97502 , p_source_type_code => 'Y'
97503 , p_source_application_id => 602
97504 );
97505 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
97506 l_rec_acct_attrs.array_char_value(3) := p_source_55;
97507 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
97508 l_rec_acct_attrs.array_char_value(4) :=
97509 xla_ae_sources_pkg.GetSystemSourceChar(
97510 p_source_code => 'XLA_ENTITY_CODE'
97511 , p_source_type_code => 'Y'
97512 , p_source_application_id => 602
97513 );
97514 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
97515 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_127);
97516 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
97520 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
97517 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
97518 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
97519 l_rec_acct_attrs.array_num_value(7) := p_source_91;
97521 l_rec_acct_attrs.array_char_value(8) := p_source_146;
97522 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
97523 l_rec_acct_attrs.array_char_value(9) := p_source_147;
97524 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
97525 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_148);
97526 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
97527 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_149);
97528 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
97529 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_127);
97530 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
97531 l_rec_acct_attrs.array_char_value(13) := p_source_55;
97532 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
97533 l_rec_acct_attrs.array_char_value(14) := p_source_132;
97534 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
97535 l_rec_acct_attrs.array_num_value(15) := p_source_65;
97536 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
97537 l_rec_acct_attrs.array_num_value(16) := p_source_66;
97538 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
97539 l_rec_acct_attrs.array_char_value(17) := p_source_67;
97540 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
97541 l_rec_acct_attrs.array_num_value(18) := p_source_68;
97542 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
97543 l_rec_acct_attrs.array_char_value(19) := p_source_133;
97544 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
97545 l_rec_acct_attrs.array_num_value(20) := p_source_69;
97546 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
97547 l_rec_acct_attrs.array_num_value(21) := p_source_70;
97548 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
97549 l_rec_acct_attrs.array_char_value(22) := p_source_67;
97550 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
97551 l_rec_acct_attrs.array_num_value(23) := p_source_71;
97552 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
97553 l_rec_acct_attrs.array_char_value(24) := p_source_72;
97554 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
97555 l_rec_acct_attrs.array_num_value(25) := p_source_134;
97556 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
97557 l_rec_acct_attrs.array_char_value(26) := p_source_67;
97558 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_DATE';
97559 l_rec_acct_attrs.array_date_value(27) := p_source_143;
97560 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE';
97561 l_rec_acct_attrs.array_num_value(28) := p_source_144;
97562 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_RATE_TYPE';
97563 l_rec_acct_attrs.array_char_value(29) := p_source_145;
97564 l_rec_acct_attrs.array_acct_attr_code(30) := 'LEDGER_AMOUNT';
97565 l_rec_acct_attrs.array_num_value(30) := p_source_155;
97566 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_END_DATE';
97567 l_rec_acct_attrs.array_date_value(31) := p_source_77;
97568 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_OPTION';
97569 l_rec_acct_attrs.array_char_value(32) := p_source_78;
97570 l_rec_acct_attrs.array_acct_attr_code(33) := 'MULTIPERIOD_START_DATE';
97571 l_rec_acct_attrs.array_date_value(33) := p_source_79;
97572 l_rec_acct_attrs.array_acct_attr_code(34) := 'OVERRIDE_ACCTD_AMT_FLAG';
97573 l_rec_acct_attrs.array_char_value(34) := p_source_80;
97574 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_ID';
97575 l_rec_acct_attrs.array_num_value(35) := p_source_81;
97576 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_SITE_ID';
97577 l_rec_acct_attrs.array_num_value(36) := p_source_82;
97578 l_rec_acct_attrs.array_acct_attr_code(37) := 'PARTY_TYPE';
97579 l_rec_acct_attrs.array_char_value(37) := p_source_83;
97580 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_ID1';
97581 l_rec_acct_attrs.array_num_value(38) := to_char(p_source_136);
97582 l_rec_acct_attrs.array_acct_attr_code(39) := 'REVERSED_DISTRIBUTION_TYPE';
97583 l_rec_acct_attrs.array_char_value(39) := p_source_55;
97584 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
97585 l_rec_acct_attrs.array_num_value(40) := p_source_86;
97586 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
97587 l_rec_acct_attrs.array_num_value(41) := p_source_87;
97588 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
97589 l_rec_acct_attrs.array_num_value(42) := p_source_88;
97590 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
97591 l_rec_acct_attrs.array_num_value(43) := p_source_89;
97592 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
97593 l_rec_acct_attrs.array_num_value(44) := p_source_90;
97594
97595 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
97596 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
97597
97598 ---------------------------------------------------------------------------------------------------------------
97602
97599 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
97600 ---------------------------------------------------------------------------------------------------------------
97601 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
97603 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
97604 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
97605
97606 IF xla_accounting_cache_pkg.GetValueChar
97607 (p_source_code => 'LEDGER_CATEGORY_CODE'
97608 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
97609 AND l_bflow_method_code = 'PRIOR_ENTRY'
97610 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
97611 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
97612 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
97613 )
97614 THEN
97615 xla_ae_lines_pkg.BflowUpgEntry
97616 (p_business_method_code => l_bflow_method_code
97617 ,p_business_class_code => l_bflow_class_code
97618 ,p_balance_type => l_balance_type_code);
97619 ELSE
97620 NULL;
97621 -- No business flow processing for business flow method of NONE.
97622 END IF;
97623
97624 --
97625 -- call analytical criteria
97626 --
97627
97628 --
97629 -- call description
97630 --
97631 -- No description or it is inherited.
97632 --
97633 -- call ADRs
97634 -- Bug 4922099
97635 --
97636 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
97637 (NVL(l_actual_upg_option, 'N') = 'O') OR
97638 (NVL(l_enc_upg_option, 'N') = 'O')
97639 )
97640 THEN
97641 NULL;
97642 --
97643 --
97644
97645 l_ccid := AcctDerRule_39(
97646 p_application_id => p_application_id
97647 , p_ae_header_id => l_ae_header_id
97648 , p_source_15 => p_source_15
97649 , p_source_15_meaning => p_source_15_meaning
97650 , p_source_30 => p_source_30
97651 , p_source_38 => p_source_38
97652 , p_source_39 => p_source_39
97653 , x_transaction_coa_id => l_adr_transaction_coa_id
97654 , x_accounting_coa_id => l_adr_accounting_coa_id
97655 , x_value_type_code => l_adr_value_type_code
97656 , p_side => 'NA'
97657 );
97658
97659 xla_ae_lines_pkg.set_ccid(
97660 p_code_combination_id => l_ccid
97661 , p_value_type_code => l_adr_value_type_code
97662 , p_transaction_coa_id => l_adr_transaction_coa_id
97663 , p_accounting_coa_id => l_adr_accounting_coa_id
97664 , p_adr_code => 'AP_REAL_LOSS'
97665 , p_adr_type_code => 'S'
97666 , p_component_type => l_component_type
97667 , p_component_code => l_component_code
97668 , p_component_type_code => l_component_type_code
97669 , p_component_appl_id => l_component_appl_id
97670 , p_amb_context_code => l_amb_context_code
97671 , p_side => 'NA'
97672 );
97673
97674
97675 l_segment := AcctDerRule_22(
97676 p_application_id => p_application_id
97677 , p_ae_header_id => l_ae_header_id
97678 , p_source_15 => p_source_15
97679 , p_source_15_meaning => p_source_15_meaning
97680 , p_source_30 => p_source_30
97681 , x_transaction_coa_id => l_adr_transaction_coa_id
97682 , x_accounting_coa_id => l_adr_accounting_coa_id
97683 , x_flexfield_segment_code => l_adr_flexfield_segment_code
97684 , x_flex_value_set_id => l_adr_flex_value_set_id
97685 , x_value_type_code => l_adr_value_type_code
97686 , x_value_combination_id => l_adr_value_combination_id
97687 , x_value_segment_code => l_adr_value_segment_code
97688 , p_side => 'NA'
97689 , p_override_seg_flag => 'Y'
97690 );
97691
97692 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
97693
97694 xla_ae_lines_pkg.set_segment(
97695 p_to_segment_code => 'GL_BALANCING'
97696 , p_segment_value => l_segment
97697 , p_from_segment_code => l_adr_value_segment_code
97698 , p_from_combination_id => l_adr_value_combination_id
97699 , p_value_type_code => l_adr_value_type_code
97700 , p_transaction_coa_id => l_adr_transaction_coa_id
97701 , p_accounting_coa_id => l_adr_accounting_coa_id
97702 , p_flexfield_segment_code => l_adr_flexfield_segment_code
97703 , p_flex_value_set_id => l_adr_flex_value_set_id
97704 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
97705 , p_adr_type_code => 'S'
97706 , p_component_type => l_component_type
97707 , p_component_code => l_component_code
97708 , p_component_type_code => l_component_type_code
97709 , p_component_appl_id => l_component_appl_id
97710 , p_amb_context_code => l_amb_context_code
97711 , p_entity_code => 'AP_INVOICES'
97712 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
97713 , p_side => 'NA'
97714 );
97718 l_segment := AcctDerRule_18(
97715
97716 END IF;
97717
97719 p_application_id => p_application_id
97720 , p_ae_header_id => l_ae_header_id
97721 , p_source_15 => p_source_15
97722 , p_source_15_meaning => p_source_15_meaning
97723 , p_source_38 => p_source_38
97724 , p_source_39 => p_source_39
97725 , x_transaction_coa_id => l_adr_transaction_coa_id
97726 , x_accounting_coa_id => l_adr_accounting_coa_id
97727 , x_flexfield_segment_code => l_adr_flexfield_segment_code
97728 , x_flex_value_set_id => l_adr_flex_value_set_id
97729 , x_value_type_code => l_adr_value_type_code
97730 , x_value_combination_id => l_adr_value_combination_id
97731 , x_value_segment_code => l_adr_value_segment_code
97732 , p_side => 'NA'
97733 , p_override_seg_flag => 'Y'
97734 );
97735
97736 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
97737
97738 xla_ae_lines_pkg.set_segment(
97739 p_to_segment_code => 'GL_ACCOUNT'
97740 , p_segment_value => l_segment
97741 , p_from_segment_code => l_adr_value_segment_code
97742 , p_from_combination_id => l_adr_value_combination_id
97743 , p_value_type_code => l_adr_value_type_code
97744 , p_transaction_coa_id => l_adr_transaction_coa_id
97745 , p_accounting_coa_id => l_adr_accounting_coa_id
97746 , p_flexfield_segment_code => l_adr_flexfield_segment_code
97747 , p_flex_value_set_id => l_adr_flex_value_set_id
97748 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
97749 , p_adr_type_code => 'S'
97750 , p_component_type => l_component_type
97751 , p_component_code => l_component_code
97752 , p_component_type_code => l_component_type_code
97753 , p_component_appl_id => l_component_appl_id
97754 , p_amb_context_code => l_amb_context_code
97755 , p_entity_code => 'AP_INVOICES'
97756 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
97757 , p_side => 'NA'
97758 );
97759
97760 END IF;
97761
97762 --
97763 --
97764 END IF;
97765 --
97766 -- Bug 4922099
97767 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
97768 (NVL(l_enc_upg_option, 'N') = 'O')
97769 ) AND
97770 (l_bflow_method_code = 'PRIOR_ENTRY')
97771 )
97772 THEN
97773 IF
97774 --
97775 1 = 2
97776 --
97777 THEN
97778 xla_accounting_err_pkg.build_message
97779 (p_appli_s_name => 'XLA'
97780 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
97781 ,p_token_1 => 'LINE_NUMBER'
97782 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
97783 ,p_token_2 => 'LINE_TYPE_NAME'
97784 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
97785 l_component_type
97786 ,l_component_code
97787 ,l_component_type_code
97788 ,l_component_appl_id
97789 ,l_amb_context_code
97790 ,l_entity_code
97791 ,l_event_class_code
97792 )
97793 ,p_token_3 => 'OWNER'
97794 ,p_value_3 => xla_lookups_pkg.get_meaning(
97795 p_lookup_type => 'XLA_OWNER_TYPE'
97796 ,p_lookup_code => l_component_type_code
97797 )
97798 ,p_token_4 => 'PRODUCT_NAME'
97799 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
97800 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
97801 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
97802 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
97803 ,p_ae_header_id => NULL
97804 );
97805
97806 IF (C_LEVEL_ERROR>= g_log_level) THEN
97807 trace
97808 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
97809 ,p_level => C_LEVEL_ERROR
97810 ,p_module => l_log_module);
97811 END IF;
97812 END IF;
97813 END IF;
97814 --
97815 --
97816 ------------------------------------------------------------------------------------------------
97820 ------------------------------------------------------------------------------------------------
97817 -- 4219869 Business Flow
97818 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
97819 -- Prior Entry. Currently, the following code is always generated.
97821 XLA_AE_LINES_PKG.ValidateCurrentLine;
97822
97823 ------------------------------------------------------------------------------------
97824 -- 4219869 Business Flow
97825 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
97826 ------------------------------------------------------------------------------------
97827 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
97828
97829 ----------------------------------------------------------------------------------
97830 -- 4219869 Business Flow
97831 -- Update journal entry status -- Need to generate this within IF <condition>
97832 ----------------------------------------------------------------------------------
97833 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
97834 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
97835 ,p_balance_type_code => l_balance_type_code
97836 );
97837
97838 -------------------------------------------------------------------------------------------
97839 -- 4262811 - Generate the Accrual Reversal lines
97840 -------------------------------------------------------------------------------------------
97841 BEGIN
97842 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
97843 (g_array_event(p_event_id).array_value_num('header_index'));
97844 IF l_acc_rev_flag IS NULL THEN
97845 l_acc_rev_flag := 'N';
97846 END IF;
97847 EXCEPTION
97848 WHEN OTHERS THEN
97849 l_acc_rev_flag := 'N';
97850 END;
97851 --
97852 IF (l_acc_rev_flag = 'Y') THEN
97853
97854 -- 4645092 ------------------------------------------------------------------------------
97855 -- To allow MPA report to determine if it should generate report process
97856 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
97857 ------------------------------------------------------------------------------------------
97858
97859 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
97860 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
97861 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
97862 -- call ADRs
97863 -- Bug 4922099
97864 --
97865 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
97866 (NVL(l_actual_upg_option, 'N') = 'O') OR
97867 (NVL(l_enc_upg_option, 'N') = 'O')
97868 )
97869 THEN
97870 NULL;
97871 --
97872 --
97873
97874 l_ccid := AcctDerRule_39(
97875 p_application_id => p_application_id
97876 , p_ae_header_id => l_ae_header_id
97877 , p_source_15 => p_source_15
97878 , p_source_15_meaning => p_source_15_meaning
97879 , p_source_30 => p_source_30
97880 , p_source_38 => p_source_38
97881 , p_source_39 => p_source_39
97882 , x_transaction_coa_id => l_adr_transaction_coa_id
97883 , x_accounting_coa_id => l_adr_accounting_coa_id
97884 , x_value_type_code => l_adr_value_type_code
97885 , p_side => 'NA'
97886 );
97887
97888 xla_ae_lines_pkg.set_ccid(
97889 p_code_combination_id => l_ccid
97890 , p_value_type_code => l_adr_value_type_code
97891 , p_transaction_coa_id => l_adr_transaction_coa_id
97892 , p_accounting_coa_id => l_adr_accounting_coa_id
97893 , p_adr_code => 'AP_REAL_LOSS'
97894 , p_adr_type_code => 'S'
97895 , p_component_type => l_component_type
97896 , p_component_code => l_component_code
97897 , p_component_type_code => l_component_type_code
97898 , p_component_appl_id => l_component_appl_id
97899 , p_amb_context_code => l_amb_context_code
97900 , p_side => 'NA'
97901 );
97902
97903
97904 l_segment := AcctDerRule_22(
97905 p_application_id => p_application_id
97906 , p_ae_header_id => l_ae_header_id
97907 , p_source_15 => p_source_15
97908 , p_source_15_meaning => p_source_15_meaning
97909 , p_source_30 => p_source_30
97910 , x_transaction_coa_id => l_adr_transaction_coa_id
97911 , x_accounting_coa_id => l_adr_accounting_coa_id
97912 , x_flexfield_segment_code => l_adr_flexfield_segment_code
97913 , x_flex_value_set_id => l_adr_flex_value_set_id
97914 , x_value_type_code => l_adr_value_type_code
97915 , x_value_combination_id => l_adr_value_combination_id
97916 , x_value_segment_code => l_adr_value_segment_code
97917 , p_side => 'NA'
97918 , p_override_seg_flag => 'Y'
97919 );
97920
97921 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
97922
97923 xla_ae_lines_pkg.set_segment(
97924 p_to_segment_code => 'GL_BALANCING'
97925 , p_segment_value => l_segment
97926 , p_from_segment_code => l_adr_value_segment_code
97927 , p_from_combination_id => l_adr_value_combination_id
97931 , p_flexfield_segment_code => l_adr_flexfield_segment_code
97928 , p_value_type_code => l_adr_value_type_code
97929 , p_transaction_coa_id => l_adr_transaction_coa_id
97930 , p_accounting_coa_id => l_adr_accounting_coa_id
97932 , p_flex_value_set_id => l_adr_flex_value_set_id
97933 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
97934 , p_adr_type_code => 'S'
97935 , p_component_type => l_component_type
97936 , p_component_code => l_component_code
97937 , p_component_type_code => l_component_type_code
97938 , p_component_appl_id => l_component_appl_id
97939 , p_amb_context_code => l_amb_context_code
97940 , p_entity_code => 'AP_INVOICES'
97941 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
97942 , p_side => 'NA'
97943 );
97944
97945 END IF;
97946
97947 l_segment := AcctDerRule_18(
97948 p_application_id => p_application_id
97949 , p_ae_header_id => l_ae_header_id
97950 , p_source_15 => p_source_15
97951 , p_source_15_meaning => p_source_15_meaning
97952 , p_source_38 => p_source_38
97953 , p_source_39 => p_source_39
97954 , x_transaction_coa_id => l_adr_transaction_coa_id
97955 , x_accounting_coa_id => l_adr_accounting_coa_id
97956 , x_flexfield_segment_code => l_adr_flexfield_segment_code
97957 , x_flex_value_set_id => l_adr_flex_value_set_id
97958 , x_value_type_code => l_adr_value_type_code
97959 , x_value_combination_id => l_adr_value_combination_id
97960 , x_value_segment_code => l_adr_value_segment_code
97961 , p_side => 'NA'
97962 , p_override_seg_flag => 'Y'
97963 );
97964
97965 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
97966
97967 xla_ae_lines_pkg.set_segment(
97968 p_to_segment_code => 'GL_ACCOUNT'
97969 , p_segment_value => l_segment
97970 , p_from_segment_code => l_adr_value_segment_code
97971 , p_from_combination_id => l_adr_value_combination_id
97972 , p_value_type_code => l_adr_value_type_code
97973 , p_transaction_coa_id => l_adr_transaction_coa_id
97974 , p_accounting_coa_id => l_adr_accounting_coa_id
97975 , p_flexfield_segment_code => l_adr_flexfield_segment_code
97976 , p_flex_value_set_id => l_adr_flex_value_set_id
97977 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
97978 , p_adr_type_code => 'S'
97979 , p_component_type => l_component_type
97980 , p_component_code => l_component_code
97981 , p_component_type_code => l_component_type_code
97982 , p_component_appl_id => l_component_appl_id
97983 , p_amb_context_code => l_amb_context_code
97984 , p_entity_code => 'AP_INVOICES'
97985 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
97986 , p_side => 'NA'
97987 );
97988
97989 END IF;
97990
97991 --
97992 --
97993 END IF;
97994
97995 --
97996 -- Update the line information that should be overwritten
97997 --
97998 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
97999 p_header_num => 1);
98000 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
98001
98002 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
98003
98004 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
98005 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
98006 END IF;
98007
98008 --
98009 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
98010 --
98011 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
98012 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
98013 ELSE
98014 ---------------------------------------------------------------------------------------------------
98015 -- 4262811a Switch Sign
98016 ---------------------------------------------------------------------------------------------------
98017 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
98018 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
98019 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
98020 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
98021 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
98022 -- 5132302
98023 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
98024 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
98025
98026 END IF;
98027
98028 -- 4955764
98029 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
98033 XLA_AE_LINES_PKG.ValidateCurrentLine;
98030 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
98031
98032
98034 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
98035
98036 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
98037 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
98038 ,p_balance_type_code => l_balance_type_code);
98039
98040 END IF;
98041
98042 -----------------------------------------------------------------------------------------
98043 -- 4262811 Multiperiod Accounting
98044 -----------------------------------------------------------------------------------------
98045 -- No MPA option is assigned.
98046
98047
98048 END IF;
98049 END IF;
98050 --
98051
98052 --
98053 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
98054 trace
98055 (p_msg => 'END of AcctLineType_168'
98056 ,p_level => C_LEVEL_PROCEDURE
98057 ,p_module => l_log_module);
98058 END IF;
98059 --
98060 EXCEPTION
98061 WHEN xla_exceptions_pkg.application_exception THEN
98062 RAISE;
98063 WHEN OTHERS THEN
98064 xla_exceptions_pkg.raise_message
98065 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_168');
98066 END AcctLineType_168;
98067 --
98068
98069 ---------------------------------------
98070 --
98071 -- PRIVATE FUNCTION
98072 -- AcctLineType_169
98073 --
98074 ---------------------------------------
98075 PROCEDURE AcctLineType_169 (
98076 p_application_id IN NUMBER
98077 ,p_event_id IN NUMBER
98078 ,p_calculate_acctd_flag IN VARCHAR2
98079 ,p_calculate_g_l_flag IN VARCHAR2
98080 ,p_actual_flag IN OUT VARCHAR2
98081 ,p_balance_type_code OUT VARCHAR2
98082 ,p_gain_or_loss_ref OUT VARCHAR2
98083
98084 --Payment Currency Code
98085 , p_source_13 IN VARCHAR2
98086 --Automatic Offsets Value
98087 , p_source_15 IN VARCHAR2
98088 , p_source_15_meaning IN VARCHAR2
98089 --Invoice Distribution Account
98090 , p_source_30 IN NUMBER
98091 --Internal Realized Loss Account
98092 , p_source_38 IN NUMBER
98093 --Bank Loss Account
98094 , p_source_39 IN NUMBER
98095 --Accounting Reversal Indicator
98096 , p_source_53 IN VARCHAR2
98097 --Distribution Link Type
98098 , p_source_55 IN VARCHAR2
98099 --Override Accounted Amount Indicator
98100 , p_source_80 IN VARCHAR2
98101 , p_source_80_meaning IN VARCHAR2
98102 --Third Party Type
98103 , p_source_83 IN VARCHAR2
98104 --Invoice Distribution Tax Line Identifier
98105 , p_source_86 IN NUMBER
98106 --Invoice Distribution Tax Distribution Identifier from Tax
98107 , p_source_87 IN NUMBER
98108 --Invoice Distribution Summary Tax Line Identifier
98109 , p_source_88 IN NUMBER
98110 --Business Flow Accounts Payable Application Identifier
98111 , p_source_91 IN NUMBER
98112 --Business Flow Invoice Distribution Type
98113 , p_source_92 IN VARCHAR2
98114 --Business Flow Invoice Entity Code
98115 , p_source_93 IN VARCHAR2
98116 --Business Flow Invoice Distribution Identifier
98117 , p_source_94 IN NUMBER
98118 --Business Flow Invoice Identifier
98119 , p_source_95 IN NUMBER
98120 --When to Account for Payment Option
98121 , p_source_97 IN VARCHAR2
98122 --Payment Distribution Type
98123 , p_source_98 IN VARCHAR2
98124 , p_source_98_meaning IN VARCHAR2
98125 --Payment Distribution Amount
98126 , p_source_99 IN NUMBER
98127 --Payment Distribution Identifier
98128 , p_source_104 IN NUMBER
98129 --Payment Supplier Identifier
98130 , p_source_110 IN NUMBER
98131 --Payment Supplier Site Identifier
98132 , p_source_111 IN NUMBER
98133 --Payment Distribution Reversed Identifier
98134 , p_source_112 IN NUMBER
98135 --Payment Exchange Date
98136 , p_source_117 IN DATE
98137 --Payment Exchange Rate
98138 , p_source_118 IN NUMBER
98139 --Payment Exchange Rate Type
98140 , p_source_119 IN VARCHAR2
98141 --Payment Type
98142 , p_source_122 IN VARCHAR2
98143 , p_source_122_meaning IN VARCHAR2
98144 --Invoice/Payment Ledger Amount Difference
98145 , p_source_153 IN NUMBER
98146 --Gain or Loss Indicator between Invoice and Payment
98147 , p_source_158 IN VARCHAR2
98148 )
98149 IS
98150
98151 l_component_type VARCHAR2(80);
98152 l_component_code VARCHAR2(30);
98153 l_component_type_code VARCHAR2(1);
98154 l_component_appl_id INTEGER;
98155 l_amb_context_code VARCHAR2(30);
98156 l_entity_code VARCHAR2(30);
98157 l_event_class_code VARCHAR2(30);
98158 l_ae_header_id NUMBER;
98159 l_event_type_code VARCHAR2(30);
98160 l_line_definition_code VARCHAR2(30);
98161 l_line_definition_owner_code VARCHAR2(1);
98162 --
98163 -- adr variables
98164 l_segment VARCHAR2(30);
98165 l_ccid NUMBER;
98166 l_adr_transaction_coa_id NUMBER;
98167 l_adr_accounting_coa_id NUMBER;
98168 l_adr_flexfield_segment_code VARCHAR2(30);
98169 l_adr_flex_value_set_id NUMBER;
98173
98170 l_adr_value_type_code VARCHAR2(30);
98171 l_adr_value_combination_id NUMBER;
98172 l_adr_value_segment_code VARCHAR2(30);
98174 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
98175 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
98176 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
98177 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
98178
98179 -- 4262811 Variables ------------------------------------------------------------------------------------------
98180 l_entered_amt_idx NUMBER;
98181 l_accted_amt_idx NUMBER;
98182 l_acc_rev_flag VARCHAR2(1);
98183 l_accrual_line_num NUMBER;
98184 l_tmp_amt NUMBER;
98185 l_acc_rev_natural_side_code VARCHAR2(1);
98186
98187 l_num_entries NUMBER;
98188 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
98189 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
98190 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
98191 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
98192 l_recog_line_1 NUMBER;
98193 l_recog_line_2 NUMBER;
98194
98195 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
98196 l_bflow_applied_to_amt NUMBER; -- 5132302
98197 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
98198
98199 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
98200
98201 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
98202 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
98203
98204 ---------------------------------------------------------------------------------------------------------------
98205
98206
98207 --
98208 -- bulk performance
98209 --
98210 l_balance_type_code VARCHAR2(1);
98211 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
98212 l_log_module VARCHAR2(240);
98213
98214 --
98215 -- Upgrade strategy
98216 --
98217 l_actual_upg_option VARCHAR2(1);
98218 l_enc_upg_option VARCHAR2(1);
98219
98220 --
98221 BEGIN
98222 --
98223 IF g_log_enabled THEN
98224 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_169';
98225 END IF;
98226 --
98227 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
98228
98229 trace
98230 (p_msg => 'BEGIN of AcctLineType_169'
98231 ,p_level => C_LEVEL_PROCEDURE
98232 ,p_module => l_log_module);
98233
98234 END IF;
98235 --
98236 l_component_type := 'AMB_JLT';
98237 l_component_code := 'AP_LOSS_REF';
98238 l_component_type_code := 'S';
98239 l_component_appl_id := 200;
98240 l_amb_context_code := 'DEFAULT';
98241 l_entity_code := 'AP_PAYMENTS';
98242 l_event_class_code := 'REFUNDS';
98243 l_event_type_code := 'REFUNDS_ALL';
98244 l_line_definition_owner_code := 'S';
98245 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
98246 --
98247 l_balance_type_code := 'A';
98248 l_segment := NULL;
98249 l_ccid := NULL;
98250 l_adr_transaction_coa_id := NULL;
98251 l_adr_accounting_coa_id := NULL;
98252 l_adr_flexfield_segment_code := NULL;
98253 l_adr_flex_value_set_id := NULL;
98254 l_adr_value_type_code := NULL;
98255 l_adr_value_combination_id := NULL;
98256 l_adr_value_segment_code := NULL;
98257
98258 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
98259 l_bflow_class_code := ''; -- 4219869 Business Flow
98260 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
98261 l_budgetary_control_flag := 'N';
98262
98263 l_bflow_applied_to_amt_idx := NULL; -- 5132302
98264 l_bflow_applied_to_amt := NULL; -- 5132302
98265 l_entered_amt_idx := NULL; -- 4262811
98266 l_accted_amt_idx := NULL; -- 4262811
98267 l_acc_rev_flag := NULL; -- 4262811
98268 l_accrual_line_num := NULL; -- 4262811
98269 l_tmp_amt := NULL; -- 4262811
98270 --
98271 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
98272 (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
98273 return;
98274 END IF;
98275
98276 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
98277 l_balance_type_code <> 'B' THEN
98278 IF (NVL(p_source_97,'
98279 ') <> 'CLEAR_CLEAR' AND
98280 NVL(p_source_97,'
98281 ') <> 'ALWAYS_CLEAR') AND
98282 NVL(p_source_158,'
98283 ') = 'LOSS' AND
98284 NVL(p_source_122,'
98285 ') = 'R' AND
98286 NVL(p_source_98,'
98287 ') <> 'EXCHANGE RATE VARIANCE' AND
98288 NVL(p_source_98,'
98289 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
98290 NVL(p_source_98,'
98291 ') <> 'BANK CHARGE' AND
98292 NVL(p_source_98,'
98293 ') <> 'BANK ERROR'
98294 THEN
98295
98296 --
98297 XLA_AE_LINES_PKG.SetNewLine;
98298
98302 IF(l_balance_type_code = 'A' ) THEN
98299 p_balance_type_code := l_balance_type_code;
98300 -- set the flag so later we will know whether the gain loss line needs to be created
98301
98303 p_actual_flag :='G';
98304 END IF;
98305
98306 --
98307 -- bulk performance
98308 --
98309 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
98310 p_header_num => 0); -- 4262811
98311 --
98312 -- set accounting line options
98313 --
98314 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
98315 p_natural_side_code => 'C'
98316 , p_gain_or_loss_flag => 'Y'
98317 , p_gl_transfer_mode_code => 'S'
98318 , p_acct_entry_type_code => 'A'
98319 , p_switch_side_flag => 'Y'
98320 , p_merge_duplicate_code => 'A'
98321 );
98322 --
98323 l_acc_rev_natural_side_code := 'D'; -- 4262811
98324 --
98325 --
98326 -- set accounting line type info
98327 --
98328 xla_ae_lines_pkg.SetAcctLineType
98329 (p_component_type => l_component_type
98330 ,p_event_type_code => l_event_type_code
98331 ,p_line_definition_owner_code => l_line_definition_owner_code
98332 ,p_line_definition_code => l_line_definition_code
98333 ,p_accounting_line_code => l_component_code
98334 ,p_accounting_line_type_code => l_component_type_code
98335 ,p_accounting_line_appl_id => l_component_appl_id
98336 ,p_amb_context_code => l_amb_context_code
98337 ,p_entity_code => l_entity_code
98338 ,p_event_class_code => l_event_class_code);
98339 --
98340 -- set accounting class
98341 --
98342 xla_ae_lines_pkg.SetAcctClass(
98343 p_accounting_class_code => 'LOSS'
98344 , p_ae_header_id => l_ae_header_id
98345 );
98346
98347 --
98348 -- set rounding class
98349 --
98350 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
98351 'LOSS';
98352
98353 --
98354 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
98355 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
98356 --
98357 -- bulk performance
98358 --
98359 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
98360
98361 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
98362 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
98363
98364 -- 4955764
98365 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
98366 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
98367
98368 -- 4458381 Public Sector Enh
98369
98370 --
98371 -- set accounting attributes for the line type
98372 --
98373 l_entered_amt_idx := 9;
98374 l_accted_amt_idx := 14;
98375 l_bflow_applied_to_amt_idx := NULL; -- 5132302
98376 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
98377 l_rec_acct_attrs.array_char_value(1) := p_source_53;
98378 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
98379 l_rec_acct_attrs.array_num_value(2) := p_source_91;
98380 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
98381 l_rec_acct_attrs.array_char_value(3) := p_source_92;
98382 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
98383 l_rec_acct_attrs.array_char_value(4) := p_source_93;
98384 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
98385 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
98386 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
98387 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
98388 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
98389 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_104);
98390 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
98391 l_rec_acct_attrs.array_char_value(8) := p_source_55;
98392 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
98393 l_rec_acct_attrs.array_num_value(9) := p_source_99;
98394 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
98395 l_rec_acct_attrs.array_char_value(10) := p_source_13;
98396 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
98397 l_rec_acct_attrs.array_date_value(11) := p_source_117;
98398 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
98399 l_rec_acct_attrs.array_num_value(12) := p_source_118;
98400 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
98401 l_rec_acct_attrs.array_char_value(13) := p_source_119;
98402 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
98403 l_rec_acct_attrs.array_num_value(14) := p_source_153;
98404 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
98405 l_rec_acct_attrs.array_char_value(15) := p_source_80;
98406 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
98407 l_rec_acct_attrs.array_num_value(16) := p_source_110;
98408 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
98412 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
98409 l_rec_acct_attrs.array_num_value(17) := p_source_111;
98410 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
98411 l_rec_acct_attrs.array_char_value(18) := p_source_83;
98413 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_112);
98414 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
98415 l_rec_acct_attrs.array_char_value(20) := p_source_55;
98416 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
98417 l_rec_acct_attrs.array_num_value(21) := p_source_86;
98418 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
98419 l_rec_acct_attrs.array_num_value(22) := p_source_87;
98420 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
98421 l_rec_acct_attrs.array_num_value(23) := p_source_88;
98422
98423 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
98424 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
98425
98426 ---------------------------------------------------------------------------------------------------------------
98427 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
98428 ---------------------------------------------------------------------------------------------------------------
98429 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
98430
98431 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
98432 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
98433
98434 IF xla_accounting_cache_pkg.GetValueChar
98435 (p_source_code => 'LEDGER_CATEGORY_CODE'
98436 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
98437 AND l_bflow_method_code = 'PRIOR_ENTRY'
98438 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
98439 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
98440 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
98441 )
98442 THEN
98443 xla_ae_lines_pkg.BflowUpgEntry
98444 (p_business_method_code => l_bflow_method_code
98445 ,p_business_class_code => l_bflow_class_code
98446 ,p_balance_type => l_balance_type_code);
98447 ELSE
98448 NULL;
98449 -- No business flow processing for business flow method of NONE.
98450 END IF;
98451
98452 --
98453 -- call analytical criteria
98454 --
98455
98456 --
98457 -- call description
98458 --
98459 -- No description or it is inherited.
98460 --
98461 -- call ADRs
98462 -- Bug 4922099
98463 --
98464 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
98465 (NVL(l_actual_upg_option, 'N') = 'O') OR
98466 (NVL(l_enc_upg_option, 'N') = 'O')
98467 )
98468 THEN
98469 NULL;
98470 --
98471 --
98472
98473 l_ccid := AcctDerRule_39(
98474 p_application_id => p_application_id
98475 , p_ae_header_id => l_ae_header_id
98476 , p_source_15 => p_source_15
98477 , p_source_15_meaning => p_source_15_meaning
98478 , p_source_30 => p_source_30
98479 , p_source_38 => p_source_38
98480 , p_source_39 => p_source_39
98481 , x_transaction_coa_id => l_adr_transaction_coa_id
98482 , x_accounting_coa_id => l_adr_accounting_coa_id
98483 , x_value_type_code => l_adr_value_type_code
98484 , p_side => 'NA'
98485 );
98486
98487 xla_ae_lines_pkg.set_ccid(
98488 p_code_combination_id => l_ccid
98489 , p_value_type_code => l_adr_value_type_code
98490 , p_transaction_coa_id => l_adr_transaction_coa_id
98491 , p_accounting_coa_id => l_adr_accounting_coa_id
98492 , p_adr_code => 'AP_REAL_LOSS'
98493 , p_adr_type_code => 'S'
98494 , p_component_type => l_component_type
98495 , p_component_code => l_component_code
98496 , p_component_type_code => l_component_type_code
98497 , p_component_appl_id => l_component_appl_id
98498 , p_amb_context_code => l_amb_context_code
98499 , p_side => 'NA'
98500 );
98501
98502
98503 l_segment := AcctDerRule_22(
98504 p_application_id => p_application_id
98505 , p_ae_header_id => l_ae_header_id
98506 , p_source_15 => p_source_15
98507 , p_source_15_meaning => p_source_15_meaning
98508 , p_source_30 => p_source_30
98509 , x_transaction_coa_id => l_adr_transaction_coa_id
98510 , x_accounting_coa_id => l_adr_accounting_coa_id
98511 , x_flexfield_segment_code => l_adr_flexfield_segment_code
98512 , x_flex_value_set_id => l_adr_flex_value_set_id
98513 , x_value_type_code => l_adr_value_type_code
98514 , x_value_combination_id => l_adr_value_combination_id
98515 , x_value_segment_code => l_adr_value_segment_code
98516 , p_side => 'NA'
98517 , p_override_seg_flag => 'Y'
98518 );
98519
98520 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
98521
98522 xla_ae_lines_pkg.set_segment(
98526 , p_from_combination_id => l_adr_value_combination_id
98523 p_to_segment_code => 'GL_BALANCING'
98524 , p_segment_value => l_segment
98525 , p_from_segment_code => l_adr_value_segment_code
98527 , p_value_type_code => l_adr_value_type_code
98528 , p_transaction_coa_id => l_adr_transaction_coa_id
98529 , p_accounting_coa_id => l_adr_accounting_coa_id
98530 , p_flexfield_segment_code => l_adr_flexfield_segment_code
98531 , p_flex_value_set_id => l_adr_flex_value_set_id
98532 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
98533 , p_adr_type_code => 'S'
98534 , p_component_type => l_component_type
98535 , p_component_code => l_component_code
98536 , p_component_type_code => l_component_type_code
98537 , p_component_appl_id => l_component_appl_id
98538 , p_amb_context_code => l_amb_context_code
98539 , p_entity_code => 'AP_PAYMENTS'
98540 , p_event_class_code => 'REFUNDS'
98541 , p_side => 'NA'
98542 );
98543
98544 END IF;
98545
98546 l_segment := AcctDerRule_18(
98547 p_application_id => p_application_id
98548 , p_ae_header_id => l_ae_header_id
98549 , p_source_15 => p_source_15
98550 , p_source_15_meaning => p_source_15_meaning
98551 , p_source_38 => p_source_38
98552 , p_source_39 => p_source_39
98553 , x_transaction_coa_id => l_adr_transaction_coa_id
98554 , x_accounting_coa_id => l_adr_accounting_coa_id
98555 , x_flexfield_segment_code => l_adr_flexfield_segment_code
98556 , x_flex_value_set_id => l_adr_flex_value_set_id
98557 , x_value_type_code => l_adr_value_type_code
98558 , x_value_combination_id => l_adr_value_combination_id
98559 , x_value_segment_code => l_adr_value_segment_code
98560 , p_side => 'NA'
98561 , p_override_seg_flag => 'Y'
98562 );
98563
98564 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
98565
98566 xla_ae_lines_pkg.set_segment(
98567 p_to_segment_code => 'GL_ACCOUNT'
98568 , p_segment_value => l_segment
98569 , p_from_segment_code => l_adr_value_segment_code
98570 , p_from_combination_id => l_adr_value_combination_id
98571 , p_value_type_code => l_adr_value_type_code
98572 , p_transaction_coa_id => l_adr_transaction_coa_id
98573 , p_accounting_coa_id => l_adr_accounting_coa_id
98574 , p_flexfield_segment_code => l_adr_flexfield_segment_code
98575 , p_flex_value_set_id => l_adr_flex_value_set_id
98576 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
98577 , p_adr_type_code => 'S'
98578 , p_component_type => l_component_type
98579 , p_component_code => l_component_code
98580 , p_component_type_code => l_component_type_code
98581 , p_component_appl_id => l_component_appl_id
98582 , p_amb_context_code => l_amb_context_code
98583 , p_entity_code => 'AP_PAYMENTS'
98584 , p_event_class_code => 'REFUNDS'
98585 , p_side => 'NA'
98586 );
98587
98588 END IF;
98589
98590 --
98591 --
98592 END IF;
98593 --
98594 -- Bug 4922099
98595 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
98596 (NVL(l_enc_upg_option, 'N') = 'O')
98597 ) AND
98598 (l_bflow_method_code = 'PRIOR_ENTRY')
98599 )
98600 THEN
98601 IF
98602 --
98603 1 = 2
98604 --
98605 THEN
98606 xla_accounting_err_pkg.build_message
98607 (p_appli_s_name => 'XLA'
98608 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
98609 ,p_token_1 => 'LINE_NUMBER'
98610 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
98611 ,p_token_2 => 'LINE_TYPE_NAME'
98612 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
98613 l_component_type
98614 ,l_component_code
98615 ,l_component_type_code
98616 ,l_component_appl_id
98617 ,l_amb_context_code
98618 ,l_entity_code
98619 ,l_event_class_code
98620 )
98621 ,p_token_3 => 'OWNER'
98622 ,p_value_3 => xla_lookups_pkg.get_meaning(
98623 p_lookup_type => 'XLA_OWNER_TYPE'
98627 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
98624 ,p_lookup_code => l_component_type_code
98625 )
98626 ,p_token_4 => 'PRODUCT_NAME'
98628 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
98629 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
98630 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
98631 ,p_ae_header_id => NULL
98632 );
98633
98634 IF (C_LEVEL_ERROR>= g_log_level) THEN
98635 trace
98636 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
98637 ,p_level => C_LEVEL_ERROR
98638 ,p_module => l_log_module);
98639 END IF;
98640 END IF;
98641 END IF;
98642 --
98643 --
98644 ------------------------------------------------------------------------------------------------
98645 -- 4219869 Business Flow
98646 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
98647 -- Prior Entry. Currently, the following code is always generated.
98648 ------------------------------------------------------------------------------------------------
98649 XLA_AE_LINES_PKG.ValidateCurrentLine;
98650
98651 ------------------------------------------------------------------------------------
98652 -- 4219869 Business Flow
98653 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
98654 ------------------------------------------------------------------------------------
98655 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
98656
98657 ----------------------------------------------------------------------------------
98658 -- 4219869 Business Flow
98659 -- Update journal entry status -- Need to generate this within IF <condition>
98660 ----------------------------------------------------------------------------------
98661 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
98662 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
98663 ,p_balance_type_code => l_balance_type_code
98664 );
98665
98666 -------------------------------------------------------------------------------------------
98667 -- 4262811 - Generate the Accrual Reversal lines
98668 -------------------------------------------------------------------------------------------
98669 BEGIN
98670 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
98671 (g_array_event(p_event_id).array_value_num('header_index'));
98672 IF l_acc_rev_flag IS NULL THEN
98673 l_acc_rev_flag := 'N';
98674 END IF;
98675 EXCEPTION
98676 WHEN OTHERS THEN
98677 l_acc_rev_flag := 'N';
98678 END;
98679 --
98680 IF (l_acc_rev_flag = 'Y') THEN
98681
98682 -- 4645092 ------------------------------------------------------------------------------
98683 -- To allow MPA report to determine if it should generate report process
98684 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
98685 ------------------------------------------------------------------------------------------
98686
98687 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
98688 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
98689 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
98690 -- call ADRs
98691 -- Bug 4922099
98692 --
98693 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
98694 (NVL(l_actual_upg_option, 'N') = 'O') OR
98695 (NVL(l_enc_upg_option, 'N') = 'O')
98696 )
98697 THEN
98698 NULL;
98699 --
98700 --
98701
98702 l_ccid := AcctDerRule_39(
98703 p_application_id => p_application_id
98704 , p_ae_header_id => l_ae_header_id
98705 , p_source_15 => p_source_15
98706 , p_source_15_meaning => p_source_15_meaning
98707 , p_source_30 => p_source_30
98708 , p_source_38 => p_source_38
98709 , p_source_39 => p_source_39
98710 , x_transaction_coa_id => l_adr_transaction_coa_id
98711 , x_accounting_coa_id => l_adr_accounting_coa_id
98712 , x_value_type_code => l_adr_value_type_code
98713 , p_side => 'NA'
98714 );
98715
98716 xla_ae_lines_pkg.set_ccid(
98717 p_code_combination_id => l_ccid
98718 , p_value_type_code => l_adr_value_type_code
98719 , p_transaction_coa_id => l_adr_transaction_coa_id
98720 , p_accounting_coa_id => l_adr_accounting_coa_id
98721 , p_adr_code => 'AP_REAL_LOSS'
98722 , p_adr_type_code => 'S'
98723 , p_component_type => l_component_type
98724 , p_component_code => l_component_code
98725 , p_component_type_code => l_component_type_code
98726 , p_component_appl_id => l_component_appl_id
98727 , p_amb_context_code => l_amb_context_code
98731
98728 , p_side => 'NA'
98729 );
98730
98732 l_segment := AcctDerRule_22(
98733 p_application_id => p_application_id
98734 , p_ae_header_id => l_ae_header_id
98735 , p_source_15 => p_source_15
98736 , p_source_15_meaning => p_source_15_meaning
98737 , p_source_30 => p_source_30
98738 , x_transaction_coa_id => l_adr_transaction_coa_id
98739 , x_accounting_coa_id => l_adr_accounting_coa_id
98740 , x_flexfield_segment_code => l_adr_flexfield_segment_code
98741 , x_flex_value_set_id => l_adr_flex_value_set_id
98742 , x_value_type_code => l_adr_value_type_code
98743 , x_value_combination_id => l_adr_value_combination_id
98744 , x_value_segment_code => l_adr_value_segment_code
98745 , p_side => 'NA'
98746 , p_override_seg_flag => 'Y'
98747 );
98748
98749 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
98750
98751 xla_ae_lines_pkg.set_segment(
98752 p_to_segment_code => 'GL_BALANCING'
98753 , p_segment_value => l_segment
98754 , p_from_segment_code => l_adr_value_segment_code
98755 , p_from_combination_id => l_adr_value_combination_id
98756 , p_value_type_code => l_adr_value_type_code
98757 , p_transaction_coa_id => l_adr_transaction_coa_id
98758 , p_accounting_coa_id => l_adr_accounting_coa_id
98759 , p_flexfield_segment_code => l_adr_flexfield_segment_code
98760 , p_flex_value_set_id => l_adr_flex_value_set_id
98761 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
98762 , p_adr_type_code => 'S'
98763 , p_component_type => l_component_type
98764 , p_component_code => l_component_code
98765 , p_component_type_code => l_component_type_code
98766 , p_component_appl_id => l_component_appl_id
98767 , p_amb_context_code => l_amb_context_code
98768 , p_entity_code => 'AP_PAYMENTS'
98769 , p_event_class_code => 'REFUNDS'
98770 , p_side => 'NA'
98771 );
98772
98773 END IF;
98774
98775 l_segment := AcctDerRule_18(
98776 p_application_id => p_application_id
98777 , p_ae_header_id => l_ae_header_id
98778 , p_source_15 => p_source_15
98779 , p_source_15_meaning => p_source_15_meaning
98780 , p_source_38 => p_source_38
98781 , p_source_39 => p_source_39
98782 , x_transaction_coa_id => l_adr_transaction_coa_id
98783 , x_accounting_coa_id => l_adr_accounting_coa_id
98784 , x_flexfield_segment_code => l_adr_flexfield_segment_code
98785 , x_flex_value_set_id => l_adr_flex_value_set_id
98786 , x_value_type_code => l_adr_value_type_code
98787 , x_value_combination_id => l_adr_value_combination_id
98788 , x_value_segment_code => l_adr_value_segment_code
98789 , p_side => 'NA'
98790 , p_override_seg_flag => 'Y'
98791 );
98792
98793 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
98794
98795 xla_ae_lines_pkg.set_segment(
98796 p_to_segment_code => 'GL_ACCOUNT'
98797 , p_segment_value => l_segment
98798 , p_from_segment_code => l_adr_value_segment_code
98799 , p_from_combination_id => l_adr_value_combination_id
98800 , p_value_type_code => l_adr_value_type_code
98801 , p_transaction_coa_id => l_adr_transaction_coa_id
98802 , p_accounting_coa_id => l_adr_accounting_coa_id
98803 , p_flexfield_segment_code => l_adr_flexfield_segment_code
98804 , p_flex_value_set_id => l_adr_flex_value_set_id
98805 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
98806 , p_adr_type_code => 'S'
98807 , p_component_type => l_component_type
98808 , p_component_code => l_component_code
98809 , p_component_type_code => l_component_type_code
98810 , p_component_appl_id => l_component_appl_id
98811 , p_amb_context_code => l_amb_context_code
98812 , p_entity_code => 'AP_PAYMENTS'
98813 , p_event_class_code => 'REFUNDS'
98814 , p_side => 'NA'
98815 );
98816
98817 END IF;
98818
98819 --
98820 --
98821 END IF;
98822
98823 --
98824 -- Update the line information that should be overwritten
98825 --
98826 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
98827 p_header_num => 1);
98828 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
98829
98830 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
98831
98832 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
98833 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
98834 END IF;
98835
98836 --
98837 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
98838 --
98839 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
98843 -- 4262811a Switch Sign
98840 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
98841 ELSE
98842 ---------------------------------------------------------------------------------------------------
98844 ---------------------------------------------------------------------------------------------------
98845 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
98846 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
98847 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
98848 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
98849 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
98850 -- 5132302
98851 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
98852 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
98853
98854 END IF;
98855
98856 -- 4955764
98857 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
98858 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
98859
98860
98861 XLA_AE_LINES_PKG.ValidateCurrentLine;
98862 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
98863
98864 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
98865 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
98866 ,p_balance_type_code => l_balance_type_code);
98867
98868 END IF;
98869
98870 -----------------------------------------------------------------------------------------
98871 -- 4262811 Multiperiod Accounting
98872 -----------------------------------------------------------------------------------------
98873 -- No MPA option is assigned.
98874
98875
98876 END IF;
98877 END IF;
98878 --
98879
98880 --
98881 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
98882 trace
98883 (p_msg => 'END of AcctLineType_169'
98884 ,p_level => C_LEVEL_PROCEDURE
98885 ,p_module => l_log_module);
98886 END IF;
98887 --
98888 EXCEPTION
98889 WHEN xla_exceptions_pkg.application_exception THEN
98890 RAISE;
98891 WHEN OTHERS THEN
98892 xla_exceptions_pkg.raise_message
98893 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_169');
98894 END AcctLineType_169;
98895 --
98896
98897 ---------------------------------------
98898 --
98899 -- PRIVATE FUNCTION
98900 -- AcctLineType_170
98901 --
98902 ---------------------------------------
98903 PROCEDURE AcctLineType_170 (
98904 p_application_id IN NUMBER
98905 ,p_event_id IN NUMBER
98906 ,p_calculate_acctd_flag IN VARCHAR2
98907 ,p_calculate_g_l_flag IN VARCHAR2
98908 ,p_actual_flag IN OUT VARCHAR2
98909 ,p_balance_type_code OUT VARCHAR2
98910 ,p_gain_or_loss_ref OUT VARCHAR2
98911
98912 --Payment Currency Code
98913 , p_source_13 IN VARCHAR2
98914 --Automatic Offsets Value
98915 , p_source_15 IN VARCHAR2
98916 , p_source_15_meaning IN VARCHAR2
98917 --Invoice Distribution Account
98918 , p_source_30 IN NUMBER
98919 --Payables Options Rounding Account
98920 , p_source_49 IN NUMBER
98921 --Accounting Reversal Indicator
98922 , p_source_53 IN VARCHAR2
98923 --Distribution Link Type
98924 , p_source_55 IN VARCHAR2
98925 --Override Accounted Amount Indicator
98926 , p_source_80 IN VARCHAR2
98927 , p_source_80_meaning IN VARCHAR2
98928 --Third Party Type
98929 , p_source_83 IN VARCHAR2
98930 --Invoice Distribution Tax Line Identifier
98931 , p_source_86 IN NUMBER
98932 --Invoice Distribution Summary Tax Line Identifier
98933 , p_source_88 IN NUMBER
98934 --Business Flow Accounts Payable Application Identifier
98935 , p_source_91 IN NUMBER
98936 --When to Account for Payment Option
98937 , p_source_97 IN VARCHAR2
98938 --Payment Distribution Type
98939 , p_source_98 IN VARCHAR2
98940 , p_source_98_meaning IN VARCHAR2
98941 --Payment Distribution Amount
98942 , p_source_99 IN NUMBER
98943 --Business Flow Payment Distribution Type
98944 , p_source_100 IN VARCHAR2
98945 --Business Flow Payment Entity Code
98946 , p_source_101 IN VARCHAR2
98947 --Business Flow Payment Distribution Identifier
98948 , p_source_102 IN NUMBER
98949 --Business Flow Payment Identifier
98950 , p_source_103 IN NUMBER
98951 --Payment Distribution Identifier
98952 , p_source_104 IN NUMBER
98953 --Cleared Exchange Date
98954 , p_source_106 IN DATE
98955 --Cleared Exchange Rate
98956 , p_source_107 IN NUMBER
98957 --Cleared Exchange Rate Type
98958 , p_source_108 IN VARCHAR2
98959 --Payment Supplier Identifier
98960 , p_source_110 IN NUMBER
98961 --Payment Supplier Site Identifier
98962 , p_source_111 IN NUMBER
98963 --Payment Distribution Reversed Identifier
98964 , p_source_112 IN NUMBER
98965 --Payment Maturity Date
98966 , p_source_114 IN DATE
98970 IS
98967 --Payment Distribution (Matured Rate) Ledger Amount
98968 , p_source_121 IN NUMBER
98969 )
98971
98972 l_component_type VARCHAR2(80);
98973 l_component_code VARCHAR2(30);
98974 l_component_type_code VARCHAR2(1);
98975 l_component_appl_id INTEGER;
98976 l_amb_context_code VARCHAR2(30);
98977 l_entity_code VARCHAR2(30);
98978 l_event_class_code VARCHAR2(30);
98979 l_ae_header_id NUMBER;
98980 l_event_type_code VARCHAR2(30);
98981 l_line_definition_code VARCHAR2(30);
98982 l_line_definition_owner_code VARCHAR2(1);
98983 --
98984 -- adr variables
98985 l_segment VARCHAR2(30);
98986 l_ccid NUMBER;
98987 l_adr_transaction_coa_id NUMBER;
98988 l_adr_accounting_coa_id NUMBER;
98989 l_adr_flexfield_segment_code VARCHAR2(30);
98990 l_adr_flex_value_set_id NUMBER;
98991 l_adr_value_type_code VARCHAR2(30);
98992 l_adr_value_combination_id NUMBER;
98993 l_adr_value_segment_code VARCHAR2(30);
98994
98995 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
98996 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
98997 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
98998 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
98999
99000 -- 4262811 Variables ------------------------------------------------------------------------------------------
99001 l_entered_amt_idx NUMBER;
99002 l_accted_amt_idx NUMBER;
99003 l_acc_rev_flag VARCHAR2(1);
99004 l_accrual_line_num NUMBER;
99005 l_tmp_amt NUMBER;
99006 l_acc_rev_natural_side_code VARCHAR2(1);
99007
99008 l_num_entries NUMBER;
99009 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
99010 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
99011 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
99012 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
99013 l_recog_line_1 NUMBER;
99014 l_recog_line_2 NUMBER;
99015
99016 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
99017 l_bflow_applied_to_amt NUMBER; -- 5132302
99018 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
99019
99020 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
99021
99022 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
99023 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
99024
99025 ---------------------------------------------------------------------------------------------------------------
99026
99027
99028 --
99029 -- bulk performance
99030 --
99031 l_balance_type_code VARCHAR2(1);
99032 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
99033 l_log_module VARCHAR2(240);
99034
99035 --
99036 -- Upgrade strategy
99037 --
99038 l_actual_upg_option VARCHAR2(1);
99039 l_enc_upg_option VARCHAR2(1);
99040
99041 --
99042 BEGIN
99043 --
99044 IF g_log_enabled THEN
99045 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_170';
99046 END IF;
99047 --
99048 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
99049
99050 trace
99051 (p_msg => 'BEGIN of AcctLineType_170'
99052 ,p_level => C_LEVEL_PROCEDURE
99053 ,p_module => l_log_module);
99054
99055 END IF;
99056 --
99057 l_component_type := 'AMB_JLT';
99058 l_component_code := 'AP_MAT_CLR_ROUNDING_CLEAR';
99059 l_component_type_code := 'S';
99060 l_component_appl_id := 200;
99061 l_amb_context_code := 'DEFAULT';
99062 l_entity_code := 'AP_PAYMENTS';
99063 l_event_class_code := 'RECONCILED PAYMENTS';
99064 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
99065 l_line_definition_owner_code := 'S';
99066 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
99067 --
99068 l_balance_type_code := 'A';
99069 l_segment := NULL;
99070 l_ccid := NULL;
99071 l_adr_transaction_coa_id := NULL;
99072 l_adr_accounting_coa_id := NULL;
99073 l_adr_flexfield_segment_code := NULL;
99074 l_adr_flex_value_set_id := NULL;
99075 l_adr_value_type_code := NULL;
99076 l_adr_value_combination_id := NULL;
99077 l_adr_value_segment_code := NULL;
99078
99079 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
99080 l_bflow_class_code := ''; -- 4219869 Business Flow
99081 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
99082 l_budgetary_control_flag := 'N';
99083
99084 l_bflow_applied_to_amt_idx := NULL; -- 5132302
99085 l_bflow_applied_to_amt := NULL; -- 5132302
99086 l_entered_amt_idx := NULL; -- 4262811
99087 l_accted_amt_idx := NULL; -- 4262811
99088 l_acc_rev_flag := NULL; -- 4262811
99089 l_accrual_line_num := NULL; -- 4262811
99090 l_tmp_amt := NULL; -- 4262811
99091 --
99092
99096 ') = 'ALWAYS_ALWAYS' OR
99093 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
99094 l_balance_type_code <> 'B' THEN
99095 IF (NVL(p_source_97,'
99097 NVL(p_source_97,'
99098 ') = 'ALWAYS_CLEAR') AND
99099 NVL(p_source_98,'
99100 ') = 'MATURITY TO CLEARING ROUNDING' AND
99101 p_source_114 IS NOT NULL
99102 THEN
99103
99104 --
99105 XLA_AE_LINES_PKG.SetNewLine;
99106
99107 p_balance_type_code := l_balance_type_code;
99108 -- set the flag so later we will know whether the gain loss line needs to be created
99109
99110 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
99111 p_actual_flag :='A';
99112 END IF;
99113
99114 --
99115 -- bulk performance
99116 --
99117 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
99118 p_header_num => 0); -- 4262811
99119 --
99120 -- set accounting line options
99121 --
99122 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
99123 p_natural_side_code => 'D'
99124 , p_gain_or_loss_flag => 'N'
99125 , p_gl_transfer_mode_code => 'S'
99126 , p_acct_entry_type_code => 'A'
99127 , p_switch_side_flag => 'Y'
99128 , p_merge_duplicate_code => 'A'
99129 );
99130 --
99131 l_acc_rev_natural_side_code := 'C'; -- 4262811
99132 --
99133 --
99134 -- set accounting line type info
99135 --
99136 xla_ae_lines_pkg.SetAcctLineType
99137 (p_component_type => l_component_type
99138 ,p_event_type_code => l_event_type_code
99139 ,p_line_definition_owner_code => l_line_definition_owner_code
99140 ,p_line_definition_code => l_line_definition_code
99141 ,p_accounting_line_code => l_component_code
99142 ,p_accounting_line_type_code => l_component_type_code
99143 ,p_accounting_line_appl_id => l_component_appl_id
99144 ,p_amb_context_code => l_amb_context_code
99145 ,p_entity_code => l_entity_code
99146 ,p_event_class_code => l_event_class_code);
99147 --
99148 -- set accounting class
99149 --
99150 xla_ae_lines_pkg.SetAcctClass(
99151 p_accounting_class_code => 'ROUNDING'
99152 , p_ae_header_id => l_ae_header_id
99153 );
99154
99155 --
99156 -- set rounding class
99157 --
99158 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
99159 'ROUNDING';
99160
99161 --
99162 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
99163 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
99164 --
99165 -- bulk performance
99166 --
99167 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
99168
99169 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
99170 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
99171
99172 -- 4955764
99173 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
99174 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
99175
99176 -- 4458381 Public Sector Enh
99177
99178 --
99179 -- set accounting attributes for the line type
99180 --
99181 l_entered_amt_idx := 10;
99182 l_accted_amt_idx := 15;
99183 l_bflow_applied_to_amt_idx := 2; -- 5132302
99184 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
99185 l_rec_acct_attrs.array_char_value(1) := p_source_53;
99186 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
99187 l_rec_acct_attrs.array_num_value(2) := p_source_99;
99188 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
99189 l_rec_acct_attrs.array_num_value(3) := p_source_91;
99190 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
99191 l_rec_acct_attrs.array_char_value(4) := p_source_100;
99192 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
99193 l_rec_acct_attrs.array_char_value(5) := p_source_101;
99194 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
99195 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
99196 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
99197 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
99198 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
99199 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
99200 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
99201 l_rec_acct_attrs.array_char_value(9) := p_source_55;
99202 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
99203 l_rec_acct_attrs.array_num_value(10) := p_source_99;
99204 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
99205 l_rec_acct_attrs.array_char_value(11) := p_source_13;
99206 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
99207 l_rec_acct_attrs.array_date_value(12) := p_source_106;
99208 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
99209 l_rec_acct_attrs.array_num_value(13) := p_source_107;
99213 l_rec_acct_attrs.array_num_value(15) := p_source_121;
99210 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
99211 l_rec_acct_attrs.array_char_value(14) := p_source_108;
99212 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
99214 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
99215 l_rec_acct_attrs.array_char_value(16) := p_source_80;
99216 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
99217 l_rec_acct_attrs.array_num_value(17) := p_source_110;
99218 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
99219 l_rec_acct_attrs.array_num_value(18) := p_source_111;
99220 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
99221 l_rec_acct_attrs.array_char_value(19) := p_source_83;
99222 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
99223 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
99224 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
99225 l_rec_acct_attrs.array_char_value(21) := p_source_55;
99226 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
99227 l_rec_acct_attrs.array_num_value(22) := p_source_86;
99228 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
99229 l_rec_acct_attrs.array_num_value(23) := p_source_86;
99230 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
99231 l_rec_acct_attrs.array_num_value(24) := p_source_88;
99232
99233 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
99234 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
99235
99236 ---------------------------------------------------------------------------------------------------------------
99237 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
99238 ---------------------------------------------------------------------------------------------------------------
99239 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
99240
99241 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
99242 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
99243
99244 IF xla_accounting_cache_pkg.GetValueChar
99245 (p_source_code => 'LEDGER_CATEGORY_CODE'
99246 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
99247 AND l_bflow_method_code = 'PRIOR_ENTRY'
99248 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
99249 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
99250 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
99251 )
99252 THEN
99253 xla_ae_lines_pkg.BflowUpgEntry
99254 (p_business_method_code => l_bflow_method_code
99255 ,p_business_class_code => l_bflow_class_code
99256 ,p_balance_type => l_balance_type_code);
99257 ELSE
99258 NULL;
99259 -- No business flow processing for business flow method of NONE.
99260 END IF;
99261
99262 --
99263 -- call analytical criteria
99264 --
99265
99266 --
99267 -- call description
99268 --
99269 -- No description or it is inherited.
99270 --
99271 -- call ADRs
99272 -- Bug 4922099
99273 --
99274 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
99275 (NVL(l_actual_upg_option, 'N') = 'O') OR
99276 (NVL(l_enc_upg_option, 'N') = 'O')
99277 )
99278 THEN
99279 NULL;
99280 --
99281 --
99282
99283 l_ccid := AcctDerRule_41(
99284 p_application_id => p_application_id
99285 , p_ae_header_id => l_ae_header_id
99286 , p_source_15 => p_source_15
99287 , p_source_15_meaning => p_source_15_meaning
99288 , p_source_30 => p_source_30
99289 , p_source_49 => p_source_49
99290 , x_transaction_coa_id => l_adr_transaction_coa_id
99291 , x_accounting_coa_id => l_adr_accounting_coa_id
99292 , x_value_type_code => l_adr_value_type_code
99293 , p_side => 'NA'
99294 );
99295
99296 xla_ae_lines_pkg.set_ccid(
99297 p_code_combination_id => l_ccid
99298 , p_value_type_code => l_adr_value_type_code
99299 , p_transaction_coa_id => l_adr_transaction_coa_id
99300 , p_accounting_coa_id => l_adr_accounting_coa_id
99301 , p_adr_code => 'AP_ROUNDING'
99302 , p_adr_type_code => 'S'
99303 , p_component_type => l_component_type
99304 , p_component_code => l_component_code
99305 , p_component_type_code => l_component_type_code
99306 , p_component_appl_id => l_component_appl_id
99307 , p_amb_context_code => l_amb_context_code
99308 , p_side => 'NA'
99309 );
99310
99311
99312 --
99313 --
99314 END IF;
99315 --
99316 -- Bug 4922099
99317 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
99318 (NVL(l_enc_upg_option, 'N') = 'O')
99319 ) AND
99320 (l_bflow_method_code = 'PRIOR_ENTRY')
99321 )
99322 THEN
99323 IF
99324 --
99325 1 = 2
99326 --
99327 THEN
99331 ,p_token_1 => 'LINE_NUMBER'
99328 xla_accounting_err_pkg.build_message
99329 (p_appli_s_name => 'XLA'
99330 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
99332 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
99333 ,p_token_2 => 'LINE_TYPE_NAME'
99334 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
99335 l_component_type
99336 ,l_component_code
99337 ,l_component_type_code
99338 ,l_component_appl_id
99339 ,l_amb_context_code
99340 ,l_entity_code
99341 ,l_event_class_code
99342 )
99343 ,p_token_3 => 'OWNER'
99344 ,p_value_3 => xla_lookups_pkg.get_meaning(
99345 p_lookup_type => 'XLA_OWNER_TYPE'
99346 ,p_lookup_code => l_component_type_code
99347 )
99348 ,p_token_4 => 'PRODUCT_NAME'
99349 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
99350 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
99351 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
99352 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
99353 ,p_ae_header_id => NULL
99354 );
99355
99356 IF (C_LEVEL_ERROR>= g_log_level) THEN
99357 trace
99358 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
99359 ,p_level => C_LEVEL_ERROR
99360 ,p_module => l_log_module);
99361 END IF;
99362 END IF;
99363 END IF;
99364 --
99365 --
99366 ------------------------------------------------------------------------------------------------
99367 -- 4219869 Business Flow
99368 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
99369 -- Prior Entry. Currently, the following code is always generated.
99370 ------------------------------------------------------------------------------------------------
99371 XLA_AE_LINES_PKG.ValidateCurrentLine;
99372
99373 ------------------------------------------------------------------------------------
99374 -- 4219869 Business Flow
99375 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
99376 ------------------------------------------------------------------------------------
99377 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
99378
99379 ----------------------------------------------------------------------------------
99380 -- 4219869 Business Flow
99381 -- Update journal entry status -- Need to generate this within IF <condition>
99382 ----------------------------------------------------------------------------------
99383 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
99384 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
99385 ,p_balance_type_code => l_balance_type_code
99386 );
99387
99388 -------------------------------------------------------------------------------------------
99389 -- 4262811 - Generate the Accrual Reversal lines
99390 -------------------------------------------------------------------------------------------
99391 BEGIN
99392 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
99393 (g_array_event(p_event_id).array_value_num('header_index'));
99394 IF l_acc_rev_flag IS NULL THEN
99395 l_acc_rev_flag := 'N';
99396 END IF;
99397 EXCEPTION
99398 WHEN OTHERS THEN
99399 l_acc_rev_flag := 'N';
99400 END;
99401 --
99402 IF (l_acc_rev_flag = 'Y') THEN
99403
99404 -- 4645092 ------------------------------------------------------------------------------
99405 -- To allow MPA report to determine if it should generate report process
99406 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
99407 ------------------------------------------------------------------------------------------
99408
99409 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
99410 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
99411 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
99412 -- call ADRs
99413 -- Bug 4922099
99417 (NVL(l_enc_upg_option, 'N') = 'O')
99414 --
99415 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
99416 (NVL(l_actual_upg_option, 'N') = 'O') OR
99418 )
99419 THEN
99420 NULL;
99421 --
99422 --
99423
99424 l_ccid := AcctDerRule_41(
99425 p_application_id => p_application_id
99426 , p_ae_header_id => l_ae_header_id
99427 , p_source_15 => p_source_15
99428 , p_source_15_meaning => p_source_15_meaning
99429 , p_source_30 => p_source_30
99430 , p_source_49 => p_source_49
99431 , x_transaction_coa_id => l_adr_transaction_coa_id
99432 , x_accounting_coa_id => l_adr_accounting_coa_id
99433 , x_value_type_code => l_adr_value_type_code
99434 , p_side => 'NA'
99435 );
99436
99437 xla_ae_lines_pkg.set_ccid(
99438 p_code_combination_id => l_ccid
99439 , p_value_type_code => l_adr_value_type_code
99440 , p_transaction_coa_id => l_adr_transaction_coa_id
99441 , p_accounting_coa_id => l_adr_accounting_coa_id
99442 , p_adr_code => 'AP_ROUNDING'
99443 , p_adr_type_code => 'S'
99444 , p_component_type => l_component_type
99445 , p_component_code => l_component_code
99446 , p_component_type_code => l_component_type_code
99447 , p_component_appl_id => l_component_appl_id
99448 , p_amb_context_code => l_amb_context_code
99449 , p_side => 'NA'
99450 );
99451
99452
99453 --
99454 --
99455 END IF;
99456
99457 --
99458 -- Update the line information that should be overwritten
99459 --
99460 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
99461 p_header_num => 1);
99462 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
99463
99464 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
99465
99466 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
99467 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
99468 END IF;
99469
99470 --
99471 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
99472 --
99473 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
99474 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
99475 ELSE
99476 ---------------------------------------------------------------------------------------------------
99477 -- 4262811a Switch Sign
99478 ---------------------------------------------------------------------------------------------------
99479 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
99480 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
99481 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
99482 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
99483 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
99484 -- 5132302
99485 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
99486 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
99487
99488 END IF;
99489
99490 -- 4955764
99491 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
99492 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
99493
99494
99495 XLA_AE_LINES_PKG.ValidateCurrentLine;
99496 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
99497
99498 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
99499 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
99500 ,p_balance_type_code => l_balance_type_code);
99501
99502 END IF;
99503
99504 -----------------------------------------------------------------------------------------
99505 -- 4262811 Multiperiod Accounting
99506 -----------------------------------------------------------------------------------------
99507 -- No MPA option is assigned.
99508
99509
99510 END IF;
99511 END IF;
99512 --
99513
99514 --
99515 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
99516 trace
99517 (p_msg => 'END of AcctLineType_170'
99518 ,p_level => C_LEVEL_PROCEDURE
99519 ,p_module => l_log_module);
99520 END IF;
99521 --
99522 EXCEPTION
99523 WHEN xla_exceptions_pkg.application_exception THEN
99524 RAISE;
99525 WHEN OTHERS THEN
99526 xla_exceptions_pkg.raise_message
99527 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_170');
99528 END AcctLineType_170;
99529 --
99530
99531 ---------------------------------------
99532 --
99533 -- PRIVATE FUNCTION
99534 -- AcctLineType_171
99535 --
99536 ---------------------------------------
99537 PROCEDURE AcctLineType_171 (
99541 ,p_calculate_g_l_flag IN VARCHAR2
99538 p_application_id IN NUMBER
99539 ,p_event_id IN NUMBER
99540 ,p_calculate_acctd_flag IN VARCHAR2
99542 ,p_actual_flag IN OUT VARCHAR2
99543 ,p_balance_type_code OUT VARCHAR2
99544 ,p_gain_or_loss_ref OUT VARCHAR2
99545
99546 --Invoice Distribution Description
99547 , p_source_1 IN VARCHAR2
99548 --Invoice Distribution Ledger Amount
99549 , p_source_21 IN NUMBER
99550 --Invoice Distribution Account
99551 , p_source_30 IN NUMBER
99552 --Invoice Distribution Type
99553 , p_source_33 IN VARCHAR2
99554 , p_source_33_meaning IN VARCHAR2
99555 --Accounting Reversal Indicator
99556 , p_source_53 IN VARCHAR2
99557 --Distribution Link Type
99558 , p_source_55 IN VARCHAR2
99559 --Allocation to Main Distribution Identifier
99560 , p_source_57 IN NUMBER
99561 --Invoice Identifier
99562 , p_source_58 IN NUMBER
99563 --Invoice Distribution Identifier
99564 , p_source_64 IN NUMBER
99565 --Payables Encumbrance Upgrade Credit Account
99566 , p_source_65 IN NUMBER
99567 --Payables Encumbrance Upgrade Credit Amount
99568 , p_source_66 IN NUMBER
99569 --Invoice Currency Code
99570 , p_source_67 IN VARCHAR2
99571 --Payables Encumbrance Upgrade Credit Base Amount
99572 , p_source_68 IN NUMBER
99573 --Payables Encumbrance Upgrade Debit Account
99574 , p_source_69 IN NUMBER
99575 --Payables Encumbrance Upgrade Debit Amount
99576 , p_source_70 IN NUMBER
99577 --Payables Encumbrance Upgrade Debit Base Amount
99578 , p_source_71 IN NUMBER
99579 --Payables Encumbrance Upgrade Option
99580 , p_source_72 IN VARCHAR2
99581 --Invoice Distribution Amount
99582 , p_source_73 IN NUMBER
99583 --Deferred Accounting End Date
99584 , p_source_77 IN DATE
99585 --Deferred Accounting Option
99586 , p_source_78 IN VARCHAR2
99587 --Deferred Accounting Start Date
99588 , p_source_79 IN DATE
99589 --Override Accounted Amount Indicator
99590 , p_source_80 IN VARCHAR2
99591 , p_source_80_meaning IN VARCHAR2
99592 --Invoice Supplier Identifier
99593 , p_source_81 IN NUMBER
99594 --Invoice Supplier Site Identifier
99595 , p_source_82 IN NUMBER
99596 --Third Party Type
99597 , p_source_83 IN VARCHAR2
99598 --Parent Reversal Identifier
99599 , p_source_84 IN NUMBER
99600 --Invoice Distribution Statistical Amount
99601 , p_source_85 IN NUMBER
99602 --Invoice Distribution Tax Line Identifier
99603 , p_source_86 IN NUMBER
99604 --Invoice Distribution Tax Distribution Identifier from Tax
99605 , p_source_87 IN NUMBER
99606 --Invoice Distribution Summary Tax Line Identifier
99607 , p_source_88 IN NUMBER
99608 --Payables Upgrade Credit Encumbrance Type Identifier
99609 , p_source_89 IN NUMBER
99610 --Payables Upgrade Debit Encumbrance Type Identifier
99611 , p_source_90 IN NUMBER
99612 --Business Flow Accounts Payable Application Identifier
99613 , p_source_91 IN NUMBER
99614 --Business Flow Invoice Distribution Type
99615 , p_source_92 IN VARCHAR2
99616 --Business Flow Invoice Entity Code
99617 , p_source_93 IN VARCHAR2
99618 --Business Flow Invoice Distribution Identifier
99619 , p_source_94 IN NUMBER
99620 --Business Flow Invoice Identifier
99621 , p_source_95 IN NUMBER
99622 --Invoice Exchange Date
99623 , p_source_143 IN DATE
99624 --Invoice Exchange Rate
99625 , p_source_144 IN NUMBER
99626 --Invoice Exchange Rate Type
99627 , p_source_145 IN VARCHAR2
99628 )
99629 IS
99630
99631 l_component_type VARCHAR2(80);
99632 l_component_code VARCHAR2(30);
99633 l_component_type_code VARCHAR2(1);
99634 l_component_appl_id INTEGER;
99635 l_amb_context_code VARCHAR2(30);
99636 l_entity_code VARCHAR2(30);
99637 l_event_class_code VARCHAR2(30);
99638 l_ae_header_id NUMBER;
99639 l_event_type_code VARCHAR2(30);
99640 l_line_definition_code VARCHAR2(30);
99641 l_line_definition_owner_code VARCHAR2(1);
99642 --
99643 -- adr variables
99644 l_segment VARCHAR2(30);
99645 l_ccid NUMBER;
99646 l_adr_transaction_coa_id NUMBER;
99647 l_adr_accounting_coa_id NUMBER;
99648 l_adr_flexfield_segment_code VARCHAR2(30);
99649 l_adr_flex_value_set_id NUMBER;
99650 l_adr_value_type_code VARCHAR2(30);
99651 l_adr_value_combination_id NUMBER;
99652 l_adr_value_segment_code VARCHAR2(30);
99653
99654 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
99655 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
99656 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
99657 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
99658
99659 -- 4262811 Variables ------------------------------------------------------------------------------------------
99660 l_entered_amt_idx NUMBER;
99661 l_accted_amt_idx NUMBER;
99662 l_acc_rev_flag VARCHAR2(1);
99663 l_accrual_line_num NUMBER;
99664 l_tmp_amt NUMBER;
99668 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
99665 l_acc_rev_natural_side_code VARCHAR2(1);
99666
99667 l_num_entries NUMBER;
99669 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
99670 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
99671 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
99672 l_recog_line_1 NUMBER;
99673 l_recog_line_2 NUMBER;
99674
99675 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
99676 l_bflow_applied_to_amt NUMBER; -- 5132302
99677 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
99678
99679 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
99680
99681 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
99682 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
99683
99684 ---------------------------------------------------------------------------------------------------------------
99685
99686
99687 --
99688 -- bulk performance
99689 --
99690 l_balance_type_code VARCHAR2(1);
99691 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
99692 l_log_module VARCHAR2(240);
99693
99694 --
99695 -- Upgrade strategy
99696 --
99697 l_actual_upg_option VARCHAR2(1);
99698 l_enc_upg_option VARCHAR2(1);
99699
99700 --
99701 BEGIN
99702 --
99703 IF g_log_enabled THEN
99704 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_171';
99705 END IF;
99706 --
99707 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
99708
99709 trace
99710 (p_msg => 'BEGIN of AcctLineType_171'
99711 ,p_level => C_LEVEL_PROCEDURE
99712 ,p_module => l_log_module);
99713
99714 END IF;
99715 --
99716 l_component_type := 'AMB_JLT';
99717 l_component_code := 'AP_MISC_EXPENSE_CM';
99718 l_component_type_code := 'S';
99719 l_component_appl_id := 200;
99720 l_amb_context_code := 'DEFAULT';
99721 l_entity_code := 'AP_INVOICES';
99722 l_event_class_code := 'CREDIT MEMOS';
99723 l_event_type_code := 'CREDIT MEMOS_ALL';
99724 l_line_definition_owner_code := 'S';
99725 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
99726 --
99727 l_balance_type_code := 'A';
99728 l_segment := NULL;
99729 l_ccid := NULL;
99730 l_adr_transaction_coa_id := NULL;
99731 l_adr_accounting_coa_id := NULL;
99732 l_adr_flexfield_segment_code := NULL;
99733 l_adr_flex_value_set_id := NULL;
99734 l_adr_value_type_code := NULL;
99735 l_adr_value_combination_id := NULL;
99736 l_adr_value_segment_code := NULL;
99737
99738 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
99739 l_bflow_class_code := ''; -- 4219869 Business Flow
99740 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
99741 l_budgetary_control_flag := 'N';
99742
99743 l_bflow_applied_to_amt_idx := NULL; -- 5132302
99744 l_bflow_applied_to_amt := NULL; -- 5132302
99745 l_entered_amt_idx := NULL; -- 4262811
99746 l_accted_amt_idx := NULL; -- 4262811
99747 l_acc_rev_flag := NULL; -- 4262811
99748 l_accrual_line_num := NULL; -- 4262811
99749 l_tmp_amt := NULL; -- 4262811
99750 --
99751
99752 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
99753 l_balance_type_code <> 'B' THEN
99754 IF NVL(p_source_33,'
99755 ') = 'MISCELLANEOUS'
99756 THEN
99757
99758 --
99759 XLA_AE_LINES_PKG.SetNewLine;
99760
99761 p_balance_type_code := l_balance_type_code;
99762 -- set the flag so later we will know whether the gain loss line needs to be created
99763
99764 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
99765 p_actual_flag :='A';
99766 END IF;
99767
99768 --
99769 -- bulk performance
99770 --
99771 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
99772 p_header_num => 0); -- 4262811
99773 --
99774 -- set accounting line options
99775 --
99776 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
99777 p_natural_side_code => 'D'
99778 , p_gain_or_loss_flag => 'N'
99779 , p_gl_transfer_mode_code => 'S'
99780 , p_acct_entry_type_code => 'A'
99781 , p_switch_side_flag => 'Y'
99782 , p_merge_duplicate_code => 'A'
99783 );
99784 --
99785 l_acc_rev_natural_side_code := 'C'; -- 4262811
99786 --
99787 --
99788 -- set accounting line type info
99789 --
99790 xla_ae_lines_pkg.SetAcctLineType
99791 (p_component_type => l_component_type
99792 ,p_event_type_code => l_event_type_code
99793 ,p_line_definition_owner_code => l_line_definition_owner_code
99794 ,p_line_definition_code => l_line_definition_code
99795 ,p_accounting_line_code => l_component_code
99796 ,p_accounting_line_type_code => l_component_type_code
99797 ,p_accounting_line_appl_id => l_component_appl_id
99801 --
99798 ,p_amb_context_code => l_amb_context_code
99799 ,p_entity_code => l_entity_code
99800 ,p_event_class_code => l_event_class_code);
99802 -- set accounting class
99803 --
99804 xla_ae_lines_pkg.SetAcctClass(
99805 p_accounting_class_code => 'MISCELLANEOUS EXPENSE'
99806 , p_ae_header_id => l_ae_header_id
99807 );
99808
99809 --
99810 -- set rounding class
99811 --
99812 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
99813 'MISCELLANEOUS EXPENSE';
99814
99815 --
99816 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
99817 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
99818 --
99819 -- bulk performance
99820 --
99821 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
99822
99823 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
99824 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
99825
99826 -- 4955764
99827 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
99828 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
99829
99830 -- 4458381 Public Sector Enh
99831
99832 --
99833 -- set accounting attributes for the line type
99834 --
99835 l_entered_amt_idx := 23;
99836 l_accted_amt_idx := 28;
99837 l_bflow_applied_to_amt_idx := NULL; -- 5132302
99838 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
99839 l_rec_acct_attrs.array_char_value(1) := p_source_53;
99840 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
99841 l_rec_acct_attrs.array_num_value(2) :=
99842 xla_ae_sources_pkg.GetSystemSourceNum(
99843 p_source_code => 'XLA_EVENT_APPL_ID'
99844 , p_source_type_code => 'Y'
99845 , p_source_application_id => 602
99846 );
99847 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
99848 l_rec_acct_attrs.array_char_value(3) := p_source_55;
99849 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
99850 l_rec_acct_attrs.array_char_value(4) :=
99851 xla_ae_sources_pkg.GetSystemSourceChar(
99852 p_source_code => 'XLA_ENTITY_CODE'
99853 , p_source_type_code => 'Y'
99854 , p_source_application_id => 602
99855 );
99856 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
99857 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
99858 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
99859 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
99860 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
99861 l_rec_acct_attrs.array_num_value(7) := p_source_91;
99862 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
99863 l_rec_acct_attrs.array_char_value(8) := p_source_92;
99864 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
99865 l_rec_acct_attrs.array_char_value(9) := p_source_93;
99866 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
99867 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
99868 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
99869 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
99870 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
99871 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
99872 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
99873 l_rec_acct_attrs.array_char_value(13) := p_source_55;
99874 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
99875 l_rec_acct_attrs.array_num_value(14) := p_source_65;
99876 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
99877 l_rec_acct_attrs.array_num_value(15) := p_source_66;
99878 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
99879 l_rec_acct_attrs.array_char_value(16) := p_source_67;
99880 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
99881 l_rec_acct_attrs.array_num_value(17) := p_source_68;
99882 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
99883 l_rec_acct_attrs.array_num_value(18) := p_source_69;
99884 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
99885 l_rec_acct_attrs.array_num_value(19) := p_source_70;
99886 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
99887 l_rec_acct_attrs.array_char_value(20) := p_source_67;
99888 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
99889 l_rec_acct_attrs.array_num_value(21) := p_source_71;
99890 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
99891 l_rec_acct_attrs.array_char_value(22) := p_source_72;
99892 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
99893 l_rec_acct_attrs.array_num_value(23) := p_source_73;
99894 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
99895 l_rec_acct_attrs.array_char_value(24) := p_source_67;
99896 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
99897 l_rec_acct_attrs.array_date_value(25) := p_source_143;
99898 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
99902 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
99899 l_rec_acct_attrs.array_num_value(26) := p_source_144;
99900 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
99901 l_rec_acct_attrs.array_char_value(27) := p_source_145;
99903 l_rec_acct_attrs.array_num_value(28) := p_source_21;
99904 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
99905 l_rec_acct_attrs.array_date_value(29) := p_source_77;
99906 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
99907 l_rec_acct_attrs.array_char_value(30) := p_source_78;
99908 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
99909 l_rec_acct_attrs.array_date_value(31) := p_source_79;
99910 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
99911 l_rec_acct_attrs.array_char_value(32) := p_source_80;
99912 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
99913 l_rec_acct_attrs.array_num_value(33) := p_source_81;
99914 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
99915 l_rec_acct_attrs.array_num_value(34) := p_source_82;
99916 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
99917 l_rec_acct_attrs.array_char_value(35) := p_source_83;
99918 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
99919 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
99920 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
99921 l_rec_acct_attrs.array_char_value(37) := p_source_55;
99922 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
99923 l_rec_acct_attrs.array_num_value(38) := p_source_85;
99924 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
99925 l_rec_acct_attrs.array_num_value(39) := p_source_86;
99926 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
99927 l_rec_acct_attrs.array_num_value(40) := p_source_87;
99928 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
99929 l_rec_acct_attrs.array_num_value(41) := p_source_88;
99930 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
99931 l_rec_acct_attrs.array_num_value(42) := p_source_89;
99932 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
99933 l_rec_acct_attrs.array_num_value(43) := p_source_90;
99934
99935 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
99936 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
99937
99938 ---------------------------------------------------------------------------------------------------------------
99939 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
99940 ---------------------------------------------------------------------------------------------------------------
99941 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
99942
99943 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
99944 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
99945
99946 IF xla_accounting_cache_pkg.GetValueChar
99947 (p_source_code => 'LEDGER_CATEGORY_CODE'
99948 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
99949 AND l_bflow_method_code = 'PRIOR_ENTRY'
99950 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
99951 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
99952 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
99953 )
99954 THEN
99955 xla_ae_lines_pkg.BflowUpgEntry
99956 (p_business_method_code => l_bflow_method_code
99957 ,p_business_class_code => l_bflow_class_code
99958 ,p_balance_type => l_balance_type_code);
99959 ELSE
99960 NULL;
99961 -- No business flow processing for business flow method of NONE.
99962 END IF;
99963
99964 --
99965 -- call analytical criteria
99966 --
99967
99968 --
99969 -- call description
99970 --
99971
99972 xla_ae_lines_pkg.SetLineDescription(
99973 p_ae_header_id => l_ae_header_id
99974 ,p_description => Description_1 (
99975 p_application_id => p_application_id
99976 , p_ae_header_id => l_ae_header_id
99977 , p_source_1 => p_source_1
99978 )
99979 );
99980
99981
99982 --
99983 -- call ADRs
99984 -- Bug 4922099
99985 --
99986 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
99987 (NVL(l_actual_upg_option, 'N') = 'O') OR
99988 (NVL(l_enc_upg_option, 'N') = 'O')
99989 )
99990 THEN
99991 NULL;
99992 --
99993 --
99994
99995 l_ccid := AcctDerRule_33(
99996 p_application_id => p_application_id
99997 , p_ae_header_id => l_ae_header_id
99998 , p_source_30 => p_source_30
99999 , x_transaction_coa_id => l_adr_transaction_coa_id
100000 , x_accounting_coa_id => l_adr_accounting_coa_id
100001 , x_value_type_code => l_adr_value_type_code
100002 , p_side => 'NA'
100003 );
100004
100005 xla_ae_lines_pkg.set_ccid(
100006 p_code_combination_id => l_ccid
100007 , p_value_type_code => l_adr_value_type_code
100011 , p_adr_type_code => 'S'
100008 , p_transaction_coa_id => l_adr_transaction_coa_id
100009 , p_accounting_coa_id => l_adr_accounting_coa_id
100010 , p_adr_code => 'AP_INVOICE_DIST'
100012 , p_component_type => l_component_type
100013 , p_component_code => l_component_code
100014 , p_component_type_code => l_component_type_code
100015 , p_component_appl_id => l_component_appl_id
100016 , p_amb_context_code => l_amb_context_code
100017 , p_side => 'NA'
100018 );
100019
100020
100021 --
100022 --
100023 END IF;
100024 --
100025 -- Bug 4922099
100026 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
100027 (NVL(l_enc_upg_option, 'N') = 'O')
100028 ) AND
100029 (l_bflow_method_code = 'PRIOR_ENTRY')
100030 )
100031 THEN
100032 IF
100033 --
100034 1 = 2
100035 --
100036 THEN
100037 xla_accounting_err_pkg.build_message
100038 (p_appli_s_name => 'XLA'
100039 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
100040 ,p_token_1 => 'LINE_NUMBER'
100041 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
100042 ,p_token_2 => 'LINE_TYPE_NAME'
100043 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
100044 l_component_type
100045 ,l_component_code
100046 ,l_component_type_code
100047 ,l_component_appl_id
100048 ,l_amb_context_code
100049 ,l_entity_code
100050 ,l_event_class_code
100051 )
100052 ,p_token_3 => 'OWNER'
100053 ,p_value_3 => xla_lookups_pkg.get_meaning(
100054 p_lookup_type => 'XLA_OWNER_TYPE'
100055 ,p_lookup_code => l_component_type_code
100056 )
100057 ,p_token_4 => 'PRODUCT_NAME'
100058 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
100059 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
100060 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
100061 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
100062 ,p_ae_header_id => NULL
100063 );
100064
100065 IF (C_LEVEL_ERROR>= g_log_level) THEN
100066 trace
100067 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
100068 ,p_level => C_LEVEL_ERROR
100069 ,p_module => l_log_module);
100070 END IF;
100071 END IF;
100072 END IF;
100073 --
100074 --
100075 ------------------------------------------------------------------------------------------------
100076 -- 4219869 Business Flow
100077 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
100078 -- Prior Entry. Currently, the following code is always generated.
100079 ------------------------------------------------------------------------------------------------
100080 XLA_AE_LINES_PKG.ValidateCurrentLine;
100081
100082 ------------------------------------------------------------------------------------
100083 -- 4219869 Business Flow
100084 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
100085 ------------------------------------------------------------------------------------
100086 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
100087
100088 ----------------------------------------------------------------------------------
100089 -- 4219869 Business Flow
100090 -- Update journal entry status -- Need to generate this within IF <condition>
100091 ----------------------------------------------------------------------------------
100092 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
100093 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
100094 ,p_balance_type_code => l_balance_type_code
100095 );
100096
100097 -------------------------------------------------------------------------------------------
100098 -- 4262811 - Generate the Accrual Reversal lines
100099 -------------------------------------------------------------------------------------------
100100 BEGIN
100101 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
100105 END IF;
100102 (g_array_event(p_event_id).array_value_num('header_index'));
100103 IF l_acc_rev_flag IS NULL THEN
100104 l_acc_rev_flag := 'N';
100106 EXCEPTION
100107 WHEN OTHERS THEN
100108 l_acc_rev_flag := 'N';
100109 END;
100110 --
100111 IF (l_acc_rev_flag = 'Y') THEN
100112
100113 -- 4645092 ------------------------------------------------------------------------------
100114 -- To allow MPA report to determine if it should generate report process
100115 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
100116 ------------------------------------------------------------------------------------------
100117
100118 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
100119 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
100120 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
100121 -- call ADRs
100122 -- Bug 4922099
100123 --
100124 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
100125 (NVL(l_actual_upg_option, 'N') = 'O') OR
100126 (NVL(l_enc_upg_option, 'N') = 'O')
100127 )
100128 THEN
100129 NULL;
100130 --
100131 --
100132
100133 l_ccid := AcctDerRule_33(
100134 p_application_id => p_application_id
100135 , p_ae_header_id => l_ae_header_id
100136 , p_source_30 => p_source_30
100137 , x_transaction_coa_id => l_adr_transaction_coa_id
100138 , x_accounting_coa_id => l_adr_accounting_coa_id
100139 , x_value_type_code => l_adr_value_type_code
100140 , p_side => 'NA'
100141 );
100142
100143 xla_ae_lines_pkg.set_ccid(
100144 p_code_combination_id => l_ccid
100145 , p_value_type_code => l_adr_value_type_code
100146 , p_transaction_coa_id => l_adr_transaction_coa_id
100147 , p_accounting_coa_id => l_adr_accounting_coa_id
100148 , p_adr_code => 'AP_INVOICE_DIST'
100149 , p_adr_type_code => 'S'
100150 , p_component_type => l_component_type
100151 , p_component_code => l_component_code
100152 , p_component_type_code => l_component_type_code
100153 , p_component_appl_id => l_component_appl_id
100154 , p_amb_context_code => l_amb_context_code
100155 , p_side => 'NA'
100156 );
100157
100158
100159 --
100160 --
100161 END IF;
100162
100163 --
100164 -- Update the line information that should be overwritten
100165 --
100166 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
100167 p_header_num => 1);
100168 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
100169
100170 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
100171
100172 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
100173 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
100174 END IF;
100175
100176 --
100177 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
100178 --
100179 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
100180 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
100181 ELSE
100182 ---------------------------------------------------------------------------------------------------
100183 -- 4262811a Switch Sign
100184 ---------------------------------------------------------------------------------------------------
100185 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
100186 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
100187 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
100188 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
100189 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
100190 -- 5132302
100191 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
100192 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
100193
100194 END IF;
100195
100196 -- 4955764
100197 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
100198 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
100199
100200
100201 XLA_AE_LINES_PKG.ValidateCurrentLine;
100202 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
100203
100204 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
100205 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
100206 ,p_balance_type_code => l_balance_type_code);
100207
100208 END IF;
100209
100210 -----------------------------------------------------------------------------------------
100211 -- 4262811 Multiperiod Accounting
100212 -----------------------------------------------------------------------------------------
100213 -- No MPA option is assigned.
100214
100215
100216 END IF;
100217 END IF;
100218 --
100222 trace
100219
100220 --
100221 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
100223 (p_msg => 'END of AcctLineType_171'
100224 ,p_level => C_LEVEL_PROCEDURE
100225 ,p_module => l_log_module);
100226 END IF;
100227 --
100228 EXCEPTION
100229 WHEN xla_exceptions_pkg.application_exception THEN
100230 RAISE;
100231 WHEN OTHERS THEN
100232 xla_exceptions_pkg.raise_message
100233 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_171');
100234 END AcctLineType_171;
100235 --
100236
100237 ---------------------------------------
100238 --
100239 -- PRIVATE FUNCTION
100240 -- AcctLineType_172
100241 --
100242 ---------------------------------------
100243 PROCEDURE AcctLineType_172 (
100244 p_application_id IN NUMBER
100245 ,p_event_id IN NUMBER
100246 ,p_calculate_acctd_flag IN VARCHAR2
100247 ,p_calculate_g_l_flag IN VARCHAR2
100248 ,p_actual_flag IN OUT VARCHAR2
100249 ,p_balance_type_code OUT VARCHAR2
100250 ,p_gain_or_loss_ref OUT VARCHAR2
100251
100252 --Invoice Distribution Description
100253 , p_source_1 IN VARCHAR2
100254 --Invoice Distribution Ledger Amount
100255 , p_source_21 IN NUMBER
100256 --Invoice Distribution Account
100257 , p_source_30 IN NUMBER
100258 --Invoice Distribution Type
100259 , p_source_33 IN VARCHAR2
100260 , p_source_33_meaning IN VARCHAR2
100261 --Accounting Reversal Indicator
100262 , p_source_53 IN VARCHAR2
100263 --Distribution Link Type
100264 , p_source_55 IN VARCHAR2
100265 --Allocation to Main Distribution Identifier
100266 , p_source_57 IN NUMBER
100267 --Invoice Identifier
100268 , p_source_58 IN NUMBER
100269 --Invoice Distribution Identifier
100270 , p_source_64 IN NUMBER
100271 --Payables Encumbrance Upgrade Credit Account
100272 , p_source_65 IN NUMBER
100273 --Payables Encumbrance Upgrade Credit Amount
100274 , p_source_66 IN NUMBER
100275 --Invoice Currency Code
100276 , p_source_67 IN VARCHAR2
100277 --Payables Encumbrance Upgrade Credit Base Amount
100278 , p_source_68 IN NUMBER
100279 --Payables Encumbrance Upgrade Debit Account
100280 , p_source_69 IN NUMBER
100281 --Payables Encumbrance Upgrade Debit Amount
100282 , p_source_70 IN NUMBER
100283 --Payables Encumbrance Upgrade Debit Base Amount
100284 , p_source_71 IN NUMBER
100285 --Payables Encumbrance Upgrade Option
100286 , p_source_72 IN VARCHAR2
100287 --Invoice Distribution Amount
100288 , p_source_73 IN NUMBER
100289 --Deferred Accounting End Date
100290 , p_source_77 IN DATE
100291 --Deferred Accounting Option
100292 , p_source_78 IN VARCHAR2
100293 --Deferred Accounting Start Date
100294 , p_source_79 IN DATE
100295 --Override Accounted Amount Indicator
100296 , p_source_80 IN VARCHAR2
100297 , p_source_80_meaning IN VARCHAR2
100298 --Invoice Supplier Identifier
100299 , p_source_81 IN NUMBER
100300 --Invoice Supplier Site Identifier
100301 , p_source_82 IN NUMBER
100302 --Third Party Type
100303 , p_source_83 IN VARCHAR2
100304 --Parent Reversal Identifier
100305 , p_source_84 IN NUMBER
100306 --Invoice Distribution Tax Line Identifier
100307 , p_source_86 IN NUMBER
100308 --Invoice Distribution Tax Distribution Identifier from Tax
100309 , p_source_87 IN NUMBER
100310 --Invoice Distribution Summary Tax Line Identifier
100311 , p_source_88 IN NUMBER
100312 --Payables Upgrade Credit Encumbrance Type Identifier
100313 , p_source_89 IN NUMBER
100314 --Payables Upgrade Debit Encumbrance Type Identifier
100315 , p_source_90 IN NUMBER
100316 --Business Flow Accounts Payable Application Identifier
100317 , p_source_91 IN NUMBER
100318 --Business Flow Invoice Distribution Type
100319 , p_source_92 IN VARCHAR2
100320 --Business Flow Invoice Entity Code
100321 , p_source_93 IN VARCHAR2
100322 --Business Flow Invoice Distribution Identifier
100323 , p_source_94 IN NUMBER
100324 --Business Flow Invoice Identifier
100325 , p_source_95 IN NUMBER
100326 --Invoice Exchange Date
100327 , p_source_143 IN DATE
100328 --Invoice Exchange Rate
100329 , p_source_144 IN NUMBER
100330 --Invoice Exchange Rate Type
100331 , p_source_145 IN VARCHAR2
100332 )
100333 IS
100334
100335 l_component_type VARCHAR2(80);
100336 l_component_code VARCHAR2(30);
100337 l_component_type_code VARCHAR2(1);
100338 l_component_appl_id INTEGER;
100339 l_amb_context_code VARCHAR2(30);
100340 l_entity_code VARCHAR2(30);
100341 l_event_class_code VARCHAR2(30);
100342 l_ae_header_id NUMBER;
100343 l_event_type_code VARCHAR2(30);
100344 l_line_definition_code VARCHAR2(30);
100345 l_line_definition_owner_code VARCHAR2(1);
100346 --
100347 -- adr variables
100348 l_segment VARCHAR2(30);
100349 l_ccid NUMBER;
100350 l_adr_transaction_coa_id NUMBER;
100351 l_adr_accounting_coa_id NUMBER;
100352 l_adr_flexfield_segment_code VARCHAR2(30);
100353 l_adr_flex_value_set_id NUMBER;
100354 l_adr_value_type_code VARCHAR2(30);
100358 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
100355 l_adr_value_combination_id NUMBER;
100356 l_adr_value_segment_code VARCHAR2(30);
100357
100359 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
100360 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
100361 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
100362
100363 -- 4262811 Variables ------------------------------------------------------------------------------------------
100364 l_entered_amt_idx NUMBER;
100365 l_accted_amt_idx NUMBER;
100366 l_acc_rev_flag VARCHAR2(1);
100367 l_accrual_line_num NUMBER;
100368 l_tmp_amt NUMBER;
100369 l_acc_rev_natural_side_code VARCHAR2(1);
100370
100371 l_num_entries NUMBER;
100372 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
100373 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
100374 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
100375 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
100376 l_recog_line_1 NUMBER;
100377 l_recog_line_2 NUMBER;
100378
100379 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
100380 l_bflow_applied_to_amt NUMBER; -- 5132302
100381 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
100382
100383 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
100384
100385 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
100386 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
100387
100388 ---------------------------------------------------------------------------------------------------------------
100389
100390
100391 --
100392 -- bulk performance
100393 --
100394 l_balance_type_code VARCHAR2(1);
100395 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
100396 l_log_module VARCHAR2(240);
100397
100398 --
100399 -- Upgrade strategy
100400 --
100401 l_actual_upg_option VARCHAR2(1);
100402 l_enc_upg_option VARCHAR2(1);
100403
100404 --
100405 BEGIN
100406 --
100407 IF g_log_enabled THEN
100408 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_172';
100409 END IF;
100410 --
100411 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
100412
100413 trace
100414 (p_msg => 'BEGIN of AcctLineType_172'
100415 ,p_level => C_LEVEL_PROCEDURE
100416 ,p_module => l_log_module);
100417
100418 END IF;
100419 --
100420 l_component_type := 'AMB_JLT';
100421 l_component_code := 'AP_MISC_EXPENSE_DM';
100422 l_component_type_code := 'S';
100423 l_component_appl_id := 200;
100424 l_amb_context_code := 'DEFAULT';
100425 l_entity_code := 'AP_INVOICES';
100426 l_event_class_code := 'DEBIT MEMOS';
100427 l_event_type_code := 'DEBIT MEMOS_ALL';
100428 l_line_definition_owner_code := 'S';
100429 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
100430 --
100431 l_balance_type_code := 'A';
100432 l_segment := NULL;
100433 l_ccid := NULL;
100434 l_adr_transaction_coa_id := NULL;
100435 l_adr_accounting_coa_id := NULL;
100436 l_adr_flexfield_segment_code := NULL;
100437 l_adr_flex_value_set_id := NULL;
100438 l_adr_value_type_code := NULL;
100439 l_adr_value_combination_id := NULL;
100440 l_adr_value_segment_code := NULL;
100441
100442 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
100443 l_bflow_class_code := ''; -- 4219869 Business Flow
100444 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
100445 l_budgetary_control_flag := 'N';
100446
100447 l_bflow_applied_to_amt_idx := NULL; -- 5132302
100448 l_bflow_applied_to_amt := NULL; -- 5132302
100449 l_entered_amt_idx := NULL; -- 4262811
100450 l_accted_amt_idx := NULL; -- 4262811
100451 l_acc_rev_flag := NULL; -- 4262811
100452 l_accrual_line_num := NULL; -- 4262811
100453 l_tmp_amt := NULL; -- 4262811
100454 --
100455
100456 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
100457 l_balance_type_code <> 'B' THEN
100458 IF NVL(p_source_33,'
100459 ') = 'MISCELLANEOUS'
100460 THEN
100461
100462 --
100463 XLA_AE_LINES_PKG.SetNewLine;
100464
100465 p_balance_type_code := l_balance_type_code;
100466 -- set the flag so later we will know whether the gain loss line needs to be created
100467
100468 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
100469 p_actual_flag :='A';
100470 END IF;
100471
100472 --
100473 -- bulk performance
100474 --
100475 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
100476 p_header_num => 0); -- 4262811
100477 --
100478 -- set accounting line options
100479 --
100480 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
100481 p_natural_side_code => 'D'
100482 , p_gain_or_loss_flag => 'N'
100483 , p_gl_transfer_mode_code => 'S'
100484 , p_acct_entry_type_code => 'A'
100485 , p_switch_side_flag => 'Y'
100489 l_acc_rev_natural_side_code := 'C'; -- 4262811
100486 , p_merge_duplicate_code => 'A'
100487 );
100488 --
100490 --
100491 --
100492 -- set accounting line type info
100493 --
100494 xla_ae_lines_pkg.SetAcctLineType
100495 (p_component_type => l_component_type
100496 ,p_event_type_code => l_event_type_code
100497 ,p_line_definition_owner_code => l_line_definition_owner_code
100498 ,p_line_definition_code => l_line_definition_code
100499 ,p_accounting_line_code => l_component_code
100500 ,p_accounting_line_type_code => l_component_type_code
100501 ,p_accounting_line_appl_id => l_component_appl_id
100502 ,p_amb_context_code => l_amb_context_code
100503 ,p_entity_code => l_entity_code
100504 ,p_event_class_code => l_event_class_code);
100505 --
100506 -- set accounting class
100507 --
100508 xla_ae_lines_pkg.SetAcctClass(
100509 p_accounting_class_code => 'MISCELLANEOUS EXPENSE'
100510 , p_ae_header_id => l_ae_header_id
100511 );
100512
100513 --
100514 -- set rounding class
100515 --
100516 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
100517 'MISCELLANEOUS EXPENSE';
100518
100519 --
100520 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
100521 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
100522 --
100523 -- bulk performance
100524 --
100525 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
100526
100527 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
100528 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
100529
100530 -- 4955764
100531 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
100532 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
100533
100534 -- 4458381 Public Sector Enh
100535
100536 --
100537 -- set accounting attributes for the line type
100538 --
100539 l_entered_amt_idx := 23;
100540 l_accted_amt_idx := 28;
100541 l_bflow_applied_to_amt_idx := NULL; -- 5132302
100542 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
100543 l_rec_acct_attrs.array_char_value(1) := p_source_53;
100544 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
100545 l_rec_acct_attrs.array_num_value(2) :=
100546 xla_ae_sources_pkg.GetSystemSourceNum(
100547 p_source_code => 'XLA_EVENT_APPL_ID'
100548 , p_source_type_code => 'Y'
100549 , p_source_application_id => 602
100550 );
100551 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
100552 l_rec_acct_attrs.array_char_value(3) := p_source_55;
100553 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
100554 l_rec_acct_attrs.array_char_value(4) :=
100555 xla_ae_sources_pkg.GetSystemSourceChar(
100556 p_source_code => 'XLA_ENTITY_CODE'
100557 , p_source_type_code => 'Y'
100558 , p_source_application_id => 602
100559 );
100560 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
100561 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
100562 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
100563 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
100564 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
100565 l_rec_acct_attrs.array_num_value(7) := p_source_91;
100566 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
100567 l_rec_acct_attrs.array_char_value(8) := p_source_92;
100568 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
100569 l_rec_acct_attrs.array_char_value(9) := p_source_93;
100570 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
100571 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
100572 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
100573 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
100574 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
100575 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
100576 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
100577 l_rec_acct_attrs.array_char_value(13) := p_source_55;
100578 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
100579 l_rec_acct_attrs.array_num_value(14) := p_source_65;
100580 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
100581 l_rec_acct_attrs.array_num_value(15) := p_source_66;
100582 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
100583 l_rec_acct_attrs.array_char_value(16) := p_source_67;
100584 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
100585 l_rec_acct_attrs.array_num_value(17) := p_source_68;
100586 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
100587 l_rec_acct_attrs.array_num_value(18) := p_source_69;
100588 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
100589 l_rec_acct_attrs.array_num_value(19) := p_source_70;
100590 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
100594 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
100591 l_rec_acct_attrs.array_char_value(20) := p_source_67;
100592 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
100593 l_rec_acct_attrs.array_num_value(21) := p_source_71;
100595 l_rec_acct_attrs.array_char_value(22) := p_source_72;
100596 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
100597 l_rec_acct_attrs.array_num_value(23) := p_source_73;
100598 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
100599 l_rec_acct_attrs.array_char_value(24) := p_source_67;
100600 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
100601 l_rec_acct_attrs.array_date_value(25) := p_source_143;
100602 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
100603 l_rec_acct_attrs.array_num_value(26) := p_source_144;
100604 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
100605 l_rec_acct_attrs.array_char_value(27) := p_source_145;
100606 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
100607 l_rec_acct_attrs.array_num_value(28) := p_source_21;
100608 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
100609 l_rec_acct_attrs.array_date_value(29) := p_source_77;
100610 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
100611 l_rec_acct_attrs.array_char_value(30) := p_source_78;
100612 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
100613 l_rec_acct_attrs.array_date_value(31) := p_source_79;
100614 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
100615 l_rec_acct_attrs.array_char_value(32) := p_source_80;
100616 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
100617 l_rec_acct_attrs.array_num_value(33) := p_source_81;
100618 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
100619 l_rec_acct_attrs.array_num_value(34) := p_source_82;
100620 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
100621 l_rec_acct_attrs.array_char_value(35) := p_source_83;
100622 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
100623 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
100624 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
100625 l_rec_acct_attrs.array_char_value(37) := p_source_55;
100626 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
100627 l_rec_acct_attrs.array_num_value(38) := p_source_86;
100628 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
100629 l_rec_acct_attrs.array_num_value(39) := p_source_87;
100630 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
100631 l_rec_acct_attrs.array_num_value(40) := p_source_88;
100632 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
100633 l_rec_acct_attrs.array_num_value(41) := p_source_89;
100634 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
100635 l_rec_acct_attrs.array_num_value(42) := p_source_90;
100636
100637 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
100638 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
100639
100640 ---------------------------------------------------------------------------------------------------------------
100641 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
100642 ---------------------------------------------------------------------------------------------------------------
100643 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
100644
100645 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
100646 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
100647
100648 IF xla_accounting_cache_pkg.GetValueChar
100649 (p_source_code => 'LEDGER_CATEGORY_CODE'
100650 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
100651 AND l_bflow_method_code = 'PRIOR_ENTRY'
100652 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
100653 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
100654 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
100655 )
100656 THEN
100657 xla_ae_lines_pkg.BflowUpgEntry
100658 (p_business_method_code => l_bflow_method_code
100659 ,p_business_class_code => l_bflow_class_code
100660 ,p_balance_type => l_balance_type_code);
100661 ELSE
100662 NULL;
100663 -- No business flow processing for business flow method of NONE.
100664 END IF;
100665
100666 --
100667 -- call analytical criteria
100668 --
100669
100670 --
100671 -- call description
100672 --
100673
100674 xla_ae_lines_pkg.SetLineDescription(
100675 p_ae_header_id => l_ae_header_id
100676 ,p_description => Description_1 (
100677 p_application_id => p_application_id
100678 , p_ae_header_id => l_ae_header_id
100679 , p_source_1 => p_source_1
100680 )
100681 );
100682
100683
100684 --
100685 -- call ADRs
100686 -- Bug 4922099
100687 --
100688 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
100689 (NVL(l_actual_upg_option, 'N') = 'O') OR
100690 (NVL(l_enc_upg_option, 'N') = 'O')
100691 )
100692 THEN
100693 NULL;
100697 l_ccid := AcctDerRule_33(
100694 --
100695 --
100696
100698 p_application_id => p_application_id
100699 , p_ae_header_id => l_ae_header_id
100700 , p_source_30 => p_source_30
100701 , x_transaction_coa_id => l_adr_transaction_coa_id
100702 , x_accounting_coa_id => l_adr_accounting_coa_id
100703 , x_value_type_code => l_adr_value_type_code
100704 , p_side => 'NA'
100705 );
100706
100707 xla_ae_lines_pkg.set_ccid(
100708 p_code_combination_id => l_ccid
100709 , p_value_type_code => l_adr_value_type_code
100710 , p_transaction_coa_id => l_adr_transaction_coa_id
100711 , p_accounting_coa_id => l_adr_accounting_coa_id
100712 , p_adr_code => 'AP_INVOICE_DIST'
100713 , p_adr_type_code => 'S'
100714 , p_component_type => l_component_type
100715 , p_component_code => l_component_code
100716 , p_component_type_code => l_component_type_code
100717 , p_component_appl_id => l_component_appl_id
100718 , p_amb_context_code => l_amb_context_code
100719 , p_side => 'NA'
100720 );
100721
100722
100723 --
100724 --
100725 END IF;
100726 --
100727 -- Bug 4922099
100728 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
100729 (NVL(l_enc_upg_option, 'N') = 'O')
100730 ) AND
100731 (l_bflow_method_code = 'PRIOR_ENTRY')
100732 )
100733 THEN
100734 IF
100735 --
100736 1 = 2
100737 --
100738 THEN
100739 xla_accounting_err_pkg.build_message
100740 (p_appli_s_name => 'XLA'
100741 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
100742 ,p_token_1 => 'LINE_NUMBER'
100743 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
100744 ,p_token_2 => 'LINE_TYPE_NAME'
100745 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
100746 l_component_type
100747 ,l_component_code
100748 ,l_component_type_code
100749 ,l_component_appl_id
100750 ,l_amb_context_code
100751 ,l_entity_code
100752 ,l_event_class_code
100753 )
100754 ,p_token_3 => 'OWNER'
100755 ,p_value_3 => xla_lookups_pkg.get_meaning(
100756 p_lookup_type => 'XLA_OWNER_TYPE'
100757 ,p_lookup_code => l_component_type_code
100758 )
100759 ,p_token_4 => 'PRODUCT_NAME'
100760 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
100761 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
100762 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
100763 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
100764 ,p_ae_header_id => NULL
100765 );
100766
100767 IF (C_LEVEL_ERROR>= g_log_level) THEN
100768 trace
100769 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
100770 ,p_level => C_LEVEL_ERROR
100771 ,p_module => l_log_module);
100772 END IF;
100773 END IF;
100774 END IF;
100775 --
100776 --
100777 ------------------------------------------------------------------------------------------------
100778 -- 4219869 Business Flow
100779 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
100780 -- Prior Entry. Currently, the following code is always generated.
100781 ------------------------------------------------------------------------------------------------
100782 XLA_AE_LINES_PKG.ValidateCurrentLine;
100783
100784 ------------------------------------------------------------------------------------
100785 -- 4219869 Business Flow
100786 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
100787 ------------------------------------------------------------------------------------
100788 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
100789
100790 ----------------------------------------------------------------------------------
100791 -- 4219869 Business Flow
100792 -- Update journal entry status -- Need to generate this within IF <condition>
100796 ,p_balance_type_code => l_balance_type_code
100793 ----------------------------------------------------------------------------------
100794 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
100795 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
100797 );
100798
100799 -------------------------------------------------------------------------------------------
100800 -- 4262811 - Generate the Accrual Reversal lines
100801 -------------------------------------------------------------------------------------------
100802 BEGIN
100803 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
100804 (g_array_event(p_event_id).array_value_num('header_index'));
100805 IF l_acc_rev_flag IS NULL THEN
100806 l_acc_rev_flag := 'N';
100807 END IF;
100808 EXCEPTION
100809 WHEN OTHERS THEN
100810 l_acc_rev_flag := 'N';
100811 END;
100812 --
100813 IF (l_acc_rev_flag = 'Y') THEN
100814
100815 -- 4645092 ------------------------------------------------------------------------------
100816 -- To allow MPA report to determine if it should generate report process
100817 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
100818 ------------------------------------------------------------------------------------------
100819
100820 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
100821 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
100822 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
100823 -- call ADRs
100824 -- Bug 4922099
100825 --
100826 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
100827 (NVL(l_actual_upg_option, 'N') = 'O') OR
100828 (NVL(l_enc_upg_option, 'N') = 'O')
100829 )
100830 THEN
100831 NULL;
100832 --
100833 --
100834
100835 l_ccid := AcctDerRule_33(
100836 p_application_id => p_application_id
100837 , p_ae_header_id => l_ae_header_id
100838 , p_source_30 => p_source_30
100839 , x_transaction_coa_id => l_adr_transaction_coa_id
100840 , x_accounting_coa_id => l_adr_accounting_coa_id
100841 , x_value_type_code => l_adr_value_type_code
100842 , p_side => 'NA'
100843 );
100844
100845 xla_ae_lines_pkg.set_ccid(
100846 p_code_combination_id => l_ccid
100847 , p_value_type_code => l_adr_value_type_code
100848 , p_transaction_coa_id => l_adr_transaction_coa_id
100849 , p_accounting_coa_id => l_adr_accounting_coa_id
100850 , p_adr_code => 'AP_INVOICE_DIST'
100851 , p_adr_type_code => 'S'
100852 , p_component_type => l_component_type
100853 , p_component_code => l_component_code
100854 , p_component_type_code => l_component_type_code
100855 , p_component_appl_id => l_component_appl_id
100856 , p_amb_context_code => l_amb_context_code
100857 , p_side => 'NA'
100858 );
100859
100860
100861 --
100862 --
100863 END IF;
100864
100865 --
100866 -- Update the line information that should be overwritten
100867 --
100868 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
100869 p_header_num => 1);
100870 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
100871
100872 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
100873
100874 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
100875 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
100876 END IF;
100877
100878 --
100879 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
100880 --
100881 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
100882 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
100883 ELSE
100884 ---------------------------------------------------------------------------------------------------
100885 -- 4262811a Switch Sign
100886 ---------------------------------------------------------------------------------------------------
100887 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
100888 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
100889 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
100890 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
100891 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
100892 -- 5132302
100893 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
100894 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
100895
100896 END IF;
100897
100898 -- 4955764
100899 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
100900 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
100901
100902
100903 XLA_AE_LINES_PKG.ValidateCurrentLine;
100907 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
100904 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
100905
100906 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
100908 ,p_balance_type_code => l_balance_type_code);
100909
100910 END IF;
100911
100912 -----------------------------------------------------------------------------------------
100913 -- 4262811 Multiperiod Accounting
100914 -----------------------------------------------------------------------------------------
100915 -- No MPA option is assigned.
100916
100917
100918 END IF;
100919 END IF;
100920 --
100921
100922 --
100923 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
100924 trace
100925 (p_msg => 'END of AcctLineType_172'
100926 ,p_level => C_LEVEL_PROCEDURE
100927 ,p_module => l_log_module);
100928 END IF;
100929 --
100930 EXCEPTION
100931 WHEN xla_exceptions_pkg.application_exception THEN
100932 RAISE;
100933 WHEN OTHERS THEN
100934 xla_exceptions_pkg.raise_message
100935 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_172');
100936 END AcctLineType_172;
100937 --
100938
100939 ---------------------------------------
100940 --
100941 -- PRIVATE FUNCTION
100942 -- AcctLineType_173
100943 --
100944 ---------------------------------------
100945 PROCEDURE AcctLineType_173 (
100946 p_application_id IN NUMBER
100947 ,p_event_id IN NUMBER
100948 ,p_calculate_acctd_flag IN VARCHAR2
100949 ,p_calculate_g_l_flag IN VARCHAR2
100950 ,p_actual_flag IN OUT VARCHAR2
100951 ,p_balance_type_code OUT VARCHAR2
100952 ,p_gain_or_loss_ref OUT VARCHAR2
100953
100954 --Invoice Distribution Description
100955 , p_source_1 IN VARCHAR2
100956 --Invoice Distribution Ledger Amount
100957 , p_source_21 IN NUMBER
100958 --Invoice Distribution Account
100959 , p_source_30 IN NUMBER
100960 --Invoice Distribution Type
100961 , p_source_33 IN VARCHAR2
100962 , p_source_33_meaning IN VARCHAR2
100963 --Accounting Reversal Indicator
100964 , p_source_53 IN VARCHAR2
100965 --Distribution Link Type
100966 , p_source_55 IN VARCHAR2
100967 --Allocation to Main Distribution Identifier
100968 , p_source_57 IN NUMBER
100969 --Invoice Identifier
100970 , p_source_58 IN NUMBER
100971 --Invoice Distribution Identifier
100972 , p_source_64 IN NUMBER
100973 --Payables Encumbrance Upgrade Credit Account
100974 , p_source_65 IN NUMBER
100975 --Payables Encumbrance Upgrade Credit Amount
100976 , p_source_66 IN NUMBER
100977 --Invoice Currency Code
100978 , p_source_67 IN VARCHAR2
100979 --Payables Encumbrance Upgrade Credit Base Amount
100980 , p_source_68 IN NUMBER
100981 --Payables Encumbrance Upgrade Debit Account
100982 , p_source_69 IN NUMBER
100983 --Payables Encumbrance Upgrade Debit Amount
100984 , p_source_70 IN NUMBER
100985 --Payables Encumbrance Upgrade Debit Base Amount
100986 , p_source_71 IN NUMBER
100987 --Payables Encumbrance Upgrade Option
100988 , p_source_72 IN VARCHAR2
100989 --Invoice Distribution Amount
100990 , p_source_73 IN NUMBER
100991 --Deferred Accounting End Date
100992 , p_source_77 IN DATE
100993 --Deferred Accounting Option
100994 , p_source_78 IN VARCHAR2
100995 --Deferred Accounting Start Date
100996 , p_source_79 IN DATE
100997 --Override Accounted Amount Indicator
100998 , p_source_80 IN VARCHAR2
100999 , p_source_80_meaning IN VARCHAR2
101000 --Invoice Supplier Identifier
101001 , p_source_81 IN NUMBER
101002 --Invoice Supplier Site Identifier
101003 , p_source_82 IN NUMBER
101004 --Third Party Type
101005 , p_source_83 IN VARCHAR2
101006 --Parent Reversal Identifier
101007 , p_source_84 IN NUMBER
101008 --Invoice Distribution Statistical Amount
101009 , p_source_85 IN NUMBER
101010 --Invoice Distribution Tax Line Identifier
101011 , p_source_86 IN NUMBER
101012 --Invoice Distribution Tax Distribution Identifier from Tax
101013 , p_source_87 IN NUMBER
101014 --Invoice Distribution Summary Tax Line Identifier
101015 , p_source_88 IN NUMBER
101016 --Payables Upgrade Credit Encumbrance Type Identifier
101017 , p_source_89 IN NUMBER
101018 --Payables Upgrade Debit Encumbrance Type Identifier
101019 , p_source_90 IN NUMBER
101020 --Business Flow Accounts Payable Application Identifier
101021 , p_source_91 IN NUMBER
101022 --Business Flow Invoice Distribution Type
101023 , p_source_92 IN VARCHAR2
101024 --Business Flow Invoice Entity Code
101025 , p_source_93 IN VARCHAR2
101026 --Business Flow Invoice Distribution Identifier
101027 , p_source_94 IN NUMBER
101028 --Business Flow Invoice Identifier
101029 , p_source_95 IN NUMBER
101030 --Invoice Exchange Date
101031 , p_source_143 IN DATE
101032 --Invoice Exchange Rate
101033 , p_source_144 IN NUMBER
101034 --Invoice Exchange Rate Type
101035 , p_source_145 IN VARCHAR2
101036 )
101037 IS
101038
101039 l_component_type VARCHAR2(80);
101040 l_component_code VARCHAR2(30);
101041 l_component_type_code VARCHAR2(1);
101045 l_event_class_code VARCHAR2(30);
101042 l_component_appl_id INTEGER;
101043 l_amb_context_code VARCHAR2(30);
101044 l_entity_code VARCHAR2(30);
101046 l_ae_header_id NUMBER;
101047 l_event_type_code VARCHAR2(30);
101048 l_line_definition_code VARCHAR2(30);
101049 l_line_definition_owner_code VARCHAR2(1);
101050 --
101051 -- adr variables
101052 l_segment VARCHAR2(30);
101053 l_ccid NUMBER;
101054 l_adr_transaction_coa_id NUMBER;
101055 l_adr_accounting_coa_id NUMBER;
101056 l_adr_flexfield_segment_code VARCHAR2(30);
101057 l_adr_flex_value_set_id NUMBER;
101058 l_adr_value_type_code VARCHAR2(30);
101059 l_adr_value_combination_id NUMBER;
101060 l_adr_value_segment_code VARCHAR2(30);
101061
101062 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
101063 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
101064 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
101065 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
101066
101067 -- 4262811 Variables ------------------------------------------------------------------------------------------
101068 l_entered_amt_idx NUMBER;
101069 l_accted_amt_idx NUMBER;
101070 l_acc_rev_flag VARCHAR2(1);
101071 l_accrual_line_num NUMBER;
101072 l_tmp_amt NUMBER;
101073 l_acc_rev_natural_side_code VARCHAR2(1);
101074
101075 l_num_entries NUMBER;
101076 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
101077 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
101078 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
101079 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
101080 l_recog_line_1 NUMBER;
101081 l_recog_line_2 NUMBER;
101082
101083 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
101084 l_bflow_applied_to_amt NUMBER; -- 5132302
101085 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
101086
101087 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
101088
101089 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
101090 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
101091
101092 ---------------------------------------------------------------------------------------------------------------
101093
101094
101095 --
101096 -- bulk performance
101097 --
101098 l_balance_type_code VARCHAR2(1);
101099 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
101100 l_log_module VARCHAR2(240);
101101
101102 --
101103 -- Upgrade strategy
101104 --
101105 l_actual_upg_option VARCHAR2(1);
101106 l_enc_upg_option VARCHAR2(1);
101107
101108 --
101109 BEGIN
101110 --
101111 IF g_log_enabled THEN
101112 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_173';
101113 END IF;
101114 --
101115 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
101116
101117 trace
101118 (p_msg => 'BEGIN of AcctLineType_173'
101119 ,p_level => C_LEVEL_PROCEDURE
101120 ,p_module => l_log_module);
101121
101122 END IF;
101123 --
101124 l_component_type := 'AMB_JLT';
101125 l_component_code := 'AP_MISC_EXPENSE_INV';
101126 l_component_type_code := 'S';
101127 l_component_appl_id := 200;
101128 l_amb_context_code := 'DEFAULT';
101129 l_entity_code := 'AP_INVOICES';
101130 l_event_class_code := 'INVOICES';
101131 l_event_type_code := 'INVOICES_ALL';
101132 l_line_definition_owner_code := 'S';
101133 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
101134 --
101135 l_balance_type_code := 'A';
101136 l_segment := NULL;
101137 l_ccid := NULL;
101138 l_adr_transaction_coa_id := NULL;
101139 l_adr_accounting_coa_id := NULL;
101140 l_adr_flexfield_segment_code := NULL;
101141 l_adr_flex_value_set_id := NULL;
101142 l_adr_value_type_code := NULL;
101143 l_adr_value_combination_id := NULL;
101144 l_adr_value_segment_code := NULL;
101145
101146 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
101147 l_bflow_class_code := ''; -- 4219869 Business Flow
101148 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
101149 l_budgetary_control_flag := 'N';
101150
101151 l_bflow_applied_to_amt_idx := NULL; -- 5132302
101152 l_bflow_applied_to_amt := NULL; -- 5132302
101153 l_entered_amt_idx := NULL; -- 4262811
101154 l_accted_amt_idx := NULL; -- 4262811
101155 l_acc_rev_flag := NULL; -- 4262811
101156 l_accrual_line_num := NULL; -- 4262811
101157 l_tmp_amt := NULL; -- 4262811
101158 --
101159
101160 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
101161 l_balance_type_code <> 'B' THEN
101162 IF NVL(p_source_33,'
101163 ') = 'MISCELLANEOUS'
101164 THEN
101165
101166 --
101167 XLA_AE_LINES_PKG.SetNewLine;
101168
101169 p_balance_type_code := l_balance_type_code;
101170 -- set the flag so later we will know whether the gain loss line needs to be created
101174 END IF;
101171
101172 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
101173 p_actual_flag :='A';
101175
101176 --
101177 -- bulk performance
101178 --
101179 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
101180 p_header_num => 0); -- 4262811
101181 --
101182 -- set accounting line options
101183 --
101184 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
101185 p_natural_side_code => 'D'
101186 , p_gain_or_loss_flag => 'N'
101187 , p_gl_transfer_mode_code => 'S'
101188 , p_acct_entry_type_code => 'A'
101189 , p_switch_side_flag => 'Y'
101190 , p_merge_duplicate_code => 'A'
101191 );
101192 --
101193 l_acc_rev_natural_side_code := 'C'; -- 4262811
101194 --
101195 --
101196 -- set accounting line type info
101197 --
101198 xla_ae_lines_pkg.SetAcctLineType
101199 (p_component_type => l_component_type
101200 ,p_event_type_code => l_event_type_code
101201 ,p_line_definition_owner_code => l_line_definition_owner_code
101202 ,p_line_definition_code => l_line_definition_code
101203 ,p_accounting_line_code => l_component_code
101204 ,p_accounting_line_type_code => l_component_type_code
101205 ,p_accounting_line_appl_id => l_component_appl_id
101206 ,p_amb_context_code => l_amb_context_code
101207 ,p_entity_code => l_entity_code
101208 ,p_event_class_code => l_event_class_code);
101209 --
101210 -- set accounting class
101211 --
101212 xla_ae_lines_pkg.SetAcctClass(
101213 p_accounting_class_code => 'MISCELLANEOUS EXPENSE'
101214 , p_ae_header_id => l_ae_header_id
101215 );
101216
101217 --
101218 -- set rounding class
101219 --
101220 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
101221 'MISCELLANEOUS EXPENSE';
101222
101223 --
101224 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
101225 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
101226 --
101227 -- bulk performance
101228 --
101229 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
101230
101231 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
101232 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
101233
101234 -- 4955764
101235 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
101236 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
101237
101238 -- 4458381 Public Sector Enh
101239
101240 --
101241 -- set accounting attributes for the line type
101242 --
101243 l_entered_amt_idx := 24;
101244 l_accted_amt_idx := 29;
101245 l_bflow_applied_to_amt_idx := 7; -- 5132302
101246 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
101247 l_rec_acct_attrs.array_char_value(1) := p_source_53;
101248 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
101249 l_rec_acct_attrs.array_num_value(2) :=
101250 xla_ae_sources_pkg.GetSystemSourceNum(
101251 p_source_code => 'XLA_EVENT_APPL_ID'
101252 , p_source_type_code => 'Y'
101253 , p_source_application_id => 602
101254 );
101255 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
101256 l_rec_acct_attrs.array_char_value(3) := p_source_55;
101257 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
101258 l_rec_acct_attrs.array_char_value(4) :=
101259 xla_ae_sources_pkg.GetSystemSourceChar(
101260 p_source_code => 'XLA_ENTITY_CODE'
101261 , p_source_type_code => 'Y'
101262 , p_source_application_id => 602
101263 );
101264 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
101265 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
101266 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
101267 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
101268 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
101269 l_rec_acct_attrs.array_num_value(7) := p_source_73;
101270 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
101271 l_rec_acct_attrs.array_num_value(8) := p_source_91;
101272 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
101273 l_rec_acct_attrs.array_char_value(9) := p_source_92;
101274 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
101275 l_rec_acct_attrs.array_char_value(10) := p_source_93;
101276 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
101277 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
101278 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
101279 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_95);
101280 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
101281 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_64);
101282 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
101286 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
101283 l_rec_acct_attrs.array_char_value(14) := p_source_55;
101284 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
101285 l_rec_acct_attrs.array_num_value(15) := p_source_65;
101287 l_rec_acct_attrs.array_num_value(16) := p_source_66;
101288 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
101289 l_rec_acct_attrs.array_char_value(17) := p_source_67;
101290 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
101291 l_rec_acct_attrs.array_num_value(18) := p_source_68;
101292 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
101293 l_rec_acct_attrs.array_num_value(19) := p_source_69;
101294 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
101295 l_rec_acct_attrs.array_num_value(20) := p_source_70;
101296 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
101297 l_rec_acct_attrs.array_char_value(21) := p_source_67;
101298 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
101299 l_rec_acct_attrs.array_num_value(22) := p_source_71;
101300 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
101301 l_rec_acct_attrs.array_char_value(23) := p_source_72;
101302 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
101303 l_rec_acct_attrs.array_num_value(24) := p_source_73;
101304 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
101305 l_rec_acct_attrs.array_char_value(25) := p_source_67;
101306 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
101307 l_rec_acct_attrs.array_date_value(26) := p_source_143;
101308 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
101309 l_rec_acct_attrs.array_num_value(27) := p_source_144;
101310 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
101311 l_rec_acct_attrs.array_char_value(28) := p_source_145;
101312 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
101313 l_rec_acct_attrs.array_num_value(29) := p_source_21;
101314 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
101315 l_rec_acct_attrs.array_date_value(30) := p_source_77;
101316 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
101317 l_rec_acct_attrs.array_char_value(31) := p_source_78;
101318 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
101319 l_rec_acct_attrs.array_date_value(32) := p_source_79;
101320 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
101321 l_rec_acct_attrs.array_char_value(33) := p_source_80;
101322 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
101323 l_rec_acct_attrs.array_num_value(34) := p_source_81;
101324 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
101325 l_rec_acct_attrs.array_num_value(35) := p_source_82;
101326 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
101327 l_rec_acct_attrs.array_char_value(36) := p_source_83;
101328 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
101329 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_84);
101330 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
101331 l_rec_acct_attrs.array_char_value(38) := p_source_55;
101332 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
101333 l_rec_acct_attrs.array_num_value(39) := p_source_85;
101334 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
101335 l_rec_acct_attrs.array_num_value(40) := p_source_86;
101336 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
101337 l_rec_acct_attrs.array_num_value(41) := p_source_87;
101338 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
101339 l_rec_acct_attrs.array_num_value(42) := p_source_88;
101340 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
101341 l_rec_acct_attrs.array_num_value(43) := p_source_89;
101342 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
101343 l_rec_acct_attrs.array_num_value(44) := p_source_90;
101344
101345 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
101346 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
101347
101348 ---------------------------------------------------------------------------------------------------------------
101349 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
101350 ---------------------------------------------------------------------------------------------------------------
101351 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
101352
101353 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
101354 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
101355
101356 IF xla_accounting_cache_pkg.GetValueChar
101357 (p_source_code => 'LEDGER_CATEGORY_CODE'
101358 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
101359 AND l_bflow_method_code = 'PRIOR_ENTRY'
101360 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
101361 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
101362 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
101363 )
101364 THEN
101365 xla_ae_lines_pkg.BflowUpgEntry
101366 (p_business_method_code => l_bflow_method_code
101370 NULL;
101367 ,p_business_class_code => l_bflow_class_code
101368 ,p_balance_type => l_balance_type_code);
101369 ELSE
101371 -- No business flow processing for business flow method of NONE.
101372 END IF;
101373
101374 --
101375 -- call analytical criteria
101376 --
101377
101378 --
101379 -- call description
101380 --
101381
101382 xla_ae_lines_pkg.SetLineDescription(
101383 p_ae_header_id => l_ae_header_id
101384 ,p_description => Description_1 (
101385 p_application_id => p_application_id
101386 , p_ae_header_id => l_ae_header_id
101387 , p_source_1 => p_source_1
101388 )
101389 );
101390
101391
101392 --
101393 -- call ADRs
101394 -- Bug 4922099
101395 --
101396 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
101397 (NVL(l_actual_upg_option, 'N') = 'O') OR
101398 (NVL(l_enc_upg_option, 'N') = 'O')
101399 )
101400 THEN
101401 NULL;
101402 --
101403 --
101404
101405 l_ccid := AcctDerRule_33(
101406 p_application_id => p_application_id
101407 , p_ae_header_id => l_ae_header_id
101408 , p_source_30 => p_source_30
101409 , x_transaction_coa_id => l_adr_transaction_coa_id
101410 , x_accounting_coa_id => l_adr_accounting_coa_id
101411 , x_value_type_code => l_adr_value_type_code
101412 , p_side => 'NA'
101413 );
101414
101415 xla_ae_lines_pkg.set_ccid(
101416 p_code_combination_id => l_ccid
101417 , p_value_type_code => l_adr_value_type_code
101418 , p_transaction_coa_id => l_adr_transaction_coa_id
101419 , p_accounting_coa_id => l_adr_accounting_coa_id
101420 , p_adr_code => 'AP_INVOICE_DIST'
101421 , p_adr_type_code => 'S'
101422 , p_component_type => l_component_type
101423 , p_component_code => l_component_code
101424 , p_component_type_code => l_component_type_code
101425 , p_component_appl_id => l_component_appl_id
101426 , p_amb_context_code => l_amb_context_code
101427 , p_side => 'NA'
101428 );
101429
101430
101431 --
101432 --
101433 END IF;
101434 --
101435 -- Bug 4922099
101436 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
101437 (NVL(l_enc_upg_option, 'N') = 'O')
101438 ) AND
101439 (l_bflow_method_code = 'PRIOR_ENTRY')
101440 )
101441 THEN
101442 IF
101443 --
101444 1 = 2
101445 --
101446 THEN
101447 xla_accounting_err_pkg.build_message
101448 (p_appli_s_name => 'XLA'
101449 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
101450 ,p_token_1 => 'LINE_NUMBER'
101451 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
101452 ,p_token_2 => 'LINE_TYPE_NAME'
101453 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
101454 l_component_type
101455 ,l_component_code
101456 ,l_component_type_code
101457 ,l_component_appl_id
101458 ,l_amb_context_code
101459 ,l_entity_code
101460 ,l_event_class_code
101461 )
101462 ,p_token_3 => 'OWNER'
101463 ,p_value_3 => xla_lookups_pkg.get_meaning(
101464 p_lookup_type => 'XLA_OWNER_TYPE'
101465 ,p_lookup_code => l_component_type_code
101466 )
101467 ,p_token_4 => 'PRODUCT_NAME'
101468 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
101469 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
101470 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
101471 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
101472 ,p_ae_header_id => NULL
101473 );
101474
101475 IF (C_LEVEL_ERROR>= g_log_level) THEN
101476 trace
101477 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
101478 ,p_level => C_LEVEL_ERROR
101479 ,p_module => l_log_module);
101480 END IF;
101481 END IF;
101482 END IF;
101483 --
101484 --
101488 -- Prior Entry. Currently, the following code is always generated.
101485 ------------------------------------------------------------------------------------------------
101486 -- 4219869 Business Flow
101487 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
101489 ------------------------------------------------------------------------------------------------
101490 XLA_AE_LINES_PKG.ValidateCurrentLine;
101491
101492 ------------------------------------------------------------------------------------
101493 -- 4219869 Business Flow
101494 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
101495 ------------------------------------------------------------------------------------
101496 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
101497
101498 ----------------------------------------------------------------------------------
101499 -- 4219869 Business Flow
101500 -- Update journal entry status -- Need to generate this within IF <condition>
101501 ----------------------------------------------------------------------------------
101502 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
101503 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
101504 ,p_balance_type_code => l_balance_type_code
101505 );
101506
101507 -------------------------------------------------------------------------------------------
101508 -- 4262811 - Generate the Accrual Reversal lines
101509 -------------------------------------------------------------------------------------------
101510 BEGIN
101511 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
101512 (g_array_event(p_event_id).array_value_num('header_index'));
101513 IF l_acc_rev_flag IS NULL THEN
101514 l_acc_rev_flag := 'N';
101515 END IF;
101516 EXCEPTION
101517 WHEN OTHERS THEN
101518 l_acc_rev_flag := 'N';
101519 END;
101520 --
101521 IF (l_acc_rev_flag = 'Y') THEN
101522
101523 -- 4645092 ------------------------------------------------------------------------------
101524 -- To allow MPA report to determine if it should generate report process
101525 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
101526 ------------------------------------------------------------------------------------------
101527
101528 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
101529 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
101530 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
101531 -- call ADRs
101532 -- Bug 4922099
101533 --
101534 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
101535 (NVL(l_actual_upg_option, 'N') = 'O') OR
101536 (NVL(l_enc_upg_option, 'N') = 'O')
101537 )
101538 THEN
101539 NULL;
101540 --
101541 --
101542
101543 l_ccid := AcctDerRule_33(
101544 p_application_id => p_application_id
101545 , p_ae_header_id => l_ae_header_id
101546 , p_source_30 => p_source_30
101547 , x_transaction_coa_id => l_adr_transaction_coa_id
101548 , x_accounting_coa_id => l_adr_accounting_coa_id
101549 , x_value_type_code => l_adr_value_type_code
101550 , p_side => 'NA'
101551 );
101552
101553 xla_ae_lines_pkg.set_ccid(
101554 p_code_combination_id => l_ccid
101555 , p_value_type_code => l_adr_value_type_code
101556 , p_transaction_coa_id => l_adr_transaction_coa_id
101557 , p_accounting_coa_id => l_adr_accounting_coa_id
101558 , p_adr_code => 'AP_INVOICE_DIST'
101559 , p_adr_type_code => 'S'
101560 , p_component_type => l_component_type
101561 , p_component_code => l_component_code
101562 , p_component_type_code => l_component_type_code
101563 , p_component_appl_id => l_component_appl_id
101564 , p_amb_context_code => l_amb_context_code
101565 , p_side => 'NA'
101566 );
101567
101568
101569 --
101570 --
101571 END IF;
101572
101573 --
101574 -- Update the line information that should be overwritten
101575 --
101576 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
101577 p_header_num => 1);
101578 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
101579
101580 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
101581
101582 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
101583 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
101584 END IF;
101585
101586 --
101587 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
101588 --
101589 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
101590 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
101591 ELSE
101592 ---------------------------------------------------------------------------------------------------
101593 -- 4262811a Switch Sign
101594 ---------------------------------------------------------------------------------------------------
101598 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
101595 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
101596 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
101597 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
101599 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
101600 -- 5132302
101601 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
101602 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
101603
101604 END IF;
101605
101606 -- 4955764
101607 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
101608 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
101609
101610
101611 XLA_AE_LINES_PKG.ValidateCurrentLine;
101612 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
101613
101614 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
101615 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
101616 ,p_balance_type_code => l_balance_type_code);
101617
101618 END IF;
101619
101620 -----------------------------------------------------------------------------------------
101621 -- 4262811 Multiperiod Accounting
101622 -----------------------------------------------------------------------------------------
101623 -- No MPA option is assigned.
101624
101625
101626 END IF;
101627 END IF;
101628 --
101629
101630 --
101631 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
101632 trace
101633 (p_msg => 'END of AcctLineType_173'
101634 ,p_level => C_LEVEL_PROCEDURE
101635 ,p_module => l_log_module);
101636 END IF;
101637 --
101638 EXCEPTION
101639 WHEN xla_exceptions_pkg.application_exception THEN
101640 RAISE;
101641 WHEN OTHERS THEN
101642 xla_exceptions_pkg.raise_message
101643 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_173');
101644 END AcctLineType_173;
101645 --
101646
101647 ---------------------------------------
101648 --
101649 -- PRIVATE FUNCTION
101650 -- AcctLineType_174
101651 --
101652 ---------------------------------------
101653 PROCEDURE AcctLineType_174 (
101654 p_application_id IN NUMBER
101655 ,p_event_id IN NUMBER
101656 ,p_calculate_acctd_flag IN VARCHAR2
101657 ,p_calculate_g_l_flag IN VARCHAR2
101658 ,p_actual_flag IN OUT VARCHAR2
101659 ,p_balance_type_code OUT VARCHAR2
101660 ,p_gain_or_loss_ref OUT VARCHAR2
101661
101662 --Invoice Distribution Description
101663 , p_source_1 IN VARCHAR2
101664 --Invoice Distribution Ledger Amount
101665 , p_source_21 IN NUMBER
101666 --Invoice Distribution Account
101667 , p_source_30 IN NUMBER
101668 --Invoice Distribution Type
101669 , p_source_33 IN VARCHAR2
101670 , p_source_33_meaning IN VARCHAR2
101671 --Accounting Reversal Indicator
101672 , p_source_53 IN VARCHAR2
101673 --Distribution Link Type
101674 , p_source_55 IN VARCHAR2
101675 --Allocation to Main Distribution Identifier
101676 , p_source_57 IN NUMBER
101677 --Invoice Identifier
101678 , p_source_58 IN NUMBER
101679 --Invoice Distribution Identifier
101680 , p_source_64 IN NUMBER
101681 --Payables Encumbrance Upgrade Credit Account
101682 , p_source_65 IN NUMBER
101683 --Payables Encumbrance Upgrade Credit Amount
101684 , p_source_66 IN NUMBER
101685 --Invoice Currency Code
101686 , p_source_67 IN VARCHAR2
101687 --Payables Encumbrance Upgrade Credit Base Amount
101688 , p_source_68 IN NUMBER
101689 --Payables Encumbrance Upgrade Debit Account
101690 , p_source_69 IN NUMBER
101691 --Payables Encumbrance Upgrade Debit Amount
101692 , p_source_70 IN NUMBER
101693 --Payables Encumbrance Upgrade Debit Base Amount
101694 , p_source_71 IN NUMBER
101695 --Payables Encumbrance Upgrade Option
101696 , p_source_72 IN VARCHAR2
101697 --Invoice Distribution Amount
101698 , p_source_73 IN NUMBER
101699 --Deferred Accounting End Date
101700 , p_source_77 IN DATE
101701 --Deferred Accounting Option
101702 , p_source_78 IN VARCHAR2
101703 --Deferred Accounting Start Date
101704 , p_source_79 IN DATE
101705 --Override Accounted Amount Indicator
101706 , p_source_80 IN VARCHAR2
101707 , p_source_80_meaning IN VARCHAR2
101708 --Invoice Supplier Identifier
101709 , p_source_81 IN NUMBER
101710 --Invoice Supplier Site Identifier
101711 , p_source_82 IN NUMBER
101712 --Third Party Type
101713 , p_source_83 IN VARCHAR2
101714 --Parent Reversal Identifier
101715 , p_source_84 IN NUMBER
101716 --Invoice Distribution Statistical Amount
101717 , p_source_85 IN NUMBER
101718 --Invoice Distribution Tax Line Identifier
101719 , p_source_86 IN NUMBER
101720 --Invoice Distribution Tax Distribution Identifier from Tax
101721 , p_source_87 IN NUMBER
101722 --Invoice Distribution Summary Tax Line Identifier
101723 , p_source_88 IN NUMBER
101724 --Payables Upgrade Credit Encumbrance Type Identifier
101728 --Business Flow Accounts Payable Application Identifier
101725 , p_source_89 IN NUMBER
101726 --Payables Upgrade Debit Encumbrance Type Identifier
101727 , p_source_90 IN NUMBER
101729 , p_source_91 IN NUMBER
101730 --Business Flow Invoice Distribution Type
101731 , p_source_92 IN VARCHAR2
101732 --Business Flow Invoice Entity Code
101733 , p_source_93 IN VARCHAR2
101734 --Business Flow Invoice Distribution Identifier
101735 , p_source_94 IN NUMBER
101736 --Business Flow Invoice Identifier
101737 , p_source_95 IN NUMBER
101738 --Invoice Exchange Date
101739 , p_source_143 IN DATE
101740 --Invoice Exchange Rate
101741 , p_source_144 IN NUMBER
101742 --Invoice Exchange Rate Type
101743 , p_source_145 IN VARCHAR2
101744 )
101745 IS
101746
101747 l_component_type VARCHAR2(80);
101748 l_component_code VARCHAR2(30);
101749 l_component_type_code VARCHAR2(1);
101750 l_component_appl_id INTEGER;
101751 l_amb_context_code VARCHAR2(30);
101752 l_entity_code VARCHAR2(30);
101753 l_event_class_code VARCHAR2(30);
101754 l_ae_header_id NUMBER;
101755 l_event_type_code VARCHAR2(30);
101756 l_line_definition_code VARCHAR2(30);
101757 l_line_definition_owner_code VARCHAR2(1);
101758 --
101759 -- adr variables
101760 l_segment VARCHAR2(30);
101761 l_ccid NUMBER;
101762 l_adr_transaction_coa_id NUMBER;
101763 l_adr_accounting_coa_id NUMBER;
101764 l_adr_flexfield_segment_code VARCHAR2(30);
101765 l_adr_flex_value_set_id NUMBER;
101766 l_adr_value_type_code VARCHAR2(30);
101767 l_adr_value_combination_id NUMBER;
101768 l_adr_value_segment_code VARCHAR2(30);
101769
101770 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
101771 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
101772 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
101773 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
101774
101775 -- 4262811 Variables ------------------------------------------------------------------------------------------
101776 l_entered_amt_idx NUMBER;
101777 l_accted_amt_idx NUMBER;
101778 l_acc_rev_flag VARCHAR2(1);
101779 l_accrual_line_num NUMBER;
101780 l_tmp_amt NUMBER;
101781 l_acc_rev_natural_side_code VARCHAR2(1);
101782
101783 l_num_entries NUMBER;
101784 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
101785 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
101786 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
101787 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
101788 l_recog_line_1 NUMBER;
101789 l_recog_line_2 NUMBER;
101790
101791 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
101792 l_bflow_applied_to_amt NUMBER; -- 5132302
101793 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
101794
101795 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
101796
101797 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
101798 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
101799
101800 ---------------------------------------------------------------------------------------------------------------
101801
101802
101803 --
101804 -- bulk performance
101805 --
101806 l_balance_type_code VARCHAR2(1);
101807 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
101808 l_log_module VARCHAR2(240);
101809
101810 --
101811 -- Upgrade strategy
101812 --
101813 l_actual_upg_option VARCHAR2(1);
101814 l_enc_upg_option VARCHAR2(1);
101815
101816 --
101817 BEGIN
101818 --
101819 IF g_log_enabled THEN
101820 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_174';
101821 END IF;
101822 --
101823 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
101824
101825 trace
101826 (p_msg => 'BEGIN of AcctLineType_174'
101827 ,p_level => C_LEVEL_PROCEDURE
101828 ,p_module => l_log_module);
101829
101830 END IF;
101831 --
101832 l_component_type := 'AMB_JLT';
101833 l_component_code := 'AP_MISC_EXPENSE_PREPAY';
101834 l_component_type_code := 'S';
101835 l_component_appl_id := 200;
101836 l_amb_context_code := 'DEFAULT';
101837 l_entity_code := 'AP_INVOICES';
101838 l_event_class_code := 'PREPAYMENTS';
101839 l_event_type_code := 'PREPAYMENTS_ALL';
101840 l_line_definition_owner_code := 'S';
101841 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
101842 --
101843 l_balance_type_code := 'A';
101844 l_segment := NULL;
101845 l_ccid := NULL;
101846 l_adr_transaction_coa_id := NULL;
101847 l_adr_accounting_coa_id := NULL;
101848 l_adr_flexfield_segment_code := NULL;
101849 l_adr_flex_value_set_id := NULL;
101850 l_adr_value_type_code := NULL;
101851 l_adr_value_combination_id := NULL;
101852 l_adr_value_segment_code := NULL;
101853
101854 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
101858
101855 l_bflow_class_code := ''; -- 4219869 Business Flow
101856 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
101857 l_budgetary_control_flag := 'N';
101859 l_bflow_applied_to_amt_idx := NULL; -- 5132302
101860 l_bflow_applied_to_amt := NULL; -- 5132302
101861 l_entered_amt_idx := NULL; -- 4262811
101862 l_accted_amt_idx := NULL; -- 4262811
101863 l_acc_rev_flag := NULL; -- 4262811
101864 l_accrual_line_num := NULL; -- 4262811
101865 l_tmp_amt := NULL; -- 4262811
101866 --
101867
101868 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
101869 l_balance_type_code <> 'B' THEN
101870 IF NVL(p_source_33,'
101871 ') = 'MISCELLANEOUS'
101872 THEN
101873
101874 --
101875 XLA_AE_LINES_PKG.SetNewLine;
101876
101877 p_balance_type_code := l_balance_type_code;
101878 -- set the flag so later we will know whether the gain loss line needs to be created
101879
101880 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
101881 p_actual_flag :='A';
101882 END IF;
101883
101884 --
101885 -- bulk performance
101886 --
101887 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
101888 p_header_num => 0); -- 4262811
101889 --
101890 -- set accounting line options
101891 --
101892 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
101893 p_natural_side_code => 'D'
101894 , p_gain_or_loss_flag => 'N'
101895 , p_gl_transfer_mode_code => 'S'
101896 , p_acct_entry_type_code => 'A'
101897 , p_switch_side_flag => 'Y'
101898 , p_merge_duplicate_code => 'A'
101899 );
101900 --
101901 l_acc_rev_natural_side_code := 'C'; -- 4262811
101902 --
101903 --
101904 -- set accounting line type info
101905 --
101906 xla_ae_lines_pkg.SetAcctLineType
101907 (p_component_type => l_component_type
101908 ,p_event_type_code => l_event_type_code
101909 ,p_line_definition_owner_code => l_line_definition_owner_code
101910 ,p_line_definition_code => l_line_definition_code
101911 ,p_accounting_line_code => l_component_code
101912 ,p_accounting_line_type_code => l_component_type_code
101913 ,p_accounting_line_appl_id => l_component_appl_id
101914 ,p_amb_context_code => l_amb_context_code
101915 ,p_entity_code => l_entity_code
101916 ,p_event_class_code => l_event_class_code);
101917 --
101918 -- set accounting class
101919 --
101920 xla_ae_lines_pkg.SetAcctClass(
101921 p_accounting_class_code => 'MISCELLANEOUS EXPENSE'
101922 , p_ae_header_id => l_ae_header_id
101923 );
101924
101925 --
101926 -- set rounding class
101927 --
101928 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
101929 'MISCELLANEOUS EXPENSE';
101930
101931 --
101932 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
101933 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
101934 --
101935 -- bulk performance
101936 --
101937 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
101938
101939 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
101940 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
101941
101942 -- 4955764
101943 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
101944 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
101945
101946 -- 4458381 Public Sector Enh
101947
101948 --
101949 -- set accounting attributes for the line type
101950 --
101951 l_entered_amt_idx := 23;
101952 l_accted_amt_idx := 28;
101953 l_bflow_applied_to_amt_idx := NULL; -- 5132302
101954 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
101955 l_rec_acct_attrs.array_char_value(1) := p_source_53;
101956 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
101957 l_rec_acct_attrs.array_num_value(2) :=
101958 xla_ae_sources_pkg.GetSystemSourceNum(
101959 p_source_code => 'XLA_EVENT_APPL_ID'
101960 , p_source_type_code => 'Y'
101961 , p_source_application_id => 602
101962 );
101963 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
101964 l_rec_acct_attrs.array_char_value(3) := p_source_55;
101965 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
101966 l_rec_acct_attrs.array_char_value(4) :=
101967 xla_ae_sources_pkg.GetSystemSourceChar(
101968 p_source_code => 'XLA_ENTITY_CODE'
101969 , p_source_type_code => 'Y'
101970 , p_source_application_id => 602
101971 );
101972 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
101973 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
101974 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
101975 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
101979 l_rec_acct_attrs.array_char_value(8) := p_source_92;
101976 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
101977 l_rec_acct_attrs.array_num_value(7) := p_source_91;
101978 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
101980 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
101981 l_rec_acct_attrs.array_char_value(9) := p_source_93;
101982 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
101983 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
101984 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
101985 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
101986 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
101987 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
101988 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
101989 l_rec_acct_attrs.array_char_value(13) := p_source_55;
101990 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
101991 l_rec_acct_attrs.array_num_value(14) := p_source_65;
101992 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
101993 l_rec_acct_attrs.array_num_value(15) := p_source_66;
101994 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
101995 l_rec_acct_attrs.array_char_value(16) := p_source_67;
101996 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
101997 l_rec_acct_attrs.array_num_value(17) := p_source_68;
101998 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
101999 l_rec_acct_attrs.array_num_value(18) := p_source_69;
102000 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
102001 l_rec_acct_attrs.array_num_value(19) := p_source_70;
102002 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
102003 l_rec_acct_attrs.array_char_value(20) := p_source_67;
102004 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
102005 l_rec_acct_attrs.array_num_value(21) := p_source_71;
102006 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
102007 l_rec_acct_attrs.array_char_value(22) := p_source_72;
102008 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
102009 l_rec_acct_attrs.array_num_value(23) := p_source_73;
102010 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
102011 l_rec_acct_attrs.array_char_value(24) := p_source_67;
102012 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
102013 l_rec_acct_attrs.array_date_value(25) := p_source_143;
102014 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
102015 l_rec_acct_attrs.array_num_value(26) := p_source_144;
102016 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
102017 l_rec_acct_attrs.array_char_value(27) := p_source_145;
102018 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
102019 l_rec_acct_attrs.array_num_value(28) := p_source_21;
102020 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
102021 l_rec_acct_attrs.array_date_value(29) := p_source_77;
102022 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
102023 l_rec_acct_attrs.array_char_value(30) := p_source_78;
102024 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
102025 l_rec_acct_attrs.array_date_value(31) := p_source_79;
102026 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
102027 l_rec_acct_attrs.array_char_value(32) := p_source_80;
102028 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
102029 l_rec_acct_attrs.array_num_value(33) := p_source_81;
102030 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
102031 l_rec_acct_attrs.array_num_value(34) := p_source_82;
102032 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
102033 l_rec_acct_attrs.array_char_value(35) := p_source_83;
102034 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
102035 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
102036 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
102037 l_rec_acct_attrs.array_char_value(37) := p_source_55;
102038 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
102039 l_rec_acct_attrs.array_num_value(38) := p_source_85;
102040 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
102041 l_rec_acct_attrs.array_num_value(39) := p_source_86;
102042 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
102043 l_rec_acct_attrs.array_num_value(40) := p_source_87;
102044 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
102045 l_rec_acct_attrs.array_num_value(41) := p_source_88;
102046 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
102047 l_rec_acct_attrs.array_num_value(42) := p_source_89;
102048 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
102049 l_rec_acct_attrs.array_num_value(43) := p_source_90;
102050
102051 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
102052 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
102053
102054 ---------------------------------------------------------------------------------------------------------------
102055 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
102056 ---------------------------------------------------------------------------------------------------------------
102060 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
102057 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
102058
102059 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
102061
102062 IF xla_accounting_cache_pkg.GetValueChar
102063 (p_source_code => 'LEDGER_CATEGORY_CODE'
102064 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
102065 AND l_bflow_method_code = 'PRIOR_ENTRY'
102066 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
102067 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
102068 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
102069 )
102070 THEN
102071 xla_ae_lines_pkg.BflowUpgEntry
102072 (p_business_method_code => l_bflow_method_code
102073 ,p_business_class_code => l_bflow_class_code
102074 ,p_balance_type => l_balance_type_code);
102075 ELSE
102076 NULL;
102077 -- No business flow processing for business flow method of NONE.
102078 END IF;
102079
102080 --
102081 -- call analytical criteria
102082 --
102083
102084 --
102085 -- call description
102086 --
102087
102088 xla_ae_lines_pkg.SetLineDescription(
102089 p_ae_header_id => l_ae_header_id
102090 ,p_description => Description_1 (
102091 p_application_id => p_application_id
102092 , p_ae_header_id => l_ae_header_id
102093 , p_source_1 => p_source_1
102094 )
102095 );
102096
102097
102098 --
102099 -- call ADRs
102100 -- Bug 4922099
102101 --
102102 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
102103 (NVL(l_actual_upg_option, 'N') = 'O') OR
102104 (NVL(l_enc_upg_option, 'N') = 'O')
102105 )
102106 THEN
102107 NULL;
102108 --
102109 --
102110
102111 l_ccid := AcctDerRule_33(
102112 p_application_id => p_application_id
102113 , p_ae_header_id => l_ae_header_id
102114 , p_source_30 => p_source_30
102115 , x_transaction_coa_id => l_adr_transaction_coa_id
102116 , x_accounting_coa_id => l_adr_accounting_coa_id
102117 , x_value_type_code => l_adr_value_type_code
102118 , p_side => 'NA'
102119 );
102120
102121 xla_ae_lines_pkg.set_ccid(
102122 p_code_combination_id => l_ccid
102123 , p_value_type_code => l_adr_value_type_code
102124 , p_transaction_coa_id => l_adr_transaction_coa_id
102125 , p_accounting_coa_id => l_adr_accounting_coa_id
102126 , p_adr_code => 'AP_INVOICE_DIST'
102127 , p_adr_type_code => 'S'
102128 , p_component_type => l_component_type
102129 , p_component_code => l_component_code
102130 , p_component_type_code => l_component_type_code
102131 , p_component_appl_id => l_component_appl_id
102132 , p_amb_context_code => l_amb_context_code
102133 , p_side => 'NA'
102134 );
102135
102136
102137 --
102138 --
102139 END IF;
102140 --
102141 -- Bug 4922099
102142 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
102143 (NVL(l_enc_upg_option, 'N') = 'O')
102144 ) AND
102145 (l_bflow_method_code = 'PRIOR_ENTRY')
102146 )
102147 THEN
102148 IF
102149 --
102150 1 = 2
102151 --
102152 THEN
102153 xla_accounting_err_pkg.build_message
102154 (p_appli_s_name => 'XLA'
102155 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
102156 ,p_token_1 => 'LINE_NUMBER'
102157 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
102158 ,p_token_2 => 'LINE_TYPE_NAME'
102159 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
102160 l_component_type
102161 ,l_component_code
102162 ,l_component_type_code
102163 ,l_component_appl_id
102164 ,l_amb_context_code
102165 ,l_entity_code
102166 ,l_event_class_code
102167 )
102168 ,p_token_3 => 'OWNER'
102169 ,p_value_3 => xla_lookups_pkg.get_meaning(
102170 p_lookup_type => 'XLA_OWNER_TYPE'
102171 ,p_lookup_code => l_component_type_code
102172 )
102173 ,p_token_4 => 'PRODUCT_NAME'
102177 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
102174 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
102175 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
102176 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
102178 ,p_ae_header_id => NULL
102179 );
102180
102181 IF (C_LEVEL_ERROR>= g_log_level) THEN
102182 trace
102183 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
102184 ,p_level => C_LEVEL_ERROR
102185 ,p_module => l_log_module);
102186 END IF;
102187 END IF;
102188 END IF;
102189 --
102190 --
102191 ------------------------------------------------------------------------------------------------
102192 -- 4219869 Business Flow
102193 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
102194 -- Prior Entry. Currently, the following code is always generated.
102195 ------------------------------------------------------------------------------------------------
102196 XLA_AE_LINES_PKG.ValidateCurrentLine;
102197
102198 ------------------------------------------------------------------------------------
102199 -- 4219869 Business Flow
102200 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
102201 ------------------------------------------------------------------------------------
102202 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
102203
102204 ----------------------------------------------------------------------------------
102205 -- 4219869 Business Flow
102206 -- Update journal entry status -- Need to generate this within IF <condition>
102207 ----------------------------------------------------------------------------------
102208 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
102209 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
102210 ,p_balance_type_code => l_balance_type_code
102211 );
102212
102213 -------------------------------------------------------------------------------------------
102214 -- 4262811 - Generate the Accrual Reversal lines
102215 -------------------------------------------------------------------------------------------
102216 BEGIN
102217 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
102218 (g_array_event(p_event_id).array_value_num('header_index'));
102219 IF l_acc_rev_flag IS NULL THEN
102220 l_acc_rev_flag := 'N';
102221 END IF;
102222 EXCEPTION
102223 WHEN OTHERS THEN
102224 l_acc_rev_flag := 'N';
102225 END;
102226 --
102227 IF (l_acc_rev_flag = 'Y') THEN
102228
102229 -- 4645092 ------------------------------------------------------------------------------
102230 -- To allow MPA report to determine if it should generate report process
102231 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
102232 ------------------------------------------------------------------------------------------
102233
102234 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
102235 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
102236 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
102237 -- call ADRs
102238 -- Bug 4922099
102239 --
102240 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
102241 (NVL(l_actual_upg_option, 'N') = 'O') OR
102242 (NVL(l_enc_upg_option, 'N') = 'O')
102243 )
102244 THEN
102245 NULL;
102246 --
102247 --
102248
102249 l_ccid := AcctDerRule_33(
102250 p_application_id => p_application_id
102251 , p_ae_header_id => l_ae_header_id
102252 , p_source_30 => p_source_30
102253 , x_transaction_coa_id => l_adr_transaction_coa_id
102254 , x_accounting_coa_id => l_adr_accounting_coa_id
102255 , x_value_type_code => l_adr_value_type_code
102256 , p_side => 'NA'
102257 );
102258
102259 xla_ae_lines_pkg.set_ccid(
102260 p_code_combination_id => l_ccid
102261 , p_value_type_code => l_adr_value_type_code
102262 , p_transaction_coa_id => l_adr_transaction_coa_id
102263 , p_accounting_coa_id => l_adr_accounting_coa_id
102264 , p_adr_code => 'AP_INVOICE_DIST'
102265 , p_adr_type_code => 'S'
102266 , p_component_type => l_component_type
102267 , p_component_code => l_component_code
102268 , p_component_type_code => l_component_type_code
102269 , p_component_appl_id => l_component_appl_id
102270 , p_amb_context_code => l_amb_context_code
102271 , p_side => 'NA'
102272 );
102273
102274
102275 --
102276 --
102277 END IF;
102278
102279 --
102280 -- Update the line information that should be overwritten
102281 --
102282 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
102283 p_header_num => 1);
102284 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
102285
102289 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
102286 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
102287
102288 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
102290 END IF;
102291
102292 --
102293 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
102294 --
102295 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
102296 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
102297 ELSE
102298 ---------------------------------------------------------------------------------------------------
102299 -- 4262811a Switch Sign
102300 ---------------------------------------------------------------------------------------------------
102301 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
102302 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
102303 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
102304 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
102305 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
102306 -- 5132302
102307 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
102308 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
102309
102310 END IF;
102311
102312 -- 4955764
102313 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
102314 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
102315
102316
102317 XLA_AE_LINES_PKG.ValidateCurrentLine;
102318 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
102319
102320 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
102321 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
102322 ,p_balance_type_code => l_balance_type_code);
102323
102324 END IF;
102325
102326 -----------------------------------------------------------------------------------------
102327 -- 4262811 Multiperiod Accounting
102328 -----------------------------------------------------------------------------------------
102329 -- No MPA option is assigned.
102330
102331
102332 END IF;
102333 END IF;
102334 --
102335
102336 --
102337 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
102338 trace
102339 (p_msg => 'END of AcctLineType_174'
102340 ,p_level => C_LEVEL_PROCEDURE
102341 ,p_module => l_log_module);
102342 END IF;
102343 --
102344 EXCEPTION
102345 WHEN xla_exceptions_pkg.application_exception THEN
102346 RAISE;
102347 WHEN OTHERS THEN
102348 xla_exceptions_pkg.raise_message
102349 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_174');
102350 END AcctLineType_174;
102351 --
102352
102353 ---------------------------------------
102354 --
102355 -- PRIVATE FUNCTION
102356 -- AcctLineType_175
102357 --
102358 ---------------------------------------
102359 PROCEDURE AcctLineType_175 (
102360 p_application_id IN NUMBER
102361 ,p_event_id IN NUMBER
102362 ,p_calculate_acctd_flag IN VARCHAR2
102363 ,p_calculate_g_l_flag IN VARCHAR2
102364 ,p_actual_flag IN OUT VARCHAR2
102365 ,p_balance_type_code OUT VARCHAR2
102366 ,p_gain_or_loss_ref OUT VARCHAR2
102367
102368 --Invoice Distribution Description
102369 , p_source_1 IN VARCHAR2
102370 --Invoice Distribution Ledger Amount
102371 , p_source_21 IN NUMBER
102372 --Invoice Distribution Account
102373 , p_source_30 IN NUMBER
102374 --Invoice Distribution Type
102375 , p_source_33 IN VARCHAR2
102376 , p_source_33_meaning IN VARCHAR2
102377 --Accounting Reversal Indicator
102378 , p_source_53 IN VARCHAR2
102379 --Distribution Link Type
102380 , p_source_55 IN VARCHAR2
102381 --Allocation to Main Distribution Identifier
102382 , p_source_57 IN NUMBER
102383 --Invoice Identifier
102384 , p_source_58 IN NUMBER
102385 --Invoice Distribution Identifier
102386 , p_source_64 IN NUMBER
102387 --Payables Encumbrance Upgrade Credit Account
102388 , p_source_65 IN NUMBER
102389 --Payables Encumbrance Upgrade Credit Amount
102390 , p_source_66 IN NUMBER
102391 --Invoice Currency Code
102392 , p_source_67 IN VARCHAR2
102393 --Payables Encumbrance Upgrade Credit Base Amount
102394 , p_source_68 IN NUMBER
102395 --Payables Encumbrance Upgrade Debit Account
102396 , p_source_69 IN NUMBER
102397 --Payables Encumbrance Upgrade Debit Amount
102398 , p_source_70 IN NUMBER
102399 --Payables Encumbrance Upgrade Debit Base Amount
102400 , p_source_71 IN NUMBER
102401 --Payables Encumbrance Upgrade Option
102402 , p_source_72 IN VARCHAR2
102403 --Invoice Distribution Amount
102404 , p_source_73 IN NUMBER
102405 --Purchase Order Exchange Rate Date
102406 , p_source_74 IN DATE
102407 --Purchase Order Exchange Rate
102408 , p_source_75 IN NUMBER
102409 --Purchase Order Exchange Rate Type
102413 --Deferred Accounting Option
102410 , p_source_76 IN VARCHAR2
102411 --Deferred Accounting End Date
102412 , p_source_77 IN DATE
102414 , p_source_78 IN VARCHAR2
102415 --Deferred Accounting Start Date
102416 , p_source_79 IN DATE
102417 --Override Accounted Amount Indicator
102418 , p_source_80 IN VARCHAR2
102419 , p_source_80_meaning IN VARCHAR2
102420 --Invoice Supplier Identifier
102421 , p_source_81 IN NUMBER
102422 --Invoice Supplier Site Identifier
102423 , p_source_82 IN NUMBER
102424 --Third Party Type
102425 , p_source_83 IN VARCHAR2
102426 --Parent Reversal Identifier
102427 , p_source_84 IN NUMBER
102428 --Invoice Distribution Statistical Amount
102429 , p_source_85 IN NUMBER
102430 --Invoice Distribution Tax Line Identifier
102431 , p_source_86 IN NUMBER
102432 --Invoice Distribution Tax Distribution Identifier from Tax
102433 , p_source_87 IN NUMBER
102434 --Invoice Distribution Summary Tax Line Identifier
102435 , p_source_88 IN NUMBER
102436 --Payables Upgrade Credit Encumbrance Type Identifier
102437 , p_source_89 IN NUMBER
102438 --Payables Upgrade Debit Encumbrance Type Identifier
102439 , p_source_90 IN NUMBER
102440 --Business Flow Accounts Payable Application Identifier
102441 , p_source_91 IN NUMBER
102442 --Business Flow Invoice Distribution Type
102443 , p_source_92 IN VARCHAR2
102444 --Business Flow Invoice Entity Code
102445 , p_source_93 IN VARCHAR2
102446 --Business Flow Invoice Distribution Identifier
102447 , p_source_94 IN NUMBER
102448 --Business Flow Invoice Identifier
102449 , p_source_95 IN NUMBER
102450 --Accrue on Receipt Option
102451 , p_source_96 IN VARCHAR2
102452 , p_source_96_meaning IN VARCHAR2
102453 --Self-Assessed Tax Flag
102454 , p_source_142 IN VARCHAR2
102455 , p_source_142_meaning IN VARCHAR2
102456 )
102457 IS
102458
102459 l_component_type VARCHAR2(80);
102460 l_component_code VARCHAR2(30);
102461 l_component_type_code VARCHAR2(1);
102462 l_component_appl_id INTEGER;
102463 l_amb_context_code VARCHAR2(30);
102464 l_entity_code VARCHAR2(30);
102465 l_event_class_code VARCHAR2(30);
102466 l_ae_header_id NUMBER;
102467 l_event_type_code VARCHAR2(30);
102468 l_line_definition_code VARCHAR2(30);
102469 l_line_definition_owner_code VARCHAR2(1);
102470 --
102471 -- adr variables
102472 l_segment VARCHAR2(30);
102473 l_ccid NUMBER;
102474 l_adr_transaction_coa_id NUMBER;
102475 l_adr_accounting_coa_id NUMBER;
102476 l_adr_flexfield_segment_code VARCHAR2(30);
102477 l_adr_flex_value_set_id NUMBER;
102478 l_adr_value_type_code VARCHAR2(30);
102479 l_adr_value_combination_id NUMBER;
102480 l_adr_value_segment_code VARCHAR2(30);
102481
102482 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
102483 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
102484 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
102485 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
102486
102487 -- 4262811 Variables ------------------------------------------------------------------------------------------
102488 l_entered_amt_idx NUMBER;
102489 l_accted_amt_idx NUMBER;
102490 l_acc_rev_flag VARCHAR2(1);
102491 l_accrual_line_num NUMBER;
102492 l_tmp_amt NUMBER;
102493 l_acc_rev_natural_side_code VARCHAR2(1);
102494
102495 l_num_entries NUMBER;
102496 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
102497 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
102498 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
102499 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
102500 l_recog_line_1 NUMBER;
102501 l_recog_line_2 NUMBER;
102502
102503 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
102504 l_bflow_applied_to_amt NUMBER; -- 5132302
102505 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
102506
102507 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
102508
102509 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
102510 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
102511
102512 ---------------------------------------------------------------------------------------------------------------
102513
102514
102515 --
102516 -- bulk performance
102517 --
102518 l_balance_type_code VARCHAR2(1);
102519 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
102520 l_log_module VARCHAR2(240);
102521
102522 --
102523 -- Upgrade strategy
102524 --
102525 l_actual_upg_option VARCHAR2(1);
102526 l_enc_upg_option VARCHAR2(1);
102527
102528 --
102529 BEGIN
102530 --
102531 IF g_log_enabled THEN
102532 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_175';
102533 END IF;
102534 --
102535 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
102536
102537 trace
102541
102538 (p_msg => 'BEGIN of AcctLineType_175'
102539 ,p_level => C_LEVEL_PROCEDURE
102540 ,p_module => l_log_module);
102542 END IF;
102543 --
102544 l_component_type := 'AMB_JLT';
102545 l_component_code := 'AP_NON_RECOV_TAX_ACCRUAL_CM';
102546 l_component_type_code := 'S';
102547 l_component_appl_id := 200;
102548 l_amb_context_code := 'DEFAULT';
102549 l_entity_code := 'AP_INVOICES';
102550 l_event_class_code := 'CREDIT MEMOS';
102551 l_event_type_code := 'CREDIT MEMOS_ALL';
102552 l_line_definition_owner_code := 'S';
102553 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
102554 --
102555 l_balance_type_code := 'A';
102556 l_segment := NULL;
102557 l_ccid := NULL;
102558 l_adr_transaction_coa_id := NULL;
102559 l_adr_accounting_coa_id := NULL;
102560 l_adr_flexfield_segment_code := NULL;
102561 l_adr_flex_value_set_id := NULL;
102562 l_adr_value_type_code := NULL;
102563 l_adr_value_combination_id := NULL;
102564 l_adr_value_segment_code := NULL;
102565
102566 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
102567 l_bflow_class_code := ''; -- 4219869 Business Flow
102568 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
102569 l_budgetary_control_flag := 'N';
102570
102571 l_bflow_applied_to_amt_idx := NULL; -- 5132302
102572 l_bflow_applied_to_amt := NULL; -- 5132302
102573 l_entered_amt_idx := NULL; -- 4262811
102574 l_accted_amt_idx := NULL; -- 4262811
102575 l_acc_rev_flag := NULL; -- 4262811
102576 l_accrual_line_num := NULL; -- 4262811
102577 l_tmp_amt := NULL; -- 4262811
102578 --
102579
102580 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
102581 l_balance_type_code <> 'B' THEN
102582 IF NVL(p_source_33,'
102583 ') = 'NONREC_TAX' AND
102584 NVL(p_source_96,'
102585 ') = 'Y' AND
102586 NVL(p_source_142,'
102587 ') <> 'Y'
102588 THEN
102589
102590 --
102591 XLA_AE_LINES_PKG.SetNewLine;
102592
102593 p_balance_type_code := l_balance_type_code;
102594 -- set the flag so later we will know whether the gain loss line needs to be created
102595
102596 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
102597 p_actual_flag :='A';
102598 END IF;
102599
102600 --
102601 -- bulk performance
102602 --
102603 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
102604 p_header_num => 0); -- 4262811
102605 --
102606 -- set accounting line options
102607 --
102608 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
102609 p_natural_side_code => 'D'
102610 , p_gain_or_loss_flag => 'N'
102611 , p_gl_transfer_mode_code => 'S'
102612 , p_acct_entry_type_code => 'A'
102613 , p_switch_side_flag => 'Y'
102614 , p_merge_duplicate_code => 'A'
102615 );
102616 --
102617 l_acc_rev_natural_side_code := 'C'; -- 4262811
102618 --
102619 --
102620 -- set accounting line type info
102621 --
102622 xla_ae_lines_pkg.SetAcctLineType
102623 (p_component_type => l_component_type
102624 ,p_event_type_code => l_event_type_code
102625 ,p_line_definition_owner_code => l_line_definition_owner_code
102626 ,p_line_definition_code => l_line_definition_code
102627 ,p_accounting_line_code => l_component_code
102628 ,p_accounting_line_type_code => l_component_type_code
102629 ,p_accounting_line_appl_id => l_component_appl_id
102630 ,p_amb_context_code => l_amb_context_code
102631 ,p_entity_code => l_entity_code
102632 ,p_event_class_code => l_event_class_code);
102633 --
102634 -- set accounting class
102635 --
102636 xla_ae_lines_pkg.SetAcctClass(
102637 p_accounting_class_code => 'NRTAX'
102638 , p_ae_header_id => l_ae_header_id
102639 );
102640
102641 --
102642 -- set rounding class
102643 --
102644 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
102645 'NRTAX';
102646
102647 --
102648 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
102649 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
102650 --
102651 -- bulk performance
102652 --
102653 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
102654
102655 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
102656 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
102657
102658 -- 4955764
102659 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
102660 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
102661
102662 -- 4458381 Public Sector Enh
102663
102664 --
102665 -- set accounting attributes for the line type
102666 --
102667 l_entered_amt_idx := 23;
102671 l_rec_acct_attrs.array_char_value(1) := p_source_53;
102668 l_accted_amt_idx := 28;
102669 l_bflow_applied_to_amt_idx := NULL; -- 5132302
102670 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
102672 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
102673 l_rec_acct_attrs.array_num_value(2) :=
102674 xla_ae_sources_pkg.GetSystemSourceNum(
102675 p_source_code => 'XLA_EVENT_APPL_ID'
102676 , p_source_type_code => 'Y'
102677 , p_source_application_id => 602
102678 );
102679 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
102680 l_rec_acct_attrs.array_char_value(3) := p_source_55;
102681 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
102682 l_rec_acct_attrs.array_char_value(4) :=
102683 xla_ae_sources_pkg.GetSystemSourceChar(
102684 p_source_code => 'XLA_ENTITY_CODE'
102685 , p_source_type_code => 'Y'
102686 , p_source_application_id => 602
102687 );
102688 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
102689 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
102690 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
102691 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
102692 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
102693 l_rec_acct_attrs.array_num_value(7) := p_source_91;
102694 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
102695 l_rec_acct_attrs.array_char_value(8) := p_source_92;
102696 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
102697 l_rec_acct_attrs.array_char_value(9) := p_source_93;
102698 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
102699 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
102700 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
102701 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
102702 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
102703 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
102704 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
102705 l_rec_acct_attrs.array_char_value(13) := p_source_55;
102706 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
102707 l_rec_acct_attrs.array_num_value(14) := p_source_65;
102708 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
102709 l_rec_acct_attrs.array_num_value(15) := p_source_66;
102710 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
102711 l_rec_acct_attrs.array_char_value(16) := p_source_67;
102712 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
102713 l_rec_acct_attrs.array_num_value(17) := p_source_68;
102714 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
102715 l_rec_acct_attrs.array_num_value(18) := p_source_69;
102716 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
102717 l_rec_acct_attrs.array_num_value(19) := p_source_70;
102718 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
102719 l_rec_acct_attrs.array_char_value(20) := p_source_67;
102720 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
102721 l_rec_acct_attrs.array_num_value(21) := p_source_71;
102722 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
102723 l_rec_acct_attrs.array_char_value(22) := p_source_72;
102724 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
102725 l_rec_acct_attrs.array_num_value(23) := p_source_73;
102726 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
102727 l_rec_acct_attrs.array_char_value(24) := p_source_67;
102728 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
102729 l_rec_acct_attrs.array_date_value(25) := p_source_74;
102730 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
102731 l_rec_acct_attrs.array_num_value(26) := p_source_75;
102732 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
102733 l_rec_acct_attrs.array_char_value(27) := p_source_76;
102734 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
102735 l_rec_acct_attrs.array_num_value(28) := p_source_21;
102736 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
102737 l_rec_acct_attrs.array_date_value(29) := p_source_77;
102738 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
102739 l_rec_acct_attrs.array_char_value(30) := p_source_78;
102740 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
102741 l_rec_acct_attrs.array_date_value(31) := p_source_79;
102742 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
102743 l_rec_acct_attrs.array_char_value(32) := p_source_80;
102744 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
102745 l_rec_acct_attrs.array_num_value(33) := p_source_81;
102746 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
102747 l_rec_acct_attrs.array_num_value(34) := p_source_82;
102748 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
102749 l_rec_acct_attrs.array_char_value(35) := p_source_83;
102750 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
102751 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
102752 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
102753 l_rec_acct_attrs.array_char_value(37) := p_source_55;
102754 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
102758 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
102755 l_rec_acct_attrs.array_num_value(38) := p_source_85;
102756 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
102757 l_rec_acct_attrs.array_num_value(39) := p_source_86;
102759 l_rec_acct_attrs.array_num_value(40) := p_source_87;
102760 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
102761 l_rec_acct_attrs.array_num_value(41) := p_source_88;
102762 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
102763 l_rec_acct_attrs.array_num_value(42) := p_source_89;
102764 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
102765 l_rec_acct_attrs.array_num_value(43) := p_source_90;
102766
102767 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
102768 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
102769
102770 ---------------------------------------------------------------------------------------------------------------
102771 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
102772 ---------------------------------------------------------------------------------------------------------------
102773 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
102774
102775 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
102776 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
102777
102778 IF xla_accounting_cache_pkg.GetValueChar
102779 (p_source_code => 'LEDGER_CATEGORY_CODE'
102780 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
102781 AND l_bflow_method_code = 'PRIOR_ENTRY'
102782 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
102783 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
102784 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
102785 )
102786 THEN
102787 xla_ae_lines_pkg.BflowUpgEntry
102788 (p_business_method_code => l_bflow_method_code
102789 ,p_business_class_code => l_bflow_class_code
102790 ,p_balance_type => l_balance_type_code);
102791 ELSE
102792 NULL;
102793 -- No business flow processing for business flow method of NONE.
102794 END IF;
102795
102796 --
102797 -- call analytical criteria
102798 --
102799
102800 --
102801 -- call description
102802 --
102803
102804 xla_ae_lines_pkg.SetLineDescription(
102805 p_ae_header_id => l_ae_header_id
102806 ,p_description => Description_1 (
102807 p_application_id => p_application_id
102808 , p_ae_header_id => l_ae_header_id
102809 , p_source_1 => p_source_1
102810 )
102811 );
102812
102813
102814 --
102815 -- call ADRs
102816 -- Bug 4922099
102817 --
102818 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
102819 (NVL(l_actual_upg_option, 'N') = 'O') OR
102820 (NVL(l_enc_upg_option, 'N') = 'O')
102821 )
102822 THEN
102823 NULL;
102824 --
102825 --
102826
102827 l_ccid := AcctDerRule_33(
102828 p_application_id => p_application_id
102829 , p_ae_header_id => l_ae_header_id
102830 , p_source_30 => p_source_30
102831 , x_transaction_coa_id => l_adr_transaction_coa_id
102832 , x_accounting_coa_id => l_adr_accounting_coa_id
102833 , x_value_type_code => l_adr_value_type_code
102834 , p_side => 'NA'
102835 );
102836
102837 xla_ae_lines_pkg.set_ccid(
102838 p_code_combination_id => l_ccid
102839 , p_value_type_code => l_adr_value_type_code
102840 , p_transaction_coa_id => l_adr_transaction_coa_id
102841 , p_accounting_coa_id => l_adr_accounting_coa_id
102842 , p_adr_code => 'AP_INVOICE_DIST'
102843 , p_adr_type_code => 'S'
102844 , p_component_type => l_component_type
102845 , p_component_code => l_component_code
102846 , p_component_type_code => l_component_type_code
102847 , p_component_appl_id => l_component_appl_id
102848 , p_amb_context_code => l_amb_context_code
102849 , p_side => 'NA'
102850 );
102851
102852
102853 --
102854 --
102855 END IF;
102856 --
102857 -- Bug 4922099
102858 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
102859 (NVL(l_enc_upg_option, 'N') = 'O')
102860 ) AND
102861 (l_bflow_method_code = 'PRIOR_ENTRY')
102862 )
102863 THEN
102864 IF
102865 --
102866 1 = 2
102867 --
102868 THEN
102869 xla_accounting_err_pkg.build_message
102870 (p_appli_s_name => 'XLA'
102871 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
102872 ,p_token_1 => 'LINE_NUMBER'
102873 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
102874 ,p_token_2 => 'LINE_TYPE_NAME'
102875 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
102876 l_component_type
102880 ,l_amb_context_code
102877 ,l_component_code
102878 ,l_component_type_code
102879 ,l_component_appl_id
102881 ,l_entity_code
102882 ,l_event_class_code
102883 )
102884 ,p_token_3 => 'OWNER'
102885 ,p_value_3 => xla_lookups_pkg.get_meaning(
102886 p_lookup_type => 'XLA_OWNER_TYPE'
102887 ,p_lookup_code => l_component_type_code
102888 )
102889 ,p_token_4 => 'PRODUCT_NAME'
102890 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
102891 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
102892 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
102893 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
102894 ,p_ae_header_id => NULL
102895 );
102896
102897 IF (C_LEVEL_ERROR>= g_log_level) THEN
102898 trace
102899 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
102900 ,p_level => C_LEVEL_ERROR
102901 ,p_module => l_log_module);
102902 END IF;
102903 END IF;
102904 END IF;
102905 --
102906 --
102907 ------------------------------------------------------------------------------------------------
102908 -- 4219869 Business Flow
102909 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
102910 -- Prior Entry. Currently, the following code is always generated.
102911 ------------------------------------------------------------------------------------------------
102912 XLA_AE_LINES_PKG.ValidateCurrentLine;
102913
102914 ------------------------------------------------------------------------------------
102915 -- 4219869 Business Flow
102916 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
102917 ------------------------------------------------------------------------------------
102918 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
102919
102920 ----------------------------------------------------------------------------------
102921 -- 4219869 Business Flow
102922 -- Update journal entry status -- Need to generate this within IF <condition>
102923 ----------------------------------------------------------------------------------
102924 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
102925 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
102926 ,p_balance_type_code => l_balance_type_code
102927 );
102928
102929 -------------------------------------------------------------------------------------------
102930 -- 4262811 - Generate the Accrual Reversal lines
102931 -------------------------------------------------------------------------------------------
102932 BEGIN
102933 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
102934 (g_array_event(p_event_id).array_value_num('header_index'));
102935 IF l_acc_rev_flag IS NULL THEN
102936 l_acc_rev_flag := 'N';
102937 END IF;
102938 EXCEPTION
102939 WHEN OTHERS THEN
102940 l_acc_rev_flag := 'N';
102941 END;
102942 --
102943 IF (l_acc_rev_flag = 'Y') THEN
102944
102945 -- 4645092 ------------------------------------------------------------------------------
102946 -- To allow MPA report to determine if it should generate report process
102947 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
102948 ------------------------------------------------------------------------------------------
102949
102950 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
102951 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
102952 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
102953 -- call ADRs
102954 -- Bug 4922099
102955 --
102956 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
102957 (NVL(l_actual_upg_option, 'N') = 'O') OR
102958 (NVL(l_enc_upg_option, 'N') = 'O')
102959 )
102960 THEN
102961 NULL;
102962 --
102963 --
102964
102965 l_ccid := AcctDerRule_33(
102966 p_application_id => p_application_id
102967 , p_ae_header_id => l_ae_header_id
102968 , p_source_30 => p_source_30
102969 , x_transaction_coa_id => l_adr_transaction_coa_id
102970 , x_accounting_coa_id => l_adr_accounting_coa_id
102971 , x_value_type_code => l_adr_value_type_code
102972 , p_side => 'NA'
102973 );
102974
102978 , p_transaction_coa_id => l_adr_transaction_coa_id
102975 xla_ae_lines_pkg.set_ccid(
102976 p_code_combination_id => l_ccid
102977 , p_value_type_code => l_adr_value_type_code
102979 , p_accounting_coa_id => l_adr_accounting_coa_id
102980 , p_adr_code => 'AP_INVOICE_DIST'
102981 , p_adr_type_code => 'S'
102982 , p_component_type => l_component_type
102983 , p_component_code => l_component_code
102984 , p_component_type_code => l_component_type_code
102985 , p_component_appl_id => l_component_appl_id
102986 , p_amb_context_code => l_amb_context_code
102987 , p_side => 'NA'
102988 );
102989
102990
102991 --
102992 --
102993 END IF;
102994
102995 --
102996 -- Update the line information that should be overwritten
102997 --
102998 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
102999 p_header_num => 1);
103000 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
103001
103002 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
103003
103004 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
103005 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
103006 END IF;
103007
103008 --
103009 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
103010 --
103011 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
103012 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
103013 ELSE
103014 ---------------------------------------------------------------------------------------------------
103015 -- 4262811a Switch Sign
103016 ---------------------------------------------------------------------------------------------------
103017 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
103018 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
103019 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
103020 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
103021 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
103022 -- 5132302
103023 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
103024 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
103025
103026 END IF;
103027
103028 -- 4955764
103029 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
103030 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
103031
103032
103033 XLA_AE_LINES_PKG.ValidateCurrentLine;
103034 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
103035
103036 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
103037 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
103038 ,p_balance_type_code => l_balance_type_code);
103039
103040 END IF;
103041
103042 -----------------------------------------------------------------------------------------
103043 -- 4262811 Multiperiod Accounting
103044 -----------------------------------------------------------------------------------------
103045 -- No MPA option is assigned.
103046
103047
103048 END IF;
103049 END IF;
103050 --
103051
103052 --
103053 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
103054 trace
103055 (p_msg => 'END of AcctLineType_175'
103056 ,p_level => C_LEVEL_PROCEDURE
103057 ,p_module => l_log_module);
103058 END IF;
103059 --
103060 EXCEPTION
103061 WHEN xla_exceptions_pkg.application_exception THEN
103062 RAISE;
103063 WHEN OTHERS THEN
103064 xla_exceptions_pkg.raise_message
103065 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_175');
103066 END AcctLineType_175;
103067 --
103068
103069 ---------------------------------------
103070 --
103071 -- PRIVATE FUNCTION
103072 -- AcctLineType_176
103073 --
103074 ---------------------------------------
103075 PROCEDURE AcctLineType_176 (
103076 p_application_id IN NUMBER
103077 ,p_event_id IN NUMBER
103078 ,p_calculate_acctd_flag IN VARCHAR2
103079 ,p_calculate_g_l_flag IN VARCHAR2
103080 ,p_actual_flag IN OUT VARCHAR2
103081 ,p_balance_type_code OUT VARCHAR2
103082 ,p_gain_or_loss_ref OUT VARCHAR2
103083
103084 --Invoice Distribution Description
103085 , p_source_1 IN VARCHAR2
103086 --Invoice Distribution Ledger Amount
103087 , p_source_21 IN NUMBER
103088 --Invoice Distribution Account
103089 , p_source_30 IN NUMBER
103090 --Invoice Distribution Type
103091 , p_source_33 IN VARCHAR2
103092 , p_source_33_meaning IN VARCHAR2
103093 --Accounting Reversal Indicator
103094 , p_source_53 IN VARCHAR2
103095 --Distribution Link Type
103096 , p_source_55 IN VARCHAR2
103097 --Allocation to Main Distribution Identifier
103101 --Invoice Distribution Identifier
103098 , p_source_57 IN NUMBER
103099 --Invoice Identifier
103100 , p_source_58 IN NUMBER
103102 , p_source_64 IN NUMBER
103103 --Payables Encumbrance Upgrade Credit Account
103104 , p_source_65 IN NUMBER
103105 --Payables Encumbrance Upgrade Credit Amount
103106 , p_source_66 IN NUMBER
103107 --Invoice Currency Code
103108 , p_source_67 IN VARCHAR2
103109 --Payables Encumbrance Upgrade Credit Base Amount
103110 , p_source_68 IN NUMBER
103111 --Payables Encumbrance Upgrade Debit Account
103112 , p_source_69 IN NUMBER
103113 --Payables Encumbrance Upgrade Debit Amount
103114 , p_source_70 IN NUMBER
103115 --Payables Encumbrance Upgrade Debit Base Amount
103116 , p_source_71 IN NUMBER
103117 --Payables Encumbrance Upgrade Option
103118 , p_source_72 IN VARCHAR2
103119 --Invoice Distribution Amount
103120 , p_source_73 IN NUMBER
103121 --Purchase Order Exchange Rate Date
103122 , p_source_74 IN DATE
103123 --Purchase Order Exchange Rate
103124 , p_source_75 IN NUMBER
103125 --Purchase Order Exchange Rate Type
103126 , p_source_76 IN VARCHAR2
103127 --Deferred Accounting End Date
103128 , p_source_77 IN DATE
103129 --Deferred Accounting Option
103130 , p_source_78 IN VARCHAR2
103131 --Deferred Accounting Start Date
103132 , p_source_79 IN DATE
103133 --Override Accounted Amount Indicator
103134 , p_source_80 IN VARCHAR2
103135 , p_source_80_meaning IN VARCHAR2
103136 --Invoice Supplier Identifier
103137 , p_source_81 IN NUMBER
103138 --Invoice Supplier Site Identifier
103139 , p_source_82 IN NUMBER
103140 --Third Party Type
103141 , p_source_83 IN VARCHAR2
103142 --Parent Reversal Identifier
103143 , p_source_84 IN NUMBER
103144 --Invoice Distribution Tax Line Identifier
103145 , p_source_86 IN NUMBER
103146 --Invoice Distribution Tax Distribution Identifier from Tax
103147 , p_source_87 IN NUMBER
103148 --Invoice Distribution Summary Tax Line Identifier
103149 , p_source_88 IN NUMBER
103150 --Payables Upgrade Credit Encumbrance Type Identifier
103151 , p_source_89 IN NUMBER
103152 --Payables Upgrade Debit Encumbrance Type Identifier
103153 , p_source_90 IN NUMBER
103154 --Business Flow Accounts Payable Application Identifier
103155 , p_source_91 IN NUMBER
103156 --Business Flow Invoice Distribution Type
103157 , p_source_92 IN VARCHAR2
103158 --Business Flow Invoice Entity Code
103159 , p_source_93 IN VARCHAR2
103160 --Business Flow Invoice Distribution Identifier
103161 , p_source_94 IN NUMBER
103162 --Business Flow Invoice Identifier
103163 , p_source_95 IN NUMBER
103164 --Accrue on Receipt Option
103165 , p_source_96 IN VARCHAR2
103166 , p_source_96_meaning IN VARCHAR2
103167 --Self-Assessed Tax Flag
103168 , p_source_142 IN VARCHAR2
103169 , p_source_142_meaning IN VARCHAR2
103170 )
103171 IS
103172
103173 l_component_type VARCHAR2(80);
103174 l_component_code VARCHAR2(30);
103175 l_component_type_code VARCHAR2(1);
103176 l_component_appl_id INTEGER;
103177 l_amb_context_code VARCHAR2(30);
103178 l_entity_code VARCHAR2(30);
103179 l_event_class_code VARCHAR2(30);
103180 l_ae_header_id NUMBER;
103181 l_event_type_code VARCHAR2(30);
103182 l_line_definition_code VARCHAR2(30);
103183 l_line_definition_owner_code VARCHAR2(1);
103184 --
103185 -- adr variables
103186 l_segment VARCHAR2(30);
103187 l_ccid NUMBER;
103188 l_adr_transaction_coa_id NUMBER;
103189 l_adr_accounting_coa_id NUMBER;
103190 l_adr_flexfield_segment_code VARCHAR2(30);
103191 l_adr_flex_value_set_id NUMBER;
103192 l_adr_value_type_code VARCHAR2(30);
103193 l_adr_value_combination_id NUMBER;
103194 l_adr_value_segment_code VARCHAR2(30);
103195
103196 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
103197 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
103198 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
103199 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
103200
103201 -- 4262811 Variables ------------------------------------------------------------------------------------------
103202 l_entered_amt_idx NUMBER;
103203 l_accted_amt_idx NUMBER;
103204 l_acc_rev_flag VARCHAR2(1);
103205 l_accrual_line_num NUMBER;
103206 l_tmp_amt NUMBER;
103207 l_acc_rev_natural_side_code VARCHAR2(1);
103208
103209 l_num_entries NUMBER;
103210 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
103211 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
103212 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
103213 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
103214 l_recog_line_1 NUMBER;
103215 l_recog_line_2 NUMBER;
103216
103217 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
103218 l_bflow_applied_to_amt NUMBER; -- 5132302
103222
103219 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
103220
103221 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
103223 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
103224 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
103225
103226 ---------------------------------------------------------------------------------------------------------------
103227
103228
103229 --
103230 -- bulk performance
103231 --
103232 l_balance_type_code VARCHAR2(1);
103233 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
103234 l_log_module VARCHAR2(240);
103235
103236 --
103237 -- Upgrade strategy
103238 --
103239 l_actual_upg_option VARCHAR2(1);
103240 l_enc_upg_option VARCHAR2(1);
103241
103242 --
103243 BEGIN
103244 --
103245 IF g_log_enabled THEN
103246 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_176';
103247 END IF;
103248 --
103249 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
103250
103251 trace
103252 (p_msg => 'BEGIN of AcctLineType_176'
103253 ,p_level => C_LEVEL_PROCEDURE
103254 ,p_module => l_log_module);
103255
103256 END IF;
103257 --
103258 l_component_type := 'AMB_JLT';
103259 l_component_code := 'AP_NON_RECOV_TAX_ACCRUAL_DM';
103260 l_component_type_code := 'S';
103261 l_component_appl_id := 200;
103262 l_amb_context_code := 'DEFAULT';
103263 l_entity_code := 'AP_INVOICES';
103264 l_event_class_code := 'DEBIT MEMOS';
103265 l_event_type_code := 'DEBIT MEMOS_ALL';
103266 l_line_definition_owner_code := 'S';
103267 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
103268 --
103269 l_balance_type_code := 'A';
103270 l_segment := NULL;
103271 l_ccid := NULL;
103272 l_adr_transaction_coa_id := NULL;
103273 l_adr_accounting_coa_id := NULL;
103274 l_adr_flexfield_segment_code := NULL;
103275 l_adr_flex_value_set_id := NULL;
103276 l_adr_value_type_code := NULL;
103277 l_adr_value_combination_id := NULL;
103278 l_adr_value_segment_code := NULL;
103279
103280 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
103281 l_bflow_class_code := ''; -- 4219869 Business Flow
103282 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
103283 l_budgetary_control_flag := 'N';
103284
103285 l_bflow_applied_to_amt_idx := NULL; -- 5132302
103286 l_bflow_applied_to_amt := NULL; -- 5132302
103287 l_entered_amt_idx := NULL; -- 4262811
103288 l_accted_amt_idx := NULL; -- 4262811
103289 l_acc_rev_flag := NULL; -- 4262811
103290 l_accrual_line_num := NULL; -- 4262811
103291 l_tmp_amt := NULL; -- 4262811
103292 --
103293
103294 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
103295 l_balance_type_code <> 'B' THEN
103296 IF NVL(p_source_33,'
103297 ') = 'NONREC_TAX' AND
103298 NVL(p_source_96,'
103299 ') = 'Y' AND
103300 NVL(p_source_142,'
103301 ') <> 'Y'
103302 THEN
103303
103304 --
103305 XLA_AE_LINES_PKG.SetNewLine;
103306
103307 p_balance_type_code := l_balance_type_code;
103308 -- set the flag so later we will know whether the gain loss line needs to be created
103309
103310 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
103311 p_actual_flag :='A';
103312 END IF;
103313
103314 --
103315 -- bulk performance
103316 --
103317 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
103318 p_header_num => 0); -- 4262811
103319 --
103320 -- set accounting line options
103321 --
103322 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
103323 p_natural_side_code => 'D'
103324 , p_gain_or_loss_flag => 'N'
103325 , p_gl_transfer_mode_code => 'S'
103326 , p_acct_entry_type_code => 'A'
103327 , p_switch_side_flag => 'Y'
103328 , p_merge_duplicate_code => 'A'
103329 );
103330 --
103331 l_acc_rev_natural_side_code := 'C'; -- 4262811
103332 --
103333 --
103334 -- set accounting line type info
103335 --
103336 xla_ae_lines_pkg.SetAcctLineType
103337 (p_component_type => l_component_type
103338 ,p_event_type_code => l_event_type_code
103339 ,p_line_definition_owner_code => l_line_definition_owner_code
103340 ,p_line_definition_code => l_line_definition_code
103341 ,p_accounting_line_code => l_component_code
103342 ,p_accounting_line_type_code => l_component_type_code
103343 ,p_accounting_line_appl_id => l_component_appl_id
103344 ,p_amb_context_code => l_amb_context_code
103345 ,p_entity_code => l_entity_code
103346 ,p_event_class_code => l_event_class_code);
103347 --
103348 -- set accounting class
103349 --
103350 xla_ae_lines_pkg.SetAcctClass(
103351 p_accounting_class_code => 'NRTAX'
103352 , p_ae_header_id => l_ae_header_id
103356 -- set rounding class
103353 );
103354
103355 --
103357 --
103358 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
103359 'NRTAX';
103360
103361 --
103362 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
103363 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
103364 --
103365 -- bulk performance
103366 --
103367 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
103368
103369 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
103370 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
103371
103372 -- 4955764
103373 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
103374 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
103375
103376 -- 4458381 Public Sector Enh
103377
103378 --
103379 -- set accounting attributes for the line type
103380 --
103381 l_entered_amt_idx := 23;
103382 l_accted_amt_idx := 28;
103383 l_bflow_applied_to_amt_idx := NULL; -- 5132302
103384 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
103385 l_rec_acct_attrs.array_char_value(1) := p_source_53;
103386 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
103387 l_rec_acct_attrs.array_num_value(2) :=
103388 xla_ae_sources_pkg.GetSystemSourceNum(
103389 p_source_code => 'XLA_EVENT_APPL_ID'
103390 , p_source_type_code => 'Y'
103391 , p_source_application_id => 602
103392 );
103393 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
103394 l_rec_acct_attrs.array_char_value(3) := p_source_55;
103395 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
103396 l_rec_acct_attrs.array_char_value(4) :=
103397 xla_ae_sources_pkg.GetSystemSourceChar(
103398 p_source_code => 'XLA_ENTITY_CODE'
103399 , p_source_type_code => 'Y'
103400 , p_source_application_id => 602
103401 );
103402 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
103403 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
103404 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
103405 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
103406 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
103407 l_rec_acct_attrs.array_num_value(7) := p_source_91;
103408 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
103409 l_rec_acct_attrs.array_char_value(8) := p_source_92;
103410 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
103411 l_rec_acct_attrs.array_char_value(9) := p_source_93;
103412 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
103413 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
103414 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
103415 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
103416 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
103417 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
103418 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
103419 l_rec_acct_attrs.array_char_value(13) := p_source_55;
103420 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
103421 l_rec_acct_attrs.array_num_value(14) := p_source_65;
103422 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
103423 l_rec_acct_attrs.array_num_value(15) := p_source_66;
103424 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
103425 l_rec_acct_attrs.array_char_value(16) := p_source_67;
103426 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
103427 l_rec_acct_attrs.array_num_value(17) := p_source_68;
103428 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
103429 l_rec_acct_attrs.array_num_value(18) := p_source_69;
103430 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
103431 l_rec_acct_attrs.array_num_value(19) := p_source_70;
103432 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
103433 l_rec_acct_attrs.array_char_value(20) := p_source_67;
103434 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
103435 l_rec_acct_attrs.array_num_value(21) := p_source_71;
103436 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
103437 l_rec_acct_attrs.array_char_value(22) := p_source_72;
103438 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
103439 l_rec_acct_attrs.array_num_value(23) := p_source_73;
103440 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
103441 l_rec_acct_attrs.array_char_value(24) := p_source_67;
103442 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
103443 l_rec_acct_attrs.array_date_value(25) := p_source_74;
103444 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
103445 l_rec_acct_attrs.array_num_value(26) := p_source_75;
103446 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
103447 l_rec_acct_attrs.array_char_value(27) := p_source_76;
103448 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
103449 l_rec_acct_attrs.array_num_value(28) := p_source_21;
103450 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
103451 l_rec_acct_attrs.array_date_value(29) := p_source_77;
103455 l_rec_acct_attrs.array_date_value(31) := p_source_79;
103452 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
103453 l_rec_acct_attrs.array_char_value(30) := p_source_78;
103454 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
103456 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
103457 l_rec_acct_attrs.array_char_value(32) := p_source_80;
103458 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
103459 l_rec_acct_attrs.array_num_value(33) := p_source_81;
103460 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
103461 l_rec_acct_attrs.array_num_value(34) := p_source_82;
103462 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
103463 l_rec_acct_attrs.array_char_value(35) := p_source_83;
103464 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
103465 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
103466 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
103467 l_rec_acct_attrs.array_char_value(37) := p_source_55;
103468 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
103469 l_rec_acct_attrs.array_num_value(38) := p_source_86;
103470 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
103471 l_rec_acct_attrs.array_num_value(39) := p_source_87;
103472 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
103473 l_rec_acct_attrs.array_num_value(40) := p_source_88;
103474 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
103475 l_rec_acct_attrs.array_num_value(41) := p_source_89;
103476 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
103477 l_rec_acct_attrs.array_num_value(42) := p_source_90;
103478
103479 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
103480 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
103481
103482 ---------------------------------------------------------------------------------------------------------------
103483 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
103484 ---------------------------------------------------------------------------------------------------------------
103485 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
103486
103487 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
103488 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
103489
103490 IF xla_accounting_cache_pkg.GetValueChar
103491 (p_source_code => 'LEDGER_CATEGORY_CODE'
103492 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
103493 AND l_bflow_method_code = 'PRIOR_ENTRY'
103494 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
103495 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
103496 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
103497 )
103498 THEN
103499 xla_ae_lines_pkg.BflowUpgEntry
103500 (p_business_method_code => l_bflow_method_code
103501 ,p_business_class_code => l_bflow_class_code
103502 ,p_balance_type => l_balance_type_code);
103503 ELSE
103504 NULL;
103505 -- No business flow processing for business flow method of NONE.
103506 END IF;
103507
103508 --
103509 -- call analytical criteria
103510 --
103511
103512 --
103513 -- call description
103514 --
103515
103516 xla_ae_lines_pkg.SetLineDescription(
103517 p_ae_header_id => l_ae_header_id
103518 ,p_description => Description_1 (
103519 p_application_id => p_application_id
103520 , p_ae_header_id => l_ae_header_id
103521 , p_source_1 => p_source_1
103522 )
103523 );
103524
103525
103526 --
103527 -- call ADRs
103528 -- Bug 4922099
103529 --
103530 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
103531 (NVL(l_actual_upg_option, 'N') = 'O') OR
103532 (NVL(l_enc_upg_option, 'N') = 'O')
103533 )
103534 THEN
103535 NULL;
103536 --
103537 --
103538
103539 l_ccid := AcctDerRule_33(
103540 p_application_id => p_application_id
103541 , p_ae_header_id => l_ae_header_id
103542 , p_source_30 => p_source_30
103543 , x_transaction_coa_id => l_adr_transaction_coa_id
103544 , x_accounting_coa_id => l_adr_accounting_coa_id
103545 , x_value_type_code => l_adr_value_type_code
103546 , p_side => 'NA'
103547 );
103548
103549 xla_ae_lines_pkg.set_ccid(
103550 p_code_combination_id => l_ccid
103551 , p_value_type_code => l_adr_value_type_code
103552 , p_transaction_coa_id => l_adr_transaction_coa_id
103553 , p_accounting_coa_id => l_adr_accounting_coa_id
103554 , p_adr_code => 'AP_INVOICE_DIST'
103555 , p_adr_type_code => 'S'
103556 , p_component_type => l_component_type
103557 , p_component_code => l_component_code
103558 , p_component_type_code => l_component_type_code
103559 , p_component_appl_id => l_component_appl_id
103560 , p_amb_context_code => l_amb_context_code
103561 , p_side => 'NA'
103562 );
103563
103564
103565 --
103569 -- Bug 4922099
103566 --
103567 END IF;
103568 --
103570 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
103571 (NVL(l_enc_upg_option, 'N') = 'O')
103572 ) AND
103573 (l_bflow_method_code = 'PRIOR_ENTRY')
103574 )
103575 THEN
103576 IF
103577 --
103578 1 = 2
103579 --
103580 THEN
103581 xla_accounting_err_pkg.build_message
103582 (p_appli_s_name => 'XLA'
103583 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
103584 ,p_token_1 => 'LINE_NUMBER'
103585 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
103586 ,p_token_2 => 'LINE_TYPE_NAME'
103587 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
103588 l_component_type
103589 ,l_component_code
103590 ,l_component_type_code
103591 ,l_component_appl_id
103592 ,l_amb_context_code
103593 ,l_entity_code
103594 ,l_event_class_code
103595 )
103596 ,p_token_3 => 'OWNER'
103597 ,p_value_3 => xla_lookups_pkg.get_meaning(
103598 p_lookup_type => 'XLA_OWNER_TYPE'
103599 ,p_lookup_code => l_component_type_code
103600 )
103601 ,p_token_4 => 'PRODUCT_NAME'
103602 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
103603 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
103604 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
103605 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
103606 ,p_ae_header_id => NULL
103607 );
103608
103609 IF (C_LEVEL_ERROR>= g_log_level) THEN
103610 trace
103611 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
103612 ,p_level => C_LEVEL_ERROR
103613 ,p_module => l_log_module);
103614 END IF;
103615 END IF;
103616 END IF;
103617 --
103618 --
103619 ------------------------------------------------------------------------------------------------
103620 -- 4219869 Business Flow
103621 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
103622 -- Prior Entry. Currently, the following code is always generated.
103623 ------------------------------------------------------------------------------------------------
103624 XLA_AE_LINES_PKG.ValidateCurrentLine;
103625
103626 ------------------------------------------------------------------------------------
103627 -- 4219869 Business Flow
103628 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
103629 ------------------------------------------------------------------------------------
103630 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
103631
103632 ----------------------------------------------------------------------------------
103633 -- 4219869 Business Flow
103634 -- Update journal entry status -- Need to generate this within IF <condition>
103635 ----------------------------------------------------------------------------------
103636 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
103637 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
103638 ,p_balance_type_code => l_balance_type_code
103639 );
103640
103641 -------------------------------------------------------------------------------------------
103642 -- 4262811 - Generate the Accrual Reversal lines
103643 -------------------------------------------------------------------------------------------
103644 BEGIN
103645 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
103646 (g_array_event(p_event_id).array_value_num('header_index'));
103647 IF l_acc_rev_flag IS NULL THEN
103648 l_acc_rev_flag := 'N';
103649 END IF;
103650 EXCEPTION
103651 WHEN OTHERS THEN
103652 l_acc_rev_flag := 'N';
103653 END;
103654 --
103655 IF (l_acc_rev_flag = 'Y') THEN
103656
103657 -- 4645092 ------------------------------------------------------------------------------
103658 -- To allow MPA report to determine if it should generate report process
103659 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
103660 ------------------------------------------------------------------------------------------
103661
103665 -- call ADRs
103662 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
103663 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
103664 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
103666 -- Bug 4922099
103667 --
103668 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
103669 (NVL(l_actual_upg_option, 'N') = 'O') OR
103670 (NVL(l_enc_upg_option, 'N') = 'O')
103671 )
103672 THEN
103673 NULL;
103674 --
103675 --
103676
103677 l_ccid := AcctDerRule_33(
103678 p_application_id => p_application_id
103679 , p_ae_header_id => l_ae_header_id
103680 , p_source_30 => p_source_30
103681 , x_transaction_coa_id => l_adr_transaction_coa_id
103682 , x_accounting_coa_id => l_adr_accounting_coa_id
103683 , x_value_type_code => l_adr_value_type_code
103684 , p_side => 'NA'
103685 );
103686
103687 xla_ae_lines_pkg.set_ccid(
103688 p_code_combination_id => l_ccid
103689 , p_value_type_code => l_adr_value_type_code
103690 , p_transaction_coa_id => l_adr_transaction_coa_id
103691 , p_accounting_coa_id => l_adr_accounting_coa_id
103692 , p_adr_code => 'AP_INVOICE_DIST'
103693 , p_adr_type_code => 'S'
103694 , p_component_type => l_component_type
103695 , p_component_code => l_component_code
103696 , p_component_type_code => l_component_type_code
103697 , p_component_appl_id => l_component_appl_id
103698 , p_amb_context_code => l_amb_context_code
103699 , p_side => 'NA'
103700 );
103701
103702
103703 --
103704 --
103705 END IF;
103706
103707 --
103708 -- Update the line information that should be overwritten
103709 --
103710 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
103711 p_header_num => 1);
103712 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
103713
103714 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
103715
103716 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
103717 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
103718 END IF;
103719
103720 --
103721 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
103722 --
103723 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
103724 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
103725 ELSE
103726 ---------------------------------------------------------------------------------------------------
103727 -- 4262811a Switch Sign
103728 ---------------------------------------------------------------------------------------------------
103729 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
103730 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
103731 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
103732 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
103733 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
103734 -- 5132302
103735 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
103736 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
103737
103738 END IF;
103739
103740 -- 4955764
103741 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
103742 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
103743
103744
103745 XLA_AE_LINES_PKG.ValidateCurrentLine;
103746 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
103747
103748 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
103749 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
103750 ,p_balance_type_code => l_balance_type_code);
103751
103752 END IF;
103753
103754 -----------------------------------------------------------------------------------------
103755 -- 4262811 Multiperiod Accounting
103756 -----------------------------------------------------------------------------------------
103757 -- No MPA option is assigned.
103758
103759
103760 END IF;
103761 END IF;
103762 --
103763
103764 --
103765 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
103766 trace
103767 (p_msg => 'END of AcctLineType_176'
103768 ,p_level => C_LEVEL_PROCEDURE
103769 ,p_module => l_log_module);
103770 END IF;
103771 --
103772 EXCEPTION
103773 WHEN xla_exceptions_pkg.application_exception THEN
103774 RAISE;
103775 WHEN OTHERS THEN
103776 xla_exceptions_pkg.raise_message
103777 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_176');
103778 END AcctLineType_176;
103779 --
103783 -- PRIVATE FUNCTION
103780
103781 ---------------------------------------
103782 --
103784 -- AcctLineType_177
103785 --
103786 ---------------------------------------
103787 PROCEDURE AcctLineType_177 (
103788 p_application_id IN NUMBER
103789 ,p_event_id IN NUMBER
103790 ,p_calculate_acctd_flag IN VARCHAR2
103791 ,p_calculate_g_l_flag IN VARCHAR2
103792 ,p_actual_flag IN OUT VARCHAR2
103793 ,p_balance_type_code OUT VARCHAR2
103794 ,p_gain_or_loss_ref OUT VARCHAR2
103795
103796 --Invoice Distribution Description
103797 , p_source_1 IN VARCHAR2
103798 --Invoice Distribution Ledger Amount
103799 , p_source_21 IN NUMBER
103800 --Invoice Distribution Account
103801 , p_source_30 IN NUMBER
103802 --Invoice Distribution Type
103803 , p_source_33 IN VARCHAR2
103804 , p_source_33_meaning IN VARCHAR2
103805 --Accounting Reversal Indicator
103806 , p_source_53 IN VARCHAR2
103807 --Distribution Link Type
103808 , p_source_55 IN VARCHAR2
103809 --Allocation to Main Distribution Identifier
103810 , p_source_57 IN NUMBER
103811 --Invoice Identifier
103812 , p_source_58 IN NUMBER
103813 --Invoice Distribution Identifier
103814 , p_source_64 IN NUMBER
103815 --Payables Encumbrance Upgrade Credit Account
103816 , p_source_65 IN NUMBER
103817 --Payables Encumbrance Upgrade Credit Amount
103818 , p_source_66 IN NUMBER
103819 --Invoice Currency Code
103820 , p_source_67 IN VARCHAR2
103821 --Payables Encumbrance Upgrade Credit Base Amount
103822 , p_source_68 IN NUMBER
103823 --Payables Encumbrance Upgrade Debit Account
103824 , p_source_69 IN NUMBER
103825 --Payables Encumbrance Upgrade Debit Amount
103826 , p_source_70 IN NUMBER
103827 --Payables Encumbrance Upgrade Debit Base Amount
103828 , p_source_71 IN NUMBER
103829 --Payables Encumbrance Upgrade Option
103830 , p_source_72 IN VARCHAR2
103831 --Invoice Distribution Amount
103832 , p_source_73 IN NUMBER
103833 --Purchase Order Exchange Rate Date
103834 , p_source_74 IN DATE
103835 --Purchase Order Exchange Rate
103836 , p_source_75 IN NUMBER
103837 --Purchase Order Exchange Rate Type
103838 , p_source_76 IN VARCHAR2
103839 --Deferred Accounting End Date
103840 , p_source_77 IN DATE
103841 --Deferred Accounting Option
103842 , p_source_78 IN VARCHAR2
103843 --Deferred Accounting Start Date
103844 , p_source_79 IN DATE
103845 --Override Accounted Amount Indicator
103846 , p_source_80 IN VARCHAR2
103847 , p_source_80_meaning IN VARCHAR2
103848 --Invoice Supplier Identifier
103849 , p_source_81 IN NUMBER
103850 --Invoice Supplier Site Identifier
103851 , p_source_82 IN NUMBER
103852 --Third Party Type
103853 , p_source_83 IN VARCHAR2
103854 --Parent Reversal Identifier
103855 , p_source_84 IN NUMBER
103856 --Invoice Distribution Statistical Amount
103857 , p_source_85 IN NUMBER
103858 --Invoice Distribution Tax Line Identifier
103859 , p_source_86 IN NUMBER
103860 --Invoice Distribution Tax Distribution Identifier from Tax
103861 , p_source_87 IN NUMBER
103862 --Invoice Distribution Summary Tax Line Identifier
103863 , p_source_88 IN NUMBER
103864 --Payables Upgrade Credit Encumbrance Type Identifier
103865 , p_source_89 IN NUMBER
103866 --Payables Upgrade Debit Encumbrance Type Identifier
103867 , p_source_90 IN NUMBER
103868 --Business Flow Accounts Payable Application Identifier
103869 , p_source_91 IN NUMBER
103870 --Business Flow Invoice Distribution Type
103871 , p_source_92 IN VARCHAR2
103872 --Business Flow Invoice Entity Code
103873 , p_source_93 IN VARCHAR2
103874 --Business Flow Invoice Distribution Identifier
103875 , p_source_94 IN NUMBER
103876 --Business Flow Invoice Identifier
103877 , p_source_95 IN NUMBER
103878 --Accrue on Receipt Option
103879 , p_source_96 IN VARCHAR2
103880 , p_source_96_meaning IN VARCHAR2
103881 --Self-Assessed Tax Flag
103882 , p_source_142 IN VARCHAR2
103883 , p_source_142_meaning IN VARCHAR2
103884 )
103885 IS
103886
103887 l_component_type VARCHAR2(80);
103888 l_component_code VARCHAR2(30);
103889 l_component_type_code VARCHAR2(1);
103890 l_component_appl_id INTEGER;
103891 l_amb_context_code VARCHAR2(30);
103892 l_entity_code VARCHAR2(30);
103893 l_event_class_code VARCHAR2(30);
103894 l_ae_header_id NUMBER;
103895 l_event_type_code VARCHAR2(30);
103896 l_line_definition_code VARCHAR2(30);
103897 l_line_definition_owner_code VARCHAR2(1);
103898 --
103899 -- adr variables
103900 l_segment VARCHAR2(30);
103901 l_ccid NUMBER;
103902 l_adr_transaction_coa_id NUMBER;
103903 l_adr_accounting_coa_id NUMBER;
103904 l_adr_flexfield_segment_code VARCHAR2(30);
103905 l_adr_flex_value_set_id NUMBER;
103906 l_adr_value_type_code VARCHAR2(30);
103907 l_adr_value_combination_id NUMBER;
103908 l_adr_value_segment_code VARCHAR2(30);
103909
103910 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
103914
103911 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
103912 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
103913 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
103915 -- 4262811 Variables ------------------------------------------------------------------------------------------
103916 l_entered_amt_idx NUMBER;
103917 l_accted_amt_idx NUMBER;
103918 l_acc_rev_flag VARCHAR2(1);
103919 l_accrual_line_num NUMBER;
103920 l_tmp_amt NUMBER;
103921 l_acc_rev_natural_side_code VARCHAR2(1);
103922
103923 l_num_entries NUMBER;
103924 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
103925 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
103926 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
103927 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
103928 l_recog_line_1 NUMBER;
103929 l_recog_line_2 NUMBER;
103930
103931 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
103932 l_bflow_applied_to_amt NUMBER; -- 5132302
103933 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
103934
103935 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
103936
103937 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
103938 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
103939
103940 ---------------------------------------------------------------------------------------------------------------
103941
103942
103943 --
103944 -- bulk performance
103945 --
103946 l_balance_type_code VARCHAR2(1);
103947 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
103948 l_log_module VARCHAR2(240);
103949
103950 --
103951 -- Upgrade strategy
103952 --
103953 l_actual_upg_option VARCHAR2(1);
103954 l_enc_upg_option VARCHAR2(1);
103955
103956 --
103957 BEGIN
103958 --
103959 IF g_log_enabled THEN
103960 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_177';
103961 END IF;
103962 --
103963 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
103964
103965 trace
103966 (p_msg => 'BEGIN of AcctLineType_177'
103967 ,p_level => C_LEVEL_PROCEDURE
103968 ,p_module => l_log_module);
103969
103970 END IF;
103971 --
103972 l_component_type := 'AMB_JLT';
103973 l_component_code := 'AP_NON_RECOV_TAX_ACCRUAL_INV';
103974 l_component_type_code := 'S';
103975 l_component_appl_id := 200;
103976 l_amb_context_code := 'DEFAULT';
103977 l_entity_code := 'AP_INVOICES';
103978 l_event_class_code := 'INVOICES';
103979 l_event_type_code := 'INVOICES_ALL';
103980 l_line_definition_owner_code := 'S';
103981 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
103982 --
103983 l_balance_type_code := 'A';
103984 l_segment := NULL;
103985 l_ccid := NULL;
103986 l_adr_transaction_coa_id := NULL;
103987 l_adr_accounting_coa_id := NULL;
103988 l_adr_flexfield_segment_code := NULL;
103989 l_adr_flex_value_set_id := NULL;
103990 l_adr_value_type_code := NULL;
103991 l_adr_value_combination_id := NULL;
103992 l_adr_value_segment_code := NULL;
103993
103994 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
103995 l_bflow_class_code := ''; -- 4219869 Business Flow
103996 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
103997 l_budgetary_control_flag := 'N';
103998
103999 l_bflow_applied_to_amt_idx := NULL; -- 5132302
104000 l_bflow_applied_to_amt := NULL; -- 5132302
104001 l_entered_amt_idx := NULL; -- 4262811
104002 l_accted_amt_idx := NULL; -- 4262811
104003 l_acc_rev_flag := NULL; -- 4262811
104004 l_accrual_line_num := NULL; -- 4262811
104005 l_tmp_amt := NULL; -- 4262811
104006 --
104007
104008 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
104009 l_balance_type_code <> 'B' THEN
104010 IF NVL(p_source_33,'
104011 ') = 'NONREC_TAX' AND
104012 NVL(p_source_96,'
104013 ') = 'Y' AND
104014 NVL(p_source_142,'
104015 ') <> 'Y'
104016 THEN
104017
104018 --
104019 XLA_AE_LINES_PKG.SetNewLine;
104020
104021 p_balance_type_code := l_balance_type_code;
104022 -- set the flag so later we will know whether the gain loss line needs to be created
104023
104024 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
104025 p_actual_flag :='A';
104026 END IF;
104027
104028 --
104029 -- bulk performance
104030 --
104031 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
104032 p_header_num => 0); -- 4262811
104033 --
104034 -- set accounting line options
104035 --
104036 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
104037 p_natural_side_code => 'D'
104038 , p_gain_or_loss_flag => 'N'
104039 , p_gl_transfer_mode_code => 'S'
104040 , p_acct_entry_type_code => 'A'
104041 , p_switch_side_flag => 'Y'
104045 l_acc_rev_natural_side_code := 'C'; -- 4262811
104042 , p_merge_duplicate_code => 'A'
104043 );
104044 --
104046 --
104047 --
104048 -- set accounting line type info
104049 --
104050 xla_ae_lines_pkg.SetAcctLineType
104051 (p_component_type => l_component_type
104052 ,p_event_type_code => l_event_type_code
104053 ,p_line_definition_owner_code => l_line_definition_owner_code
104054 ,p_line_definition_code => l_line_definition_code
104055 ,p_accounting_line_code => l_component_code
104056 ,p_accounting_line_type_code => l_component_type_code
104057 ,p_accounting_line_appl_id => l_component_appl_id
104058 ,p_amb_context_code => l_amb_context_code
104059 ,p_entity_code => l_entity_code
104060 ,p_event_class_code => l_event_class_code);
104061 --
104062 -- set accounting class
104063 --
104064 xla_ae_lines_pkg.SetAcctClass(
104065 p_accounting_class_code => 'NRTAX'
104066 , p_ae_header_id => l_ae_header_id
104067 );
104068
104069 --
104070 -- set rounding class
104071 --
104072 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
104073 'NRTAX';
104074
104075 --
104076 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
104077 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
104078 --
104079 -- bulk performance
104080 --
104081 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
104082
104083 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
104084 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
104085
104086 -- 4955764
104087 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
104088 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
104089
104090 -- 4458381 Public Sector Enh
104091
104092 --
104093 -- set accounting attributes for the line type
104094 --
104095 l_entered_amt_idx := 24;
104096 l_accted_amt_idx := 29;
104097 l_bflow_applied_to_amt_idx := 7; -- 5132302
104098 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
104099 l_rec_acct_attrs.array_char_value(1) := p_source_53;
104100 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
104101 l_rec_acct_attrs.array_num_value(2) :=
104102 xla_ae_sources_pkg.GetSystemSourceNum(
104103 p_source_code => 'XLA_EVENT_APPL_ID'
104104 , p_source_type_code => 'Y'
104105 , p_source_application_id => 602
104106 );
104107 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
104108 l_rec_acct_attrs.array_char_value(3) := p_source_55;
104109 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
104110 l_rec_acct_attrs.array_char_value(4) :=
104111 xla_ae_sources_pkg.GetSystemSourceChar(
104112 p_source_code => 'XLA_ENTITY_CODE'
104113 , p_source_type_code => 'Y'
104114 , p_source_application_id => 602
104115 );
104116 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
104117 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
104118 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
104119 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
104120 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
104121 l_rec_acct_attrs.array_num_value(7) := p_source_73;
104122 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
104123 l_rec_acct_attrs.array_num_value(8) := p_source_91;
104124 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
104125 l_rec_acct_attrs.array_char_value(9) := p_source_92;
104126 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
104127 l_rec_acct_attrs.array_char_value(10) := p_source_93;
104128 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
104129 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
104130 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
104131 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_95);
104132 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
104133 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_64);
104134 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
104135 l_rec_acct_attrs.array_char_value(14) := p_source_55;
104136 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
104137 l_rec_acct_attrs.array_num_value(15) := p_source_65;
104138 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
104139 l_rec_acct_attrs.array_num_value(16) := p_source_66;
104140 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
104141 l_rec_acct_attrs.array_char_value(17) := p_source_67;
104142 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
104143 l_rec_acct_attrs.array_num_value(18) := p_source_68;
104144 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
104145 l_rec_acct_attrs.array_num_value(19) := p_source_69;
104146 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
104147 l_rec_acct_attrs.array_num_value(20) := p_source_70;
104151 l_rec_acct_attrs.array_num_value(22) := p_source_71;
104148 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
104149 l_rec_acct_attrs.array_char_value(21) := p_source_67;
104150 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
104152 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
104153 l_rec_acct_attrs.array_char_value(23) := p_source_72;
104154 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
104155 l_rec_acct_attrs.array_num_value(24) := p_source_73;
104156 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
104157 l_rec_acct_attrs.array_char_value(25) := p_source_67;
104158 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
104159 l_rec_acct_attrs.array_date_value(26) := p_source_74;
104160 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
104161 l_rec_acct_attrs.array_num_value(27) := p_source_75;
104162 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
104163 l_rec_acct_attrs.array_char_value(28) := p_source_76;
104164 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
104165 l_rec_acct_attrs.array_num_value(29) := p_source_21;
104166 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
104167 l_rec_acct_attrs.array_date_value(30) := p_source_77;
104168 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
104169 l_rec_acct_attrs.array_char_value(31) := p_source_78;
104170 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
104171 l_rec_acct_attrs.array_date_value(32) := p_source_79;
104172 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
104173 l_rec_acct_attrs.array_char_value(33) := p_source_80;
104174 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
104175 l_rec_acct_attrs.array_num_value(34) := p_source_81;
104176 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
104177 l_rec_acct_attrs.array_num_value(35) := p_source_82;
104178 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
104179 l_rec_acct_attrs.array_char_value(36) := p_source_83;
104180 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
104181 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_84);
104182 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
104183 l_rec_acct_attrs.array_char_value(38) := p_source_55;
104184 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
104185 l_rec_acct_attrs.array_num_value(39) := p_source_85;
104186 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
104187 l_rec_acct_attrs.array_num_value(40) := p_source_86;
104188 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
104189 l_rec_acct_attrs.array_num_value(41) := p_source_87;
104190 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
104191 l_rec_acct_attrs.array_num_value(42) := p_source_88;
104192 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
104193 l_rec_acct_attrs.array_num_value(43) := p_source_89;
104194 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
104195 l_rec_acct_attrs.array_num_value(44) := p_source_90;
104196
104197 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
104198 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
104199
104200 ---------------------------------------------------------------------------------------------------------------
104201 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
104202 ---------------------------------------------------------------------------------------------------------------
104203 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
104204
104205 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
104206 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
104207
104208 IF xla_accounting_cache_pkg.GetValueChar
104209 (p_source_code => 'LEDGER_CATEGORY_CODE'
104210 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
104211 AND l_bflow_method_code = 'PRIOR_ENTRY'
104212 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
104213 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
104214 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
104215 )
104216 THEN
104217 xla_ae_lines_pkg.BflowUpgEntry
104218 (p_business_method_code => l_bflow_method_code
104219 ,p_business_class_code => l_bflow_class_code
104220 ,p_balance_type => l_balance_type_code);
104221 ELSE
104222 NULL;
104223 -- No business flow processing for business flow method of NONE.
104224 END IF;
104225
104226 --
104227 -- call analytical criteria
104228 --
104229
104230 --
104231 -- call description
104232 --
104233
104234 xla_ae_lines_pkg.SetLineDescription(
104235 p_ae_header_id => l_ae_header_id
104236 ,p_description => Description_1 (
104237 p_application_id => p_application_id
104238 , p_ae_header_id => l_ae_header_id
104239 , p_source_1 => p_source_1
104240 )
104241 );
104242
104243
104244 --
104245 -- call ADRs
104246 -- Bug 4922099
104247 --
104248 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
104249 (NVL(l_actual_upg_option, 'N') = 'O') OR
104253 NULL;
104250 (NVL(l_enc_upg_option, 'N') = 'O')
104251 )
104252 THEN
104254 --
104255 --
104256
104257 l_ccid := AcctDerRule_33(
104258 p_application_id => p_application_id
104259 , p_ae_header_id => l_ae_header_id
104260 , p_source_30 => p_source_30
104261 , x_transaction_coa_id => l_adr_transaction_coa_id
104262 , x_accounting_coa_id => l_adr_accounting_coa_id
104263 , x_value_type_code => l_adr_value_type_code
104264 , p_side => 'NA'
104265 );
104266
104267 xla_ae_lines_pkg.set_ccid(
104268 p_code_combination_id => l_ccid
104269 , p_value_type_code => l_adr_value_type_code
104270 , p_transaction_coa_id => l_adr_transaction_coa_id
104271 , p_accounting_coa_id => l_adr_accounting_coa_id
104272 , p_adr_code => 'AP_INVOICE_DIST'
104273 , p_adr_type_code => 'S'
104274 , p_component_type => l_component_type
104275 , p_component_code => l_component_code
104276 , p_component_type_code => l_component_type_code
104277 , p_component_appl_id => l_component_appl_id
104278 , p_amb_context_code => l_amb_context_code
104279 , p_side => 'NA'
104280 );
104281
104282
104283 --
104284 --
104285 END IF;
104286 --
104287 -- Bug 4922099
104288 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
104289 (NVL(l_enc_upg_option, 'N') = 'O')
104290 ) AND
104291 (l_bflow_method_code = 'PRIOR_ENTRY')
104292 )
104293 THEN
104294 IF
104295 --
104296 1 = 2
104297 --
104298 THEN
104299 xla_accounting_err_pkg.build_message
104300 (p_appli_s_name => 'XLA'
104301 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
104302 ,p_token_1 => 'LINE_NUMBER'
104303 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
104304 ,p_token_2 => 'LINE_TYPE_NAME'
104305 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
104306 l_component_type
104307 ,l_component_code
104308 ,l_component_type_code
104309 ,l_component_appl_id
104310 ,l_amb_context_code
104311 ,l_entity_code
104312 ,l_event_class_code
104313 )
104314 ,p_token_3 => 'OWNER'
104315 ,p_value_3 => xla_lookups_pkg.get_meaning(
104316 p_lookup_type => 'XLA_OWNER_TYPE'
104317 ,p_lookup_code => l_component_type_code
104318 )
104319 ,p_token_4 => 'PRODUCT_NAME'
104320 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
104321 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
104322 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
104323 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
104324 ,p_ae_header_id => NULL
104325 );
104326
104327 IF (C_LEVEL_ERROR>= g_log_level) THEN
104328 trace
104329 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
104330 ,p_level => C_LEVEL_ERROR
104331 ,p_module => l_log_module);
104332 END IF;
104333 END IF;
104334 END IF;
104335 --
104336 --
104337 ------------------------------------------------------------------------------------------------
104338 -- 4219869 Business Flow
104339 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
104340 -- Prior Entry. Currently, the following code is always generated.
104341 ------------------------------------------------------------------------------------------------
104342 XLA_AE_LINES_PKG.ValidateCurrentLine;
104343
104344 ------------------------------------------------------------------------------------
104345 -- 4219869 Business Flow
104346 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
104347 ------------------------------------------------------------------------------------
104348 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
104349
104353 ----------------------------------------------------------------------------------
104350 ----------------------------------------------------------------------------------
104351 -- 4219869 Business Flow
104352 -- Update journal entry status -- Need to generate this within IF <condition>
104354 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
104355 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
104356 ,p_balance_type_code => l_balance_type_code
104357 );
104358
104359 -------------------------------------------------------------------------------------------
104360 -- 4262811 - Generate the Accrual Reversal lines
104361 -------------------------------------------------------------------------------------------
104362 BEGIN
104363 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
104364 (g_array_event(p_event_id).array_value_num('header_index'));
104365 IF l_acc_rev_flag IS NULL THEN
104366 l_acc_rev_flag := 'N';
104367 END IF;
104368 EXCEPTION
104369 WHEN OTHERS THEN
104370 l_acc_rev_flag := 'N';
104371 END;
104372 --
104373 IF (l_acc_rev_flag = 'Y') THEN
104374
104375 -- 4645092 ------------------------------------------------------------------------------
104376 -- To allow MPA report to determine if it should generate report process
104377 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
104378 ------------------------------------------------------------------------------------------
104379
104380 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
104381 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
104382 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
104383 -- call ADRs
104384 -- Bug 4922099
104385 --
104386 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
104387 (NVL(l_actual_upg_option, 'N') = 'O') OR
104388 (NVL(l_enc_upg_option, 'N') = 'O')
104389 )
104390 THEN
104391 NULL;
104392 --
104393 --
104394
104395 l_ccid := AcctDerRule_33(
104396 p_application_id => p_application_id
104397 , p_ae_header_id => l_ae_header_id
104398 , p_source_30 => p_source_30
104399 , x_transaction_coa_id => l_adr_transaction_coa_id
104400 , x_accounting_coa_id => l_adr_accounting_coa_id
104401 , x_value_type_code => l_adr_value_type_code
104402 , p_side => 'NA'
104403 );
104404
104405 xla_ae_lines_pkg.set_ccid(
104406 p_code_combination_id => l_ccid
104407 , p_value_type_code => l_adr_value_type_code
104408 , p_transaction_coa_id => l_adr_transaction_coa_id
104409 , p_accounting_coa_id => l_adr_accounting_coa_id
104410 , p_adr_code => 'AP_INVOICE_DIST'
104411 , p_adr_type_code => 'S'
104412 , p_component_type => l_component_type
104413 , p_component_code => l_component_code
104414 , p_component_type_code => l_component_type_code
104415 , p_component_appl_id => l_component_appl_id
104416 , p_amb_context_code => l_amb_context_code
104417 , p_side => 'NA'
104418 );
104419
104420
104421 --
104422 --
104423 END IF;
104424
104425 --
104426 -- Update the line information that should be overwritten
104427 --
104428 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
104429 p_header_num => 1);
104430 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
104431
104432 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
104433
104434 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
104435 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
104436 END IF;
104437
104438 --
104439 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
104440 --
104441 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
104442 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
104443 ELSE
104444 ---------------------------------------------------------------------------------------------------
104445 -- 4262811a Switch Sign
104446 ---------------------------------------------------------------------------------------------------
104447 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
104448 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
104449 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
104450 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
104451 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
104452 -- 5132302
104453 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
104454 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
104455
104456 END IF;
104457
104458 -- 4955764
104462
104459 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
104460 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
104461
104463 XLA_AE_LINES_PKG.ValidateCurrentLine;
104464 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
104465
104466 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
104467 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
104468 ,p_balance_type_code => l_balance_type_code);
104469
104470 END IF;
104471
104472 -----------------------------------------------------------------------------------------
104473 -- 4262811 Multiperiod Accounting
104474 -----------------------------------------------------------------------------------------
104475 -- No MPA option is assigned.
104476
104477
104478 END IF;
104479 END IF;
104480 --
104481
104482 --
104483 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
104484 trace
104485 (p_msg => 'END of AcctLineType_177'
104486 ,p_level => C_LEVEL_PROCEDURE
104487 ,p_module => l_log_module);
104488 END IF;
104489 --
104490 EXCEPTION
104491 WHEN xla_exceptions_pkg.application_exception THEN
104492 RAISE;
104493 WHEN OTHERS THEN
104494 xla_exceptions_pkg.raise_message
104495 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_177');
104496 END AcctLineType_177;
104497 --
104498
104499 ---------------------------------------
104500 --
104501 -- PRIVATE FUNCTION
104502 -- AcctLineType_178
104503 --
104504 ---------------------------------------
104505 PROCEDURE AcctLineType_178 (
104506 p_application_id IN NUMBER
104507 ,p_event_id IN NUMBER
104508 ,p_calculate_acctd_flag IN VARCHAR2
104509 ,p_calculate_g_l_flag IN VARCHAR2
104510 ,p_actual_flag IN OUT VARCHAR2
104511 ,p_balance_type_code OUT VARCHAR2
104512 ,p_gain_or_loss_ref OUT VARCHAR2
104513
104514 --Invoice Distribution Description
104515 , p_source_1 IN VARCHAR2
104516 --Invoice Distribution Ledger Amount
104517 , p_source_21 IN NUMBER
104518 --Invoice Distribution Account
104519 , p_source_30 IN NUMBER
104520 --Invoice Distribution Type
104521 , p_source_33 IN VARCHAR2
104522 , p_source_33_meaning IN VARCHAR2
104523 --Accounting Reversal Indicator
104524 , p_source_53 IN VARCHAR2
104525 --Distribution Link Type
104526 , p_source_55 IN VARCHAR2
104527 --Allocation to Main Distribution Identifier
104528 , p_source_57 IN NUMBER
104529 --Invoice Identifier
104530 , p_source_58 IN NUMBER
104531 --Invoice Distribution Identifier
104532 , p_source_64 IN NUMBER
104533 --Payables Encumbrance Upgrade Credit Account
104534 , p_source_65 IN NUMBER
104535 --Payables Encumbrance Upgrade Credit Amount
104536 , p_source_66 IN NUMBER
104537 --Invoice Currency Code
104538 , p_source_67 IN VARCHAR2
104539 --Payables Encumbrance Upgrade Credit Base Amount
104540 , p_source_68 IN NUMBER
104541 --Payables Encumbrance Upgrade Debit Account
104542 , p_source_69 IN NUMBER
104543 --Payables Encumbrance Upgrade Debit Amount
104544 , p_source_70 IN NUMBER
104545 --Payables Encumbrance Upgrade Debit Base Amount
104546 , p_source_71 IN NUMBER
104547 --Payables Encumbrance Upgrade Option
104548 , p_source_72 IN VARCHAR2
104549 --Invoice Distribution Amount
104550 , p_source_73 IN NUMBER
104551 --Deferred Accounting End Date
104552 , p_source_77 IN DATE
104553 --Deferred Accounting Option
104554 , p_source_78 IN VARCHAR2
104555 --Deferred Accounting Start Date
104556 , p_source_79 IN DATE
104557 --Override Accounted Amount Indicator
104558 , p_source_80 IN VARCHAR2
104559 , p_source_80_meaning IN VARCHAR2
104560 --Invoice Supplier Identifier
104561 , p_source_81 IN NUMBER
104562 --Invoice Supplier Site Identifier
104563 , p_source_82 IN NUMBER
104564 --Third Party Type
104565 , p_source_83 IN VARCHAR2
104566 --Parent Reversal Identifier
104567 , p_source_84 IN NUMBER
104568 --Invoice Distribution Statistical Amount
104569 , p_source_85 IN NUMBER
104570 --Invoice Distribution Tax Line Identifier
104571 , p_source_86 IN NUMBER
104572 --Invoice Distribution Tax Distribution Identifier from Tax
104573 , p_source_87 IN NUMBER
104574 --Invoice Distribution Summary Tax Line Identifier
104575 , p_source_88 IN NUMBER
104576 --Payables Upgrade Credit Encumbrance Type Identifier
104577 , p_source_89 IN NUMBER
104578 --Payables Upgrade Debit Encumbrance Type Identifier
104579 , p_source_90 IN NUMBER
104580 --Business Flow Accounts Payable Application Identifier
104581 , p_source_91 IN NUMBER
104582 --Business Flow Invoice Distribution Type
104583 , p_source_92 IN VARCHAR2
104584 --Business Flow Invoice Entity Code
104585 , p_source_93 IN VARCHAR2
104586 --Business Flow Invoice Distribution Identifier
104587 , p_source_94 IN NUMBER
104588 --Business Flow Invoice Identifier
104589 , p_source_95 IN NUMBER
104590 --Accrue on Receipt Option
104591 , p_source_96 IN VARCHAR2
104592 , p_source_96_meaning IN VARCHAR2
104593 --Self-Assessed Tax Flag
104597 , p_source_143 IN DATE
104594 , p_source_142 IN VARCHAR2
104595 , p_source_142_meaning IN VARCHAR2
104596 --Invoice Exchange Date
104598 --Invoice Exchange Rate
104599 , p_source_144 IN NUMBER
104600 --Invoice Exchange Rate Type
104601 , p_source_145 IN VARCHAR2
104602 )
104603 IS
104604
104605 l_component_type VARCHAR2(80);
104606 l_component_code VARCHAR2(30);
104607 l_component_type_code VARCHAR2(1);
104608 l_component_appl_id INTEGER;
104609 l_amb_context_code VARCHAR2(30);
104610 l_entity_code VARCHAR2(30);
104611 l_event_class_code VARCHAR2(30);
104612 l_ae_header_id NUMBER;
104613 l_event_type_code VARCHAR2(30);
104614 l_line_definition_code VARCHAR2(30);
104615 l_line_definition_owner_code VARCHAR2(1);
104616 --
104617 -- adr variables
104618 l_segment VARCHAR2(30);
104619 l_ccid NUMBER;
104620 l_adr_transaction_coa_id NUMBER;
104621 l_adr_accounting_coa_id NUMBER;
104622 l_adr_flexfield_segment_code VARCHAR2(30);
104623 l_adr_flex_value_set_id NUMBER;
104624 l_adr_value_type_code VARCHAR2(30);
104625 l_adr_value_combination_id NUMBER;
104626 l_adr_value_segment_code VARCHAR2(30);
104627
104628 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
104629 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
104630 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
104631 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
104632
104633 -- 4262811 Variables ------------------------------------------------------------------------------------------
104634 l_entered_amt_idx NUMBER;
104635 l_accted_amt_idx NUMBER;
104636 l_acc_rev_flag VARCHAR2(1);
104637 l_accrual_line_num NUMBER;
104638 l_tmp_amt NUMBER;
104639 l_acc_rev_natural_side_code VARCHAR2(1);
104640
104641 l_num_entries NUMBER;
104642 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
104643 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
104644 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
104645 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
104646 l_recog_line_1 NUMBER;
104647 l_recog_line_2 NUMBER;
104648
104649 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
104650 l_bflow_applied_to_amt NUMBER; -- 5132302
104651 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
104652
104653 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
104654
104655 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
104656 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
104657
104658 ---------------------------------------------------------------------------------------------------------------
104659
104660
104661 --
104662 -- bulk performance
104663 --
104664 l_balance_type_code VARCHAR2(1);
104665 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
104666 l_log_module VARCHAR2(240);
104667
104668 --
104669 -- Upgrade strategy
104670 --
104671 l_actual_upg_option VARCHAR2(1);
104672 l_enc_upg_option VARCHAR2(1);
104673
104674 --
104675 BEGIN
104676 --
104677 IF g_log_enabled THEN
104678 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_178';
104679 END IF;
104680 --
104681 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
104682
104683 trace
104684 (p_msg => 'BEGIN of AcctLineType_178'
104685 ,p_level => C_LEVEL_PROCEDURE
104686 ,p_module => l_log_module);
104687
104688 END IF;
104689 --
104690 l_component_type := 'AMB_JLT';
104691 l_component_code := 'AP_NON_RECOV_TAX_CM';
104692 l_component_type_code := 'S';
104693 l_component_appl_id := 200;
104694 l_amb_context_code := 'DEFAULT';
104695 l_entity_code := 'AP_INVOICES';
104696 l_event_class_code := 'CREDIT MEMOS';
104697 l_event_type_code := 'CREDIT MEMOS_ALL';
104698 l_line_definition_owner_code := 'S';
104699 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
104700 --
104701 l_balance_type_code := 'A';
104702 l_segment := NULL;
104703 l_ccid := NULL;
104704 l_adr_transaction_coa_id := NULL;
104705 l_adr_accounting_coa_id := NULL;
104706 l_adr_flexfield_segment_code := NULL;
104707 l_adr_flex_value_set_id := NULL;
104708 l_adr_value_type_code := NULL;
104709 l_adr_value_combination_id := NULL;
104710 l_adr_value_segment_code := NULL;
104711
104712 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
104713 l_bflow_class_code := ''; -- 4219869 Business Flow
104714 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
104715 l_budgetary_control_flag := 'N';
104716
104717 l_bflow_applied_to_amt_idx := NULL; -- 5132302
104718 l_bflow_applied_to_amt := NULL; -- 5132302
104719 l_entered_amt_idx := NULL; -- 4262811
104720 l_accted_amt_idx := NULL; -- 4262811
104721 l_acc_rev_flag := NULL; -- 4262811
104722 l_accrual_line_num := NULL; -- 4262811
104726 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
104723 l_tmp_amt := NULL; -- 4262811
104724 --
104725
104727 l_balance_type_code <> 'B' THEN
104728 IF (NVL(p_source_33,'
104729 ') = 'NONREC_TAX' OR
104730 NVL(p_source_33,'
104731 ') = 'TERV' OR
104732 NVL(p_source_33,'
104733 ') = 'TIPV' OR
104734 NVL(p_source_33,'
104735 ') = 'TRV') AND
104736 NVL(p_source_96,'
104737 ') <> 'Y' AND
104738 NVL(p_source_142,'
104739 ') <> 'Y'
104740 THEN
104741
104742 --
104743 XLA_AE_LINES_PKG.SetNewLine;
104744
104745 p_balance_type_code := l_balance_type_code;
104746 -- set the flag so later we will know whether the gain loss line needs to be created
104747
104748 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
104749 p_actual_flag :='A';
104750 END IF;
104751
104752 --
104753 -- bulk performance
104754 --
104755 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
104756 p_header_num => 0); -- 4262811
104757 --
104758 -- set accounting line options
104759 --
104760 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
104761 p_natural_side_code => 'D'
104762 , p_gain_or_loss_flag => 'N'
104763 , p_gl_transfer_mode_code => 'S'
104764 , p_acct_entry_type_code => 'A'
104765 , p_switch_side_flag => 'Y'
104766 , p_merge_duplicate_code => 'A'
104767 );
104768 --
104769 l_acc_rev_natural_side_code := 'C'; -- 4262811
104770 --
104771 --
104772 -- set accounting line type info
104773 --
104774 xla_ae_lines_pkg.SetAcctLineType
104775 (p_component_type => l_component_type
104776 ,p_event_type_code => l_event_type_code
104777 ,p_line_definition_owner_code => l_line_definition_owner_code
104778 ,p_line_definition_code => l_line_definition_code
104779 ,p_accounting_line_code => l_component_code
104780 ,p_accounting_line_type_code => l_component_type_code
104781 ,p_accounting_line_appl_id => l_component_appl_id
104782 ,p_amb_context_code => l_amb_context_code
104783 ,p_entity_code => l_entity_code
104784 ,p_event_class_code => l_event_class_code);
104785 --
104786 -- set accounting class
104787 --
104788 xla_ae_lines_pkg.SetAcctClass(
104789 p_accounting_class_code => 'NRTAX'
104790 , p_ae_header_id => l_ae_header_id
104791 );
104792
104793 --
104794 -- set rounding class
104795 --
104796 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
104797 'NRTAX';
104798
104799 --
104800 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
104801 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
104802 --
104803 -- bulk performance
104804 --
104805 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
104806
104807 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
104808 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
104809
104810 -- 4955764
104811 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
104812 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
104813
104814 -- 4458381 Public Sector Enh
104815
104816 --
104817 -- set accounting attributes for the line type
104818 --
104819 l_entered_amt_idx := 23;
104820 l_accted_amt_idx := 28;
104821 l_bflow_applied_to_amt_idx := NULL; -- 5132302
104822 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
104823 l_rec_acct_attrs.array_char_value(1) := p_source_53;
104824 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
104825 l_rec_acct_attrs.array_num_value(2) :=
104826 xla_ae_sources_pkg.GetSystemSourceNum(
104827 p_source_code => 'XLA_EVENT_APPL_ID'
104828 , p_source_type_code => 'Y'
104829 , p_source_application_id => 602
104830 );
104831 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
104832 l_rec_acct_attrs.array_char_value(3) := p_source_55;
104833 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
104834 l_rec_acct_attrs.array_char_value(4) :=
104835 xla_ae_sources_pkg.GetSystemSourceChar(
104836 p_source_code => 'XLA_ENTITY_CODE'
104837 , p_source_type_code => 'Y'
104838 , p_source_application_id => 602
104839 );
104840 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
104841 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
104842 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
104843 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
104844 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
104845 l_rec_acct_attrs.array_num_value(7) := p_source_91;
104846 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
104847 l_rec_acct_attrs.array_char_value(8) := p_source_92;
104848 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
104849 l_rec_acct_attrs.array_char_value(9) := p_source_93;
104853 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
104850 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
104851 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
104852 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
104854 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
104855 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
104856 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
104857 l_rec_acct_attrs.array_char_value(13) := p_source_55;
104858 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
104859 l_rec_acct_attrs.array_num_value(14) := p_source_65;
104860 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
104861 l_rec_acct_attrs.array_num_value(15) := p_source_66;
104862 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
104863 l_rec_acct_attrs.array_char_value(16) := p_source_67;
104864 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
104865 l_rec_acct_attrs.array_num_value(17) := p_source_68;
104866 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
104867 l_rec_acct_attrs.array_num_value(18) := p_source_69;
104868 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
104869 l_rec_acct_attrs.array_num_value(19) := p_source_70;
104870 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
104871 l_rec_acct_attrs.array_char_value(20) := p_source_67;
104872 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
104873 l_rec_acct_attrs.array_num_value(21) := p_source_71;
104874 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
104875 l_rec_acct_attrs.array_char_value(22) := p_source_72;
104876 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
104877 l_rec_acct_attrs.array_num_value(23) := p_source_73;
104878 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
104879 l_rec_acct_attrs.array_char_value(24) := p_source_67;
104880 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
104881 l_rec_acct_attrs.array_date_value(25) := p_source_143;
104882 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
104883 l_rec_acct_attrs.array_num_value(26) := p_source_144;
104884 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
104885 l_rec_acct_attrs.array_char_value(27) := p_source_145;
104886 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
104887 l_rec_acct_attrs.array_num_value(28) := p_source_21;
104888 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
104889 l_rec_acct_attrs.array_date_value(29) := p_source_77;
104890 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
104891 l_rec_acct_attrs.array_char_value(30) := p_source_78;
104892 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
104893 l_rec_acct_attrs.array_date_value(31) := p_source_79;
104894 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
104895 l_rec_acct_attrs.array_char_value(32) := p_source_80;
104896 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
104897 l_rec_acct_attrs.array_num_value(33) := p_source_81;
104898 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
104899 l_rec_acct_attrs.array_num_value(34) := p_source_82;
104900 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
104901 l_rec_acct_attrs.array_char_value(35) := p_source_83;
104902 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
104903 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
104904 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
104905 l_rec_acct_attrs.array_char_value(37) := p_source_55;
104906 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
104907 l_rec_acct_attrs.array_num_value(38) := p_source_85;
104908 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
104909 l_rec_acct_attrs.array_num_value(39) := p_source_86;
104910 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
104911 l_rec_acct_attrs.array_num_value(40) := p_source_87;
104912 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
104913 l_rec_acct_attrs.array_num_value(41) := p_source_88;
104914 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
104915 l_rec_acct_attrs.array_num_value(42) := p_source_89;
104916 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
104917 l_rec_acct_attrs.array_num_value(43) := p_source_90;
104918
104919 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
104920 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
104921
104922 ---------------------------------------------------------------------------------------------------------------
104923 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
104924 ---------------------------------------------------------------------------------------------------------------
104925 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
104926
104927 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
104928 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
104929
104930 IF xla_accounting_cache_pkg.GetValueChar
104931 (p_source_code => 'LEDGER_CATEGORY_CODE'
104935 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
104932 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
104933 AND l_bflow_method_code = 'PRIOR_ENTRY'
104934 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
104936 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
104937 )
104938 THEN
104939 xla_ae_lines_pkg.BflowUpgEntry
104940 (p_business_method_code => l_bflow_method_code
104941 ,p_business_class_code => l_bflow_class_code
104942 ,p_balance_type => l_balance_type_code);
104943 ELSE
104944 NULL;
104945 -- No business flow processing for business flow method of NONE.
104946 END IF;
104947
104948 --
104949 -- call analytical criteria
104950 --
104951
104952 --
104953 -- call description
104954 --
104955
104956 xla_ae_lines_pkg.SetLineDescription(
104957 p_ae_header_id => l_ae_header_id
104958 ,p_description => Description_1 (
104959 p_application_id => p_application_id
104960 , p_ae_header_id => l_ae_header_id
104961 , p_source_1 => p_source_1
104962 )
104963 );
104964
104965
104966 --
104967 -- call ADRs
104968 -- Bug 4922099
104969 --
104970 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
104971 (NVL(l_actual_upg_option, 'N') = 'O') OR
104972 (NVL(l_enc_upg_option, 'N') = 'O')
104973 )
104974 THEN
104975 NULL;
104976 --
104977 --
104978
104979 l_ccid := AcctDerRule_33(
104980 p_application_id => p_application_id
104981 , p_ae_header_id => l_ae_header_id
104982 , p_source_30 => p_source_30
104983 , x_transaction_coa_id => l_adr_transaction_coa_id
104984 , x_accounting_coa_id => l_adr_accounting_coa_id
104985 , x_value_type_code => l_adr_value_type_code
104986 , p_side => 'NA'
104987 );
104988
104989 xla_ae_lines_pkg.set_ccid(
104990 p_code_combination_id => l_ccid
104991 , p_value_type_code => l_adr_value_type_code
104992 , p_transaction_coa_id => l_adr_transaction_coa_id
104993 , p_accounting_coa_id => l_adr_accounting_coa_id
104994 , p_adr_code => 'AP_INVOICE_DIST'
104995 , p_adr_type_code => 'S'
104996 , p_component_type => l_component_type
104997 , p_component_code => l_component_code
104998 , p_component_type_code => l_component_type_code
104999 , p_component_appl_id => l_component_appl_id
105000 , p_amb_context_code => l_amb_context_code
105001 , p_side => 'NA'
105002 );
105003
105004
105005 --
105006 --
105007 END IF;
105008 --
105009 -- Bug 4922099
105010 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
105011 (NVL(l_enc_upg_option, 'N') = 'O')
105012 ) AND
105013 (l_bflow_method_code = 'PRIOR_ENTRY')
105014 )
105015 THEN
105016 IF
105017 --
105018 1 = 2
105019 --
105020 THEN
105021 xla_accounting_err_pkg.build_message
105022 (p_appli_s_name => 'XLA'
105023 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
105024 ,p_token_1 => 'LINE_NUMBER'
105025 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
105026 ,p_token_2 => 'LINE_TYPE_NAME'
105027 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
105028 l_component_type
105029 ,l_component_code
105030 ,l_component_type_code
105031 ,l_component_appl_id
105032 ,l_amb_context_code
105033 ,l_entity_code
105034 ,l_event_class_code
105035 )
105036 ,p_token_3 => 'OWNER'
105037 ,p_value_3 => xla_lookups_pkg.get_meaning(
105038 p_lookup_type => 'XLA_OWNER_TYPE'
105039 ,p_lookup_code => l_component_type_code
105040 )
105041 ,p_token_4 => 'PRODUCT_NAME'
105042 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
105043 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
105044 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
105048
105045 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
105046 ,p_ae_header_id => NULL
105047 );
105049 IF (C_LEVEL_ERROR>= g_log_level) THEN
105050 trace
105051 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
105052 ,p_level => C_LEVEL_ERROR
105053 ,p_module => l_log_module);
105054 END IF;
105055 END IF;
105056 END IF;
105057 --
105058 --
105059 ------------------------------------------------------------------------------------------------
105060 -- 4219869 Business Flow
105061 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
105062 -- Prior Entry. Currently, the following code is always generated.
105063 ------------------------------------------------------------------------------------------------
105064 XLA_AE_LINES_PKG.ValidateCurrentLine;
105065
105066 ------------------------------------------------------------------------------------
105067 -- 4219869 Business Flow
105068 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
105069 ------------------------------------------------------------------------------------
105070 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
105071
105072 ----------------------------------------------------------------------------------
105073 -- 4219869 Business Flow
105074 -- Update journal entry status -- Need to generate this within IF <condition>
105075 ----------------------------------------------------------------------------------
105076 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
105077 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
105078 ,p_balance_type_code => l_balance_type_code
105079 );
105080
105081 -------------------------------------------------------------------------------------------
105082 -- 4262811 - Generate the Accrual Reversal lines
105083 -------------------------------------------------------------------------------------------
105084 BEGIN
105085 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
105086 (g_array_event(p_event_id).array_value_num('header_index'));
105087 IF l_acc_rev_flag IS NULL THEN
105088 l_acc_rev_flag := 'N';
105089 END IF;
105090 EXCEPTION
105091 WHEN OTHERS THEN
105092 l_acc_rev_flag := 'N';
105093 END;
105094 --
105095 IF (l_acc_rev_flag = 'Y') THEN
105096
105097 -- 4645092 ------------------------------------------------------------------------------
105098 -- To allow MPA report to determine if it should generate report process
105099 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
105100 ------------------------------------------------------------------------------------------
105101
105102 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
105103 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
105104 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
105105 -- call ADRs
105106 -- Bug 4922099
105107 --
105108 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
105109 (NVL(l_actual_upg_option, 'N') = 'O') OR
105110 (NVL(l_enc_upg_option, 'N') = 'O')
105111 )
105112 THEN
105113 NULL;
105114 --
105115 --
105116
105117 l_ccid := AcctDerRule_33(
105118 p_application_id => p_application_id
105119 , p_ae_header_id => l_ae_header_id
105120 , p_source_30 => p_source_30
105121 , x_transaction_coa_id => l_adr_transaction_coa_id
105122 , x_accounting_coa_id => l_adr_accounting_coa_id
105123 , x_value_type_code => l_adr_value_type_code
105124 , p_side => 'NA'
105125 );
105126
105127 xla_ae_lines_pkg.set_ccid(
105128 p_code_combination_id => l_ccid
105129 , p_value_type_code => l_adr_value_type_code
105130 , p_transaction_coa_id => l_adr_transaction_coa_id
105131 , p_accounting_coa_id => l_adr_accounting_coa_id
105132 , p_adr_code => 'AP_INVOICE_DIST'
105133 , p_adr_type_code => 'S'
105134 , p_component_type => l_component_type
105135 , p_component_code => l_component_code
105136 , p_component_type_code => l_component_type_code
105137 , p_component_appl_id => l_component_appl_id
105138 , p_amb_context_code => l_amb_context_code
105139 , p_side => 'NA'
105140 );
105141
105142
105143 --
105144 --
105145 END IF;
105146
105147 --
105148 -- Update the line information that should be overwritten
105149 --
105150 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
105151 p_header_num => 1);
105152 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
105153
105154 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
105155
105156 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
105160 --
105157 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
105158 END IF;
105159
105161 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
105162 --
105163 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
105164 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
105165 ELSE
105166 ---------------------------------------------------------------------------------------------------
105167 -- 4262811a Switch Sign
105168 ---------------------------------------------------------------------------------------------------
105169 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
105170 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
105171 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
105172 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
105173 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
105174 -- 5132302
105175 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
105176 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
105177
105178 END IF;
105179
105180 -- 4955764
105181 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
105182 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
105183
105184
105185 XLA_AE_LINES_PKG.ValidateCurrentLine;
105186 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
105187
105188 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
105189 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
105190 ,p_balance_type_code => l_balance_type_code);
105191
105192 END IF;
105193
105194 -----------------------------------------------------------------------------------------
105195 -- 4262811 Multiperiod Accounting
105196 -----------------------------------------------------------------------------------------
105197 -- No MPA option is assigned.
105198
105199
105200 END IF;
105201 END IF;
105202 --
105203
105204 --
105205 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
105206 trace
105207 (p_msg => 'END of AcctLineType_178'
105208 ,p_level => C_LEVEL_PROCEDURE
105209 ,p_module => l_log_module);
105210 END IF;
105211 --
105212 EXCEPTION
105213 WHEN xla_exceptions_pkg.application_exception THEN
105214 RAISE;
105215 WHEN OTHERS THEN
105216 xla_exceptions_pkg.raise_message
105217 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_178');
105218 END AcctLineType_178;
105219 --
105220
105221 ---------------------------------------
105222 --
105223 -- PRIVATE FUNCTION
105224 -- AcctLineType_179
105225 --
105226 ---------------------------------------
105227 PROCEDURE AcctLineType_179 (
105228 p_application_id IN NUMBER
105229 ,p_event_id IN NUMBER
105230 ,p_calculate_acctd_flag IN VARCHAR2
105231 ,p_calculate_g_l_flag IN VARCHAR2
105232 ,p_actual_flag IN OUT VARCHAR2
105233 ,p_balance_type_code OUT VARCHAR2
105234 ,p_gain_or_loss_ref OUT VARCHAR2
105235
105236 --Invoice Distribution Description
105237 , p_source_1 IN VARCHAR2
105238 --Invoice Distribution Ledger Amount
105239 , p_source_21 IN NUMBER
105240 --Invoice Distribution Account
105241 , p_source_30 IN NUMBER
105242 --Invoice Distribution Type
105243 , p_source_33 IN VARCHAR2
105244 , p_source_33_meaning IN VARCHAR2
105245 --Accounting Reversal Indicator
105246 , p_source_53 IN VARCHAR2
105247 --Distribution Link Type
105248 , p_source_55 IN VARCHAR2
105249 --Allocation to Main Distribution Identifier
105250 , p_source_57 IN NUMBER
105251 --Invoice Identifier
105252 , p_source_58 IN NUMBER
105253 --Invoice Distribution Identifier
105254 , p_source_64 IN NUMBER
105255 --Payables Encumbrance Upgrade Credit Account
105256 , p_source_65 IN NUMBER
105257 --Payables Encumbrance Upgrade Credit Amount
105258 , p_source_66 IN NUMBER
105259 --Invoice Currency Code
105260 , p_source_67 IN VARCHAR2
105261 --Payables Encumbrance Upgrade Credit Base Amount
105262 , p_source_68 IN NUMBER
105263 --Payables Encumbrance Upgrade Debit Account
105264 , p_source_69 IN NUMBER
105265 --Payables Encumbrance Upgrade Debit Amount
105266 , p_source_70 IN NUMBER
105267 --Payables Encumbrance Upgrade Debit Base Amount
105268 , p_source_71 IN NUMBER
105269 --Payables Encumbrance Upgrade Option
105270 , p_source_72 IN VARCHAR2
105271 --Invoice Distribution Amount
105272 , p_source_73 IN NUMBER
105273 --Deferred Accounting End Date
105274 , p_source_77 IN DATE
105275 --Deferred Accounting Option
105276 , p_source_78 IN VARCHAR2
105277 --Deferred Accounting Start Date
105278 , p_source_79 IN DATE
105279 --Override Accounted Amount Indicator
105280 , p_source_80 IN VARCHAR2
105281 , p_source_80_meaning IN VARCHAR2
105285 , p_source_82 IN NUMBER
105282 --Invoice Supplier Identifier
105283 , p_source_81 IN NUMBER
105284 --Invoice Supplier Site Identifier
105286 --Third Party Type
105287 , p_source_83 IN VARCHAR2
105288 --Parent Reversal Identifier
105289 , p_source_84 IN NUMBER
105290 --Invoice Distribution Tax Line Identifier
105291 , p_source_86 IN NUMBER
105292 --Invoice Distribution Tax Distribution Identifier from Tax
105293 , p_source_87 IN NUMBER
105294 --Invoice Distribution Summary Tax Line Identifier
105295 , p_source_88 IN NUMBER
105296 --Payables Upgrade Credit Encumbrance Type Identifier
105297 , p_source_89 IN NUMBER
105298 --Payables Upgrade Debit Encumbrance Type Identifier
105299 , p_source_90 IN NUMBER
105300 --Business Flow Accounts Payable Application Identifier
105301 , p_source_91 IN NUMBER
105302 --Business Flow Invoice Distribution Type
105303 , p_source_92 IN VARCHAR2
105304 --Business Flow Invoice Entity Code
105305 , p_source_93 IN VARCHAR2
105306 --Business Flow Invoice Distribution Identifier
105307 , p_source_94 IN NUMBER
105308 --Business Flow Invoice Identifier
105309 , p_source_95 IN NUMBER
105310 --Accrue on Receipt Option
105311 , p_source_96 IN VARCHAR2
105312 , p_source_96_meaning IN VARCHAR2
105313 --Self-Assessed Tax Flag
105314 , p_source_142 IN VARCHAR2
105315 , p_source_142_meaning IN VARCHAR2
105316 --Invoice Exchange Date
105317 , p_source_143 IN DATE
105318 --Invoice Exchange Rate
105319 , p_source_144 IN NUMBER
105320 --Invoice Exchange Rate Type
105321 , p_source_145 IN VARCHAR2
105322 )
105323 IS
105324
105325 l_component_type VARCHAR2(80);
105326 l_component_code VARCHAR2(30);
105327 l_component_type_code VARCHAR2(1);
105328 l_component_appl_id INTEGER;
105329 l_amb_context_code VARCHAR2(30);
105330 l_entity_code VARCHAR2(30);
105331 l_event_class_code VARCHAR2(30);
105332 l_ae_header_id NUMBER;
105333 l_event_type_code VARCHAR2(30);
105334 l_line_definition_code VARCHAR2(30);
105335 l_line_definition_owner_code VARCHAR2(1);
105336 --
105337 -- adr variables
105338 l_segment VARCHAR2(30);
105339 l_ccid NUMBER;
105340 l_adr_transaction_coa_id NUMBER;
105341 l_adr_accounting_coa_id NUMBER;
105342 l_adr_flexfield_segment_code VARCHAR2(30);
105343 l_adr_flex_value_set_id NUMBER;
105344 l_adr_value_type_code VARCHAR2(30);
105345 l_adr_value_combination_id NUMBER;
105346 l_adr_value_segment_code VARCHAR2(30);
105347
105348 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
105349 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
105350 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
105351 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
105352
105353 -- 4262811 Variables ------------------------------------------------------------------------------------------
105354 l_entered_amt_idx NUMBER;
105355 l_accted_amt_idx NUMBER;
105356 l_acc_rev_flag VARCHAR2(1);
105357 l_accrual_line_num NUMBER;
105358 l_tmp_amt NUMBER;
105359 l_acc_rev_natural_side_code VARCHAR2(1);
105360
105361 l_num_entries NUMBER;
105362 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
105363 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
105364 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
105365 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
105366 l_recog_line_1 NUMBER;
105367 l_recog_line_2 NUMBER;
105368
105369 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
105370 l_bflow_applied_to_amt NUMBER; -- 5132302
105371 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
105372
105373 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
105374
105375 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
105376 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
105377
105378 ---------------------------------------------------------------------------------------------------------------
105379
105380
105381 --
105382 -- bulk performance
105383 --
105384 l_balance_type_code VARCHAR2(1);
105385 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
105386 l_log_module VARCHAR2(240);
105387
105388 --
105389 -- Upgrade strategy
105390 --
105391 l_actual_upg_option VARCHAR2(1);
105392 l_enc_upg_option VARCHAR2(1);
105393
105394 --
105395 BEGIN
105396 --
105397 IF g_log_enabled THEN
105398 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_179';
105399 END IF;
105400 --
105401 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
105402
105403 trace
105404 (p_msg => 'BEGIN of AcctLineType_179'
105405 ,p_level => C_LEVEL_PROCEDURE
105406 ,p_module => l_log_module);
105407
105408 END IF;
105409 --
105410 l_component_type := 'AMB_JLT';
105411 l_component_code := 'AP_NON_RECOV_TAX_DM';
105412 l_component_type_code := 'S';
105416 l_event_class_code := 'DEBIT MEMOS';
105413 l_component_appl_id := 200;
105414 l_amb_context_code := 'DEFAULT';
105415 l_entity_code := 'AP_INVOICES';
105417 l_event_type_code := 'DEBIT MEMOS_ALL';
105418 l_line_definition_owner_code := 'S';
105419 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
105420 --
105421 l_balance_type_code := 'A';
105422 l_segment := NULL;
105423 l_ccid := NULL;
105424 l_adr_transaction_coa_id := NULL;
105425 l_adr_accounting_coa_id := NULL;
105426 l_adr_flexfield_segment_code := NULL;
105427 l_adr_flex_value_set_id := NULL;
105428 l_adr_value_type_code := NULL;
105429 l_adr_value_combination_id := NULL;
105430 l_adr_value_segment_code := NULL;
105431
105432 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
105433 l_bflow_class_code := ''; -- 4219869 Business Flow
105434 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
105435 l_budgetary_control_flag := 'N';
105436
105437 l_bflow_applied_to_amt_idx := NULL; -- 5132302
105438 l_bflow_applied_to_amt := NULL; -- 5132302
105439 l_entered_amt_idx := NULL; -- 4262811
105440 l_accted_amt_idx := NULL; -- 4262811
105441 l_acc_rev_flag := NULL; -- 4262811
105442 l_accrual_line_num := NULL; -- 4262811
105443 l_tmp_amt := NULL; -- 4262811
105444 --
105445
105446 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
105447 l_balance_type_code <> 'B' THEN
105448 IF (NVL(p_source_33,'
105449 ') = 'NONREC_TAX' OR
105450 NVL(p_source_33,'
105451 ') = 'TERV' OR
105452 NVL(p_source_33,'
105453 ') = 'TIPV' OR
105454 NVL(p_source_33,'
105455 ') = 'TRV') AND
105456 NVL(p_source_96,'
105457 ') <> 'Y' AND
105458 NVL(p_source_142,'
105459 ') <> 'Y'
105460 THEN
105461
105462 --
105463 XLA_AE_LINES_PKG.SetNewLine;
105464
105465 p_balance_type_code := l_balance_type_code;
105466 -- set the flag so later we will know whether the gain loss line needs to be created
105467
105468 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
105469 p_actual_flag :='A';
105470 END IF;
105471
105472 --
105473 -- bulk performance
105474 --
105475 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
105476 p_header_num => 0); -- 4262811
105477 --
105478 -- set accounting line options
105479 --
105480 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
105481 p_natural_side_code => 'D'
105482 , p_gain_or_loss_flag => 'N'
105483 , p_gl_transfer_mode_code => 'S'
105484 , p_acct_entry_type_code => 'A'
105485 , p_switch_side_flag => 'Y'
105486 , p_merge_duplicate_code => 'A'
105487 );
105488 --
105489 l_acc_rev_natural_side_code := 'C'; -- 4262811
105490 --
105491 --
105492 -- set accounting line type info
105493 --
105494 xla_ae_lines_pkg.SetAcctLineType
105495 (p_component_type => l_component_type
105496 ,p_event_type_code => l_event_type_code
105497 ,p_line_definition_owner_code => l_line_definition_owner_code
105498 ,p_line_definition_code => l_line_definition_code
105499 ,p_accounting_line_code => l_component_code
105500 ,p_accounting_line_type_code => l_component_type_code
105501 ,p_accounting_line_appl_id => l_component_appl_id
105502 ,p_amb_context_code => l_amb_context_code
105503 ,p_entity_code => l_entity_code
105504 ,p_event_class_code => l_event_class_code);
105505 --
105506 -- set accounting class
105507 --
105508 xla_ae_lines_pkg.SetAcctClass(
105509 p_accounting_class_code => 'NRTAX'
105510 , p_ae_header_id => l_ae_header_id
105511 );
105512
105513 --
105514 -- set rounding class
105515 --
105516 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
105517 'NRTAX';
105518
105519 --
105520 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
105521 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
105522 --
105523 -- bulk performance
105524 --
105525 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
105526
105527 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
105528 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
105529
105530 -- 4955764
105531 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
105532 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
105533
105534 -- 4458381 Public Sector Enh
105535
105536 --
105537 -- set accounting attributes for the line type
105538 --
105539 l_entered_amt_idx := 23;
105540 l_accted_amt_idx := 28;
105541 l_bflow_applied_to_amt_idx := NULL; -- 5132302
105542 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
105546 xla_ae_sources_pkg.GetSystemSourceNum(
105543 l_rec_acct_attrs.array_char_value(1) := p_source_53;
105544 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
105545 l_rec_acct_attrs.array_num_value(2) :=
105547 p_source_code => 'XLA_EVENT_APPL_ID'
105548 , p_source_type_code => 'Y'
105549 , p_source_application_id => 602
105550 );
105551 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
105552 l_rec_acct_attrs.array_char_value(3) := p_source_55;
105553 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
105554 l_rec_acct_attrs.array_char_value(4) :=
105555 xla_ae_sources_pkg.GetSystemSourceChar(
105556 p_source_code => 'XLA_ENTITY_CODE'
105557 , p_source_type_code => 'Y'
105558 , p_source_application_id => 602
105559 );
105560 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
105561 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
105562 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
105563 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
105564 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
105565 l_rec_acct_attrs.array_num_value(7) := p_source_91;
105566 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
105567 l_rec_acct_attrs.array_char_value(8) := p_source_92;
105568 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
105569 l_rec_acct_attrs.array_char_value(9) := p_source_93;
105570 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
105571 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
105572 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
105573 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
105574 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
105575 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
105576 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
105577 l_rec_acct_attrs.array_char_value(13) := p_source_55;
105578 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
105579 l_rec_acct_attrs.array_num_value(14) := p_source_65;
105580 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
105581 l_rec_acct_attrs.array_num_value(15) := p_source_66;
105582 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
105583 l_rec_acct_attrs.array_char_value(16) := p_source_67;
105584 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
105585 l_rec_acct_attrs.array_num_value(17) := p_source_68;
105586 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
105587 l_rec_acct_attrs.array_num_value(18) := p_source_69;
105588 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
105589 l_rec_acct_attrs.array_num_value(19) := p_source_70;
105590 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
105591 l_rec_acct_attrs.array_char_value(20) := p_source_67;
105592 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
105593 l_rec_acct_attrs.array_num_value(21) := p_source_71;
105594 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
105595 l_rec_acct_attrs.array_char_value(22) := p_source_72;
105596 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
105597 l_rec_acct_attrs.array_num_value(23) := p_source_73;
105598 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
105599 l_rec_acct_attrs.array_char_value(24) := p_source_67;
105600 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
105601 l_rec_acct_attrs.array_date_value(25) := p_source_143;
105602 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
105603 l_rec_acct_attrs.array_num_value(26) := p_source_144;
105604 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
105605 l_rec_acct_attrs.array_char_value(27) := p_source_145;
105606 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
105607 l_rec_acct_attrs.array_num_value(28) := p_source_21;
105608 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
105609 l_rec_acct_attrs.array_date_value(29) := p_source_77;
105610 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
105611 l_rec_acct_attrs.array_char_value(30) := p_source_78;
105612 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
105613 l_rec_acct_attrs.array_date_value(31) := p_source_79;
105614 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
105615 l_rec_acct_attrs.array_char_value(32) := p_source_80;
105616 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
105617 l_rec_acct_attrs.array_num_value(33) := p_source_81;
105618 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
105619 l_rec_acct_attrs.array_num_value(34) := p_source_82;
105620 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
105621 l_rec_acct_attrs.array_char_value(35) := p_source_83;
105622 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
105623 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
105624 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
105625 l_rec_acct_attrs.array_char_value(37) := p_source_55;
105626 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
105627 l_rec_acct_attrs.array_num_value(38) := p_source_86;
105628 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
105629 l_rec_acct_attrs.array_num_value(39) := p_source_87;
105630 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
105634 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
105631 l_rec_acct_attrs.array_num_value(40) := p_source_88;
105632 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
105633 l_rec_acct_attrs.array_num_value(41) := p_source_89;
105635 l_rec_acct_attrs.array_num_value(42) := p_source_90;
105636
105637 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
105638 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
105639
105640 ---------------------------------------------------------------------------------------------------------------
105641 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
105642 ---------------------------------------------------------------------------------------------------------------
105643 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
105644
105645 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
105646 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
105647
105648 IF xla_accounting_cache_pkg.GetValueChar
105649 (p_source_code => 'LEDGER_CATEGORY_CODE'
105650 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
105651 AND l_bflow_method_code = 'PRIOR_ENTRY'
105652 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
105653 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
105654 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
105655 )
105656 THEN
105657 xla_ae_lines_pkg.BflowUpgEntry
105658 (p_business_method_code => l_bflow_method_code
105659 ,p_business_class_code => l_bflow_class_code
105660 ,p_balance_type => l_balance_type_code);
105661 ELSE
105662 NULL;
105663 -- No business flow processing for business flow method of NONE.
105664 END IF;
105665
105666 --
105667 -- call analytical criteria
105668 --
105669
105670 --
105671 -- call description
105672 --
105673
105674 xla_ae_lines_pkg.SetLineDescription(
105675 p_ae_header_id => l_ae_header_id
105676 ,p_description => Description_1 (
105677 p_application_id => p_application_id
105678 , p_ae_header_id => l_ae_header_id
105679 , p_source_1 => p_source_1
105680 )
105681 );
105682
105683
105684 --
105685 -- call ADRs
105686 -- Bug 4922099
105687 --
105688 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
105689 (NVL(l_actual_upg_option, 'N') = 'O') OR
105690 (NVL(l_enc_upg_option, 'N') = 'O')
105691 )
105692 THEN
105693 NULL;
105694 --
105695 --
105696
105697 l_ccid := AcctDerRule_33(
105698 p_application_id => p_application_id
105699 , p_ae_header_id => l_ae_header_id
105700 , p_source_30 => p_source_30
105701 , x_transaction_coa_id => l_adr_transaction_coa_id
105702 , x_accounting_coa_id => l_adr_accounting_coa_id
105703 , x_value_type_code => l_adr_value_type_code
105704 , p_side => 'NA'
105705 );
105706
105707 xla_ae_lines_pkg.set_ccid(
105708 p_code_combination_id => l_ccid
105709 , p_value_type_code => l_adr_value_type_code
105710 , p_transaction_coa_id => l_adr_transaction_coa_id
105711 , p_accounting_coa_id => l_adr_accounting_coa_id
105712 , p_adr_code => 'AP_INVOICE_DIST'
105713 , p_adr_type_code => 'S'
105714 , p_component_type => l_component_type
105715 , p_component_code => l_component_code
105716 , p_component_type_code => l_component_type_code
105717 , p_component_appl_id => l_component_appl_id
105718 , p_amb_context_code => l_amb_context_code
105719 , p_side => 'NA'
105720 );
105721
105722
105723 --
105724 --
105725 END IF;
105726 --
105727 -- Bug 4922099
105728 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
105729 (NVL(l_enc_upg_option, 'N') = 'O')
105730 ) AND
105731 (l_bflow_method_code = 'PRIOR_ENTRY')
105732 )
105733 THEN
105734 IF
105735 --
105736 1 = 2
105737 --
105738 THEN
105739 xla_accounting_err_pkg.build_message
105740 (p_appli_s_name => 'XLA'
105741 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
105742 ,p_token_1 => 'LINE_NUMBER'
105743 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
105744 ,p_token_2 => 'LINE_TYPE_NAME'
105745 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
105746 l_component_type
105747 ,l_component_code
105748 ,l_component_type_code
105749 ,l_component_appl_id
105753 )
105750 ,l_amb_context_code
105751 ,l_entity_code
105752 ,l_event_class_code
105754 ,p_token_3 => 'OWNER'
105755 ,p_value_3 => xla_lookups_pkg.get_meaning(
105756 p_lookup_type => 'XLA_OWNER_TYPE'
105757 ,p_lookup_code => l_component_type_code
105758 )
105759 ,p_token_4 => 'PRODUCT_NAME'
105760 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
105761 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
105762 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
105763 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
105764 ,p_ae_header_id => NULL
105765 );
105766
105767 IF (C_LEVEL_ERROR>= g_log_level) THEN
105768 trace
105769 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
105770 ,p_level => C_LEVEL_ERROR
105771 ,p_module => l_log_module);
105772 END IF;
105773 END IF;
105774 END IF;
105775 --
105776 --
105777 ------------------------------------------------------------------------------------------------
105778 -- 4219869 Business Flow
105779 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
105780 -- Prior Entry. Currently, the following code is always generated.
105781 ------------------------------------------------------------------------------------------------
105782 XLA_AE_LINES_PKG.ValidateCurrentLine;
105783
105784 ------------------------------------------------------------------------------------
105785 -- 4219869 Business Flow
105786 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
105787 ------------------------------------------------------------------------------------
105788 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
105789
105790 ----------------------------------------------------------------------------------
105791 -- 4219869 Business Flow
105792 -- Update journal entry status -- Need to generate this within IF <condition>
105793 ----------------------------------------------------------------------------------
105794 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
105795 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
105796 ,p_balance_type_code => l_balance_type_code
105797 );
105798
105799 -------------------------------------------------------------------------------------------
105800 -- 4262811 - Generate the Accrual Reversal lines
105801 -------------------------------------------------------------------------------------------
105802 BEGIN
105803 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
105804 (g_array_event(p_event_id).array_value_num('header_index'));
105805 IF l_acc_rev_flag IS NULL THEN
105806 l_acc_rev_flag := 'N';
105807 END IF;
105808 EXCEPTION
105809 WHEN OTHERS THEN
105810 l_acc_rev_flag := 'N';
105811 END;
105812 --
105813 IF (l_acc_rev_flag = 'Y') THEN
105814
105815 -- 4645092 ------------------------------------------------------------------------------
105816 -- To allow MPA report to determine if it should generate report process
105817 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
105818 ------------------------------------------------------------------------------------------
105819
105820 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
105821 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
105822 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
105823 -- call ADRs
105824 -- Bug 4922099
105825 --
105826 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
105827 (NVL(l_actual_upg_option, 'N') = 'O') OR
105828 (NVL(l_enc_upg_option, 'N') = 'O')
105829 )
105830 THEN
105831 NULL;
105832 --
105833 --
105834
105835 l_ccid := AcctDerRule_33(
105836 p_application_id => p_application_id
105837 , p_ae_header_id => l_ae_header_id
105838 , p_source_30 => p_source_30
105839 , x_transaction_coa_id => l_adr_transaction_coa_id
105840 , x_accounting_coa_id => l_adr_accounting_coa_id
105841 , x_value_type_code => l_adr_value_type_code
105842 , p_side => 'NA'
105843 );
105844
105845 xla_ae_lines_pkg.set_ccid(
105846 p_code_combination_id => l_ccid
105847 , p_value_type_code => l_adr_value_type_code
105848 , p_transaction_coa_id => l_adr_transaction_coa_id
105849 , p_accounting_coa_id => l_adr_accounting_coa_id
105853 , p_component_code => l_component_code
105850 , p_adr_code => 'AP_INVOICE_DIST'
105851 , p_adr_type_code => 'S'
105852 , p_component_type => l_component_type
105854 , p_component_type_code => l_component_type_code
105855 , p_component_appl_id => l_component_appl_id
105856 , p_amb_context_code => l_amb_context_code
105857 , p_side => 'NA'
105858 );
105859
105860
105861 --
105862 --
105863 END IF;
105864
105865 --
105866 -- Update the line information that should be overwritten
105867 --
105868 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
105869 p_header_num => 1);
105870 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
105871
105872 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
105873
105874 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
105875 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
105876 END IF;
105877
105878 --
105879 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
105880 --
105881 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
105882 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
105883 ELSE
105884 ---------------------------------------------------------------------------------------------------
105885 -- 4262811a Switch Sign
105886 ---------------------------------------------------------------------------------------------------
105887 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
105888 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
105889 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
105890 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
105891 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
105892 -- 5132302
105893 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
105894 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
105895
105896 END IF;
105897
105898 -- 4955764
105899 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
105900 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
105901
105902
105903 XLA_AE_LINES_PKG.ValidateCurrentLine;
105904 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
105905
105906 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
105907 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
105908 ,p_balance_type_code => l_balance_type_code);
105909
105910 END IF;
105911
105912 -----------------------------------------------------------------------------------------
105913 -- 4262811 Multiperiod Accounting
105914 -----------------------------------------------------------------------------------------
105915 -- No MPA option is assigned.
105916
105917
105918 END IF;
105919 END IF;
105920 --
105921
105922 --
105923 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
105924 trace
105925 (p_msg => 'END of AcctLineType_179'
105926 ,p_level => C_LEVEL_PROCEDURE
105927 ,p_module => l_log_module);
105928 END IF;
105929 --
105930 EXCEPTION
105931 WHEN xla_exceptions_pkg.application_exception THEN
105932 RAISE;
105933 WHEN OTHERS THEN
105934 xla_exceptions_pkg.raise_message
105935 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_179');
105936 END AcctLineType_179;
105937 --
105938
105939 ---------------------------------------
105940 --
105941 -- PRIVATE FUNCTION
105942 -- AcctLineType_180
105943 --
105944 ---------------------------------------
105945 PROCEDURE AcctLineType_180 (
105946 p_application_id IN NUMBER
105947 ,p_event_id IN NUMBER
105948 ,p_calculate_acctd_flag IN VARCHAR2
105949 ,p_calculate_g_l_flag IN VARCHAR2
105950 ,p_actual_flag IN OUT VARCHAR2
105951 ,p_balance_type_code OUT VARCHAR2
105952 ,p_gain_or_loss_ref OUT VARCHAR2
105953
105954 --Invoice Distribution Description
105955 , p_source_1 IN VARCHAR2
105956 --Invoice Distribution Ledger Amount
105957 , p_source_21 IN NUMBER
105958 --Invoice Distribution Account
105959 , p_source_30 IN NUMBER
105960 --Invoice Distribution Type
105961 , p_source_33 IN VARCHAR2
105962 , p_source_33_meaning IN VARCHAR2
105963 --Accounting Reversal Indicator
105964 , p_source_53 IN VARCHAR2
105965 --Distribution Link Type
105966 , p_source_55 IN VARCHAR2
105967 --Allocation to Main Distribution Identifier
105968 , p_source_57 IN NUMBER
105969 --Invoice Identifier
105970 , p_source_58 IN NUMBER
105971 --Invoice Distribution Identifier
105975 --Payables Encumbrance Upgrade Credit Amount
105972 , p_source_64 IN NUMBER
105973 --Payables Encumbrance Upgrade Credit Account
105974 , p_source_65 IN NUMBER
105976 , p_source_66 IN NUMBER
105977 --Invoice Currency Code
105978 , p_source_67 IN VARCHAR2
105979 --Payables Encumbrance Upgrade Credit Base Amount
105980 , p_source_68 IN NUMBER
105981 --Payables Encumbrance Upgrade Debit Account
105982 , p_source_69 IN NUMBER
105983 --Payables Encumbrance Upgrade Debit Amount
105984 , p_source_70 IN NUMBER
105985 --Payables Encumbrance Upgrade Debit Base Amount
105986 , p_source_71 IN NUMBER
105987 --Payables Encumbrance Upgrade Option
105988 , p_source_72 IN VARCHAR2
105989 --Invoice Distribution Amount
105990 , p_source_73 IN NUMBER
105991 --Deferred Accounting End Date
105992 , p_source_77 IN DATE
105993 --Deferred Accounting Option
105994 , p_source_78 IN VARCHAR2
105995 --Deferred Accounting Start Date
105996 , p_source_79 IN DATE
105997 --Override Accounted Amount Indicator
105998 , p_source_80 IN VARCHAR2
105999 , p_source_80_meaning IN VARCHAR2
106000 --Invoice Supplier Identifier
106001 , p_source_81 IN NUMBER
106002 --Invoice Supplier Site Identifier
106003 , p_source_82 IN NUMBER
106004 --Third Party Type
106005 , p_source_83 IN VARCHAR2
106006 --Parent Reversal Identifier
106007 , p_source_84 IN NUMBER
106008 --Invoice Distribution Statistical Amount
106009 , p_source_85 IN NUMBER
106010 --Invoice Distribution Tax Line Identifier
106011 , p_source_86 IN NUMBER
106012 --Invoice Distribution Tax Distribution Identifier from Tax
106013 , p_source_87 IN NUMBER
106014 --Invoice Distribution Summary Tax Line Identifier
106015 , p_source_88 IN NUMBER
106016 --Payables Upgrade Credit Encumbrance Type Identifier
106017 , p_source_89 IN NUMBER
106018 --Payables Upgrade Debit Encumbrance Type Identifier
106019 , p_source_90 IN NUMBER
106020 --Business Flow Accounts Payable Application Identifier
106021 , p_source_91 IN NUMBER
106022 --Business Flow Invoice Distribution Type
106023 , p_source_92 IN VARCHAR2
106024 --Business Flow Invoice Entity Code
106025 , p_source_93 IN VARCHAR2
106026 --Business Flow Invoice Distribution Identifier
106027 , p_source_94 IN NUMBER
106028 --Business Flow Invoice Identifier
106029 , p_source_95 IN NUMBER
106030 --Accrue on Receipt Option
106031 , p_source_96 IN VARCHAR2
106032 , p_source_96_meaning IN VARCHAR2
106033 --Self-Assessed Tax Flag
106034 , p_source_142 IN VARCHAR2
106035 , p_source_142_meaning IN VARCHAR2
106036 --Invoice Exchange Date
106037 , p_source_143 IN DATE
106038 --Invoice Exchange Rate
106039 , p_source_144 IN NUMBER
106040 --Invoice Exchange Rate Type
106041 , p_source_145 IN VARCHAR2
106042 )
106043 IS
106044
106045 l_component_type VARCHAR2(80);
106046 l_component_code VARCHAR2(30);
106047 l_component_type_code VARCHAR2(1);
106048 l_component_appl_id INTEGER;
106049 l_amb_context_code VARCHAR2(30);
106050 l_entity_code VARCHAR2(30);
106051 l_event_class_code VARCHAR2(30);
106052 l_ae_header_id NUMBER;
106053 l_event_type_code VARCHAR2(30);
106054 l_line_definition_code VARCHAR2(30);
106055 l_line_definition_owner_code VARCHAR2(1);
106056 --
106057 -- adr variables
106058 l_segment VARCHAR2(30);
106059 l_ccid NUMBER;
106060 l_adr_transaction_coa_id NUMBER;
106061 l_adr_accounting_coa_id NUMBER;
106062 l_adr_flexfield_segment_code VARCHAR2(30);
106063 l_adr_flex_value_set_id NUMBER;
106064 l_adr_value_type_code VARCHAR2(30);
106065 l_adr_value_combination_id NUMBER;
106066 l_adr_value_segment_code VARCHAR2(30);
106067
106068 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
106069 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
106070 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
106071 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
106072
106073 -- 4262811 Variables ------------------------------------------------------------------------------------------
106074 l_entered_amt_idx NUMBER;
106075 l_accted_amt_idx NUMBER;
106076 l_acc_rev_flag VARCHAR2(1);
106077 l_accrual_line_num NUMBER;
106078 l_tmp_amt NUMBER;
106079 l_acc_rev_natural_side_code VARCHAR2(1);
106080
106081 l_num_entries NUMBER;
106082 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
106083 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
106084 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
106085 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
106086 l_recog_line_1 NUMBER;
106087 l_recog_line_2 NUMBER;
106088
106089 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
106090 l_bflow_applied_to_amt NUMBER; -- 5132302
106091 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
106092
106093 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
106094
106098 ---------------------------------------------------------------------------------------------------------------
106095 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
106096 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
106097
106099
106100
106101 --
106102 -- bulk performance
106103 --
106104 l_balance_type_code VARCHAR2(1);
106105 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
106106 l_log_module VARCHAR2(240);
106107
106108 --
106109 -- Upgrade strategy
106110 --
106111 l_actual_upg_option VARCHAR2(1);
106112 l_enc_upg_option VARCHAR2(1);
106113
106114 --
106115 BEGIN
106116 --
106117 IF g_log_enabled THEN
106118 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_180';
106119 END IF;
106120 --
106121 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
106122
106123 trace
106124 (p_msg => 'BEGIN of AcctLineType_180'
106125 ,p_level => C_LEVEL_PROCEDURE
106126 ,p_module => l_log_module);
106127
106128 END IF;
106129 --
106130 l_component_type := 'AMB_JLT';
106131 l_component_code := 'AP_NON_RECOV_TAX_INV';
106132 l_component_type_code := 'S';
106133 l_component_appl_id := 200;
106134 l_amb_context_code := 'DEFAULT';
106135 l_entity_code := 'AP_INVOICES';
106136 l_event_class_code := 'INVOICES';
106137 l_event_type_code := 'INVOICES_ALL';
106138 l_line_definition_owner_code := 'S';
106139 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
106140 --
106141 l_balance_type_code := 'A';
106142 l_segment := NULL;
106143 l_ccid := NULL;
106144 l_adr_transaction_coa_id := NULL;
106145 l_adr_accounting_coa_id := NULL;
106146 l_adr_flexfield_segment_code := NULL;
106147 l_adr_flex_value_set_id := NULL;
106148 l_adr_value_type_code := NULL;
106149 l_adr_value_combination_id := NULL;
106150 l_adr_value_segment_code := NULL;
106151
106152 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
106153 l_bflow_class_code := ''; -- 4219869 Business Flow
106154 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
106155 l_budgetary_control_flag := 'N';
106156
106157 l_bflow_applied_to_amt_idx := NULL; -- 5132302
106158 l_bflow_applied_to_amt := NULL; -- 5132302
106159 l_entered_amt_idx := NULL; -- 4262811
106160 l_accted_amt_idx := NULL; -- 4262811
106161 l_acc_rev_flag := NULL; -- 4262811
106162 l_accrual_line_num := NULL; -- 4262811
106163 l_tmp_amt := NULL; -- 4262811
106164 --
106165
106166 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
106167 l_balance_type_code <> 'B' THEN
106168 IF (NVL(p_source_33,'
106169 ') = 'NONREC_TAX' OR
106170 NVL(p_source_33,'
106171 ') = 'TERV' OR
106172 NVL(p_source_33,'
106173 ') = 'TIPV' OR
106174 NVL(p_source_33,'
106175 ') = 'TRV') AND
106176 NVL(p_source_96,'
106177 ') <> 'Y' AND
106178 NVL(p_source_142,'
106179 ') <> 'Y'
106180 THEN
106181
106182 --
106183 XLA_AE_LINES_PKG.SetNewLine;
106184
106185 p_balance_type_code := l_balance_type_code;
106186 -- set the flag so later we will know whether the gain loss line needs to be created
106187
106188 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
106189 p_actual_flag :='A';
106190 END IF;
106191
106192 --
106193 -- bulk performance
106194 --
106195 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
106196 p_header_num => 0); -- 4262811
106197 --
106198 -- set accounting line options
106199 --
106200 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
106201 p_natural_side_code => 'D'
106202 , p_gain_or_loss_flag => 'N'
106203 , p_gl_transfer_mode_code => 'S'
106204 , p_acct_entry_type_code => 'A'
106205 , p_switch_side_flag => 'Y'
106206 , p_merge_duplicate_code => 'W'
106207 );
106208 --
106209 l_acc_rev_natural_side_code := 'C'; -- 4262811
106210 --
106211 --
106212 -- set accounting line type info
106213 --
106214 xla_ae_lines_pkg.SetAcctLineType
106215 (p_component_type => l_component_type
106216 ,p_event_type_code => l_event_type_code
106217 ,p_line_definition_owner_code => l_line_definition_owner_code
106218 ,p_line_definition_code => l_line_definition_code
106219 ,p_accounting_line_code => l_component_code
106220 ,p_accounting_line_type_code => l_component_type_code
106221 ,p_accounting_line_appl_id => l_component_appl_id
106222 ,p_amb_context_code => l_amb_context_code
106223 ,p_entity_code => l_entity_code
106224 ,p_event_class_code => l_event_class_code);
106225 --
106226 -- set accounting class
106227 --
106228 xla_ae_lines_pkg.SetAcctClass(
106229 p_accounting_class_code => 'NRTAX'
106230 , p_ae_header_id => l_ae_header_id
106231 );
106232
106233 --
106234 -- set rounding class
106235 --
106239 --
106236 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
106237 'NRTAX';
106238
106240 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
106241 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
106242 --
106243 -- bulk performance
106244 --
106245 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
106246
106247 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
106248 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
106249
106250 -- 4955764
106251 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
106252 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
106253
106254 -- 4458381 Public Sector Enh
106255
106256 --
106257 -- set accounting attributes for the line type
106258 --
106259 l_entered_amt_idx := 24;
106260 l_accted_amt_idx := 29;
106261 l_bflow_applied_to_amt_idx := 7; -- 5132302
106262 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
106263 l_rec_acct_attrs.array_char_value(1) := p_source_53;
106264 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
106265 l_rec_acct_attrs.array_num_value(2) :=
106266 xla_ae_sources_pkg.GetSystemSourceNum(
106267 p_source_code => 'XLA_EVENT_APPL_ID'
106268 , p_source_type_code => 'Y'
106269 , p_source_application_id => 602
106270 );
106271 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
106272 l_rec_acct_attrs.array_char_value(3) := p_source_55;
106273 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
106274 l_rec_acct_attrs.array_char_value(4) :=
106275 xla_ae_sources_pkg.GetSystemSourceChar(
106276 p_source_code => 'XLA_ENTITY_CODE'
106277 , p_source_type_code => 'Y'
106278 , p_source_application_id => 602
106279 );
106280 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
106281 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
106282 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
106283 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
106284 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
106285 l_rec_acct_attrs.array_num_value(7) := p_source_73;
106286 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
106287 l_rec_acct_attrs.array_num_value(8) := p_source_91;
106288 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
106289 l_rec_acct_attrs.array_char_value(9) := p_source_92;
106290 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
106291 l_rec_acct_attrs.array_char_value(10) := p_source_93;
106292 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
106293 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
106294 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
106295 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_95);
106296 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
106297 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_64);
106298 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
106299 l_rec_acct_attrs.array_char_value(14) := p_source_55;
106300 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
106301 l_rec_acct_attrs.array_num_value(15) := p_source_65;
106302 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
106303 l_rec_acct_attrs.array_num_value(16) := p_source_66;
106304 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
106305 l_rec_acct_attrs.array_char_value(17) := p_source_67;
106306 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
106307 l_rec_acct_attrs.array_num_value(18) := p_source_68;
106308 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
106309 l_rec_acct_attrs.array_num_value(19) := p_source_69;
106310 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
106311 l_rec_acct_attrs.array_num_value(20) := p_source_70;
106312 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
106313 l_rec_acct_attrs.array_char_value(21) := p_source_67;
106314 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
106315 l_rec_acct_attrs.array_num_value(22) := p_source_71;
106316 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
106317 l_rec_acct_attrs.array_char_value(23) := p_source_72;
106318 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
106319 l_rec_acct_attrs.array_num_value(24) := p_source_73;
106320 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
106321 l_rec_acct_attrs.array_char_value(25) := p_source_67;
106322 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
106323 l_rec_acct_attrs.array_date_value(26) := p_source_143;
106324 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
106325 l_rec_acct_attrs.array_num_value(27) := p_source_144;
106326 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
106327 l_rec_acct_attrs.array_char_value(28) := p_source_145;
106328 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
106329 l_rec_acct_attrs.array_num_value(29) := p_source_21;
106333 l_rec_acct_attrs.array_char_value(31) := p_source_78;
106330 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
106331 l_rec_acct_attrs.array_date_value(30) := p_source_77;
106332 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
106334 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
106335 l_rec_acct_attrs.array_date_value(32) := p_source_79;
106336 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
106337 l_rec_acct_attrs.array_char_value(33) := p_source_80;
106338 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
106339 l_rec_acct_attrs.array_num_value(34) := p_source_81;
106340 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
106341 l_rec_acct_attrs.array_num_value(35) := p_source_82;
106342 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
106343 l_rec_acct_attrs.array_char_value(36) := p_source_83;
106344 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
106345 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_84);
106346 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
106347 l_rec_acct_attrs.array_char_value(38) := p_source_55;
106348 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
106349 l_rec_acct_attrs.array_num_value(39) := p_source_85;
106350 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
106351 l_rec_acct_attrs.array_num_value(40) := p_source_86;
106352 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
106353 l_rec_acct_attrs.array_num_value(41) := p_source_87;
106354 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
106355 l_rec_acct_attrs.array_num_value(42) := p_source_88;
106356 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
106357 l_rec_acct_attrs.array_num_value(43) := p_source_89;
106358 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
106359 l_rec_acct_attrs.array_num_value(44) := p_source_90;
106360
106361 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
106362 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
106363
106364 ---------------------------------------------------------------------------------------------------------------
106365 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
106366 ---------------------------------------------------------------------------------------------------------------
106367 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
106368
106369 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
106370 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
106371
106372 IF xla_accounting_cache_pkg.GetValueChar
106373 (p_source_code => 'LEDGER_CATEGORY_CODE'
106374 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
106375 AND l_bflow_method_code = 'PRIOR_ENTRY'
106376 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
106377 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
106378 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
106379 )
106380 THEN
106381 xla_ae_lines_pkg.BflowUpgEntry
106382 (p_business_method_code => l_bflow_method_code
106383 ,p_business_class_code => l_bflow_class_code
106384 ,p_balance_type => l_balance_type_code);
106385 ELSE
106386 NULL;
106387 -- No business flow processing for business flow method of NONE.
106388 END IF;
106389
106390 --
106391 -- call analytical criteria
106392 --
106393
106394 --
106395 -- call description
106396 --
106397
106398 xla_ae_lines_pkg.SetLineDescription(
106399 p_ae_header_id => l_ae_header_id
106400 ,p_description => Description_1 (
106401 p_application_id => p_application_id
106402 , p_ae_header_id => l_ae_header_id
106403 , p_source_1 => p_source_1
106404 )
106405 );
106406
106407
106408 --
106409 -- call ADRs
106410 -- Bug 4922099
106411 --
106412 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
106413 (NVL(l_actual_upg_option, 'N') = 'O') OR
106414 (NVL(l_enc_upg_option, 'N') = 'O')
106415 )
106416 THEN
106417 NULL;
106418 --
106419 --
106420
106421 l_ccid := AcctDerRule_33(
106422 p_application_id => p_application_id
106423 , p_ae_header_id => l_ae_header_id
106424 , p_source_30 => p_source_30
106425 , x_transaction_coa_id => l_adr_transaction_coa_id
106426 , x_accounting_coa_id => l_adr_accounting_coa_id
106427 , x_value_type_code => l_adr_value_type_code
106428 , p_side => 'NA'
106429 );
106430
106431 xla_ae_lines_pkg.set_ccid(
106432 p_code_combination_id => l_ccid
106433 , p_value_type_code => l_adr_value_type_code
106434 , p_transaction_coa_id => l_adr_transaction_coa_id
106435 , p_accounting_coa_id => l_adr_accounting_coa_id
106436 , p_adr_code => 'AP_INVOICE_DIST'
106437 , p_adr_type_code => 'S'
106438 , p_component_type => l_component_type
106439 , p_component_code => l_component_code
106440 , p_component_type_code => l_component_type_code
106444 );
106441 , p_component_appl_id => l_component_appl_id
106442 , p_amb_context_code => l_amb_context_code
106443 , p_side => 'NA'
106445
106446
106447 --
106448 --
106449 END IF;
106450 --
106451 -- Bug 4922099
106452 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
106453 (NVL(l_enc_upg_option, 'N') = 'O')
106454 ) AND
106455 (l_bflow_method_code = 'PRIOR_ENTRY')
106456 )
106457 THEN
106458 IF
106459 --
106460 1 = 2
106461 --
106462 THEN
106463 xla_accounting_err_pkg.build_message
106464 (p_appli_s_name => 'XLA'
106465 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
106466 ,p_token_1 => 'LINE_NUMBER'
106467 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
106468 ,p_token_2 => 'LINE_TYPE_NAME'
106469 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
106470 l_component_type
106471 ,l_component_code
106472 ,l_component_type_code
106473 ,l_component_appl_id
106474 ,l_amb_context_code
106475 ,l_entity_code
106476 ,l_event_class_code
106477 )
106478 ,p_token_3 => 'OWNER'
106479 ,p_value_3 => xla_lookups_pkg.get_meaning(
106480 p_lookup_type => 'XLA_OWNER_TYPE'
106481 ,p_lookup_code => l_component_type_code
106482 )
106483 ,p_token_4 => 'PRODUCT_NAME'
106484 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
106485 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
106486 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
106487 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
106488 ,p_ae_header_id => NULL
106489 );
106490
106491 IF (C_LEVEL_ERROR>= g_log_level) THEN
106492 trace
106493 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
106494 ,p_level => C_LEVEL_ERROR
106495 ,p_module => l_log_module);
106496 END IF;
106497 END IF;
106498 END IF;
106499 --
106500 --
106501 ------------------------------------------------------------------------------------------------
106502 -- 4219869 Business Flow
106503 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
106504 -- Prior Entry. Currently, the following code is always generated.
106505 ------------------------------------------------------------------------------------------------
106506 XLA_AE_LINES_PKG.ValidateCurrentLine;
106507
106508 ------------------------------------------------------------------------------------
106509 -- 4219869 Business Flow
106510 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
106511 ------------------------------------------------------------------------------------
106512 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
106513
106514 ----------------------------------------------------------------------------------
106515 -- 4219869 Business Flow
106516 -- Update journal entry status -- Need to generate this within IF <condition>
106517 ----------------------------------------------------------------------------------
106518 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
106519 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
106520 ,p_balance_type_code => l_balance_type_code
106521 );
106522
106523 -------------------------------------------------------------------------------------------
106524 -- 4262811 - Generate the Accrual Reversal lines
106525 -------------------------------------------------------------------------------------------
106526 BEGIN
106527 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
106528 (g_array_event(p_event_id).array_value_num('header_index'));
106529 IF l_acc_rev_flag IS NULL THEN
106530 l_acc_rev_flag := 'N';
106531 END IF;
106532 EXCEPTION
106533 WHEN OTHERS THEN
106534 l_acc_rev_flag := 'N';
106535 END;
106536 --
106537 IF (l_acc_rev_flag = 'Y') THEN
106538
106539 -- 4645092 ------------------------------------------------------------------------------
106543
106540 -- To allow MPA report to determine if it should generate report process
106541 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
106542 ------------------------------------------------------------------------------------------
106544 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
106545 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
106546 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
106547 -- call ADRs
106548 -- Bug 4922099
106549 --
106550 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
106551 (NVL(l_actual_upg_option, 'N') = 'O') OR
106552 (NVL(l_enc_upg_option, 'N') = 'O')
106553 )
106554 THEN
106555 NULL;
106556 --
106557 --
106558
106559 l_ccid := AcctDerRule_33(
106560 p_application_id => p_application_id
106561 , p_ae_header_id => l_ae_header_id
106562 , p_source_30 => p_source_30
106563 , x_transaction_coa_id => l_adr_transaction_coa_id
106564 , x_accounting_coa_id => l_adr_accounting_coa_id
106565 , x_value_type_code => l_adr_value_type_code
106566 , p_side => 'NA'
106567 );
106568
106569 xla_ae_lines_pkg.set_ccid(
106570 p_code_combination_id => l_ccid
106571 , p_value_type_code => l_adr_value_type_code
106572 , p_transaction_coa_id => l_adr_transaction_coa_id
106573 , p_accounting_coa_id => l_adr_accounting_coa_id
106574 , p_adr_code => 'AP_INVOICE_DIST'
106575 , p_adr_type_code => 'S'
106576 , p_component_type => l_component_type
106577 , p_component_code => l_component_code
106578 , p_component_type_code => l_component_type_code
106579 , p_component_appl_id => l_component_appl_id
106580 , p_amb_context_code => l_amb_context_code
106581 , p_side => 'NA'
106582 );
106583
106584
106585 --
106586 --
106587 END IF;
106588
106589 --
106590 -- Update the line information that should be overwritten
106591 --
106592 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
106593 p_header_num => 1);
106594 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
106595
106596 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
106597
106598 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
106599 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
106600 END IF;
106601
106602 --
106603 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
106604 --
106605 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
106606 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
106607 ELSE
106608 ---------------------------------------------------------------------------------------------------
106609 -- 4262811a Switch Sign
106610 ---------------------------------------------------------------------------------------------------
106611 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
106612 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
106613 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
106614 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
106615 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
106616 -- 5132302
106617 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
106618 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
106619
106620 END IF;
106621
106622 -- 4955764
106623 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
106624 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
106625
106626
106627 XLA_AE_LINES_PKG.ValidateCurrentLine;
106628 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
106629
106630 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
106631 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
106632 ,p_balance_type_code => l_balance_type_code);
106633
106634 END IF;
106635
106636 -----------------------------------------------------------------------------------------
106637 -- 4262811 Multiperiod Accounting
106638 -----------------------------------------------------------------------------------------
106639 -- No MPA option is assigned.
106640
106641
106642 END IF;
106643 END IF;
106644 --
106645
106646 --
106647 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
106648 trace
106649 (p_msg => 'END of AcctLineType_180'
106650 ,p_level => C_LEVEL_PROCEDURE
106651 ,p_module => l_log_module);
106652 END IF;
106653 --
106654 EXCEPTION
106655 WHEN xla_exceptions_pkg.application_exception THEN
106659 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_180');
106656 RAISE;
106657 WHEN OTHERS THEN
106658 xla_exceptions_pkg.raise_message
106660 END AcctLineType_180;
106661 --
106662
106663 ---------------------------------------
106664 --
106665 -- PRIVATE FUNCTION
106666 -- AcctLineType_181
106667 --
106668 ---------------------------------------
106669 PROCEDURE AcctLineType_181 (
106670 p_application_id IN NUMBER
106671 ,p_event_id IN NUMBER
106672 ,p_calculate_acctd_flag IN VARCHAR2
106673 ,p_calculate_g_l_flag IN VARCHAR2
106674 ,p_actual_flag IN OUT VARCHAR2
106675 ,p_balance_type_code OUT VARCHAR2
106676 ,p_gain_or_loss_ref OUT VARCHAR2
106677
106678 --Invoice Distribution Description
106679 , p_source_1 IN VARCHAR2
106680 --Invoice Distribution Ledger Amount
106681 , p_source_21 IN NUMBER
106682 --Invoice Distribution Account
106683 , p_source_30 IN NUMBER
106684 --Invoice Distribution Type
106685 , p_source_33 IN VARCHAR2
106686 , p_source_33_meaning IN VARCHAR2
106687 --Accounting Reversal Indicator
106688 , p_source_53 IN VARCHAR2
106689 --Distribution Link Type
106690 , p_source_55 IN VARCHAR2
106691 --Allocation to Main Distribution Identifier
106692 , p_source_57 IN NUMBER
106693 --Invoice Identifier
106694 , p_source_58 IN NUMBER
106695 --Invoice Distribution Identifier
106696 , p_source_64 IN NUMBER
106697 --Payables Encumbrance Upgrade Credit Account
106698 , p_source_65 IN NUMBER
106699 --Payables Encumbrance Upgrade Credit Amount
106700 , p_source_66 IN NUMBER
106701 --Invoice Currency Code
106702 , p_source_67 IN VARCHAR2
106703 --Payables Encumbrance Upgrade Credit Base Amount
106704 , p_source_68 IN NUMBER
106705 --Payables Encumbrance Upgrade Debit Account
106706 , p_source_69 IN NUMBER
106707 --Payables Encumbrance Upgrade Debit Amount
106708 , p_source_70 IN NUMBER
106709 --Payables Encumbrance Upgrade Debit Base Amount
106710 , p_source_71 IN NUMBER
106711 --Payables Encumbrance Upgrade Option
106712 , p_source_72 IN VARCHAR2
106713 --Invoice Distribution Amount
106714 , p_source_73 IN NUMBER
106715 --Deferred Accounting End Date
106716 , p_source_77 IN DATE
106717 --Deferred Accounting Option
106718 , p_source_78 IN VARCHAR2
106719 --Deferred Accounting Start Date
106720 , p_source_79 IN DATE
106721 --Override Accounted Amount Indicator
106722 , p_source_80 IN VARCHAR2
106723 , p_source_80_meaning IN VARCHAR2
106724 --Invoice Supplier Identifier
106725 , p_source_81 IN NUMBER
106726 --Invoice Supplier Site Identifier
106727 , p_source_82 IN NUMBER
106728 --Third Party Type
106729 , p_source_83 IN VARCHAR2
106730 --Parent Reversal Identifier
106731 , p_source_84 IN NUMBER
106732 --Invoice Distribution Statistical Amount
106733 , p_source_85 IN NUMBER
106734 --Invoice Distribution Tax Line Identifier
106735 , p_source_86 IN NUMBER
106736 --Invoice Distribution Tax Distribution Identifier from Tax
106737 , p_source_87 IN NUMBER
106738 --Invoice Distribution Summary Tax Line Identifier
106739 , p_source_88 IN NUMBER
106740 --Payables Upgrade Credit Encumbrance Type Identifier
106741 , p_source_89 IN NUMBER
106742 --Payables Upgrade Debit Encumbrance Type Identifier
106743 , p_source_90 IN NUMBER
106744 --Business Flow Accounts Payable Application Identifier
106745 , p_source_91 IN NUMBER
106746 --Business Flow Invoice Distribution Type
106747 , p_source_92 IN VARCHAR2
106748 --Business Flow Invoice Entity Code
106749 , p_source_93 IN VARCHAR2
106750 --Business Flow Invoice Distribution Identifier
106751 , p_source_94 IN NUMBER
106752 --Business Flow Invoice Identifier
106753 , p_source_95 IN NUMBER
106754 --Accrue on Receipt Option
106755 , p_source_96 IN VARCHAR2
106756 , p_source_96_meaning IN VARCHAR2
106757 --Self-Assessed Tax Flag
106758 , p_source_142 IN VARCHAR2
106759 , p_source_142_meaning IN VARCHAR2
106760 --Invoice Exchange Date
106761 , p_source_143 IN DATE
106762 --Invoice Exchange Rate
106763 , p_source_144 IN NUMBER
106764 --Invoice Exchange Rate Type
106765 , p_source_145 IN VARCHAR2
106766 )
106767 IS
106768
106769 l_component_type VARCHAR2(80);
106770 l_component_code VARCHAR2(30);
106771 l_component_type_code VARCHAR2(1);
106772 l_component_appl_id INTEGER;
106773 l_amb_context_code VARCHAR2(30);
106774 l_entity_code VARCHAR2(30);
106775 l_event_class_code VARCHAR2(30);
106776 l_ae_header_id NUMBER;
106777 l_event_type_code VARCHAR2(30);
106778 l_line_definition_code VARCHAR2(30);
106779 l_line_definition_owner_code VARCHAR2(1);
106780 --
106781 -- adr variables
106782 l_segment VARCHAR2(30);
106783 l_ccid NUMBER;
106784 l_adr_transaction_coa_id NUMBER;
106785 l_adr_accounting_coa_id NUMBER;
106786 l_adr_flexfield_segment_code VARCHAR2(30);
106787 l_adr_flex_value_set_id NUMBER;
106791
106788 l_adr_value_type_code VARCHAR2(30);
106789 l_adr_value_combination_id NUMBER;
106790 l_adr_value_segment_code VARCHAR2(30);
106792 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
106793 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
106794 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
106795 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
106796
106797 -- 4262811 Variables ------------------------------------------------------------------------------------------
106798 l_entered_amt_idx NUMBER;
106799 l_accted_amt_idx NUMBER;
106800 l_acc_rev_flag VARCHAR2(1);
106801 l_accrual_line_num NUMBER;
106802 l_tmp_amt NUMBER;
106803 l_acc_rev_natural_side_code VARCHAR2(1);
106804
106805 l_num_entries NUMBER;
106806 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
106807 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
106808 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
106809 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
106810 l_recog_line_1 NUMBER;
106811 l_recog_line_2 NUMBER;
106812
106813 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
106814 l_bflow_applied_to_amt NUMBER; -- 5132302
106815 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
106816
106817 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
106818
106819 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
106820 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
106821
106822 ---------------------------------------------------------------------------------------------------------------
106823
106824
106825 --
106826 -- bulk performance
106827 --
106828 l_balance_type_code VARCHAR2(1);
106829 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
106830 l_log_module VARCHAR2(240);
106831
106832 --
106833 -- Upgrade strategy
106834 --
106835 l_actual_upg_option VARCHAR2(1);
106836 l_enc_upg_option VARCHAR2(1);
106837
106838 --
106839 BEGIN
106840 --
106841 IF g_log_enabled THEN
106842 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_181';
106843 END IF;
106844 --
106845 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
106846
106847 trace
106848 (p_msg => 'BEGIN of AcctLineType_181'
106849 ,p_level => C_LEVEL_PROCEDURE
106850 ,p_module => l_log_module);
106851
106852 END IF;
106853 --
106854 l_component_type := 'AMB_JLT';
106855 l_component_code := 'AP_NON_RECOV_TAX_PREPAY';
106856 l_component_type_code := 'S';
106857 l_component_appl_id := 200;
106858 l_amb_context_code := 'DEFAULT';
106859 l_entity_code := 'AP_INVOICES';
106860 l_event_class_code := 'PREPAYMENTS';
106861 l_event_type_code := 'PREPAYMENTS_ALL';
106862 l_line_definition_owner_code := 'S';
106863 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
106864 --
106865 l_balance_type_code := 'A';
106866 l_segment := NULL;
106867 l_ccid := NULL;
106868 l_adr_transaction_coa_id := NULL;
106869 l_adr_accounting_coa_id := NULL;
106870 l_adr_flexfield_segment_code := NULL;
106871 l_adr_flex_value_set_id := NULL;
106872 l_adr_value_type_code := NULL;
106873 l_adr_value_combination_id := NULL;
106874 l_adr_value_segment_code := NULL;
106875
106876 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
106877 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
106878 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
106879 l_budgetary_control_flag := 'N';
106880
106881 l_bflow_applied_to_amt_idx := NULL; -- 5132302
106882 l_bflow_applied_to_amt := NULL; -- 5132302
106883 l_entered_amt_idx := NULL; -- 4262811
106884 l_accted_amt_idx := NULL; -- 4262811
106885 l_acc_rev_flag := NULL; -- 4262811
106886 l_accrual_line_num := NULL; -- 4262811
106887 l_tmp_amt := NULL; -- 4262811
106888 --
106889
106890 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
106891 l_balance_type_code <> 'B' THEN
106892 IF (NVL(p_source_33,'
106893 ') = 'NONREC_TAX' OR
106894 NVL(p_source_33,'
106895 ') = 'TERV' OR
106896 NVL(p_source_33,'
106897 ') = 'TIPV' OR
106898 NVL(p_source_33,'
106899 ') = 'TRV') AND
106900 NVL(p_source_96,'
106901 ') <> 'Y' AND
106902 NVL(p_source_142,'
106903 ') <> 'Y'
106904 THEN
106905
106906 --
106907 XLA_AE_LINES_PKG.SetNewLine;
106908
106909 p_balance_type_code := l_balance_type_code;
106910 -- set the flag so later we will know whether the gain loss line needs to be created
106911
106912 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
106913 p_actual_flag :='A';
106914 END IF;
106915
106916 --
106917 -- bulk performance
106918 --
106919 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
106920 p_header_num => 0); -- 4262811
106921 --
106922 -- set accounting line options
106926 , p_gain_or_loss_flag => 'N'
106923 --
106924 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
106925 p_natural_side_code => 'D'
106927 , p_gl_transfer_mode_code => 'S'
106928 , p_acct_entry_type_code => 'A'
106929 , p_switch_side_flag => 'Y'
106930 , p_merge_duplicate_code => 'A'
106931 );
106932 --
106933 l_acc_rev_natural_side_code := 'C'; -- 4262811
106934 --
106935 --
106936 -- set accounting line type info
106937 --
106938 xla_ae_lines_pkg.SetAcctLineType
106939 (p_component_type => l_component_type
106940 ,p_event_type_code => l_event_type_code
106941 ,p_line_definition_owner_code => l_line_definition_owner_code
106942 ,p_line_definition_code => l_line_definition_code
106943 ,p_accounting_line_code => l_component_code
106944 ,p_accounting_line_type_code => l_component_type_code
106945 ,p_accounting_line_appl_id => l_component_appl_id
106946 ,p_amb_context_code => l_amb_context_code
106947 ,p_entity_code => l_entity_code
106948 ,p_event_class_code => l_event_class_code);
106949 --
106950 -- set accounting class
106951 --
106952 xla_ae_lines_pkg.SetAcctClass(
106953 p_accounting_class_code => 'NRTAX'
106954 , p_ae_header_id => l_ae_header_id
106955 );
106956
106957 --
106958 -- set rounding class
106959 --
106960 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
106961 'NRTAX';
106962
106963 --
106964 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
106965 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
106966 --
106967 -- bulk performance
106968 --
106969 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
106970
106971 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
106972 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
106973
106974 -- 4955764
106975 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
106976 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
106977
106978 -- 4458381 Public Sector Enh
106979
106980 --
106981 -- set accounting attributes for the line type
106982 --
106983 l_entered_amt_idx := 23;
106984 l_accted_amt_idx := 28;
106985 l_bflow_applied_to_amt_idx := NULL; -- 5132302
106986 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
106987 l_rec_acct_attrs.array_char_value(1) := p_source_53;
106988 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
106989 l_rec_acct_attrs.array_num_value(2) :=
106990 xla_ae_sources_pkg.GetSystemSourceNum(
106991 p_source_code => 'XLA_EVENT_APPL_ID'
106992 , p_source_type_code => 'Y'
106993 , p_source_application_id => 602
106994 );
106995 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
106996 l_rec_acct_attrs.array_char_value(3) := p_source_55;
106997 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
106998 l_rec_acct_attrs.array_char_value(4) :=
106999 xla_ae_sources_pkg.GetSystemSourceChar(
107000 p_source_code => 'XLA_ENTITY_CODE'
107001 , p_source_type_code => 'Y'
107002 , p_source_application_id => 602
107003 );
107004 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
107005 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
107006 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
107007 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
107008 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
107009 l_rec_acct_attrs.array_num_value(7) := p_source_91;
107010 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
107011 l_rec_acct_attrs.array_char_value(8) := p_source_92;
107012 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
107013 l_rec_acct_attrs.array_char_value(9) := p_source_93;
107014 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
107015 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
107016 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
107017 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
107018 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
107019 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
107020 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
107021 l_rec_acct_attrs.array_char_value(13) := p_source_55;
107022 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
107023 l_rec_acct_attrs.array_num_value(14) := p_source_65;
107024 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
107025 l_rec_acct_attrs.array_num_value(15) := p_source_66;
107026 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
107027 l_rec_acct_attrs.array_char_value(16) := p_source_67;
107028 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
107029 l_rec_acct_attrs.array_num_value(17) := p_source_68;
107030 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
107034 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
107031 l_rec_acct_attrs.array_num_value(18) := p_source_69;
107032 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
107033 l_rec_acct_attrs.array_num_value(19) := p_source_70;
107035 l_rec_acct_attrs.array_char_value(20) := p_source_67;
107036 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
107037 l_rec_acct_attrs.array_num_value(21) := p_source_71;
107038 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
107039 l_rec_acct_attrs.array_char_value(22) := p_source_72;
107040 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
107041 l_rec_acct_attrs.array_num_value(23) := p_source_73;
107042 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
107043 l_rec_acct_attrs.array_char_value(24) := p_source_67;
107044 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
107045 l_rec_acct_attrs.array_date_value(25) := p_source_143;
107046 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
107047 l_rec_acct_attrs.array_num_value(26) := p_source_144;
107048 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
107049 l_rec_acct_attrs.array_char_value(27) := p_source_145;
107050 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
107051 l_rec_acct_attrs.array_num_value(28) := p_source_21;
107052 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
107053 l_rec_acct_attrs.array_date_value(29) := p_source_77;
107054 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
107055 l_rec_acct_attrs.array_char_value(30) := p_source_78;
107056 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
107057 l_rec_acct_attrs.array_date_value(31) := p_source_79;
107058 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
107059 l_rec_acct_attrs.array_char_value(32) := p_source_80;
107060 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
107061 l_rec_acct_attrs.array_num_value(33) := p_source_81;
107062 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
107063 l_rec_acct_attrs.array_num_value(34) := p_source_82;
107064 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
107065 l_rec_acct_attrs.array_char_value(35) := p_source_83;
107066 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
107067 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
107068 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
107069 l_rec_acct_attrs.array_char_value(37) := p_source_55;
107070 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
107071 l_rec_acct_attrs.array_num_value(38) := p_source_85;
107072 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
107073 l_rec_acct_attrs.array_num_value(39) := p_source_86;
107074 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
107075 l_rec_acct_attrs.array_num_value(40) := p_source_87;
107076 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
107077 l_rec_acct_attrs.array_num_value(41) := p_source_88;
107078 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
107079 l_rec_acct_attrs.array_num_value(42) := p_source_89;
107080 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
107081 l_rec_acct_attrs.array_num_value(43) := p_source_90;
107082
107083 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
107084 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
107085
107086 ---------------------------------------------------------------------------------------------------------------
107087 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
107088 ---------------------------------------------------------------------------------------------------------------
107089 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
107090
107091 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
107092 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
107093
107094 IF xla_accounting_cache_pkg.GetValueChar
107095 (p_source_code => 'LEDGER_CATEGORY_CODE'
107096 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
107097 AND l_bflow_method_code = 'PRIOR_ENTRY'
107098 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
107099 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
107100 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
107101 )
107102 THEN
107103 xla_ae_lines_pkg.BflowUpgEntry
107104 (p_business_method_code => l_bflow_method_code
107105 ,p_business_class_code => l_bflow_class_code
107106 ,p_balance_type => l_balance_type_code);
107107 ELSE
107108 NULL;
107109 -- No business flow processing for business flow method of NONE.
107110 END IF;
107111
107112 --
107113 -- call analytical criteria
107114 --
107115
107116 --
107117 -- call description
107118 --
107119
107120 xla_ae_lines_pkg.SetLineDescription(
107121 p_ae_header_id => l_ae_header_id
107122 ,p_description => Description_1 (
107123 p_application_id => p_application_id
107124 , p_ae_header_id => l_ae_header_id
107125 , p_source_1 => p_source_1
107126 )
107127 );
107128
107132 -- Bug 4922099
107129
107130 --
107131 -- call ADRs
107133 --
107134 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
107135 (NVL(l_actual_upg_option, 'N') = 'O') OR
107136 (NVL(l_enc_upg_option, 'N') = 'O')
107137 )
107138 THEN
107139 NULL;
107140 --
107141 --
107142
107143 l_ccid := AcctDerRule_33(
107144 p_application_id => p_application_id
107145 , p_ae_header_id => l_ae_header_id
107146 , p_source_30 => p_source_30
107147 , x_transaction_coa_id => l_adr_transaction_coa_id
107148 , x_accounting_coa_id => l_adr_accounting_coa_id
107149 , x_value_type_code => l_adr_value_type_code
107150 , p_side => 'NA'
107151 );
107152
107153 xla_ae_lines_pkg.set_ccid(
107154 p_code_combination_id => l_ccid
107155 , p_value_type_code => l_adr_value_type_code
107156 , p_transaction_coa_id => l_adr_transaction_coa_id
107157 , p_accounting_coa_id => l_adr_accounting_coa_id
107158 , p_adr_code => 'AP_INVOICE_DIST'
107159 , p_adr_type_code => 'S'
107160 , p_component_type => l_component_type
107161 , p_component_code => l_component_code
107162 , p_component_type_code => l_component_type_code
107163 , p_component_appl_id => l_component_appl_id
107164 , p_amb_context_code => l_amb_context_code
107165 , p_side => 'NA'
107166 );
107167
107168
107169 --
107170 --
107171 END IF;
107172 --
107173 -- Bug 4922099
107174 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
107175 (NVL(l_enc_upg_option, 'N') = 'O')
107176 ) AND
107177 (l_bflow_method_code = 'PRIOR_ENTRY')
107178 )
107179 THEN
107180 IF
107181 --
107182 1 = 2
107183 --
107184 THEN
107185 xla_accounting_err_pkg.build_message
107186 (p_appli_s_name => 'XLA'
107187 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
107188 ,p_token_1 => 'LINE_NUMBER'
107189 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
107190 ,p_token_2 => 'LINE_TYPE_NAME'
107191 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
107192 l_component_type
107193 ,l_component_code
107194 ,l_component_type_code
107195 ,l_component_appl_id
107196 ,l_amb_context_code
107197 ,l_entity_code
107198 ,l_event_class_code
107199 )
107200 ,p_token_3 => 'OWNER'
107201 ,p_value_3 => xla_lookups_pkg.get_meaning(
107202 p_lookup_type => 'XLA_OWNER_TYPE'
107203 ,p_lookup_code => l_component_type_code
107204 )
107205 ,p_token_4 => 'PRODUCT_NAME'
107206 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
107207 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
107208 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
107209 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
107210 ,p_ae_header_id => NULL
107211 );
107212
107213 IF (C_LEVEL_ERROR>= g_log_level) THEN
107214 trace
107215 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
107216 ,p_level => C_LEVEL_ERROR
107217 ,p_module => l_log_module);
107218 END IF;
107219 END IF;
107220 END IF;
107221 --
107222 --
107223 ------------------------------------------------------------------------------------------------
107224 -- 4219869 Business Flow
107225 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
107226 -- Prior Entry. Currently, the following code is always generated.
107227 ------------------------------------------------------------------------------------------------
107228 XLA_AE_LINES_PKG.ValidateCurrentLine;
107229
107230 ------------------------------------------------------------------------------------
107231 -- 4219869 Business Flow
107232 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
107233 ------------------------------------------------------------------------------------
107234 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
107235
107239 ----------------------------------------------------------------------------------
107236 ----------------------------------------------------------------------------------
107237 -- 4219869 Business Flow
107238 -- Update journal entry status -- Need to generate this within IF <condition>
107240 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
107241 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
107242 ,p_balance_type_code => l_balance_type_code
107243 );
107244
107245 -------------------------------------------------------------------------------------------
107246 -- 4262811 - Generate the Accrual Reversal lines
107247 -------------------------------------------------------------------------------------------
107248 BEGIN
107249 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
107250 (g_array_event(p_event_id).array_value_num('header_index'));
107251 IF l_acc_rev_flag IS NULL THEN
107252 l_acc_rev_flag := 'N';
107253 END IF;
107254 EXCEPTION
107255 WHEN OTHERS THEN
107256 l_acc_rev_flag := 'N';
107257 END;
107258 --
107259 IF (l_acc_rev_flag = 'Y') THEN
107260
107261 -- 4645092 ------------------------------------------------------------------------------
107262 -- To allow MPA report to determine if it should generate report process
107263 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
107264 ------------------------------------------------------------------------------------------
107265
107266 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
107267 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
107268 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
107269 -- call ADRs
107270 -- Bug 4922099
107271 --
107272 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
107273 (NVL(l_actual_upg_option, 'N') = 'O') OR
107274 (NVL(l_enc_upg_option, 'N') = 'O')
107275 )
107276 THEN
107277 NULL;
107278 --
107279 --
107280
107281 l_ccid := AcctDerRule_33(
107282 p_application_id => p_application_id
107283 , p_ae_header_id => l_ae_header_id
107284 , p_source_30 => p_source_30
107285 , x_transaction_coa_id => l_adr_transaction_coa_id
107286 , x_accounting_coa_id => l_adr_accounting_coa_id
107287 , x_value_type_code => l_adr_value_type_code
107288 , p_side => 'NA'
107289 );
107290
107291 xla_ae_lines_pkg.set_ccid(
107292 p_code_combination_id => l_ccid
107293 , p_value_type_code => l_adr_value_type_code
107294 , p_transaction_coa_id => l_adr_transaction_coa_id
107295 , p_accounting_coa_id => l_adr_accounting_coa_id
107296 , p_adr_code => 'AP_INVOICE_DIST'
107297 , p_adr_type_code => 'S'
107298 , p_component_type => l_component_type
107299 , p_component_code => l_component_code
107300 , p_component_type_code => l_component_type_code
107301 , p_component_appl_id => l_component_appl_id
107302 , p_amb_context_code => l_amb_context_code
107303 , p_side => 'NA'
107304 );
107305
107306
107307 --
107308 --
107309 END IF;
107310
107311 --
107312 -- Update the line information that should be overwritten
107313 --
107314 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
107315 p_header_num => 1);
107316 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
107317
107318 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
107319
107320 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
107321 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
107322 END IF;
107323
107324 --
107325 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
107326 --
107327 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
107328 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
107329 ELSE
107330 ---------------------------------------------------------------------------------------------------
107331 -- 4262811a Switch Sign
107332 ---------------------------------------------------------------------------------------------------
107333 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
107334 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
107335 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
107336 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
107337 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
107338 -- 5132302
107339 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
107340 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
107341
107342 END IF;
107343
107344 -- 4955764
107348
107345 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
107346 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
107347
107349 XLA_AE_LINES_PKG.ValidateCurrentLine;
107350 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
107351
107352 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
107353 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
107354 ,p_balance_type_code => l_balance_type_code);
107355
107356 END IF;
107357
107358 -----------------------------------------------------------------------------------------
107359 -- 4262811 Multiperiod Accounting
107360 -----------------------------------------------------------------------------------------
107361 -- No MPA option is assigned.
107362
107363
107364 END IF;
107365 END IF;
107366 --
107367
107368 --
107369 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
107370 trace
107371 (p_msg => 'END of AcctLineType_181'
107372 ,p_level => C_LEVEL_PROCEDURE
107373 ,p_module => l_log_module);
107374 END IF;
107375 --
107376 EXCEPTION
107377 WHEN xla_exceptions_pkg.application_exception THEN
107378 RAISE;
107379 WHEN OTHERS THEN
107380 xla_exceptions_pkg.raise_message
107381 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_181');
107382 END AcctLineType_181;
107383 --
107384
107385 ---------------------------------------
107386 --
107387 -- PRIVATE FUNCTION
107388 -- AcctLineType_182
107389 --
107390 ---------------------------------------
107391 PROCEDURE AcctLineType_182 (
107392 p_application_id IN NUMBER
107393 ,p_event_id IN NUMBER
107394 ,p_calculate_acctd_flag IN VARCHAR2
107395 ,p_calculate_g_l_flag IN VARCHAR2
107396 ,p_actual_flag IN OUT VARCHAR2
107397 ,p_balance_type_code OUT VARCHAR2
107398 ,p_gain_or_loss_ref OUT VARCHAR2
107399
107400 --Invoice Distribution Description
107401 , p_source_1 IN VARCHAR2
107402 --Invoice Distribution Ledger Amount
107403 , p_source_21 IN NUMBER
107404 --Invoice Distribution Account
107405 , p_source_30 IN NUMBER
107406 --Invoice Distribution Type
107407 , p_source_33 IN VARCHAR2
107408 , p_source_33_meaning IN VARCHAR2
107409 --Accounting Reversal Indicator
107410 , p_source_53 IN VARCHAR2
107411 --Distribution Link Type
107412 , p_source_55 IN VARCHAR2
107413 --Allocation to Main Distribution Identifier
107414 , p_source_57 IN NUMBER
107415 --Invoice Identifier
107416 , p_source_58 IN NUMBER
107417 --Invoice Distribution Identifier
107418 , p_source_64 IN NUMBER
107419 --Payables Encumbrance Upgrade Credit Account
107420 , p_source_65 IN NUMBER
107421 --Payables Encumbrance Upgrade Credit Amount
107422 , p_source_66 IN NUMBER
107423 --Invoice Currency Code
107424 , p_source_67 IN VARCHAR2
107425 --Payables Encumbrance Upgrade Credit Base Amount
107426 , p_source_68 IN NUMBER
107427 --Payables Encumbrance Upgrade Debit Account
107428 , p_source_69 IN NUMBER
107429 --Payables Encumbrance Upgrade Debit Amount
107430 , p_source_70 IN NUMBER
107431 --Payables Encumbrance Upgrade Debit Base Amount
107432 , p_source_71 IN NUMBER
107433 --Payables Encumbrance Upgrade Option
107434 , p_source_72 IN VARCHAR2
107435 --Invoice Distribution Amount
107436 , p_source_73 IN NUMBER
107437 --Purchase Order Exchange Rate Date
107438 , p_source_74 IN DATE
107439 --Purchase Order Exchange Rate
107440 , p_source_75 IN NUMBER
107441 --Purchase Order Exchange Rate Type
107442 , p_source_76 IN VARCHAR2
107443 --Deferred Accounting End Date
107444 , p_source_77 IN DATE
107445 --Deferred Accounting Option
107446 , p_source_78 IN VARCHAR2
107447 --Deferred Accounting Start Date
107448 , p_source_79 IN DATE
107449 --Override Accounted Amount Indicator
107450 , p_source_80 IN VARCHAR2
107451 , p_source_80_meaning IN VARCHAR2
107452 --Invoice Supplier Identifier
107453 , p_source_81 IN NUMBER
107454 --Invoice Supplier Site Identifier
107455 , p_source_82 IN NUMBER
107456 --Third Party Type
107457 , p_source_83 IN VARCHAR2
107458 --Parent Reversal Identifier
107459 , p_source_84 IN NUMBER
107460 --Invoice Distribution Statistical Amount
107461 , p_source_85 IN NUMBER
107462 --Invoice Distribution Tax Line Identifier
107463 , p_source_86 IN NUMBER
107464 --Invoice Distribution Tax Distribution Identifier from Tax
107465 , p_source_87 IN NUMBER
107466 --Invoice Distribution Summary Tax Line Identifier
107467 , p_source_88 IN NUMBER
107468 --Payables Upgrade Credit Encumbrance Type Identifier
107469 , p_source_89 IN NUMBER
107470 --Payables Upgrade Debit Encumbrance Type Identifier
107471 , p_source_90 IN NUMBER
107472 --Business Flow Accounts Payable Application Identifier
107473 , p_source_91 IN NUMBER
107474 --Business Flow Invoice Distribution Type
107475 , p_source_92 IN VARCHAR2
107476 --Business Flow Invoice Entity Code
107477 , p_source_93 IN VARCHAR2
107478 --Business Flow Invoice Distribution Identifier
107482 --Accrue on Receipt Option
107479 , p_source_94 IN NUMBER
107480 --Business Flow Invoice Identifier
107481 , p_source_95 IN NUMBER
107483 , p_source_96 IN VARCHAR2
107484 , p_source_96_meaning IN VARCHAR2
107485 --Self-Assessed Tax Flag
107486 , p_source_142 IN VARCHAR2
107487 , p_source_142_meaning IN VARCHAR2
107488 )
107489 IS
107490
107491 l_component_type VARCHAR2(80);
107492 l_component_code VARCHAR2(30);
107493 l_component_type_code VARCHAR2(1);
107494 l_component_appl_id INTEGER;
107495 l_amb_context_code VARCHAR2(30);
107496 l_entity_code VARCHAR2(30);
107497 l_event_class_code VARCHAR2(30);
107498 l_ae_header_id NUMBER;
107499 l_event_type_code VARCHAR2(30);
107500 l_line_definition_code VARCHAR2(30);
107501 l_line_definition_owner_code VARCHAR2(1);
107502 --
107503 -- adr variables
107504 l_segment VARCHAR2(30);
107505 l_ccid NUMBER;
107506 l_adr_transaction_coa_id NUMBER;
107507 l_adr_accounting_coa_id NUMBER;
107508 l_adr_flexfield_segment_code VARCHAR2(30);
107509 l_adr_flex_value_set_id NUMBER;
107510 l_adr_value_type_code VARCHAR2(30);
107511 l_adr_value_combination_id NUMBER;
107512 l_adr_value_segment_code VARCHAR2(30);
107513
107514 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
107515 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
107516 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
107517 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
107518
107519 -- 4262811 Variables ------------------------------------------------------------------------------------------
107520 l_entered_amt_idx NUMBER;
107521 l_accted_amt_idx NUMBER;
107522 l_acc_rev_flag VARCHAR2(1);
107523 l_accrual_line_num NUMBER;
107524 l_tmp_amt NUMBER;
107525 l_acc_rev_natural_side_code VARCHAR2(1);
107526
107527 l_num_entries NUMBER;
107528 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
107529 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
107530 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
107531 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
107532 l_recog_line_1 NUMBER;
107533 l_recog_line_2 NUMBER;
107534
107535 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
107536 l_bflow_applied_to_amt NUMBER; -- 5132302
107537 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
107538
107539 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
107540
107541 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
107542 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
107543
107544 ---------------------------------------------------------------------------------------------------------------
107545
107546
107547 --
107548 -- bulk performance
107549 --
107550 l_balance_type_code VARCHAR2(1);
107551 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
107552 l_log_module VARCHAR2(240);
107553
107554 --
107555 -- Upgrade strategy
107556 --
107557 l_actual_upg_option VARCHAR2(1);
107558 l_enc_upg_option VARCHAR2(1);
107559
107560 --
107561 BEGIN
107562 --
107563 IF g_log_enabled THEN
107564 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_182';
107565 END IF;
107566 --
107567 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
107568
107569 trace
107570 (p_msg => 'BEGIN of AcctLineType_182'
107571 ,p_level => C_LEVEL_PROCEDURE
107572 ,p_module => l_log_module);
107573
107574 END IF;
107575 --
107576 l_component_type := 'AMB_JLT';
107577 l_component_code := 'AP_NRTAX_ACCRUAL_PREPAY';
107578 l_component_type_code := 'S';
107579 l_component_appl_id := 200;
107580 l_amb_context_code := 'DEFAULT';
107581 l_entity_code := 'AP_INVOICES';
107582 l_event_class_code := 'PREPAYMENTS';
107583 l_event_type_code := 'PREPAYMENTS_ALL';
107584 l_line_definition_owner_code := 'S';
107585 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
107586 --
107587 l_balance_type_code := 'A';
107588 l_segment := NULL;
107589 l_ccid := NULL;
107590 l_adr_transaction_coa_id := NULL;
107591 l_adr_accounting_coa_id := NULL;
107592 l_adr_flexfield_segment_code := NULL;
107593 l_adr_flex_value_set_id := NULL;
107594 l_adr_value_type_code := NULL;
107595 l_adr_value_combination_id := NULL;
107596 l_adr_value_segment_code := NULL;
107597
107598 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
107599 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
107600 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
107601 l_budgetary_control_flag := 'N';
107602
107603 l_bflow_applied_to_amt_idx := NULL; -- 5132302
107604 l_bflow_applied_to_amt := NULL; -- 5132302
107605 l_entered_amt_idx := NULL; -- 4262811
107609 l_tmp_amt := NULL; -- 4262811
107606 l_accted_amt_idx := NULL; -- 4262811
107607 l_acc_rev_flag := NULL; -- 4262811
107608 l_accrual_line_num := NULL; -- 4262811
107610 --
107611
107612 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
107613 l_balance_type_code <> 'B' THEN
107614 IF NVL(p_source_33,'
107615 ') = 'NONREC_TAX' AND
107616 NVL(p_source_96,'
107617 ') = 'Y' AND
107618 NVL(p_source_142,'
107619 ') <> 'Y'
107620 THEN
107621
107622 --
107623 XLA_AE_LINES_PKG.SetNewLine;
107624
107625 p_balance_type_code := l_balance_type_code;
107626 -- set the flag so later we will know whether the gain loss line needs to be created
107627
107628 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
107629 p_actual_flag :='A';
107630 END IF;
107631
107632 --
107633 -- bulk performance
107634 --
107635 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
107636 p_header_num => 0); -- 4262811
107637 --
107638 -- set accounting line options
107639 --
107640 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
107641 p_natural_side_code => 'D'
107642 , p_gain_or_loss_flag => 'N'
107643 , p_gl_transfer_mode_code => 'S'
107644 , p_acct_entry_type_code => 'A'
107645 , p_switch_side_flag => 'Y'
107646 , p_merge_duplicate_code => 'A'
107647 );
107648 --
107649 l_acc_rev_natural_side_code := 'C'; -- 4262811
107650 --
107651 --
107652 -- set accounting line type info
107653 --
107654 xla_ae_lines_pkg.SetAcctLineType
107655 (p_component_type => l_component_type
107656 ,p_event_type_code => l_event_type_code
107657 ,p_line_definition_owner_code => l_line_definition_owner_code
107658 ,p_line_definition_code => l_line_definition_code
107659 ,p_accounting_line_code => l_component_code
107660 ,p_accounting_line_type_code => l_component_type_code
107661 ,p_accounting_line_appl_id => l_component_appl_id
107662 ,p_amb_context_code => l_amb_context_code
107663 ,p_entity_code => l_entity_code
107664 ,p_event_class_code => l_event_class_code);
107665 --
107666 -- set accounting class
107667 --
107668 xla_ae_lines_pkg.SetAcctClass(
107669 p_accounting_class_code => 'NRTAX'
107670 , p_ae_header_id => l_ae_header_id
107671 );
107672
107673 --
107674 -- set rounding class
107675 --
107676 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
107677 'NRTAX';
107678
107679 --
107680 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
107681 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
107682 --
107683 -- bulk performance
107684 --
107685 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
107686
107687 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
107688 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
107689
107690 -- 4955764
107691 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
107692 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
107693
107694 -- 4458381 Public Sector Enh
107695
107696 --
107697 -- set accounting attributes for the line type
107698 --
107699 l_entered_amt_idx := 23;
107700 l_accted_amt_idx := 28;
107701 l_bflow_applied_to_amt_idx := NULL; -- 5132302
107702 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
107703 l_rec_acct_attrs.array_char_value(1) := p_source_53;
107704 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
107705 l_rec_acct_attrs.array_num_value(2) :=
107706 xla_ae_sources_pkg.GetSystemSourceNum(
107707 p_source_code => 'XLA_EVENT_APPL_ID'
107708 , p_source_type_code => 'Y'
107709 , p_source_application_id => 602
107710 );
107711 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
107712 l_rec_acct_attrs.array_char_value(3) := p_source_55;
107713 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
107714 l_rec_acct_attrs.array_char_value(4) :=
107715 xla_ae_sources_pkg.GetSystemSourceChar(
107716 p_source_code => 'XLA_ENTITY_CODE'
107717 , p_source_type_code => 'Y'
107718 , p_source_application_id => 602
107719 );
107720 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
107721 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
107722 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
107723 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
107724 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
107725 l_rec_acct_attrs.array_num_value(7) := p_source_91;
107726 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
107727 l_rec_acct_attrs.array_char_value(8) := p_source_92;
107728 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
107729 l_rec_acct_attrs.array_char_value(9) := p_source_93;
107733 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
107730 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
107731 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
107732 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
107734 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
107735 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
107736 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
107737 l_rec_acct_attrs.array_char_value(13) := p_source_55;
107738 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
107739 l_rec_acct_attrs.array_num_value(14) := p_source_65;
107740 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
107741 l_rec_acct_attrs.array_num_value(15) := p_source_66;
107742 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
107743 l_rec_acct_attrs.array_char_value(16) := p_source_67;
107744 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
107745 l_rec_acct_attrs.array_num_value(17) := p_source_68;
107746 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
107747 l_rec_acct_attrs.array_num_value(18) := p_source_69;
107748 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
107749 l_rec_acct_attrs.array_num_value(19) := p_source_70;
107750 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
107751 l_rec_acct_attrs.array_char_value(20) := p_source_67;
107752 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
107753 l_rec_acct_attrs.array_num_value(21) := p_source_71;
107754 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
107755 l_rec_acct_attrs.array_char_value(22) := p_source_72;
107756 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
107757 l_rec_acct_attrs.array_num_value(23) := p_source_73;
107758 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
107759 l_rec_acct_attrs.array_char_value(24) := p_source_67;
107760 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
107761 l_rec_acct_attrs.array_date_value(25) := p_source_74;
107762 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
107763 l_rec_acct_attrs.array_num_value(26) := p_source_75;
107764 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
107765 l_rec_acct_attrs.array_char_value(27) := p_source_76;
107766 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
107767 l_rec_acct_attrs.array_num_value(28) := p_source_21;
107768 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
107769 l_rec_acct_attrs.array_date_value(29) := p_source_77;
107770 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
107771 l_rec_acct_attrs.array_char_value(30) := p_source_78;
107772 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
107773 l_rec_acct_attrs.array_date_value(31) := p_source_79;
107774 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
107775 l_rec_acct_attrs.array_char_value(32) := p_source_80;
107776 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
107777 l_rec_acct_attrs.array_num_value(33) := p_source_81;
107778 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
107779 l_rec_acct_attrs.array_num_value(34) := p_source_82;
107780 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
107781 l_rec_acct_attrs.array_char_value(35) := p_source_83;
107782 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
107783 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
107784 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
107785 l_rec_acct_attrs.array_char_value(37) := p_source_55;
107786 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
107787 l_rec_acct_attrs.array_num_value(38) := p_source_85;
107788 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
107789 l_rec_acct_attrs.array_num_value(39) := p_source_86;
107790 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
107791 l_rec_acct_attrs.array_num_value(40) := p_source_87;
107792 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
107793 l_rec_acct_attrs.array_num_value(41) := p_source_88;
107794 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
107795 l_rec_acct_attrs.array_num_value(42) := p_source_89;
107796 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
107797 l_rec_acct_attrs.array_num_value(43) := p_source_90;
107798
107799 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
107800 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
107801
107802 ---------------------------------------------------------------------------------------------------------------
107803 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
107804 ---------------------------------------------------------------------------------------------------------------
107805 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
107806
107807 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
107808 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
107809
107810 IF xla_accounting_cache_pkg.GetValueChar
107811 (p_source_code => 'LEDGER_CATEGORY_CODE'
107812 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
107816 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
107813 AND l_bflow_method_code = 'PRIOR_ENTRY'
107814 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
107815 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
107817 )
107818 THEN
107819 xla_ae_lines_pkg.BflowUpgEntry
107820 (p_business_method_code => l_bflow_method_code
107821 ,p_business_class_code => l_bflow_class_code
107822 ,p_balance_type => l_balance_type_code);
107823 ELSE
107824 NULL;
107825 -- No business flow processing for business flow method of NONE.
107826 END IF;
107827
107828 --
107829 -- call analytical criteria
107830 --
107831
107832 --
107833 -- call description
107834 --
107835
107836 xla_ae_lines_pkg.SetLineDescription(
107837 p_ae_header_id => l_ae_header_id
107838 ,p_description => Description_1 (
107839 p_application_id => p_application_id
107840 , p_ae_header_id => l_ae_header_id
107841 , p_source_1 => p_source_1
107842 )
107843 );
107844
107845
107846 --
107847 -- call ADRs
107848 -- Bug 4922099
107849 --
107850 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
107851 (NVL(l_actual_upg_option, 'N') = 'O') OR
107852 (NVL(l_enc_upg_option, 'N') = 'O')
107853 )
107854 THEN
107855 NULL;
107856 --
107857 --
107858
107859 l_ccid := AcctDerRule_33(
107860 p_application_id => p_application_id
107861 , p_ae_header_id => l_ae_header_id
107862 , p_source_30 => p_source_30
107863 , x_transaction_coa_id => l_adr_transaction_coa_id
107864 , x_accounting_coa_id => l_adr_accounting_coa_id
107865 , x_value_type_code => l_adr_value_type_code
107866 , p_side => 'NA'
107867 );
107868
107869 xla_ae_lines_pkg.set_ccid(
107870 p_code_combination_id => l_ccid
107871 , p_value_type_code => l_adr_value_type_code
107872 , p_transaction_coa_id => l_adr_transaction_coa_id
107873 , p_accounting_coa_id => l_adr_accounting_coa_id
107874 , p_adr_code => 'AP_INVOICE_DIST'
107875 , p_adr_type_code => 'S'
107876 , p_component_type => l_component_type
107877 , p_component_code => l_component_code
107878 , p_component_type_code => l_component_type_code
107879 , p_component_appl_id => l_component_appl_id
107880 , p_amb_context_code => l_amb_context_code
107881 , p_side => 'NA'
107882 );
107883
107884
107885 --
107886 --
107887 END IF;
107888 --
107889 -- Bug 4922099
107890 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
107891 (NVL(l_enc_upg_option, 'N') = 'O')
107892 ) AND
107893 (l_bflow_method_code = 'PRIOR_ENTRY')
107894 )
107895 THEN
107896 IF
107897 --
107898 1 = 2
107899 --
107900 THEN
107901 xla_accounting_err_pkg.build_message
107902 (p_appli_s_name => 'XLA'
107903 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
107904 ,p_token_1 => 'LINE_NUMBER'
107905 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
107906 ,p_token_2 => 'LINE_TYPE_NAME'
107907 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
107908 l_component_type
107909 ,l_component_code
107910 ,l_component_type_code
107911 ,l_component_appl_id
107912 ,l_amb_context_code
107913 ,l_entity_code
107914 ,l_event_class_code
107915 )
107916 ,p_token_3 => 'OWNER'
107917 ,p_value_3 => xla_lookups_pkg.get_meaning(
107918 p_lookup_type => 'XLA_OWNER_TYPE'
107919 ,p_lookup_code => l_component_type_code
107920 )
107921 ,p_token_4 => 'PRODUCT_NAME'
107922 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
107923 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
107924 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
107925 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
107926 ,p_ae_header_id => NULL
107927 );
107931 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
107928
107929 IF (C_LEVEL_ERROR>= g_log_level) THEN
107930 trace
107932 ,p_level => C_LEVEL_ERROR
107933 ,p_module => l_log_module);
107934 END IF;
107935 END IF;
107936 END IF;
107937 --
107938 --
107939 ------------------------------------------------------------------------------------------------
107940 -- 4219869 Business Flow
107941 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
107942 -- Prior Entry. Currently, the following code is always generated.
107943 ------------------------------------------------------------------------------------------------
107944 XLA_AE_LINES_PKG.ValidateCurrentLine;
107945
107946 ------------------------------------------------------------------------------------
107947 -- 4219869 Business Flow
107948 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
107949 ------------------------------------------------------------------------------------
107950 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
107951
107952 ----------------------------------------------------------------------------------
107953 -- 4219869 Business Flow
107954 -- Update journal entry status -- Need to generate this within IF <condition>
107955 ----------------------------------------------------------------------------------
107956 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
107957 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
107958 ,p_balance_type_code => l_balance_type_code
107959 );
107960
107961 -------------------------------------------------------------------------------------------
107962 -- 4262811 - Generate the Accrual Reversal lines
107963 -------------------------------------------------------------------------------------------
107964 BEGIN
107965 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
107966 (g_array_event(p_event_id).array_value_num('header_index'));
107967 IF l_acc_rev_flag IS NULL THEN
107968 l_acc_rev_flag := 'N';
107969 END IF;
107970 EXCEPTION
107971 WHEN OTHERS THEN
107972 l_acc_rev_flag := 'N';
107973 END;
107974 --
107975 IF (l_acc_rev_flag = 'Y') THEN
107976
107977 -- 4645092 ------------------------------------------------------------------------------
107978 -- To allow MPA report to determine if it should generate report process
107979 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
107980 ------------------------------------------------------------------------------------------
107981
107982 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
107983 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
107984 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
107985 -- call ADRs
107986 -- Bug 4922099
107987 --
107988 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
107989 (NVL(l_actual_upg_option, 'N') = 'O') OR
107990 (NVL(l_enc_upg_option, 'N') = 'O')
107991 )
107992 THEN
107993 NULL;
107994 --
107995 --
107996
107997 l_ccid := AcctDerRule_33(
107998 p_application_id => p_application_id
107999 , p_ae_header_id => l_ae_header_id
108000 , p_source_30 => p_source_30
108001 , x_transaction_coa_id => l_adr_transaction_coa_id
108002 , x_accounting_coa_id => l_adr_accounting_coa_id
108003 , x_value_type_code => l_adr_value_type_code
108004 , p_side => 'NA'
108005 );
108006
108007 xla_ae_lines_pkg.set_ccid(
108008 p_code_combination_id => l_ccid
108009 , p_value_type_code => l_adr_value_type_code
108010 , p_transaction_coa_id => l_adr_transaction_coa_id
108011 , p_accounting_coa_id => l_adr_accounting_coa_id
108012 , p_adr_code => 'AP_INVOICE_DIST'
108013 , p_adr_type_code => 'S'
108014 , p_component_type => l_component_type
108015 , p_component_code => l_component_code
108016 , p_component_type_code => l_component_type_code
108017 , p_component_appl_id => l_component_appl_id
108018 , p_amb_context_code => l_amb_context_code
108019 , p_side => 'NA'
108020 );
108021
108022
108023 --
108024 --
108025 END IF;
108026
108027 --
108028 -- Update the line information that should be overwritten
108029 --
108030 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
108031 p_header_num => 1);
108032 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
108033
108034 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
108035
108036 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
108037 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
108038 END IF;
108039
108040 --
108041 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
108042 --
108043 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
108047 -- 4262811a Switch Sign
108044 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
108045 ELSE
108046 ---------------------------------------------------------------------------------------------------
108048 ---------------------------------------------------------------------------------------------------
108049 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
108050 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
108051 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
108052 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
108053 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
108054 -- 5132302
108055 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
108056 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
108057
108058 END IF;
108059
108060 -- 4955764
108061 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
108062 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
108063
108064
108065 XLA_AE_LINES_PKG.ValidateCurrentLine;
108066 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
108067
108068 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
108069 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
108070 ,p_balance_type_code => l_balance_type_code);
108071
108072 END IF;
108073
108074 -----------------------------------------------------------------------------------------
108075 -- 4262811 Multiperiod Accounting
108076 -----------------------------------------------------------------------------------------
108077 -- No MPA option is assigned.
108078
108079
108080 END IF;
108081 END IF;
108082 --
108083
108084 --
108085 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
108086 trace
108087 (p_msg => 'END of AcctLineType_182'
108088 ,p_level => C_LEVEL_PROCEDURE
108089 ,p_module => l_log_module);
108090 END IF;
108091 --
108092 EXCEPTION
108093 WHEN xla_exceptions_pkg.application_exception THEN
108094 RAISE;
108095 WHEN OTHERS THEN
108096 xla_exceptions_pkg.raise_message
108097 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_182');
108098 END AcctLineType_182;
108099 --
108100
108101 ---------------------------------------
108102 --
108103 -- PRIVATE FUNCTION
108104 -- AcctLineType_183
108105 --
108106 ---------------------------------------
108107 PROCEDURE AcctLineType_183 (
108108 p_application_id IN NUMBER
108109 ,p_event_id IN NUMBER
108110 ,p_calculate_acctd_flag IN VARCHAR2
108111 ,p_calculate_g_l_flag IN VARCHAR2
108112 ,p_actual_flag IN OUT VARCHAR2
108113 ,p_balance_type_code OUT VARCHAR2
108114 ,p_gain_or_loss_ref OUT VARCHAR2
108115
108116 --Payment Currency Code
108117 , p_source_13 IN VARCHAR2
108118 --Payment Card Accrued Account
108119 , p_source_48 IN NUMBER
108120 --Accounting Reversal Indicator
108121 , p_source_53 IN VARCHAR2
108122 --Distribution Link Type
108123 , p_source_55 IN VARCHAR2
108124 --Override Accounted Amount Indicator
108125 , p_source_80 IN VARCHAR2
108126 , p_source_80_meaning IN VARCHAR2
108127 --Third Party Type
108128 , p_source_83 IN VARCHAR2
108129 --Invoice Distribution Tax Line Identifier
108130 , p_source_86 IN NUMBER
108131 --Invoice Distribution Tax Distribution Identifier from Tax
108132 , p_source_87 IN NUMBER
108133 --Invoice Distribution Summary Tax Line Identifier
108134 , p_source_88 IN NUMBER
108135 --Business Flow Accounts Payable Application Identifier
108136 , p_source_91 IN NUMBER
108137 --Business Flow Invoice Distribution Type
108138 , p_source_92 IN VARCHAR2
108139 --Business Flow Invoice Entity Code
108140 , p_source_93 IN VARCHAR2
108141 --Business Flow Invoice Distribution Identifier
108142 , p_source_94 IN NUMBER
108143 --Business Flow Invoice Identifier
108144 , p_source_95 IN NUMBER
108145 --Payment Distribution Amount
108146 , p_source_99 IN NUMBER
108147 --Payment Distribution Identifier
108148 , p_source_104 IN NUMBER
108149 --Payment Supplier Identifier
108150 , p_source_110 IN NUMBER
108151 --Payment Supplier Site Identifier
108152 , p_source_111 IN NUMBER
108153 --Payment Distribution Reversed Identifier
108154 , p_source_112 IN NUMBER
108155 --Payment Distribution (Payment Rate) Ledger Amount
108156 , p_source_115 IN NUMBER
108157 --Payment Exchange Date
108158 , p_source_117 IN DATE
108159 --Payment Exchange Rate
108160 , p_source_118 IN NUMBER
108161 --Payment Exchange Rate Type
108162 , p_source_119 IN VARCHAR2
108163 --Payment Processing Type
108164 , p_source_123 IN VARCHAR2
108165 --Invoice Distribution Amount of the Payment Distribution
108166 , p_source_124 IN NUMBER
108167 )
108168 IS
108169
108173 l_component_appl_id INTEGER;
108170 l_component_type VARCHAR2(80);
108171 l_component_code VARCHAR2(30);
108172 l_component_type_code VARCHAR2(1);
108174 l_amb_context_code VARCHAR2(30);
108175 l_entity_code VARCHAR2(30);
108176 l_event_class_code VARCHAR2(30);
108177 l_ae_header_id NUMBER;
108178 l_event_type_code VARCHAR2(30);
108179 l_line_definition_code VARCHAR2(30);
108180 l_line_definition_owner_code VARCHAR2(1);
108181 --
108182 -- adr variables
108183 l_segment VARCHAR2(30);
108184 l_ccid NUMBER;
108185 l_adr_transaction_coa_id NUMBER;
108186 l_adr_accounting_coa_id NUMBER;
108187 l_adr_flexfield_segment_code VARCHAR2(30);
108188 l_adr_flex_value_set_id NUMBER;
108189 l_adr_value_type_code VARCHAR2(30);
108190 l_adr_value_combination_id NUMBER;
108191 l_adr_value_segment_code VARCHAR2(30);
108192
108193 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
108194 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
108195 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
108196 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
108197
108198 -- 4262811 Variables ------------------------------------------------------------------------------------------
108199 l_entered_amt_idx NUMBER;
108200 l_accted_amt_idx NUMBER;
108201 l_acc_rev_flag VARCHAR2(1);
108202 l_accrual_line_num NUMBER;
108203 l_tmp_amt NUMBER;
108204 l_acc_rev_natural_side_code VARCHAR2(1);
108205
108206 l_num_entries NUMBER;
108207 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
108208 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
108209 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
108210 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
108211 l_recog_line_1 NUMBER;
108212 l_recog_line_2 NUMBER;
108213
108214 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
108215 l_bflow_applied_to_amt NUMBER; -- 5132302
108216 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
108217
108218 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
108219
108220 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
108221 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
108222
108223 ---------------------------------------------------------------------------------------------------------------
108224
108225
108226 --
108227 -- bulk performance
108228 --
108229 l_balance_type_code VARCHAR2(1);
108230 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
108231 l_log_module VARCHAR2(240);
108232
108233 --
108234 -- Upgrade strategy
108235 --
108236 l_actual_upg_option VARCHAR2(1);
108237 l_enc_upg_option VARCHAR2(1);
108238
108239 --
108240 BEGIN
108241 --
108242 IF g_log_enabled THEN
108243 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_183';
108244 END IF;
108245 --
108246 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
108247
108248 trace
108249 (p_msg => 'BEGIN of AcctLineType_183'
108250 ,p_level => C_LEVEL_PROCEDURE
108251 ,p_module => l_log_module);
108252
108253 END IF;
108254 --
108255 l_component_type := 'AMB_JLT';
108256 l_component_code := 'AP_PAYCARD_PMT';
108257 l_component_type_code := 'S';
108258 l_component_appl_id := 200;
108259 l_amb_context_code := 'DEFAULT';
108260 l_entity_code := 'AP_PAYMENTS';
108261 l_event_class_code := 'PAYMENTS';
108262 l_event_type_code := 'PAYMENTS_ALL';
108263 l_line_definition_owner_code := 'S';
108264 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
108265 --
108266 l_balance_type_code := 'A';
108267 l_segment := NULL;
108268 l_ccid := NULL;
108269 l_adr_transaction_coa_id := NULL;
108270 l_adr_accounting_coa_id := NULL;
108271 l_adr_flexfield_segment_code := NULL;
108272 l_adr_flex_value_set_id := NULL;
108273 l_adr_value_type_code := NULL;
108274 l_adr_value_combination_id := NULL;
108275 l_adr_value_segment_code := NULL;
108276
108277 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
108278 l_bflow_class_code := ''; -- 4219869 Business Flow
108279 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
108280 l_budgetary_control_flag := 'N';
108281
108282 l_bflow_applied_to_amt_idx := NULL; -- 5132302
108283 l_bflow_applied_to_amt := NULL; -- 5132302
108284 l_entered_amt_idx := NULL; -- 4262811
108285 l_accted_amt_idx := NULL; -- 4262811
108286 l_acc_rev_flag := NULL; -- 4262811
108287 l_accrual_line_num := NULL; -- 4262811
108288 l_tmp_amt := NULL; -- 4262811
108289 --
108290
108291 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
108292 l_balance_type_code <> 'B' THEN
108293 IF NVL(p_source_123,'
108297 --
108294 ') = 'PAYMENTCARD'
108295 THEN
108296
108298 XLA_AE_LINES_PKG.SetNewLine;
108299
108300 p_balance_type_code := l_balance_type_code;
108301 -- set the flag so later we will know whether the gain loss line needs to be created
108302
108303 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
108304 p_actual_flag :='A';
108305 END IF;
108306
108307 --
108308 -- bulk performance
108309 --
108310 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
108311 p_header_num => 0); -- 4262811
108312 --
108313 -- set accounting line options
108314 --
108315 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
108316 p_natural_side_code => 'C'
108317 , p_gain_or_loss_flag => 'N'
108318 , p_gl_transfer_mode_code => 'S'
108319 , p_acct_entry_type_code => 'A'
108320 , p_switch_side_flag => 'Y'
108321 , p_merge_duplicate_code => 'A'
108322 );
108323 --
108324 l_acc_rev_natural_side_code := 'D'; -- 4262811
108325 --
108326 --
108327 -- set accounting line type info
108328 --
108329 xla_ae_lines_pkg.SetAcctLineType
108330 (p_component_type => l_component_type
108331 ,p_event_type_code => l_event_type_code
108332 ,p_line_definition_owner_code => l_line_definition_owner_code
108333 ,p_line_definition_code => l_line_definition_code
108334 ,p_accounting_line_code => l_component_code
108335 ,p_accounting_line_type_code => l_component_type_code
108336 ,p_accounting_line_appl_id => l_component_appl_id
108337 ,p_amb_context_code => l_amb_context_code
108338 ,p_entity_code => l_entity_code
108339 ,p_event_class_code => l_event_class_code);
108340 --
108341 -- set accounting class
108342 --
108343 xla_ae_lines_pkg.SetAcctClass(
108344 p_accounting_class_code => 'PAYMENTCARD'
108345 , p_ae_header_id => l_ae_header_id
108346 );
108347
108348 --
108349 -- set rounding class
108350 --
108351 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
108352 'PAYMENTCARD';
108353
108354 --
108355 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
108356 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
108357 --
108358 -- bulk performance
108359 --
108360 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
108361
108362 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
108363 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
108364
108365 -- 4955764
108366 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
108367 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
108368
108369 -- 4458381 Public Sector Enh
108370
108371 --
108372 -- set accounting attributes for the line type
108373 --
108374 l_entered_amt_idx := 10;
108375 l_accted_amt_idx := 15;
108376 l_bflow_applied_to_amt_idx := 2; -- 5132302
108377 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
108378 l_rec_acct_attrs.array_char_value(1) := p_source_53;
108379 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
108380 l_rec_acct_attrs.array_num_value(2) := p_source_124;
108381 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
108382 l_rec_acct_attrs.array_num_value(3) := p_source_91;
108383 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
108384 l_rec_acct_attrs.array_char_value(4) := p_source_92;
108385 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
108386 l_rec_acct_attrs.array_char_value(5) := p_source_93;
108387 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
108388 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
108389 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
108390 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
108391 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
108392 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
108393 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
108394 l_rec_acct_attrs.array_char_value(9) := p_source_55;
108395 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
108396 l_rec_acct_attrs.array_num_value(10) := p_source_99;
108397 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
108398 l_rec_acct_attrs.array_char_value(11) := p_source_13;
108399 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
108400 l_rec_acct_attrs.array_date_value(12) := p_source_117;
108401 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
108402 l_rec_acct_attrs.array_num_value(13) := p_source_118;
108403 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
108404 l_rec_acct_attrs.array_char_value(14) := p_source_119;
108405 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
108406 l_rec_acct_attrs.array_num_value(15) := p_source_115;
108410 l_rec_acct_attrs.array_num_value(17) := p_source_110;
108407 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
108408 l_rec_acct_attrs.array_char_value(16) := p_source_80;
108409 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
108411 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
108412 l_rec_acct_attrs.array_num_value(18) := p_source_111;
108413 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
108414 l_rec_acct_attrs.array_char_value(19) := p_source_83;
108415 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
108416 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
108417 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
108418 l_rec_acct_attrs.array_char_value(21) := p_source_55;
108419 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
108420 l_rec_acct_attrs.array_num_value(22) := p_source_86;
108421 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
108422 l_rec_acct_attrs.array_num_value(23) := p_source_87;
108423 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
108424 l_rec_acct_attrs.array_num_value(24) := p_source_88;
108425
108426 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
108427 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
108428
108429 ---------------------------------------------------------------------------------------------------------------
108430 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
108431 ---------------------------------------------------------------------------------------------------------------
108432 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
108433
108434 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
108435 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
108436
108437 IF xla_accounting_cache_pkg.GetValueChar
108438 (p_source_code => 'LEDGER_CATEGORY_CODE'
108439 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
108440 AND l_bflow_method_code = 'PRIOR_ENTRY'
108441 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
108442 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
108443 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
108444 )
108445 THEN
108446 xla_ae_lines_pkg.BflowUpgEntry
108447 (p_business_method_code => l_bflow_method_code
108448 ,p_business_class_code => l_bflow_class_code
108449 ,p_balance_type => l_balance_type_code);
108450 ELSE
108451 NULL;
108452 -- No business flow processing for business flow method of NONE.
108453 END IF;
108454
108455 --
108456 -- call analytical criteria
108457 --
108458
108459 --
108460 -- call description
108461 --
108462 -- No description or it is inherited.
108463 --
108464 -- call ADRs
108465 -- Bug 4922099
108466 --
108467 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
108468 (NVL(l_actual_upg_option, 'N') = 'O') OR
108469 (NVL(l_enc_upg_option, 'N') = 'O')
108470 )
108471 THEN
108472 NULL;
108473 --
108474 --
108475
108476 l_ccid := AcctDerRule_35(
108477 p_application_id => p_application_id
108478 , p_ae_header_id => l_ae_header_id
108479 , p_source_48 => p_source_48
108480 , x_transaction_coa_id => l_adr_transaction_coa_id
108481 , x_accounting_coa_id => l_adr_accounting_coa_id
108482 , x_value_type_code => l_adr_value_type_code
108483 , p_side => 'NA'
108484 );
108485
108486 xla_ae_lines_pkg.set_ccid(
108487 p_code_combination_id => l_ccid
108488 , p_value_type_code => l_adr_value_type_code
108489 , p_transaction_coa_id => l_adr_transaction_coa_id
108490 , p_accounting_coa_id => l_adr_accounting_coa_id
108491 , p_adr_code => 'AP_PAYCARD_ACCRUED_ADR'
108492 , p_adr_type_code => 'S'
108493 , p_component_type => l_component_type
108494 , p_component_code => l_component_code
108495 , p_component_type_code => l_component_type_code
108496 , p_component_appl_id => l_component_appl_id
108497 , p_amb_context_code => l_amb_context_code
108498 , p_side => 'NA'
108499 );
108500
108501
108502 --
108503 --
108504 END IF;
108505 --
108506 -- Bug 4922099
108507 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
108508 (NVL(l_enc_upg_option, 'N') = 'O')
108509 ) AND
108510 (l_bflow_method_code = 'PRIOR_ENTRY')
108511 )
108512 THEN
108513 IF
108514 --
108515 1 = 2
108516 --
108517 THEN
108518 xla_accounting_err_pkg.build_message
108519 (p_appli_s_name => 'XLA'
108520 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
108521 ,p_token_1 => 'LINE_NUMBER'
108522 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
108523 ,p_token_2 => 'LINE_TYPE_NAME'
108527 ,l_component_type_code
108524 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
108525 l_component_type
108526 ,l_component_code
108528 ,l_component_appl_id
108529 ,l_amb_context_code
108530 ,l_entity_code
108531 ,l_event_class_code
108532 )
108533 ,p_token_3 => 'OWNER'
108534 ,p_value_3 => xla_lookups_pkg.get_meaning(
108535 p_lookup_type => 'XLA_OWNER_TYPE'
108536 ,p_lookup_code => l_component_type_code
108537 )
108538 ,p_token_4 => 'PRODUCT_NAME'
108539 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
108540 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
108541 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
108542 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
108543 ,p_ae_header_id => NULL
108544 );
108545
108546 IF (C_LEVEL_ERROR>= g_log_level) THEN
108547 trace
108548 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
108549 ,p_level => C_LEVEL_ERROR
108550 ,p_module => l_log_module);
108551 END IF;
108552 END IF;
108553 END IF;
108554 --
108555 --
108556 ------------------------------------------------------------------------------------------------
108557 -- 4219869 Business Flow
108558 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
108559 -- Prior Entry. Currently, the following code is always generated.
108560 ------------------------------------------------------------------------------------------------
108561 XLA_AE_LINES_PKG.ValidateCurrentLine;
108562
108563 ------------------------------------------------------------------------------------
108564 -- 4219869 Business Flow
108565 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
108566 ------------------------------------------------------------------------------------
108567 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
108568
108569 ----------------------------------------------------------------------------------
108570 -- 4219869 Business Flow
108571 -- Update journal entry status -- Need to generate this within IF <condition>
108572 ----------------------------------------------------------------------------------
108573 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
108574 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
108575 ,p_balance_type_code => l_balance_type_code
108576 );
108577
108578 -------------------------------------------------------------------------------------------
108579 -- 4262811 - Generate the Accrual Reversal lines
108580 -------------------------------------------------------------------------------------------
108581 BEGIN
108582 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
108583 (g_array_event(p_event_id).array_value_num('header_index'));
108584 IF l_acc_rev_flag IS NULL THEN
108585 l_acc_rev_flag := 'N';
108586 END IF;
108587 EXCEPTION
108588 WHEN OTHERS THEN
108589 l_acc_rev_flag := 'N';
108590 END;
108591 --
108592 IF (l_acc_rev_flag = 'Y') THEN
108593
108594 -- 4645092 ------------------------------------------------------------------------------
108595 -- To allow MPA report to determine if it should generate report process
108596 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
108597 ------------------------------------------------------------------------------------------
108598
108599 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
108600 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
108601 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
108602 -- call ADRs
108603 -- Bug 4922099
108604 --
108605 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
108606 (NVL(l_actual_upg_option, 'N') = 'O') OR
108607 (NVL(l_enc_upg_option, 'N') = 'O')
108608 )
108609 THEN
108610 NULL;
108611 --
108612 --
108613
108614 l_ccid := AcctDerRule_35(
108615 p_application_id => p_application_id
108616 , p_ae_header_id => l_ae_header_id
108617 , p_source_48 => p_source_48
108618 , x_transaction_coa_id => l_adr_transaction_coa_id
108619 , x_accounting_coa_id => l_adr_accounting_coa_id
108623
108620 , x_value_type_code => l_adr_value_type_code
108621 , p_side => 'NA'
108622 );
108624 xla_ae_lines_pkg.set_ccid(
108625 p_code_combination_id => l_ccid
108626 , p_value_type_code => l_adr_value_type_code
108627 , p_transaction_coa_id => l_adr_transaction_coa_id
108628 , p_accounting_coa_id => l_adr_accounting_coa_id
108629 , p_adr_code => 'AP_PAYCARD_ACCRUED_ADR'
108630 , p_adr_type_code => 'S'
108631 , p_component_type => l_component_type
108632 , p_component_code => l_component_code
108633 , p_component_type_code => l_component_type_code
108634 , p_component_appl_id => l_component_appl_id
108635 , p_amb_context_code => l_amb_context_code
108636 , p_side => 'NA'
108637 );
108638
108639
108640 --
108641 --
108642 END IF;
108643
108644 --
108645 -- Update the line information that should be overwritten
108646 --
108647 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
108648 p_header_num => 1);
108649 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
108650
108651 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
108652
108653 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
108654 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
108655 END IF;
108656
108657 --
108658 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
108659 --
108660 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
108661 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
108662 ELSE
108663 ---------------------------------------------------------------------------------------------------
108664 -- 4262811a Switch Sign
108665 ---------------------------------------------------------------------------------------------------
108666 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
108667 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
108668 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
108669 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
108670 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
108671 -- 5132302
108672 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
108673 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
108674
108675 END IF;
108676
108677 -- 4955764
108678 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
108679 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
108680
108681
108682 XLA_AE_LINES_PKG.ValidateCurrentLine;
108683 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
108684
108685 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
108686 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
108687 ,p_balance_type_code => l_balance_type_code);
108688
108689 END IF;
108690
108691 -----------------------------------------------------------------------------------------
108692 -- 4262811 Multiperiod Accounting
108693 -----------------------------------------------------------------------------------------
108694 -- No MPA option is assigned.
108695
108696
108697 END IF;
108698 END IF;
108699 --
108700
108701 --
108702 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
108703 trace
108704 (p_msg => 'END of AcctLineType_183'
108705 ,p_level => C_LEVEL_PROCEDURE
108706 ,p_module => l_log_module);
108707 END IF;
108708 --
108709 EXCEPTION
108710 WHEN xla_exceptions_pkg.application_exception THEN
108711 RAISE;
108712 WHEN OTHERS THEN
108713 xla_exceptions_pkg.raise_message
108714 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_183');
108715 END AcctLineType_183;
108716 --
108717
108718 ---------------------------------------
108719 --
108720 -- PRIVATE FUNCTION
108721 -- AcctLineType_184
108722 --
108723 ---------------------------------------
108724 PROCEDURE AcctLineType_184 (
108725 p_application_id IN NUMBER
108726 ,p_event_id IN NUMBER
108727 ,p_calculate_acctd_flag IN VARCHAR2
108728 ,p_calculate_g_l_flag IN VARCHAR2
108729 ,p_actual_flag IN OUT VARCHAR2
108730 ,p_balance_type_code OUT VARCHAR2
108731 ,p_gain_or_loss_ref OUT VARCHAR2
108732
108733 --Payment Currency Code
108734 , p_source_13 IN VARCHAR2
108735 --Automatic Offsets Value
108736 , p_source_15 IN VARCHAR2
108737 , p_source_15_meaning IN VARCHAR2
108738 --Invoice Distribution Account
108739 , p_source_30 IN NUMBER
108740 --Payables Options Rounding Account
108741 , p_source_49 IN NUMBER
108745 , p_source_55 IN VARCHAR2
108742 --Accounting Reversal Indicator
108743 , p_source_53 IN VARCHAR2
108744 --Distribution Link Type
108746 --Override Accounted Amount Indicator
108747 , p_source_80 IN VARCHAR2
108748 , p_source_80_meaning IN VARCHAR2
108749 --Third Party Type
108750 , p_source_83 IN VARCHAR2
108751 --Invoice Distribution Tax Line Identifier
108752 , p_source_86 IN NUMBER
108753 --Invoice Distribution Summary Tax Line Identifier
108754 , p_source_88 IN NUMBER
108755 --Business Flow Accounts Payable Application Identifier
108756 , p_source_91 IN NUMBER
108757 --When to Account for Payment Option
108758 , p_source_97 IN VARCHAR2
108759 --Payment Distribution Type
108760 , p_source_98 IN VARCHAR2
108761 , p_source_98_meaning IN VARCHAR2
108762 --Payment Distribution Amount
108763 , p_source_99 IN NUMBER
108764 --Business Flow Payment Distribution Type
108765 , p_source_100 IN VARCHAR2
108766 --Business Flow Payment Entity Code
108767 , p_source_101 IN VARCHAR2
108768 --Business Flow Payment Distribution Identifier
108769 , p_source_102 IN NUMBER
108770 --Business Flow Payment Identifier
108771 , p_source_103 IN NUMBER
108772 --Payment Distribution Identifier
108773 , p_source_104 IN NUMBER
108774 --Payment Supplier Identifier
108775 , p_source_110 IN NUMBER
108776 --Payment Supplier Site Identifier
108777 , p_source_111 IN NUMBER
108778 --Payment Distribution Reversed Identifier
108779 , p_source_112 IN NUMBER
108780 --Payment Maturity Date
108781 , p_source_114 IN DATE
108782 --Payment Distribution (Payment Rate) Ledger Amount
108783 , p_source_115 IN NUMBER
108784 --Payment Exchange Date
108785 , p_source_117 IN DATE
108786 --Payment Exchange Rate
108787 , p_source_118 IN NUMBER
108788 --Payment Exchange Rate Type
108789 , p_source_119 IN VARCHAR2
108790 )
108791 IS
108792
108793 l_component_type VARCHAR2(80);
108794 l_component_code VARCHAR2(30);
108795 l_component_type_code VARCHAR2(1);
108796 l_component_appl_id INTEGER;
108797 l_amb_context_code VARCHAR2(30);
108798 l_entity_code VARCHAR2(30);
108799 l_event_class_code VARCHAR2(30);
108800 l_ae_header_id NUMBER;
108801 l_event_type_code VARCHAR2(30);
108802 l_line_definition_code VARCHAR2(30);
108803 l_line_definition_owner_code VARCHAR2(1);
108804 --
108805 -- adr variables
108806 l_segment VARCHAR2(30);
108807 l_ccid NUMBER;
108808 l_adr_transaction_coa_id NUMBER;
108809 l_adr_accounting_coa_id NUMBER;
108810 l_adr_flexfield_segment_code VARCHAR2(30);
108811 l_adr_flex_value_set_id NUMBER;
108812 l_adr_value_type_code VARCHAR2(30);
108813 l_adr_value_combination_id NUMBER;
108814 l_adr_value_segment_code VARCHAR2(30);
108815
108816 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
108817 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
108818 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
108819 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
108820
108821 -- 4262811 Variables ------------------------------------------------------------------------------------------
108822 l_entered_amt_idx NUMBER;
108823 l_accted_amt_idx NUMBER;
108824 l_acc_rev_flag VARCHAR2(1);
108825 l_accrual_line_num NUMBER;
108826 l_tmp_amt NUMBER;
108827 l_acc_rev_natural_side_code VARCHAR2(1);
108828
108829 l_num_entries NUMBER;
108830 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
108831 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
108832 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
108833 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
108834 l_recog_line_1 NUMBER;
108835 l_recog_line_2 NUMBER;
108836
108837 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
108838 l_bflow_applied_to_amt NUMBER; -- 5132302
108839 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
108840
108841 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
108842
108843 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
108844 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
108845
108846 ---------------------------------------------------------------------------------------------------------------
108847
108848
108849 --
108850 -- bulk performance
108851 --
108852 l_balance_type_code VARCHAR2(1);
108853 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
108854 l_log_module VARCHAR2(240);
108855
108856 --
108857 -- Upgrade strategy
108858 --
108859 l_actual_upg_option VARCHAR2(1);
108860 l_enc_upg_option VARCHAR2(1);
108861
108862 --
108863 BEGIN
108864 --
108865 IF g_log_enabled THEN
108866 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_184';
108867 END IF;
108868 --
108869 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
108870
108871 trace
108875
108872 (p_msg => 'BEGIN of AcctLineType_184'
108873 ,p_level => C_LEVEL_PROCEDURE
108874 ,p_module => l_log_module);
108876 END IF;
108877 --
108878 l_component_type := 'AMB_JLT';
108879 l_component_code := 'AP_PMT_CLR_ROUNDING_CLEAR';
108880 l_component_type_code := 'S';
108881 l_component_appl_id := 200;
108882 l_amb_context_code := 'DEFAULT';
108883 l_entity_code := 'AP_PAYMENTS';
108884 l_event_class_code := 'RECONCILED PAYMENTS';
108885 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
108886 l_line_definition_owner_code := 'S';
108887 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
108888 --
108889 l_balance_type_code := 'A';
108890 l_segment := NULL;
108891 l_ccid := NULL;
108892 l_adr_transaction_coa_id := NULL;
108893 l_adr_accounting_coa_id := NULL;
108894 l_adr_flexfield_segment_code := NULL;
108895 l_adr_flex_value_set_id := NULL;
108896 l_adr_value_type_code := NULL;
108897 l_adr_value_combination_id := NULL;
108898 l_adr_value_segment_code := NULL;
108899
108900 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
108901 l_bflow_class_code := ''; -- 4219869 Business Flow
108902 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
108903 l_budgetary_control_flag := 'N';
108904
108905 l_bflow_applied_to_amt_idx := NULL; -- 5132302
108906 l_bflow_applied_to_amt := NULL; -- 5132302
108907 l_entered_amt_idx := NULL; -- 4262811
108908 l_accted_amt_idx := NULL; -- 4262811
108909 l_acc_rev_flag := NULL; -- 4262811
108910 l_accrual_line_num := NULL; -- 4262811
108911 l_tmp_amt := NULL; -- 4262811
108912 --
108913
108914 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
108915 l_balance_type_code <> 'B' THEN
108916 IF (NVL(p_source_97,'
108917 ') = 'ALWAYS_ALWAYS' OR
108918 NVL(p_source_97,'
108919 ') = 'ALWAYS_CLEAR') AND
108920 NVL(p_source_98,'
108921 ') = 'PAYMENT TO CLEARING ROUNDING' AND
108922 p_source_114 IS NULL
108923 THEN
108924
108925 --
108926 XLA_AE_LINES_PKG.SetNewLine;
108927
108928 p_balance_type_code := l_balance_type_code;
108929 -- set the flag so later we will know whether the gain loss line needs to be created
108930
108931 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
108932 p_actual_flag :='A';
108933 END IF;
108934
108935 --
108936 -- bulk performance
108937 --
108938 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
108939 p_header_num => 0); -- 4262811
108940 --
108941 -- set accounting line options
108942 --
108943 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
108944 p_natural_side_code => 'D'
108945 , p_gain_or_loss_flag => 'N'
108946 , p_gl_transfer_mode_code => 'S'
108947 , p_acct_entry_type_code => 'A'
108948 , p_switch_side_flag => 'Y'
108949 , p_merge_duplicate_code => 'A'
108950 );
108951 --
108952 l_acc_rev_natural_side_code := 'C'; -- 4262811
108953 --
108954 --
108955 -- set accounting line type info
108956 --
108957 xla_ae_lines_pkg.SetAcctLineType
108958 (p_component_type => l_component_type
108959 ,p_event_type_code => l_event_type_code
108960 ,p_line_definition_owner_code => l_line_definition_owner_code
108961 ,p_line_definition_code => l_line_definition_code
108962 ,p_accounting_line_code => l_component_code
108963 ,p_accounting_line_type_code => l_component_type_code
108964 ,p_accounting_line_appl_id => l_component_appl_id
108965 ,p_amb_context_code => l_amb_context_code
108966 ,p_entity_code => l_entity_code
108967 ,p_event_class_code => l_event_class_code);
108968 --
108969 -- set accounting class
108970 --
108971 xla_ae_lines_pkg.SetAcctClass(
108972 p_accounting_class_code => 'ROUNDING'
108973 , p_ae_header_id => l_ae_header_id
108974 );
108975
108976 --
108977 -- set rounding class
108978 --
108979 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
108980 'ROUNDING';
108981
108982 --
108983 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
108984 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
108985 --
108986 -- bulk performance
108987 --
108988 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
108989
108990 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
108991 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
108992
108993 -- 4955764
108994 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
108995 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
108996
108997 -- 4458381 Public Sector Enh
108998
108999 --
109003 l_accted_amt_idx := 15;
109000 -- set accounting attributes for the line type
109001 --
109002 l_entered_amt_idx := 10;
109004 l_bflow_applied_to_amt_idx := 2; -- 5132302
109005 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
109006 l_rec_acct_attrs.array_char_value(1) := p_source_53;
109007 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
109008 l_rec_acct_attrs.array_num_value(2) := p_source_99;
109009 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
109010 l_rec_acct_attrs.array_num_value(3) := p_source_91;
109011 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
109012 l_rec_acct_attrs.array_char_value(4) := p_source_100;
109013 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
109014 l_rec_acct_attrs.array_char_value(5) := p_source_101;
109015 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
109016 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
109017 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
109018 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
109019 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
109020 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
109021 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
109022 l_rec_acct_attrs.array_char_value(9) := p_source_55;
109023 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
109024 l_rec_acct_attrs.array_num_value(10) := p_source_99;
109025 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
109026 l_rec_acct_attrs.array_char_value(11) := p_source_13;
109027 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
109028 l_rec_acct_attrs.array_date_value(12) := p_source_117;
109029 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
109030 l_rec_acct_attrs.array_num_value(13) := p_source_118;
109031 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
109032 l_rec_acct_attrs.array_char_value(14) := p_source_119;
109033 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
109034 l_rec_acct_attrs.array_num_value(15) := p_source_115;
109035 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
109036 l_rec_acct_attrs.array_char_value(16) := p_source_80;
109037 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
109038 l_rec_acct_attrs.array_num_value(17) := p_source_110;
109039 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
109040 l_rec_acct_attrs.array_num_value(18) := p_source_111;
109041 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
109042 l_rec_acct_attrs.array_char_value(19) := p_source_83;
109043 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
109044 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
109045 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
109046 l_rec_acct_attrs.array_char_value(21) := p_source_55;
109047 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
109048 l_rec_acct_attrs.array_num_value(22) := p_source_86;
109049 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
109050 l_rec_acct_attrs.array_num_value(23) := p_source_86;
109051 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
109052 l_rec_acct_attrs.array_num_value(24) := p_source_88;
109053
109054 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
109055 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
109056
109057 ---------------------------------------------------------------------------------------------------------------
109058 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
109059 ---------------------------------------------------------------------------------------------------------------
109060 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
109061
109062 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
109063 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
109064
109065 IF xla_accounting_cache_pkg.GetValueChar
109066 (p_source_code => 'LEDGER_CATEGORY_CODE'
109067 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
109068 AND l_bflow_method_code = 'PRIOR_ENTRY'
109069 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
109070 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
109071 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
109072 )
109073 THEN
109074 xla_ae_lines_pkg.BflowUpgEntry
109075 (p_business_method_code => l_bflow_method_code
109076 ,p_business_class_code => l_bflow_class_code
109077 ,p_balance_type => l_balance_type_code);
109078 ELSE
109079 NULL;
109080 -- No business flow processing for business flow method of NONE.
109081 END IF;
109082
109083 --
109084 -- call analytical criteria
109085 --
109086
109087 --
109088 -- call description
109089 --
109090 -- No description or it is inherited.
109091 --
109092 -- call ADRs
109093 -- Bug 4922099
109094 --
109095 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
109099 THEN
109096 (NVL(l_actual_upg_option, 'N') = 'O') OR
109097 (NVL(l_enc_upg_option, 'N') = 'O')
109098 )
109100 NULL;
109101 --
109102 --
109103
109104 l_ccid := AcctDerRule_41(
109105 p_application_id => p_application_id
109106 , p_ae_header_id => l_ae_header_id
109107 , p_source_15 => p_source_15
109108 , p_source_15_meaning => p_source_15_meaning
109109 , p_source_30 => p_source_30
109110 , p_source_49 => p_source_49
109111 , x_transaction_coa_id => l_adr_transaction_coa_id
109112 , x_accounting_coa_id => l_adr_accounting_coa_id
109113 , x_value_type_code => l_adr_value_type_code
109114 , p_side => 'NA'
109115 );
109116
109117 xla_ae_lines_pkg.set_ccid(
109118 p_code_combination_id => l_ccid
109119 , p_value_type_code => l_adr_value_type_code
109120 , p_transaction_coa_id => l_adr_transaction_coa_id
109121 , p_accounting_coa_id => l_adr_accounting_coa_id
109122 , p_adr_code => 'AP_ROUNDING'
109123 , p_adr_type_code => 'S'
109124 , p_component_type => l_component_type
109125 , p_component_code => l_component_code
109126 , p_component_type_code => l_component_type_code
109127 , p_component_appl_id => l_component_appl_id
109128 , p_amb_context_code => l_amb_context_code
109129 , p_side => 'NA'
109130 );
109131
109132
109133 --
109134 --
109135 END IF;
109136 --
109137 -- Bug 4922099
109138 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
109139 (NVL(l_enc_upg_option, 'N') = 'O')
109140 ) AND
109141 (l_bflow_method_code = 'PRIOR_ENTRY')
109142 )
109143 THEN
109144 IF
109145 --
109146 1 = 2
109147 --
109148 THEN
109149 xla_accounting_err_pkg.build_message
109150 (p_appli_s_name => 'XLA'
109151 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
109152 ,p_token_1 => 'LINE_NUMBER'
109153 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
109154 ,p_token_2 => 'LINE_TYPE_NAME'
109155 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
109156 l_component_type
109157 ,l_component_code
109158 ,l_component_type_code
109159 ,l_component_appl_id
109160 ,l_amb_context_code
109161 ,l_entity_code
109162 ,l_event_class_code
109163 )
109164 ,p_token_3 => 'OWNER'
109165 ,p_value_3 => xla_lookups_pkg.get_meaning(
109166 p_lookup_type => 'XLA_OWNER_TYPE'
109167 ,p_lookup_code => l_component_type_code
109168 )
109169 ,p_token_4 => 'PRODUCT_NAME'
109170 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
109171 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
109172 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
109173 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
109174 ,p_ae_header_id => NULL
109175 );
109176
109177 IF (C_LEVEL_ERROR>= g_log_level) THEN
109178 trace
109179 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
109180 ,p_level => C_LEVEL_ERROR
109181 ,p_module => l_log_module);
109182 END IF;
109183 END IF;
109184 END IF;
109185 --
109186 --
109187 ------------------------------------------------------------------------------------------------
109188 -- 4219869 Business Flow
109189 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
109190 -- Prior Entry. Currently, the following code is always generated.
109191 ------------------------------------------------------------------------------------------------
109192 XLA_AE_LINES_PKG.ValidateCurrentLine;
109193
109194 ------------------------------------------------------------------------------------
109195 -- 4219869 Business Flow
109196 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
109197 ------------------------------------------------------------------------------------
109198 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
109199
109203 ----------------------------------------------------------------------------------
109200 ----------------------------------------------------------------------------------
109201 -- 4219869 Business Flow
109202 -- Update journal entry status -- Need to generate this within IF <condition>
109204 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
109205 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
109206 ,p_balance_type_code => l_balance_type_code
109207 );
109208
109209 -------------------------------------------------------------------------------------------
109210 -- 4262811 - Generate the Accrual Reversal lines
109211 -------------------------------------------------------------------------------------------
109212 BEGIN
109213 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
109214 (g_array_event(p_event_id).array_value_num('header_index'));
109215 IF l_acc_rev_flag IS NULL THEN
109216 l_acc_rev_flag := 'N';
109217 END IF;
109218 EXCEPTION
109219 WHEN OTHERS THEN
109220 l_acc_rev_flag := 'N';
109221 END;
109222 --
109223 IF (l_acc_rev_flag = 'Y') THEN
109224
109225 -- 4645092 ------------------------------------------------------------------------------
109226 -- To allow MPA report to determine if it should generate report process
109227 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
109228 ------------------------------------------------------------------------------------------
109229
109230 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
109231 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
109232 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
109233 -- call ADRs
109234 -- Bug 4922099
109235 --
109236 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
109237 (NVL(l_actual_upg_option, 'N') = 'O') OR
109238 (NVL(l_enc_upg_option, 'N') = 'O')
109239 )
109240 THEN
109241 NULL;
109242 --
109243 --
109244
109245 l_ccid := AcctDerRule_41(
109246 p_application_id => p_application_id
109247 , p_ae_header_id => l_ae_header_id
109248 , p_source_15 => p_source_15
109249 , p_source_15_meaning => p_source_15_meaning
109250 , p_source_30 => p_source_30
109251 , p_source_49 => p_source_49
109252 , x_transaction_coa_id => l_adr_transaction_coa_id
109253 , x_accounting_coa_id => l_adr_accounting_coa_id
109254 , x_value_type_code => l_adr_value_type_code
109255 , p_side => 'NA'
109256 );
109257
109258 xla_ae_lines_pkg.set_ccid(
109259 p_code_combination_id => l_ccid
109260 , p_value_type_code => l_adr_value_type_code
109261 , p_transaction_coa_id => l_adr_transaction_coa_id
109262 , p_accounting_coa_id => l_adr_accounting_coa_id
109263 , p_adr_code => 'AP_ROUNDING'
109264 , p_adr_type_code => 'S'
109265 , p_component_type => l_component_type
109266 , p_component_code => l_component_code
109267 , p_component_type_code => l_component_type_code
109268 , p_component_appl_id => l_component_appl_id
109269 , p_amb_context_code => l_amb_context_code
109270 , p_side => 'NA'
109271 );
109272
109273
109274 --
109275 --
109276 END IF;
109277
109278 --
109279 -- Update the line information that should be overwritten
109280 --
109281 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
109282 p_header_num => 1);
109283 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
109284
109285 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
109286
109287 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
109288 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
109289 END IF;
109290
109291 --
109292 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
109293 --
109294 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
109295 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
109296 ELSE
109297 ---------------------------------------------------------------------------------------------------
109298 -- 4262811a Switch Sign
109299 ---------------------------------------------------------------------------------------------------
109300 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
109301 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
109302 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
109303 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
109304 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
109305 -- 5132302
109306 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
109310
109307 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
109308
109309 END IF;
109311 -- 4955764
109312 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
109313 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
109314
109315
109316 XLA_AE_LINES_PKG.ValidateCurrentLine;
109317 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
109318
109319 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
109320 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
109321 ,p_balance_type_code => l_balance_type_code);
109322
109323 END IF;
109324
109325 -----------------------------------------------------------------------------------------
109326 -- 4262811 Multiperiod Accounting
109327 -----------------------------------------------------------------------------------------
109328 -- No MPA option is assigned.
109329
109330
109331 END IF;
109332 END IF;
109333 --
109334
109335 --
109336 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
109337 trace
109338 (p_msg => 'END of AcctLineType_184'
109339 ,p_level => C_LEVEL_PROCEDURE
109340 ,p_module => l_log_module);
109341 END IF;
109342 --
109343 EXCEPTION
109344 WHEN xla_exceptions_pkg.application_exception THEN
109345 RAISE;
109346 WHEN OTHERS THEN
109347 xla_exceptions_pkg.raise_message
109348 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_184');
109349 END AcctLineType_184;
109350 --
109351
109352 ---------------------------------------
109353 --
109354 -- PRIVATE FUNCTION
109355 -- AcctLineType_185
109356 --
109357 ---------------------------------------
109358 PROCEDURE AcctLineType_185 (
109359 p_application_id IN NUMBER
109360 ,p_event_id IN NUMBER
109361 ,p_calculate_acctd_flag IN VARCHAR2
109362 ,p_calculate_g_l_flag IN VARCHAR2
109363 ,p_actual_flag IN OUT VARCHAR2
109364 ,p_balance_type_code OUT VARCHAR2
109365 ,p_gain_or_loss_ref OUT VARCHAR2
109366
109367 --Invoice Distribution Description
109368 , p_source_1 IN VARCHAR2
109369 --Invoice Distribution Ledger Amount
109370 , p_source_21 IN NUMBER
109371 --Invoice Distribution Account
109372 , p_source_30 IN NUMBER
109373 --Prepaid Expense Account Source Option
109374 , p_source_31 IN VARCHAR2
109375 , p_source_31_meaning IN VARCHAR2
109376 --Purchase Order Number
109377 , p_source_32 IN VARCHAR2
109378 --Invoice Distribution Type
109379 , p_source_33 IN VARCHAR2
109380 , p_source_33_meaning IN VARCHAR2
109381 --Purchase Order Charge Account
109382 , p_source_45 IN NUMBER
109383 --Accounting Reversal Indicator
109384 , p_source_53 IN VARCHAR2
109385 --Distribution Link Type
109386 , p_source_55 IN VARCHAR2
109387 --Allocation to Main Distribution Identifier
109388 , p_source_57 IN NUMBER
109389 --Invoice Identifier
109390 , p_source_58 IN NUMBER
109391 --Invoice Distribution Identifier
109392 , p_source_64 IN NUMBER
109393 --Payables Encumbrance Upgrade Credit Account
109394 , p_source_65 IN NUMBER
109395 --Payables Encumbrance Upgrade Credit Amount
109396 , p_source_66 IN NUMBER
109397 --Invoice Currency Code
109398 , p_source_67 IN VARCHAR2
109399 --Payables Encumbrance Upgrade Credit Base Amount
109400 , p_source_68 IN NUMBER
109401 --Payables Encumbrance Upgrade Debit Account
109402 , p_source_69 IN NUMBER
109403 --Payables Encumbrance Upgrade Debit Amount
109404 , p_source_70 IN NUMBER
109405 --Payables Encumbrance Upgrade Debit Base Amount
109406 , p_source_71 IN NUMBER
109407 --Payables Encumbrance Upgrade Option
109408 , p_source_72 IN VARCHAR2
109409 --Invoice Distribution Amount
109410 , p_source_73 IN NUMBER
109411 --Deferred Accounting End Date
109412 , p_source_77 IN DATE
109413 --Deferred Accounting Option
109414 , p_source_78 IN VARCHAR2
109415 --Deferred Accounting Start Date
109416 , p_source_79 IN DATE
109417 --Override Accounted Amount Indicator
109418 , p_source_80 IN VARCHAR2
109419 , p_source_80_meaning IN VARCHAR2
109420 --Invoice Supplier Identifier
109421 , p_source_81 IN NUMBER
109422 --Invoice Supplier Site Identifier
109423 , p_source_82 IN NUMBER
109424 --Third Party Type
109425 , p_source_83 IN VARCHAR2
109426 --Parent Reversal Identifier
109427 , p_source_84 IN NUMBER
109428 --Invoice Distribution Statistical Amount
109429 , p_source_85 IN NUMBER
109430 --Invoice Distribution Tax Line Identifier
109431 , p_source_86 IN NUMBER
109432 --Invoice Distribution Tax Distribution Identifier from Tax
109433 , p_source_87 IN NUMBER
109434 --Invoice Distribution Summary Tax Line Identifier
109435 , p_source_88 IN NUMBER
109436 --Payables Upgrade Credit Encumbrance Type Identifier
109437 , p_source_89 IN NUMBER
109438 --Payables Upgrade Debit Encumbrance Type Identifier
109439 , p_source_90 IN NUMBER
109440 --Business Flow Accounts Payable Application Identifier
109441 , p_source_91 IN NUMBER
109442 --Business Flow Invoice Distribution Type
109446 --Business Flow Invoice Distribution Identifier
109443 , p_source_92 IN VARCHAR2
109444 --Business Flow Invoice Entity Code
109445 , p_source_93 IN VARCHAR2
109447 , p_source_94 IN NUMBER
109448 --Business Flow Invoice Identifier
109449 , p_source_95 IN NUMBER
109450 --Accrue on Receipt Option
109451 , p_source_96 IN VARCHAR2
109452 , p_source_96_meaning IN VARCHAR2
109453 --Invoice Exchange Date
109454 , p_source_143 IN DATE
109455 --Invoice Exchange Rate
109456 , p_source_144 IN NUMBER
109457 --Invoice Exchange Rate Type
109458 , p_source_145 IN VARCHAR2
109459 )
109460 IS
109461
109462 l_component_type VARCHAR2(80);
109463 l_component_code VARCHAR2(30);
109464 l_component_type_code VARCHAR2(1);
109465 l_component_appl_id INTEGER;
109466 l_amb_context_code VARCHAR2(30);
109467 l_entity_code VARCHAR2(30);
109468 l_event_class_code VARCHAR2(30);
109469 l_ae_header_id NUMBER;
109470 l_event_type_code VARCHAR2(30);
109471 l_line_definition_code VARCHAR2(30);
109472 l_line_definition_owner_code VARCHAR2(1);
109473 --
109474 -- adr variables
109475 l_segment VARCHAR2(30);
109476 l_ccid NUMBER;
109477 l_adr_transaction_coa_id NUMBER;
109478 l_adr_accounting_coa_id NUMBER;
109479 l_adr_flexfield_segment_code VARCHAR2(30);
109480 l_adr_flex_value_set_id NUMBER;
109481 l_adr_value_type_code VARCHAR2(30);
109482 l_adr_value_combination_id NUMBER;
109483 l_adr_value_segment_code VARCHAR2(30);
109484
109485 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
109486 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
109487 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
109488 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
109489
109490 -- 4262811 Variables ------------------------------------------------------------------------------------------
109491 l_entered_amt_idx NUMBER;
109492 l_accted_amt_idx NUMBER;
109493 l_acc_rev_flag VARCHAR2(1);
109494 l_accrual_line_num NUMBER;
109495 l_tmp_amt NUMBER;
109496 l_acc_rev_natural_side_code VARCHAR2(1);
109497
109498 l_num_entries NUMBER;
109499 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
109500 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
109501 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
109502 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
109503 l_recog_line_1 NUMBER;
109504 l_recog_line_2 NUMBER;
109505
109506 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
109507 l_bflow_applied_to_amt NUMBER; -- 5132302
109508 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
109509
109510 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
109511
109512 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
109513 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
109514
109515 ---------------------------------------------------------------------------------------------------------------
109516
109517
109518 --
109519 -- bulk performance
109520 --
109521 l_balance_type_code VARCHAR2(1);
109522 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
109523 l_log_module VARCHAR2(240);
109524
109525 --
109526 -- Upgrade strategy
109527 --
109528 l_actual_upg_option VARCHAR2(1);
109529 l_enc_upg_option VARCHAR2(1);
109530
109531 --
109532 BEGIN
109533 --
109534 IF g_log_enabled THEN
109535 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_185';
109536 END IF;
109537 --
109538 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
109539
109540 trace
109541 (p_msg => 'BEGIN of AcctLineType_185'
109542 ,p_level => C_LEVEL_PROCEDURE
109543 ,p_module => l_log_module);
109544
109545 END IF;
109546 --
109547 l_component_type := 'AMB_JLT';
109548 l_component_code := 'AP_PREPAID_EXPENSE_PREPAY';
109549 l_component_type_code := 'S';
109550 l_component_appl_id := 200;
109551 l_amb_context_code := 'DEFAULT';
109552 l_entity_code := 'AP_INVOICES';
109553 l_event_class_code := 'PREPAYMENTS';
109554 l_event_type_code := 'PREPAYMENTS_ALL';
109555 l_line_definition_owner_code := 'S';
109556 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
109557 --
109558 l_balance_type_code := 'A';
109559 l_segment := NULL;
109560 l_ccid := NULL;
109561 l_adr_transaction_coa_id := NULL;
109562 l_adr_accounting_coa_id := NULL;
109563 l_adr_flexfield_segment_code := NULL;
109564 l_adr_flex_value_set_id := NULL;
109565 l_adr_value_type_code := NULL;
109566 l_adr_value_combination_id := NULL;
109567 l_adr_value_segment_code := NULL;
109568
109569 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
109570 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
109571 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
109575 l_bflow_applied_to_amt := NULL; -- 5132302
109572 l_budgetary_control_flag := 'N';
109573
109574 l_bflow_applied_to_amt_idx := NULL; -- 5132302
109576 l_entered_amt_idx := NULL; -- 4262811
109577 l_accted_amt_idx := NULL; -- 4262811
109578 l_acc_rev_flag := NULL; -- 4262811
109579 l_accrual_line_num := NULL; -- 4262811
109580 l_tmp_amt := NULL; -- 4262811
109581 --
109582
109583 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
109584 l_balance_type_code <> 'B' THEN
109585 IF NVL(p_source_33,'
109586 ') = 'RETROEXPENSE' OR
109587 NVL(p_source_33,'
109588 ') = 'ITEM' OR
109589 (NVL(p_source_33,'
109590 ') = 'ERV' AND
109591 NVL(p_source_96,'
109592 ') <> 'Y') OR
109593 (NVL(p_source_33,'
109594 ') = 'IPV' AND
109595 NVL(p_source_96,'
109596 ') <> 'Y')
109597 THEN
109598
109599 --
109600 XLA_AE_LINES_PKG.SetNewLine;
109601
109602 p_balance_type_code := l_balance_type_code;
109603 -- set the flag so later we will know whether the gain loss line needs to be created
109604
109605 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
109606 p_actual_flag :='A';
109607 END IF;
109608
109609 --
109610 -- bulk performance
109611 --
109612 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
109613 p_header_num => 0); -- 4262811
109614 --
109615 -- set accounting line options
109616 --
109617 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
109618 p_natural_side_code => 'D'
109619 , p_gain_or_loss_flag => 'N'
109620 , p_gl_transfer_mode_code => 'S'
109621 , p_acct_entry_type_code => 'A'
109622 , p_switch_side_flag => 'Y'
109623 , p_merge_duplicate_code => 'A'
109624 );
109625 --
109626 l_acc_rev_natural_side_code := 'C'; -- 4262811
109627 --
109628 --
109629 -- set accounting line type info
109630 --
109631 xla_ae_lines_pkg.SetAcctLineType
109632 (p_component_type => l_component_type
109633 ,p_event_type_code => l_event_type_code
109634 ,p_line_definition_owner_code => l_line_definition_owner_code
109635 ,p_line_definition_code => l_line_definition_code
109636 ,p_accounting_line_code => l_component_code
109637 ,p_accounting_line_type_code => l_component_type_code
109638 ,p_accounting_line_appl_id => l_component_appl_id
109639 ,p_amb_context_code => l_amb_context_code
109640 ,p_entity_code => l_entity_code
109641 ,p_event_class_code => l_event_class_code);
109642 --
109643 -- set accounting class
109644 --
109645 xla_ae_lines_pkg.SetAcctClass(
109646 p_accounting_class_code => 'PREPAID_EXPENSE'
109647 , p_ae_header_id => l_ae_header_id
109648 );
109649
109650 --
109651 -- set rounding class
109652 --
109653 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
109654 'PREPAID_EXPENSE';
109655
109656 --
109657 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
109658 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
109659 --
109660 -- bulk performance
109661 --
109662 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
109663
109664 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
109665 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
109666
109667 -- 4955764
109668 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
109669 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
109670
109671 -- 4458381 Public Sector Enh
109672
109673 --
109674 -- set accounting attributes for the line type
109675 --
109676 l_entered_amt_idx := 23;
109677 l_accted_amt_idx := 28;
109678 l_bflow_applied_to_amt_idx := NULL; -- 5132302
109679 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
109680 l_rec_acct_attrs.array_char_value(1) := p_source_53;
109681 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
109682 l_rec_acct_attrs.array_num_value(2) :=
109683 xla_ae_sources_pkg.GetSystemSourceNum(
109684 p_source_code => 'XLA_EVENT_APPL_ID'
109685 , p_source_type_code => 'Y'
109686 , p_source_application_id => 602
109687 );
109688 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
109689 l_rec_acct_attrs.array_char_value(3) := p_source_55;
109690 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
109691 l_rec_acct_attrs.array_char_value(4) :=
109692 xla_ae_sources_pkg.GetSystemSourceChar(
109693 p_source_code => 'XLA_ENTITY_CODE'
109694 , p_source_type_code => 'Y'
109695 , p_source_application_id => 602
109696 );
109697 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
109698 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
109702 l_rec_acct_attrs.array_num_value(7) := p_source_91;
109699 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
109700 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
109701 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
109703 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
109704 l_rec_acct_attrs.array_char_value(8) := p_source_92;
109705 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
109706 l_rec_acct_attrs.array_char_value(9) := p_source_93;
109707 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
109708 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
109709 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
109710 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
109711 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
109712 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
109713 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
109714 l_rec_acct_attrs.array_char_value(13) := p_source_55;
109715 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
109716 l_rec_acct_attrs.array_num_value(14) := p_source_65;
109717 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
109718 l_rec_acct_attrs.array_num_value(15) := p_source_66;
109719 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
109720 l_rec_acct_attrs.array_char_value(16) := p_source_67;
109721 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
109722 l_rec_acct_attrs.array_num_value(17) := p_source_68;
109723 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
109724 l_rec_acct_attrs.array_num_value(18) := p_source_69;
109725 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
109726 l_rec_acct_attrs.array_num_value(19) := p_source_70;
109727 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
109728 l_rec_acct_attrs.array_char_value(20) := p_source_67;
109729 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
109730 l_rec_acct_attrs.array_num_value(21) := p_source_71;
109731 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
109732 l_rec_acct_attrs.array_char_value(22) := p_source_72;
109733 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
109734 l_rec_acct_attrs.array_num_value(23) := p_source_73;
109735 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
109736 l_rec_acct_attrs.array_char_value(24) := p_source_67;
109737 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
109738 l_rec_acct_attrs.array_date_value(25) := p_source_143;
109739 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
109740 l_rec_acct_attrs.array_num_value(26) := p_source_144;
109741 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
109742 l_rec_acct_attrs.array_char_value(27) := p_source_145;
109743 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
109744 l_rec_acct_attrs.array_num_value(28) := p_source_21;
109745 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
109746 l_rec_acct_attrs.array_date_value(29) := p_source_77;
109747 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
109748 l_rec_acct_attrs.array_char_value(30) := p_source_78;
109749 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
109750 l_rec_acct_attrs.array_date_value(31) := p_source_79;
109751 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
109752 l_rec_acct_attrs.array_char_value(32) := p_source_80;
109753 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
109754 l_rec_acct_attrs.array_num_value(33) := p_source_81;
109755 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
109756 l_rec_acct_attrs.array_num_value(34) := p_source_82;
109757 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
109758 l_rec_acct_attrs.array_char_value(35) := p_source_83;
109759 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
109760 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
109761 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
109762 l_rec_acct_attrs.array_char_value(37) := p_source_55;
109763 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
109764 l_rec_acct_attrs.array_num_value(38) := p_source_85;
109765 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
109766 l_rec_acct_attrs.array_num_value(39) := p_source_86;
109767 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
109768 l_rec_acct_attrs.array_num_value(40) := p_source_87;
109769 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
109770 l_rec_acct_attrs.array_num_value(41) := p_source_88;
109771 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
109772 l_rec_acct_attrs.array_num_value(42) := p_source_89;
109773 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
109774 l_rec_acct_attrs.array_num_value(43) := p_source_90;
109775
109776 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
109777 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
109778
109779 ---------------------------------------------------------------------------------------------------------------
109780 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
109784 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
109781 ---------------------------------------------------------------------------------------------------------------
109782 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
109783
109785 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
109786
109787 IF xla_accounting_cache_pkg.GetValueChar
109788 (p_source_code => 'LEDGER_CATEGORY_CODE'
109789 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
109790 AND l_bflow_method_code = 'PRIOR_ENTRY'
109791 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
109792 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
109793 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
109794 )
109795 THEN
109796 xla_ae_lines_pkg.BflowUpgEntry
109797 (p_business_method_code => l_bflow_method_code
109798 ,p_business_class_code => l_bflow_class_code
109799 ,p_balance_type => l_balance_type_code);
109800 ELSE
109801 NULL;
109802 -- No business flow processing for business flow method of NONE.
109803 END IF;
109804
109805 --
109806 -- call analytical criteria
109807 --
109808
109809 --
109810 -- call description
109811 --
109812
109813 xla_ae_lines_pkg.SetLineDescription(
109814 p_ae_header_id => l_ae_header_id
109815 ,p_description => Description_1 (
109816 p_application_id => p_application_id
109817 , p_ae_header_id => l_ae_header_id
109818 , p_source_1 => p_source_1
109819 )
109820 );
109821
109822
109823 --
109824 -- call ADRs
109825 -- Bug 4922099
109826 --
109827 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
109828 (NVL(l_actual_upg_option, 'N') = 'O') OR
109829 (NVL(l_enc_upg_option, 'N') = 'O')
109830 )
109831 THEN
109832 NULL;
109833 --
109834 --
109835
109836 l_ccid := AcctDerRule_37(
109837 p_application_id => p_application_id
109838 , p_ae_header_id => l_ae_header_id
109839 , p_source_30 => p_source_30
109840 , p_source_31 => p_source_31
109841 , p_source_31_meaning => p_source_31_meaning
109842 , p_source_32 => p_source_32
109843 , p_source_33 => p_source_33
109844 , p_source_33_meaning => p_source_33_meaning
109845 , p_source_45 => p_source_45
109846 , x_transaction_coa_id => l_adr_transaction_coa_id
109847 , x_accounting_coa_id => l_adr_accounting_coa_id
109848 , x_value_type_code => l_adr_value_type_code
109849 , p_side => 'NA'
109850 );
109851
109852 xla_ae_lines_pkg.set_ccid(
109853 p_code_combination_id => l_ccid
109854 , p_value_type_code => l_adr_value_type_code
109855 , p_transaction_coa_id => l_adr_transaction_coa_id
109856 , p_accounting_coa_id => l_adr_accounting_coa_id
109857 , p_adr_code => 'AP_PREPAY_INVOICE_DIST'
109858 , p_adr_type_code => 'S'
109859 , p_component_type => l_component_type
109860 , p_component_code => l_component_code
109861 , p_component_type_code => l_component_type_code
109862 , p_component_appl_id => l_component_appl_id
109863 , p_amb_context_code => l_amb_context_code
109864 , p_side => 'NA'
109865 );
109866
109867
109868 l_segment := AcctDerRule_13(
109869 p_application_id => p_application_id
109870 , p_ae_header_id => l_ae_header_id
109871 , p_source_30 => p_source_30
109872 , p_source_31 => p_source_31
109873 , p_source_31_meaning => p_source_31_meaning
109874 , p_source_32 => p_source_32
109875 , p_source_33 => p_source_33
109876 , p_source_33_meaning => p_source_33_meaning
109877 , x_transaction_coa_id => l_adr_transaction_coa_id
109878 , x_accounting_coa_id => l_adr_accounting_coa_id
109879 , x_flexfield_segment_code => l_adr_flexfield_segment_code
109880 , x_flex_value_set_id => l_adr_flex_value_set_id
109881 , x_value_type_code => l_adr_value_type_code
109882 , x_value_combination_id => l_adr_value_combination_id
109883 , x_value_segment_code => l_adr_value_segment_code
109884 , p_side => 'NA'
109885 , p_override_seg_flag => 'Y'
109886 );
109887
109888 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
109889
109890 xla_ae_lines_pkg.set_segment(
109891 p_to_segment_code => 'GL_ACCOUNT'
109892 , p_segment_value => l_segment
109893 , p_from_segment_code => l_adr_value_segment_code
109894 , p_from_combination_id => l_adr_value_combination_id
109895 , p_value_type_code => l_adr_value_type_code
109896 , p_transaction_coa_id => l_adr_transaction_coa_id
109897 , p_accounting_coa_id => l_adr_accounting_coa_id
109898 , p_flexfield_segment_code => l_adr_flexfield_segment_code
109899 , p_flex_value_set_id => l_adr_flex_value_set_id
109900 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_ITEM'
109901 , p_adr_type_code => 'S'
109902 , p_component_type => l_component_type
109903 , p_component_code => l_component_code
109907 , p_entity_code => 'AP_INVOICES'
109904 , p_component_type_code => l_component_type_code
109905 , p_component_appl_id => l_component_appl_id
109906 , p_amb_context_code => l_amb_context_code
109908 , p_event_class_code => 'PREPAYMENTS'
109909 , p_side => 'NA'
109910 );
109911
109912 END IF;
109913
109914 --
109915 --
109916 END IF;
109917 --
109918 -- Bug 4922099
109919 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
109920 (NVL(l_enc_upg_option, 'N') = 'O')
109921 ) AND
109922 (l_bflow_method_code = 'PRIOR_ENTRY')
109923 )
109924 THEN
109925 IF
109926 --
109927 1 = 2
109928 --
109929 THEN
109930 xla_accounting_err_pkg.build_message
109931 (p_appli_s_name => 'XLA'
109932 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
109933 ,p_token_1 => 'LINE_NUMBER'
109934 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
109935 ,p_token_2 => 'LINE_TYPE_NAME'
109936 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
109937 l_component_type
109938 ,l_component_code
109939 ,l_component_type_code
109940 ,l_component_appl_id
109941 ,l_amb_context_code
109942 ,l_entity_code
109943 ,l_event_class_code
109944 )
109945 ,p_token_3 => 'OWNER'
109946 ,p_value_3 => xla_lookups_pkg.get_meaning(
109947 p_lookup_type => 'XLA_OWNER_TYPE'
109948 ,p_lookup_code => l_component_type_code
109949 )
109950 ,p_token_4 => 'PRODUCT_NAME'
109951 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
109952 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
109953 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
109954 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
109955 ,p_ae_header_id => NULL
109956 );
109957
109958 IF (C_LEVEL_ERROR>= g_log_level) THEN
109959 trace
109960 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
109961 ,p_level => C_LEVEL_ERROR
109962 ,p_module => l_log_module);
109963 END IF;
109964 END IF;
109965 END IF;
109966 --
109967 --
109968 ------------------------------------------------------------------------------------------------
109969 -- 4219869 Business Flow
109970 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
109971 -- Prior Entry. Currently, the following code is always generated.
109972 ------------------------------------------------------------------------------------------------
109973 XLA_AE_LINES_PKG.ValidateCurrentLine;
109974
109975 ------------------------------------------------------------------------------------
109976 -- 4219869 Business Flow
109977 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
109978 ------------------------------------------------------------------------------------
109979 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
109980
109981 ----------------------------------------------------------------------------------
109982 -- 4219869 Business Flow
109983 -- Update journal entry status -- Need to generate this within IF <condition>
109984 ----------------------------------------------------------------------------------
109985 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
109986 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
109987 ,p_balance_type_code => l_balance_type_code
109988 );
109989
109990 -------------------------------------------------------------------------------------------
109991 -- 4262811 - Generate the Accrual Reversal lines
109992 -------------------------------------------------------------------------------------------
109993 BEGIN
109994 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
109995 (g_array_event(p_event_id).array_value_num('header_index'));
109996 IF l_acc_rev_flag IS NULL THEN
109997 l_acc_rev_flag := 'N';
109998 END IF;
109999 EXCEPTION
110000 WHEN OTHERS THEN
110001 l_acc_rev_flag := 'N';
110005
110002 END;
110003 --
110004 IF (l_acc_rev_flag = 'Y') THEN
110006 -- 4645092 ------------------------------------------------------------------------------
110007 -- To allow MPA report to determine if it should generate report process
110008 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
110009 ------------------------------------------------------------------------------------------
110010
110011 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
110012 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
110013 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
110014 -- call ADRs
110015 -- Bug 4922099
110016 --
110017 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
110018 (NVL(l_actual_upg_option, 'N') = 'O') OR
110019 (NVL(l_enc_upg_option, 'N') = 'O')
110020 )
110021 THEN
110022 NULL;
110023 --
110024 --
110025
110026 l_ccid := AcctDerRule_37(
110027 p_application_id => p_application_id
110028 , p_ae_header_id => l_ae_header_id
110029 , p_source_30 => p_source_30
110030 , p_source_31 => p_source_31
110031 , p_source_31_meaning => p_source_31_meaning
110032 , p_source_32 => p_source_32
110033 , p_source_33 => p_source_33
110034 , p_source_33_meaning => p_source_33_meaning
110035 , p_source_45 => p_source_45
110036 , x_transaction_coa_id => l_adr_transaction_coa_id
110037 , x_accounting_coa_id => l_adr_accounting_coa_id
110038 , x_value_type_code => l_adr_value_type_code
110039 , p_side => 'NA'
110040 );
110041
110042 xla_ae_lines_pkg.set_ccid(
110043 p_code_combination_id => l_ccid
110044 , p_value_type_code => l_adr_value_type_code
110045 , p_transaction_coa_id => l_adr_transaction_coa_id
110046 , p_accounting_coa_id => l_adr_accounting_coa_id
110047 , p_adr_code => 'AP_PREPAY_INVOICE_DIST'
110048 , p_adr_type_code => 'S'
110049 , p_component_type => l_component_type
110050 , p_component_code => l_component_code
110051 , p_component_type_code => l_component_type_code
110052 , p_component_appl_id => l_component_appl_id
110053 , p_amb_context_code => l_amb_context_code
110054 , p_side => 'NA'
110055 );
110056
110057
110058 l_segment := AcctDerRule_13(
110059 p_application_id => p_application_id
110060 , p_ae_header_id => l_ae_header_id
110061 , p_source_30 => p_source_30
110062 , p_source_31 => p_source_31
110063 , p_source_31_meaning => p_source_31_meaning
110064 , p_source_32 => p_source_32
110065 , p_source_33 => p_source_33
110066 , p_source_33_meaning => p_source_33_meaning
110067 , x_transaction_coa_id => l_adr_transaction_coa_id
110068 , x_accounting_coa_id => l_adr_accounting_coa_id
110069 , x_flexfield_segment_code => l_adr_flexfield_segment_code
110070 , x_flex_value_set_id => l_adr_flex_value_set_id
110071 , x_value_type_code => l_adr_value_type_code
110072 , x_value_combination_id => l_adr_value_combination_id
110073 , x_value_segment_code => l_adr_value_segment_code
110074 , p_side => 'NA'
110075 , p_override_seg_flag => 'Y'
110076 );
110077
110078 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
110079
110080 xla_ae_lines_pkg.set_segment(
110081 p_to_segment_code => 'GL_ACCOUNT'
110082 , p_segment_value => l_segment
110083 , p_from_segment_code => l_adr_value_segment_code
110084 , p_from_combination_id => l_adr_value_combination_id
110085 , p_value_type_code => l_adr_value_type_code
110086 , p_transaction_coa_id => l_adr_transaction_coa_id
110087 , p_accounting_coa_id => l_adr_accounting_coa_id
110088 , p_flexfield_segment_code => l_adr_flexfield_segment_code
110089 , p_flex_value_set_id => l_adr_flex_value_set_id
110090 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_ITEM'
110091 , p_adr_type_code => 'S'
110092 , p_component_type => l_component_type
110093 , p_component_code => l_component_code
110094 , p_component_type_code => l_component_type_code
110095 , p_component_appl_id => l_component_appl_id
110096 , p_amb_context_code => l_amb_context_code
110097 , p_entity_code => 'AP_INVOICES'
110098 , p_event_class_code => 'PREPAYMENTS'
110099 , p_side => 'NA'
110100 );
110101
110102 END IF;
110103
110104 --
110105 --
110106 END IF;
110107
110108 --
110109 -- Update the line information that should be overwritten
110110 --
110111 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
110112 p_header_num => 1);
110113 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
110114
110115 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
110116
110117 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
110121 --
110118 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
110119 END IF;
110120
110122 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
110123 --
110124 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
110125 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
110126 ELSE
110127 ---------------------------------------------------------------------------------------------------
110128 -- 4262811a Switch Sign
110129 ---------------------------------------------------------------------------------------------------
110130 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
110131 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
110132 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
110133 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
110134 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
110135 -- 5132302
110136 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
110137 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
110138
110139 END IF;
110140
110141 -- 4955764
110142 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
110143 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
110144
110145
110146 XLA_AE_LINES_PKG.ValidateCurrentLine;
110147 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
110148
110149 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
110150 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
110151 ,p_balance_type_code => l_balance_type_code);
110152
110153 END IF;
110154
110155 -----------------------------------------------------------------------------------------
110156 -- 4262811 Multiperiod Accounting
110157 -----------------------------------------------------------------------------------------
110158 -- No MPA option is assigned.
110159
110160
110161 END IF;
110162 END IF;
110163 --
110164
110165 --
110166 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
110167 trace
110168 (p_msg => 'END of AcctLineType_185'
110169 ,p_level => C_LEVEL_PROCEDURE
110170 ,p_module => l_log_module);
110171 END IF;
110172 --
110173 EXCEPTION
110174 WHEN xla_exceptions_pkg.application_exception THEN
110175 RAISE;
110176 WHEN OTHERS THEN
110177 xla_exceptions_pkg.raise_message
110178 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_185');
110179 END AcctLineType_185;
110180 --
110181
110182 ---------------------------------------
110183 --
110184 -- PRIVATE FUNCTION
110185 -- AcctLineType_186
110186 --
110187 ---------------------------------------
110188 PROCEDURE AcctLineType_186 (
110189 p_application_id IN NUMBER
110190 ,p_event_id IN NUMBER
110191 ,p_calculate_acctd_flag IN VARCHAR2
110192 ,p_calculate_g_l_flag IN VARCHAR2
110193 ,p_actual_flag IN OUT VARCHAR2
110194 ,p_balance_type_code OUT VARCHAR2
110195 ,p_gain_or_loss_ref OUT VARCHAR2
110196
110197 --Accounting Reversal Indicator
110198 , p_source_53 IN VARCHAR2
110199 --Distribution Link Type
110200 , p_source_55 IN VARCHAR2
110201 --Invoice Identifier
110202 , p_source_58 IN NUMBER
110203 --Payables Encumbrance Upgrade Credit Account
110204 , p_source_65 IN NUMBER
110205 --Payables Encumbrance Upgrade Credit Amount
110206 , p_source_66 IN NUMBER
110207 --Invoice Currency Code
110208 , p_source_67 IN VARCHAR2
110209 --Payables Encumbrance Upgrade Credit Base Amount
110210 , p_source_68 IN NUMBER
110211 --Payables Encumbrance Upgrade Debit Account
110212 , p_source_69 IN NUMBER
110213 --Payables Encumbrance Upgrade Debit Amount
110214 , p_source_70 IN NUMBER
110215 --Payables Encumbrance Upgrade Debit Base Amount
110216 , p_source_71 IN NUMBER
110217 --Payables Encumbrance Upgrade Option
110218 , p_source_72 IN VARCHAR2
110219 --Deferred Accounting End Date
110220 , p_source_77 IN DATE
110221 --Deferred Accounting Option
110222 , p_source_78 IN VARCHAR2
110223 --Deferred Accounting Start Date
110224 , p_source_79 IN DATE
110225 --Override Accounted Amount Indicator
110226 , p_source_80 IN VARCHAR2
110227 , p_source_80_meaning IN VARCHAR2
110228 --Third Party Type
110229 , p_source_83 IN VARCHAR2
110230 --Invoice Distribution Tax Line Identifier
110231 , p_source_86 IN NUMBER
110232 --Invoice Distribution Tax Distribution Identifier from Tax
110233 , p_source_87 IN NUMBER
110234 --Invoice Distribution Summary Tax Line Identifier
110235 , p_source_88 IN NUMBER
110236 --Payables Upgrade Credit Encumbrance Type Identifier
110237 , p_source_89 IN NUMBER
110238 --Payables Upgrade Debit Encumbrance Type Identifier
110239 , p_source_90 IN NUMBER
110240 --Business Flow Accounts Payable Application Identifier
110244 --Deferred Prepayment Settlement Option Code
110241 , p_source_91 IN NUMBER
110242 --Prepayment Distribution Type
110243 , p_source_125 IN VARCHAR2
110245 , p_source_126 IN VARCHAR2
110246 , p_source_126_meaning IN VARCHAR2
110247 --Prepayment Application Distribution Identifier
110248 , p_source_127 IN NUMBER
110249 --Upgrade Encumbrance Credit Account Class
110250 , p_source_132 IN VARCHAR2
110251 --Upgrade Encumbrance Debit Account Class
110252 , p_source_133 IN VARCHAR2
110253 --Prepayment Distribution Amount
110254 , p_source_134 IN NUMBER
110255 --Prepayment Distribution (Prepayment Rate) Ledger Amount
110256 , p_source_135 IN NUMBER
110257 --Identifier of the Prepayment Application Reversed
110258 , p_source_136 IN NUMBER
110259 --Business Flow Prepayment Invoice Distribution Type
110260 , p_source_146 IN VARCHAR2
110261 --Business Flow Prepayment Invoice Entity Code
110262 , p_source_147 IN VARCHAR2
110263 --Business Flow Prepayment Invoice Distribution Identifier
110264 , p_source_148 IN NUMBER
110265 --Business Flow Prepayment Invoice Identifier
110266 , p_source_149 IN NUMBER
110267 )
110268 IS
110269
110270 l_component_type VARCHAR2(80);
110271 l_component_code VARCHAR2(30);
110272 l_component_type_code VARCHAR2(1);
110273 l_component_appl_id INTEGER;
110274 l_amb_context_code VARCHAR2(30);
110275 l_entity_code VARCHAR2(30);
110276 l_event_class_code VARCHAR2(30);
110277 l_ae_header_id NUMBER;
110278 l_event_type_code VARCHAR2(30);
110279 l_line_definition_code VARCHAR2(30);
110280 l_line_definition_owner_code VARCHAR2(1);
110281 --
110282 -- adr variables
110283 l_segment VARCHAR2(30);
110284 l_ccid NUMBER;
110285 l_adr_transaction_coa_id NUMBER;
110286 l_adr_accounting_coa_id NUMBER;
110287 l_adr_flexfield_segment_code VARCHAR2(30);
110288 l_adr_flex_value_set_id NUMBER;
110289 l_adr_value_type_code VARCHAR2(30);
110290 l_adr_value_combination_id NUMBER;
110291 l_adr_value_segment_code VARCHAR2(30);
110292
110293 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
110294 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
110295 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
110296 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
110297
110298 -- 4262811 Variables ------------------------------------------------------------------------------------------
110299 l_entered_amt_idx NUMBER;
110300 l_accted_amt_idx NUMBER;
110301 l_acc_rev_flag VARCHAR2(1);
110302 l_accrual_line_num NUMBER;
110303 l_tmp_amt NUMBER;
110304 l_acc_rev_natural_side_code VARCHAR2(1);
110305
110306 l_num_entries NUMBER;
110307 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
110308 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
110309 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
110310 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
110311 l_recog_line_1 NUMBER;
110312 l_recog_line_2 NUMBER;
110313
110314 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
110315 l_bflow_applied_to_amt NUMBER; -- 5132302
110316 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
110317
110318 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
110319
110320 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
110321 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
110322
110323 ---------------------------------------------------------------------------------------------------------------
110324
110325
110326 --
110327 -- bulk performance
110328 --
110329 l_balance_type_code VARCHAR2(1);
110330 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
110331 l_log_module VARCHAR2(240);
110332
110333 --
110334 -- Upgrade strategy
110335 --
110336 l_actual_upg_option VARCHAR2(1);
110337 l_enc_upg_option VARCHAR2(1);
110338
110339 --
110340 BEGIN
110341 --
110342 IF g_log_enabled THEN
110343 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_186';
110344 END IF;
110345 --
110346 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
110347
110348 trace
110349 (p_msg => 'BEGIN of AcctLineType_186'
110350 ,p_level => C_LEVEL_PROCEDURE
110351 ,p_module => l_log_module);
110352
110353 END IF;
110354 --
110355 l_component_type := 'AMB_JLT';
110356 l_component_code := 'AP_PREPAID_EXP_ACCR_PREPAY_APP';
110357 l_component_type_code := 'S';
110358 l_component_appl_id := 200;
110359 l_amb_context_code := 'DEFAULT';
110360 l_entity_code := 'AP_INVOICES';
110361 l_event_class_code := 'PREPAYMENT APPLICATIONS';
110362 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
110363 l_line_definition_owner_code := 'S';
110364 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
110365 --
110369 l_adr_transaction_coa_id := NULL;
110366 l_balance_type_code := 'A';
110367 l_segment := NULL;
110368 l_ccid := NULL;
110370 l_adr_accounting_coa_id := NULL;
110371 l_adr_flexfield_segment_code := NULL;
110372 l_adr_flex_value_set_id := NULL;
110373 l_adr_value_type_code := NULL;
110374 l_adr_value_combination_id := NULL;
110375 l_adr_value_segment_code := NULL;
110376
110377 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
110378 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
110379 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
110380 l_budgetary_control_flag := 'N';
110381
110382 l_bflow_applied_to_amt_idx := NULL; -- 5132302
110383 l_bflow_applied_to_amt := NULL; -- 5132302
110384 l_entered_amt_idx := NULL; -- 4262811
110385 l_accted_amt_idx := NULL; -- 4262811
110386 l_acc_rev_flag := NULL; -- 4262811
110387 l_accrual_line_num := NULL; -- 4262811
110388 l_tmp_amt := NULL; -- 4262811
110389 --
110390
110391 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
110392 l_balance_type_code <> 'B' THEN
110393 IF NVL(p_source_125,'
110394 ') = 'PREPAY APPL' OR
110395 NVL(p_source_125,'
110396 ') = 'TAX DIFF' OR
110397 NVL(p_source_125,'
110398 ') = 'FINAL APPLICATION ROUNDING' OR
110399 (NVL(p_source_125,'
110400 ') = 'PREPAY APPL REC TAX' AND
110401 NVL(p_source_126,'
110402 ') <> 'DEFERRED') OR
110403 NVL(p_source_125,'
110404 ') = 'PREPAY APPL NONREC TAX'
110405 THEN
110406
110407 --
110408 XLA_AE_LINES_PKG.SetNewLine;
110409
110410 p_balance_type_code := l_balance_type_code;
110411 -- set the flag so later we will know whether the gain loss line needs to be created
110412
110413 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
110414 p_actual_flag :='A';
110415 END IF;
110416
110417 --
110418 -- bulk performance
110419 --
110420 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
110421 p_header_num => 0); -- 4262811
110422 --
110423 -- set accounting line options
110424 --
110425 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
110426 p_natural_side_code => 'D'
110427 , p_gain_or_loss_flag => 'N'
110428 , p_gl_transfer_mode_code => 'S'
110429 , p_acct_entry_type_code => 'A'
110430 , p_switch_side_flag => 'Y'
110431 , p_merge_duplicate_code => 'A'
110432 );
110433 --
110434 l_acc_rev_natural_side_code := 'C'; -- 4262811
110435 --
110436 --
110437 -- set accounting line type info
110438 --
110439 xla_ae_lines_pkg.SetAcctLineType
110440 (p_component_type => l_component_type
110441 ,p_event_type_code => l_event_type_code
110442 ,p_line_definition_owner_code => l_line_definition_owner_code
110443 ,p_line_definition_code => l_line_definition_code
110444 ,p_accounting_line_code => l_component_code
110445 ,p_accounting_line_type_code => l_component_type_code
110446 ,p_accounting_line_appl_id => l_component_appl_id
110447 ,p_amb_context_code => l_amb_context_code
110448 ,p_entity_code => l_entity_code
110449 ,p_event_class_code => l_event_class_code);
110450 --
110451 -- set accounting class
110452 --
110453 xla_ae_lines_pkg.SetAcctClass(
110454 p_accounting_class_code => 'PREPAID_EXPENSE'
110455 , p_ae_header_id => l_ae_header_id
110456 );
110457
110458 --
110459 -- set rounding class
110460 --
110461 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
110462 'PREPAID_EXPENSE';
110463
110464 --
110465 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
110466 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
110467 --
110468 -- bulk performance
110469 --
110470 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
110471
110472 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
110473 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
110474
110475 -- 4955764
110476 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
110477 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
110478
110479 -- 4458381 Public Sector Enh
110480
110481 --
110482 -- set accounting attributes for the line type
110483 --
110484 l_entered_amt_idx := 25;
110485 l_accted_amt_idx := 27;
110486 l_bflow_applied_to_amt_idx := NULL; -- 5132302
110487 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
110488 l_rec_acct_attrs.array_char_value(1) := p_source_53;
110489 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
110490 l_rec_acct_attrs.array_num_value(2) :=
110491 xla_ae_sources_pkg.GetSystemSourceNum(
110495 );
110492 p_source_code => 'XLA_EVENT_APPL_ID'
110493 , p_source_type_code => 'Y'
110494 , p_source_application_id => 602
110496 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
110497 l_rec_acct_attrs.array_char_value(3) := p_source_55;
110498 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
110499 l_rec_acct_attrs.array_char_value(4) :=
110500 xla_ae_sources_pkg.GetSystemSourceChar(
110501 p_source_code => 'XLA_ENTITY_CODE'
110502 , p_source_type_code => 'Y'
110503 , p_source_application_id => 602
110504 );
110505 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
110506 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_127);
110507 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
110508 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
110509 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
110510 l_rec_acct_attrs.array_num_value(7) := p_source_91;
110511 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
110512 l_rec_acct_attrs.array_char_value(8) := p_source_146;
110513 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
110514 l_rec_acct_attrs.array_char_value(9) := p_source_147;
110515 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
110516 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_148);
110517 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
110518 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_149);
110519 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
110520 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_127);
110521 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
110522 l_rec_acct_attrs.array_char_value(13) := p_source_55;
110523 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
110524 l_rec_acct_attrs.array_char_value(14) := p_source_132;
110525 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
110526 l_rec_acct_attrs.array_num_value(15) := p_source_65;
110527 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
110528 l_rec_acct_attrs.array_num_value(16) := p_source_66;
110529 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
110530 l_rec_acct_attrs.array_char_value(17) := p_source_67;
110531 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
110532 l_rec_acct_attrs.array_num_value(18) := p_source_68;
110533 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
110534 l_rec_acct_attrs.array_char_value(19) := p_source_133;
110535 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
110536 l_rec_acct_attrs.array_num_value(20) := p_source_69;
110537 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
110538 l_rec_acct_attrs.array_num_value(21) := p_source_70;
110539 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
110540 l_rec_acct_attrs.array_char_value(22) := p_source_67;
110541 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
110542 l_rec_acct_attrs.array_num_value(23) := p_source_71;
110543 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
110544 l_rec_acct_attrs.array_char_value(24) := p_source_72;
110545 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
110546 l_rec_acct_attrs.array_num_value(25) := p_source_134;
110547 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
110548 l_rec_acct_attrs.array_char_value(26) := p_source_67;
110549 l_rec_acct_attrs.array_acct_attr_code(27) := 'LEDGER_AMOUNT';
110550 l_rec_acct_attrs.array_num_value(27) := p_source_135;
110551 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_END_DATE';
110552 l_rec_acct_attrs.array_date_value(28) := p_source_77;
110553 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_OPTION';
110554 l_rec_acct_attrs.array_char_value(29) := p_source_78;
110555 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_START_DATE';
110556 l_rec_acct_attrs.array_date_value(30) := p_source_79;
110557 l_rec_acct_attrs.array_acct_attr_code(31) := 'OVERRIDE_ACCTD_AMT_FLAG';
110558 l_rec_acct_attrs.array_char_value(31) := p_source_80;
110559 l_rec_acct_attrs.array_acct_attr_code(32) := 'PARTY_TYPE';
110560 l_rec_acct_attrs.array_char_value(32) := p_source_83;
110561 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_ID1';
110562 l_rec_acct_attrs.array_num_value(33) := to_char(p_source_136);
110563 l_rec_acct_attrs.array_acct_attr_code(34) := 'REVERSED_DISTRIBUTION_TYPE';
110564 l_rec_acct_attrs.array_char_value(34) := p_source_55;
110565 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
110566 l_rec_acct_attrs.array_num_value(35) := p_source_86;
110567 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
110568 l_rec_acct_attrs.array_num_value(36) := p_source_87;
110569 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
110570 l_rec_acct_attrs.array_num_value(37) := p_source_88;
110571 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
110572 l_rec_acct_attrs.array_num_value(38) := p_source_89;
110573 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
110574 l_rec_acct_attrs.array_num_value(39) := p_source_90;
110575
110576 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
110577 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
110578
110582 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
110579 ---------------------------------------------------------------------------------------------------------------
110580 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
110581 ---------------------------------------------------------------------------------------------------------------
110583
110584 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
110585 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
110586
110587 IF xla_accounting_cache_pkg.GetValueChar
110588 (p_source_code => 'LEDGER_CATEGORY_CODE'
110589 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
110590 AND l_bflow_method_code = 'PRIOR_ENTRY'
110591 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
110592 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
110593 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
110594 )
110595 THEN
110596 xla_ae_lines_pkg.BflowUpgEntry
110597 (p_business_method_code => l_bflow_method_code
110598 ,p_business_class_code => l_bflow_class_code
110599 ,p_balance_type => l_balance_type_code);
110600 ELSE
110601 NULL;
110602 XLA_AE_LINES_PKG.business_flow_validation(
110603 p_business_method_code => l_bflow_method_code
110604 ,p_business_class_code => l_bflow_class_code
110605 ,p_inherit_description_flag => l_inherit_desc_flag);
110606 END IF;
110607
110608 --
110609 -- call analytical criteria
110610 --
110611 -- Inherited Analytical Criteria for business flow method of Prior Entry.
110612 --
110613 -- call description
110614 --
110615 -- No description or it is inherited.
110616 --
110617 -- call ADRs
110618 -- Bug 4922099
110619 --
110620 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
110621 (NVL(l_actual_upg_option, 'N') = 'O') OR
110622 (NVL(l_enc_upg_option, 'N') = 'O')
110623 )
110624 THEN
110625 NULL;
110626 --
110627 --
110628
110629 --
110630 --
110631 END IF;
110632 --
110633 -- Bug 4922099
110634 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
110635 (NVL(l_enc_upg_option, 'N') = 'O')
110636 ) AND
110637 (l_bflow_method_code = 'PRIOR_ENTRY')
110638 )
110639 THEN
110640 IF
110641 --
110642 1 = 1
110643 --
110644 THEN
110645 xla_accounting_err_pkg.build_message
110646 (p_appli_s_name => 'XLA'
110647 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
110648 ,p_token_1 => 'LINE_NUMBER'
110649 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
110650 ,p_token_2 => 'LINE_TYPE_NAME'
110651 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
110652 l_component_type
110653 ,l_component_code
110654 ,l_component_type_code
110655 ,l_component_appl_id
110656 ,l_amb_context_code
110657 ,l_entity_code
110658 ,l_event_class_code
110659 )
110660 ,p_token_3 => 'OWNER'
110661 ,p_value_3 => xla_lookups_pkg.get_meaning(
110662 p_lookup_type => 'XLA_OWNER_TYPE'
110663 ,p_lookup_code => l_component_type_code
110664 )
110665 ,p_token_4 => 'PRODUCT_NAME'
110666 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
110667 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
110668 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
110669 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
110670 ,p_ae_header_id => NULL
110671 );
110672
110673 IF (C_LEVEL_ERROR>= g_log_level) THEN
110674 trace
110675 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
110676 ,p_level => C_LEVEL_ERROR
110677 ,p_module => l_log_module);
110678 END IF;
110679 END IF;
110680 END IF;
110681 --
110685 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
110682 --
110683 ------------------------------------------------------------------------------------------------
110684 -- 4219869 Business Flow
110686 -- Prior Entry. Currently, the following code is always generated.
110687 ------------------------------------------------------------------------------------------------
110688 -- No ValidateCurrentLine for business flow method of Prior Entry
110689
110690 ------------------------------------------------------------------------------------
110691 -- 4219869 Business Flow
110692 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
110693 ------------------------------------------------------------------------------------
110694 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
110695
110696 ----------------------------------------------------------------------------------
110697 -- 4219869 Business Flow
110698 -- Update journal entry status -- Need to generate this within IF <condition>
110699 ----------------------------------------------------------------------------------
110700 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
110701 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
110702 ,p_balance_type_code => l_balance_type_code
110703 );
110704
110705 -------------------------------------------------------------------------------------------
110706 -- 4262811 - Generate the Accrual Reversal lines
110707 -------------------------------------------------------------------------------------------
110708 BEGIN
110709 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
110710 (g_array_event(p_event_id).array_value_num('header_index'));
110711 IF l_acc_rev_flag IS NULL THEN
110712 l_acc_rev_flag := 'N';
110713 END IF;
110714 EXCEPTION
110715 WHEN OTHERS THEN
110716 l_acc_rev_flag := 'N';
110717 END;
110718 --
110719 IF (l_acc_rev_flag = 'Y') THEN
110720
110721 -- 4645092 ------------------------------------------------------------------------------
110722 -- To allow MPA report to determine if it should generate report process
110723 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
110724 ------------------------------------------------------------------------------------------
110725
110726 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
110727 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
110728 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
110729 -- call ADRs
110730 -- Bug 4922099
110731 --
110732 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
110733 (NVL(l_actual_upg_option, 'N') = 'O') OR
110734 (NVL(l_enc_upg_option, 'N') = 'O')
110735 )
110736 THEN
110737 NULL;
110738 --
110739 --
110740
110741 --
110742 --
110743 END IF;
110744
110745 --
110746 -- Update the line information that should be overwritten
110747 --
110748 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
110749 p_header_num => 1);
110750 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
110751
110752 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
110753
110754 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
110755 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
110756 END IF;
110757
110758 --
110759 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
110760 --
110761 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
110762 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
110763 ELSE
110764 ---------------------------------------------------------------------------------------------------
110765 -- 4262811a Switch Sign
110766 ---------------------------------------------------------------------------------------------------
110767 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
110768 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
110769 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
110770 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
110771 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
110772 -- 5132302
110773 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
110774 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
110775
110776 END IF;
110777
110778 -- 4955764
110779 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
110780 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
110781
110782
110783 XLA_AE_LINES_PKG.ValidateCurrentLine;
110784 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
110785
110786 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
110787 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
110791
110788 ,p_balance_type_code => l_balance_type_code);
110789
110790 END IF;
110792 -----------------------------------------------------------------------------------------
110793 -- 4262811 Multiperiod Accounting
110794 -----------------------------------------------------------------------------------------
110795 -- No MPA option is assigned.
110796
110797
110798 END IF;
110799 END IF;
110800 --
110801
110802 --
110803 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
110804 trace
110805 (p_msg => 'END of AcctLineType_186'
110806 ,p_level => C_LEVEL_PROCEDURE
110807 ,p_module => l_log_module);
110808 END IF;
110809 --
110810 EXCEPTION
110811 WHEN xla_exceptions_pkg.application_exception THEN
110812 RAISE;
110813 WHEN OTHERS THEN
110814 xla_exceptions_pkg.raise_message
110815 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_186');
110816 END AcctLineType_186;
110817 --
110818
110819 ---------------------------------------
110820 --
110821 -- PRIVATE FUNCTION
110822 -- AcctLineType_187
110823 --
110824 ---------------------------------------
110825 PROCEDURE AcctLineType_187 (
110826 p_application_id IN NUMBER
110827 ,p_event_id IN NUMBER
110828 ,p_calculate_acctd_flag IN VARCHAR2
110829 ,p_calculate_g_l_flag IN VARCHAR2
110830 ,p_actual_flag IN OUT VARCHAR2
110831 ,p_balance_type_code OUT VARCHAR2
110832 ,p_gain_or_loss_ref OUT VARCHAR2
110833
110834 --Invoice Distribution Description
110835 , p_source_1 IN VARCHAR2
110836 --Invoice Distribution Ledger Amount
110837 , p_source_21 IN NUMBER
110838 --Invoice Distribution Account
110839 , p_source_30 IN NUMBER
110840 --Invoice Distribution Type
110841 , p_source_33 IN VARCHAR2
110842 , p_source_33_meaning IN VARCHAR2
110843 --Accounting Reversal Indicator
110844 , p_source_53 IN VARCHAR2
110845 --Distribution Link Type
110846 , p_source_55 IN VARCHAR2
110847 --Allocation to Main Distribution Identifier
110848 , p_source_57 IN NUMBER
110849 --Invoice Identifier
110850 , p_source_58 IN NUMBER
110851 --Invoice Distribution Identifier
110852 , p_source_64 IN NUMBER
110853 --Payables Encumbrance Upgrade Credit Account
110854 , p_source_65 IN NUMBER
110855 --Payables Encumbrance Upgrade Credit Amount
110856 , p_source_66 IN NUMBER
110857 --Invoice Currency Code
110858 , p_source_67 IN VARCHAR2
110859 --Payables Encumbrance Upgrade Credit Base Amount
110860 , p_source_68 IN NUMBER
110861 --Payables Encumbrance Upgrade Debit Account
110862 , p_source_69 IN NUMBER
110863 --Payables Encumbrance Upgrade Debit Amount
110864 , p_source_70 IN NUMBER
110865 --Payables Encumbrance Upgrade Debit Base Amount
110866 , p_source_71 IN NUMBER
110867 --Payables Encumbrance Upgrade Option
110868 , p_source_72 IN VARCHAR2
110869 --Invoice Distribution Amount
110870 , p_source_73 IN NUMBER
110871 --Deferred Accounting End Date
110872 , p_source_77 IN DATE
110873 --Deferred Accounting Option
110874 , p_source_78 IN VARCHAR2
110875 --Deferred Accounting Start Date
110876 , p_source_79 IN DATE
110877 --Override Accounted Amount Indicator
110878 , p_source_80 IN VARCHAR2
110879 , p_source_80_meaning IN VARCHAR2
110880 --Invoice Supplier Identifier
110881 , p_source_81 IN NUMBER
110882 --Invoice Supplier Site Identifier
110883 , p_source_82 IN NUMBER
110884 --Third Party Type
110885 , p_source_83 IN VARCHAR2
110886 --Parent Reversal Identifier
110887 , p_source_84 IN NUMBER
110888 --Invoice Distribution Statistical Amount
110889 , p_source_85 IN NUMBER
110890 --Invoice Distribution Tax Line Identifier
110891 , p_source_86 IN NUMBER
110892 --Invoice Distribution Tax Distribution Identifier from Tax
110893 , p_source_87 IN NUMBER
110894 --Invoice Distribution Summary Tax Line Identifier
110895 , p_source_88 IN NUMBER
110896 --Payables Upgrade Credit Encumbrance Type Identifier
110897 , p_source_89 IN NUMBER
110898 --Payables Upgrade Debit Encumbrance Type Identifier
110899 , p_source_90 IN NUMBER
110900 --Business Flow Accounts Payable Application Identifier
110901 , p_source_91 IN NUMBER
110902 --Business Flow Invoice Distribution Type
110903 , p_source_92 IN VARCHAR2
110904 --Business Flow Invoice Entity Code
110905 , p_source_93 IN VARCHAR2
110906 --Business Flow Invoice Distribution Identifier
110907 , p_source_94 IN NUMBER
110908 --Business Flow Invoice Identifier
110909 , p_source_95 IN NUMBER
110910 --Self-Assessed Tax Flag
110911 , p_source_142 IN VARCHAR2
110912 , p_source_142_meaning IN VARCHAR2
110913 --Invoice Exchange Date
110914 , p_source_143 IN DATE
110915 --Invoice Exchange Rate
110916 , p_source_144 IN NUMBER
110917 --Invoice Exchange Rate Type
110918 , p_source_145 IN VARCHAR2
110919 )
110920 IS
110921
110922 l_component_type VARCHAR2(80);
110923 l_component_code VARCHAR2(30);
110924 l_component_type_code VARCHAR2(1);
110925 l_component_appl_id INTEGER;
110926 l_amb_context_code VARCHAR2(30);
110930 l_event_type_code VARCHAR2(30);
110927 l_entity_code VARCHAR2(30);
110928 l_event_class_code VARCHAR2(30);
110929 l_ae_header_id NUMBER;
110931 l_line_definition_code VARCHAR2(30);
110932 l_line_definition_owner_code VARCHAR2(1);
110933 --
110934 -- adr variables
110935 l_segment VARCHAR2(30);
110936 l_ccid NUMBER;
110937 l_adr_transaction_coa_id NUMBER;
110938 l_adr_accounting_coa_id NUMBER;
110939 l_adr_flexfield_segment_code VARCHAR2(30);
110940 l_adr_flex_value_set_id NUMBER;
110941 l_adr_value_type_code VARCHAR2(30);
110942 l_adr_value_combination_id NUMBER;
110943 l_adr_value_segment_code VARCHAR2(30);
110944
110945 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
110946 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
110947 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
110948 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
110949
110950 -- 4262811 Variables ------------------------------------------------------------------------------------------
110951 l_entered_amt_idx NUMBER;
110952 l_accted_amt_idx NUMBER;
110953 l_acc_rev_flag VARCHAR2(1);
110954 l_accrual_line_num NUMBER;
110955 l_tmp_amt NUMBER;
110956 l_acc_rev_natural_side_code VARCHAR2(1);
110957
110958 l_num_entries NUMBER;
110959 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
110960 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
110961 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
110962 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
110963 l_recog_line_1 NUMBER;
110964 l_recog_line_2 NUMBER;
110965
110966 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
110967 l_bflow_applied_to_amt NUMBER; -- 5132302
110968 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
110969
110970 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
110971
110972 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
110973 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
110974
110975 ---------------------------------------------------------------------------------------------------------------
110976
110977
110978 --
110979 -- bulk performance
110980 --
110981 l_balance_type_code VARCHAR2(1);
110982 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
110983 l_log_module VARCHAR2(240);
110984
110985 --
110986 -- Upgrade strategy
110987 --
110988 l_actual_upg_option VARCHAR2(1);
110989 l_enc_upg_option VARCHAR2(1);
110990
110991 --
110992 BEGIN
110993 --
110994 IF g_log_enabled THEN
110995 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_187';
110996 END IF;
110997 --
110998 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
110999
111000 trace
111001 (p_msg => 'BEGIN of AcctLineType_187'
111002 ,p_level => C_LEVEL_PROCEDURE
111003 ,p_module => l_log_module);
111004
111005 END IF;
111006 --
111007 l_component_type := 'AMB_JLT';
111008 l_component_code := 'AP_RECOV_TAX_CM';
111009 l_component_type_code := 'S';
111010 l_component_appl_id := 200;
111011 l_amb_context_code := 'DEFAULT';
111012 l_entity_code := 'AP_INVOICES';
111013 l_event_class_code := 'CREDIT MEMOS';
111014 l_event_type_code := 'CREDIT MEMOS_ALL';
111015 l_line_definition_owner_code := 'S';
111016 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
111017 --
111018 l_balance_type_code := 'A';
111019 l_segment := NULL;
111020 l_ccid := NULL;
111021 l_adr_transaction_coa_id := NULL;
111022 l_adr_accounting_coa_id := NULL;
111023 l_adr_flexfield_segment_code := NULL;
111024 l_adr_flex_value_set_id := NULL;
111025 l_adr_value_type_code := NULL;
111026 l_adr_value_combination_id := NULL;
111027 l_adr_value_segment_code := NULL;
111028
111029 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
111030 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
111031 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
111032 l_budgetary_control_flag := 'N';
111033
111034 l_bflow_applied_to_amt_idx := NULL; -- 5132302
111035 l_bflow_applied_to_amt := NULL; -- 5132302
111036 l_entered_amt_idx := NULL; -- 4262811
111037 l_accted_amt_idx := NULL; -- 4262811
111038 l_acc_rev_flag := NULL; -- 4262811
111039 l_accrual_line_num := NULL; -- 4262811
111040 l_tmp_amt := NULL; -- 4262811
111041 --
111042
111043 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
111044 l_balance_type_code <> 'B' THEN
111045 IF NVL(p_source_33,'
111046 ') = 'REC_TAX' AND
111047 NVL(p_source_142,'
111048 ') <> 'Y'
111049 THEN
111050
111051 --
111052 XLA_AE_LINES_PKG.SetNewLine;
111053
111054 p_balance_type_code := l_balance_type_code;
111058 p_actual_flag :='A';
111055 -- set the flag so later we will know whether the gain loss line needs to be created
111056
111057 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
111059 END IF;
111060
111061 --
111062 -- bulk performance
111063 --
111064 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
111065 p_header_num => 0); -- 4262811
111066 --
111067 -- set accounting line options
111068 --
111069 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
111070 p_natural_side_code => 'D'
111071 , p_gain_or_loss_flag => 'N'
111072 , p_gl_transfer_mode_code => 'S'
111073 , p_acct_entry_type_code => 'A'
111074 , p_switch_side_flag => 'Y'
111075 , p_merge_duplicate_code => 'A'
111076 );
111077 --
111078 l_acc_rev_natural_side_code := 'C'; -- 4262811
111079 --
111080 --
111081 -- set accounting line type info
111082 --
111083 xla_ae_lines_pkg.SetAcctLineType
111084 (p_component_type => l_component_type
111085 ,p_event_type_code => l_event_type_code
111086 ,p_line_definition_owner_code => l_line_definition_owner_code
111087 ,p_line_definition_code => l_line_definition_code
111088 ,p_accounting_line_code => l_component_code
111089 ,p_accounting_line_type_code => l_component_type_code
111090 ,p_accounting_line_appl_id => l_component_appl_id
111091 ,p_amb_context_code => l_amb_context_code
111092 ,p_entity_code => l_entity_code
111093 ,p_event_class_code => l_event_class_code);
111094 --
111095 -- set accounting class
111096 --
111097 xla_ae_lines_pkg.SetAcctClass(
111098 p_accounting_class_code => 'RTAX'
111099 , p_ae_header_id => l_ae_header_id
111100 );
111101
111102 --
111103 -- set rounding class
111104 --
111105 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
111106 'RTAX';
111107
111108 --
111109 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
111110 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
111111 --
111112 -- bulk performance
111113 --
111114 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
111115
111116 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
111117 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
111118
111119 -- 4955764
111120 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
111121 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
111122
111123 -- 4458381 Public Sector Enh
111124
111125 --
111126 -- set accounting attributes for the line type
111127 --
111128 l_entered_amt_idx := 23;
111129 l_accted_amt_idx := 28;
111130 l_bflow_applied_to_amt_idx := NULL; -- 5132302
111131 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
111132 l_rec_acct_attrs.array_char_value(1) := p_source_53;
111133 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
111134 l_rec_acct_attrs.array_num_value(2) :=
111135 xla_ae_sources_pkg.GetSystemSourceNum(
111136 p_source_code => 'XLA_EVENT_APPL_ID'
111137 , p_source_type_code => 'Y'
111138 , p_source_application_id => 602
111139 );
111140 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
111141 l_rec_acct_attrs.array_char_value(3) := p_source_55;
111142 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
111143 l_rec_acct_attrs.array_char_value(4) :=
111144 xla_ae_sources_pkg.GetSystemSourceChar(
111145 p_source_code => 'XLA_ENTITY_CODE'
111146 , p_source_type_code => 'Y'
111147 , p_source_application_id => 602
111148 );
111149 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
111150 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
111151 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
111152 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
111153 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
111154 l_rec_acct_attrs.array_num_value(7) := p_source_91;
111155 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
111156 l_rec_acct_attrs.array_char_value(8) := p_source_92;
111157 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
111158 l_rec_acct_attrs.array_char_value(9) := p_source_93;
111159 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
111160 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
111161 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
111162 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
111163 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
111164 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
111165 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
111166 l_rec_acct_attrs.array_char_value(13) := p_source_55;
111170 l_rec_acct_attrs.array_num_value(15) := p_source_66;
111167 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
111168 l_rec_acct_attrs.array_num_value(14) := p_source_65;
111169 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
111171 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
111172 l_rec_acct_attrs.array_char_value(16) := p_source_67;
111173 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
111174 l_rec_acct_attrs.array_num_value(17) := p_source_68;
111175 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
111176 l_rec_acct_attrs.array_num_value(18) := p_source_69;
111177 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
111178 l_rec_acct_attrs.array_num_value(19) := p_source_70;
111179 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
111180 l_rec_acct_attrs.array_char_value(20) := p_source_67;
111181 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
111182 l_rec_acct_attrs.array_num_value(21) := p_source_71;
111183 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
111184 l_rec_acct_attrs.array_char_value(22) := p_source_72;
111185 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
111186 l_rec_acct_attrs.array_num_value(23) := p_source_73;
111187 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
111188 l_rec_acct_attrs.array_char_value(24) := p_source_67;
111189 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
111190 l_rec_acct_attrs.array_date_value(25) := p_source_143;
111191 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
111192 l_rec_acct_attrs.array_num_value(26) := p_source_144;
111193 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
111194 l_rec_acct_attrs.array_char_value(27) := p_source_145;
111195 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
111196 l_rec_acct_attrs.array_num_value(28) := p_source_21;
111197 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
111198 l_rec_acct_attrs.array_date_value(29) := p_source_77;
111199 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
111200 l_rec_acct_attrs.array_char_value(30) := p_source_78;
111201 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
111202 l_rec_acct_attrs.array_date_value(31) := p_source_79;
111203 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
111204 l_rec_acct_attrs.array_char_value(32) := p_source_80;
111205 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
111206 l_rec_acct_attrs.array_num_value(33) := p_source_81;
111207 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
111208 l_rec_acct_attrs.array_num_value(34) := p_source_82;
111209 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
111210 l_rec_acct_attrs.array_char_value(35) := p_source_83;
111211 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
111212 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
111213 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
111214 l_rec_acct_attrs.array_char_value(37) := p_source_55;
111215 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
111216 l_rec_acct_attrs.array_num_value(38) := p_source_85;
111217 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
111218 l_rec_acct_attrs.array_num_value(39) := p_source_86;
111219 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
111220 l_rec_acct_attrs.array_num_value(40) := p_source_87;
111221 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
111222 l_rec_acct_attrs.array_num_value(41) := p_source_88;
111223 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
111224 l_rec_acct_attrs.array_num_value(42) := p_source_89;
111225 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
111226 l_rec_acct_attrs.array_num_value(43) := p_source_90;
111227
111228 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
111229 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
111230
111231 ---------------------------------------------------------------------------------------------------------------
111232 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
111233 ---------------------------------------------------------------------------------------------------------------
111234 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
111235
111236 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
111237 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
111238
111239 IF xla_accounting_cache_pkg.GetValueChar
111240 (p_source_code => 'LEDGER_CATEGORY_CODE'
111241 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
111242 AND l_bflow_method_code = 'PRIOR_ENTRY'
111243 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
111244 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
111245 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
111246 )
111247 THEN
111248 xla_ae_lines_pkg.BflowUpgEntry
111249 (p_business_method_code => l_bflow_method_code
111250 ,p_business_class_code => l_bflow_class_code
111251 ,p_balance_type => l_balance_type_code);
111252 ELSE
111253 NULL;
111257 --
111254 -- No business flow processing for business flow method of NONE.
111255 END IF;
111256
111258 -- call analytical criteria
111259 --
111260
111261 --
111262 -- call description
111263 --
111264
111265 xla_ae_lines_pkg.SetLineDescription(
111266 p_ae_header_id => l_ae_header_id
111267 ,p_description => Description_1 (
111268 p_application_id => p_application_id
111269 , p_ae_header_id => l_ae_header_id
111270 , p_source_1 => p_source_1
111271 )
111272 );
111273
111274
111275 --
111276 -- call ADRs
111277 -- Bug 4922099
111278 --
111279 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
111280 (NVL(l_actual_upg_option, 'N') = 'O') OR
111281 (NVL(l_enc_upg_option, 'N') = 'O')
111282 )
111283 THEN
111284 NULL;
111285 --
111286 --
111287
111288 l_ccid := AcctDerRule_33(
111289 p_application_id => p_application_id
111290 , p_ae_header_id => l_ae_header_id
111291 , p_source_30 => p_source_30
111292 , x_transaction_coa_id => l_adr_transaction_coa_id
111293 , x_accounting_coa_id => l_adr_accounting_coa_id
111294 , x_value_type_code => l_adr_value_type_code
111295 , p_side => 'NA'
111296 );
111297
111298 xla_ae_lines_pkg.set_ccid(
111299 p_code_combination_id => l_ccid
111300 , p_value_type_code => l_adr_value_type_code
111301 , p_transaction_coa_id => l_adr_transaction_coa_id
111302 , p_accounting_coa_id => l_adr_accounting_coa_id
111303 , p_adr_code => 'AP_INVOICE_DIST'
111304 , p_adr_type_code => 'S'
111305 , p_component_type => l_component_type
111306 , p_component_code => l_component_code
111307 , p_component_type_code => l_component_type_code
111308 , p_component_appl_id => l_component_appl_id
111309 , p_amb_context_code => l_amb_context_code
111310 , p_side => 'NA'
111311 );
111312
111313
111314 --
111315 --
111316 END IF;
111317 --
111318 -- Bug 4922099
111319 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
111320 (NVL(l_enc_upg_option, 'N') = 'O')
111321 ) AND
111322 (l_bflow_method_code = 'PRIOR_ENTRY')
111323 )
111324 THEN
111325 IF
111326 --
111327 1 = 2
111328 --
111329 THEN
111330 xla_accounting_err_pkg.build_message
111331 (p_appli_s_name => 'XLA'
111332 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
111333 ,p_token_1 => 'LINE_NUMBER'
111334 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
111335 ,p_token_2 => 'LINE_TYPE_NAME'
111336 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
111337 l_component_type
111338 ,l_component_code
111339 ,l_component_type_code
111340 ,l_component_appl_id
111341 ,l_amb_context_code
111342 ,l_entity_code
111343 ,l_event_class_code
111344 )
111345 ,p_token_3 => 'OWNER'
111346 ,p_value_3 => xla_lookups_pkg.get_meaning(
111347 p_lookup_type => 'XLA_OWNER_TYPE'
111348 ,p_lookup_code => l_component_type_code
111349 )
111350 ,p_token_4 => 'PRODUCT_NAME'
111351 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
111352 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
111353 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
111354 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
111355 ,p_ae_header_id => NULL
111356 );
111357
111358 IF (C_LEVEL_ERROR>= g_log_level) THEN
111359 trace
111360 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
111361 ,p_level => C_LEVEL_ERROR
111362 ,p_module => l_log_module);
111363 END IF;
111364 END IF;
111365 END IF;
111366 --
111367 --
111368 ------------------------------------------------------------------------------------------------
111369 -- 4219869 Business Flow
111373 XLA_AE_LINES_PKG.ValidateCurrentLine;
111370 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
111371 -- Prior Entry. Currently, the following code is always generated.
111372 ------------------------------------------------------------------------------------------------
111374
111375 ------------------------------------------------------------------------------------
111376 -- 4219869 Business Flow
111377 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
111378 ------------------------------------------------------------------------------------
111379 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
111380
111381 ----------------------------------------------------------------------------------
111382 -- 4219869 Business Flow
111383 -- Update journal entry status -- Need to generate this within IF <condition>
111384 ----------------------------------------------------------------------------------
111385 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
111386 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
111387 ,p_balance_type_code => l_balance_type_code
111388 );
111389
111390 -------------------------------------------------------------------------------------------
111391 -- 4262811 - Generate the Accrual Reversal lines
111392 -------------------------------------------------------------------------------------------
111393 BEGIN
111394 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
111395 (g_array_event(p_event_id).array_value_num('header_index'));
111396 IF l_acc_rev_flag IS NULL THEN
111397 l_acc_rev_flag := 'N';
111398 END IF;
111399 EXCEPTION
111400 WHEN OTHERS THEN
111401 l_acc_rev_flag := 'N';
111402 END;
111403 --
111404 IF (l_acc_rev_flag = 'Y') THEN
111405
111406 -- 4645092 ------------------------------------------------------------------------------
111407 -- To allow MPA report to determine if it should generate report process
111408 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
111409 ------------------------------------------------------------------------------------------
111410
111411 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
111412 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
111413 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
111414 -- call ADRs
111415 -- Bug 4922099
111416 --
111417 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
111418 (NVL(l_actual_upg_option, 'N') = 'O') OR
111419 (NVL(l_enc_upg_option, 'N') = 'O')
111420 )
111421 THEN
111422 NULL;
111423 --
111424 --
111425
111426 l_ccid := AcctDerRule_33(
111427 p_application_id => p_application_id
111428 , p_ae_header_id => l_ae_header_id
111429 , p_source_30 => p_source_30
111430 , x_transaction_coa_id => l_adr_transaction_coa_id
111431 , x_accounting_coa_id => l_adr_accounting_coa_id
111432 , x_value_type_code => l_adr_value_type_code
111433 , p_side => 'NA'
111434 );
111435
111436 xla_ae_lines_pkg.set_ccid(
111437 p_code_combination_id => l_ccid
111438 , p_value_type_code => l_adr_value_type_code
111439 , p_transaction_coa_id => l_adr_transaction_coa_id
111440 , p_accounting_coa_id => l_adr_accounting_coa_id
111441 , p_adr_code => 'AP_INVOICE_DIST'
111442 , p_adr_type_code => 'S'
111443 , p_component_type => l_component_type
111444 , p_component_code => l_component_code
111445 , p_component_type_code => l_component_type_code
111446 , p_component_appl_id => l_component_appl_id
111447 , p_amb_context_code => l_amb_context_code
111448 , p_side => 'NA'
111449 );
111450
111451
111452 --
111453 --
111454 END IF;
111455
111456 --
111457 -- Update the line information that should be overwritten
111458 --
111459 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
111460 p_header_num => 1);
111461 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
111462
111463 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
111464
111465 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
111466 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
111467 END IF;
111468
111469 --
111470 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
111471 --
111472 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
111473 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
111474 ELSE
111475 ---------------------------------------------------------------------------------------------------
111476 -- 4262811a Switch Sign
111477 ---------------------------------------------------------------------------------------------------
111478 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
111479 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
111483 -- 5132302
111480 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
111481 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
111482 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
111484 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
111485 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
111486
111487 END IF;
111488
111489 -- 4955764
111490 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
111491 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
111492
111493
111494 XLA_AE_LINES_PKG.ValidateCurrentLine;
111495 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
111496
111497 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
111498 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
111499 ,p_balance_type_code => l_balance_type_code);
111500
111501 END IF;
111502
111503 -----------------------------------------------------------------------------------------
111504 -- 4262811 Multiperiod Accounting
111505 -----------------------------------------------------------------------------------------
111506 -- No MPA option is assigned.
111507
111508
111509 END IF;
111510 END IF;
111511 --
111512
111513 --
111514 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
111515 trace
111516 (p_msg => 'END of AcctLineType_187'
111517 ,p_level => C_LEVEL_PROCEDURE
111518 ,p_module => l_log_module);
111519 END IF;
111520 --
111521 EXCEPTION
111522 WHEN xla_exceptions_pkg.application_exception THEN
111523 RAISE;
111524 WHEN OTHERS THEN
111525 xla_exceptions_pkg.raise_message
111526 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_187');
111527 END AcctLineType_187;
111528 --
111529
111530 ---------------------------------------
111531 --
111532 -- PRIVATE FUNCTION
111533 -- AcctLineType_188
111534 --
111535 ---------------------------------------
111536 PROCEDURE AcctLineType_188 (
111537 p_application_id IN NUMBER
111538 ,p_event_id IN NUMBER
111539 ,p_calculate_acctd_flag IN VARCHAR2
111540 ,p_calculate_g_l_flag IN VARCHAR2
111541 ,p_actual_flag IN OUT VARCHAR2
111542 ,p_balance_type_code OUT VARCHAR2
111543 ,p_gain_or_loss_ref OUT VARCHAR2
111544
111545 --Invoice Distribution Description
111546 , p_source_1 IN VARCHAR2
111547 --Invoice Distribution Ledger Amount
111548 , p_source_21 IN NUMBER
111549 --Invoice Distribution Account
111550 , p_source_30 IN NUMBER
111551 --Invoice Distribution Type
111552 , p_source_33 IN VARCHAR2
111553 , p_source_33_meaning IN VARCHAR2
111554 --Accounting Reversal Indicator
111555 , p_source_53 IN VARCHAR2
111556 --Distribution Link Type
111557 , p_source_55 IN VARCHAR2
111558 --Allocation to Main Distribution Identifier
111559 , p_source_57 IN NUMBER
111560 --Invoice Identifier
111561 , p_source_58 IN NUMBER
111562 --Invoice Distribution Identifier
111563 , p_source_64 IN NUMBER
111564 --Payables Encumbrance Upgrade Credit Account
111565 , p_source_65 IN NUMBER
111566 --Payables Encumbrance Upgrade Credit Amount
111567 , p_source_66 IN NUMBER
111568 --Invoice Currency Code
111569 , p_source_67 IN VARCHAR2
111570 --Payables Encumbrance Upgrade Credit Base Amount
111571 , p_source_68 IN NUMBER
111572 --Payables Encumbrance Upgrade Debit Account
111573 , p_source_69 IN NUMBER
111574 --Payables Encumbrance Upgrade Debit Amount
111575 , p_source_70 IN NUMBER
111576 --Payables Encumbrance Upgrade Debit Base Amount
111577 , p_source_71 IN NUMBER
111578 --Payables Encumbrance Upgrade Option
111579 , p_source_72 IN VARCHAR2
111580 --Invoice Distribution Amount
111581 , p_source_73 IN NUMBER
111582 --Deferred Accounting End Date
111583 , p_source_77 IN DATE
111584 --Deferred Accounting Option
111585 , p_source_78 IN VARCHAR2
111586 --Deferred Accounting Start Date
111587 , p_source_79 IN DATE
111588 --Override Accounted Amount Indicator
111589 , p_source_80 IN VARCHAR2
111590 , p_source_80_meaning IN VARCHAR2
111591 --Invoice Supplier Identifier
111592 , p_source_81 IN NUMBER
111593 --Invoice Supplier Site Identifier
111594 , p_source_82 IN NUMBER
111595 --Third Party Type
111596 , p_source_83 IN VARCHAR2
111597 --Parent Reversal Identifier
111598 , p_source_84 IN NUMBER
111599 --Invoice Distribution Tax Line Identifier
111600 , p_source_86 IN NUMBER
111601 --Invoice Distribution Tax Distribution Identifier from Tax
111602 , p_source_87 IN NUMBER
111603 --Invoice Distribution Summary Tax Line Identifier
111604 , p_source_88 IN NUMBER
111605 --Payables Upgrade Credit Encumbrance Type Identifier
111606 , p_source_89 IN NUMBER
111607 --Payables Upgrade Debit Encumbrance Type Identifier
111608 , p_source_90 IN NUMBER
111609 --Business Flow Accounts Payable Application Identifier
111613 --Business Flow Invoice Entity Code
111610 , p_source_91 IN NUMBER
111611 --Business Flow Invoice Distribution Type
111612 , p_source_92 IN VARCHAR2
111614 , p_source_93 IN VARCHAR2
111615 --Business Flow Invoice Distribution Identifier
111616 , p_source_94 IN NUMBER
111617 --Business Flow Invoice Identifier
111618 , p_source_95 IN NUMBER
111619 --Self-Assessed Tax Flag
111620 , p_source_142 IN VARCHAR2
111621 , p_source_142_meaning IN VARCHAR2
111622 --Invoice Exchange Date
111623 , p_source_143 IN DATE
111624 --Invoice Exchange Rate
111625 , p_source_144 IN NUMBER
111626 --Invoice Exchange Rate Type
111627 , p_source_145 IN VARCHAR2
111628 )
111629 IS
111630
111631 l_component_type VARCHAR2(80);
111632 l_component_code VARCHAR2(30);
111633 l_component_type_code VARCHAR2(1);
111634 l_component_appl_id INTEGER;
111635 l_amb_context_code VARCHAR2(30);
111636 l_entity_code VARCHAR2(30);
111637 l_event_class_code VARCHAR2(30);
111638 l_ae_header_id NUMBER;
111639 l_event_type_code VARCHAR2(30);
111640 l_line_definition_code VARCHAR2(30);
111641 l_line_definition_owner_code VARCHAR2(1);
111642 --
111643 -- adr variables
111644 l_segment VARCHAR2(30);
111645 l_ccid NUMBER;
111646 l_adr_transaction_coa_id NUMBER;
111647 l_adr_accounting_coa_id NUMBER;
111648 l_adr_flexfield_segment_code VARCHAR2(30);
111649 l_adr_flex_value_set_id NUMBER;
111650 l_adr_value_type_code VARCHAR2(30);
111651 l_adr_value_combination_id NUMBER;
111652 l_adr_value_segment_code VARCHAR2(30);
111653
111654 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
111655 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
111656 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
111657 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
111658
111659 -- 4262811 Variables ------------------------------------------------------------------------------------------
111660 l_entered_amt_idx NUMBER;
111661 l_accted_amt_idx NUMBER;
111662 l_acc_rev_flag VARCHAR2(1);
111663 l_accrual_line_num NUMBER;
111664 l_tmp_amt NUMBER;
111665 l_acc_rev_natural_side_code VARCHAR2(1);
111666
111667 l_num_entries NUMBER;
111668 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
111669 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
111670 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
111671 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
111672 l_recog_line_1 NUMBER;
111673 l_recog_line_2 NUMBER;
111674
111675 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
111676 l_bflow_applied_to_amt NUMBER; -- 5132302
111677 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
111678
111679 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
111680
111681 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
111682 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
111683
111684 ---------------------------------------------------------------------------------------------------------------
111685
111686
111687 --
111688 -- bulk performance
111689 --
111690 l_balance_type_code VARCHAR2(1);
111691 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
111692 l_log_module VARCHAR2(240);
111693
111694 --
111695 -- Upgrade strategy
111696 --
111697 l_actual_upg_option VARCHAR2(1);
111698 l_enc_upg_option VARCHAR2(1);
111699
111700 --
111701 BEGIN
111702 --
111703 IF g_log_enabled THEN
111704 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_188';
111705 END IF;
111706 --
111707 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
111708
111709 trace
111710 (p_msg => 'BEGIN of AcctLineType_188'
111711 ,p_level => C_LEVEL_PROCEDURE
111712 ,p_module => l_log_module);
111713
111714 END IF;
111715 --
111716 l_component_type := 'AMB_JLT';
111717 l_component_code := 'AP_RECOV_TAX_DM';
111718 l_component_type_code := 'S';
111719 l_component_appl_id := 200;
111720 l_amb_context_code := 'DEFAULT';
111721 l_entity_code := 'AP_INVOICES';
111722 l_event_class_code := 'DEBIT MEMOS';
111723 l_event_type_code := 'DEBIT MEMOS_ALL';
111724 l_line_definition_owner_code := 'S';
111725 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
111726 --
111727 l_balance_type_code := 'A';
111728 l_segment := NULL;
111729 l_ccid := NULL;
111730 l_adr_transaction_coa_id := NULL;
111731 l_adr_accounting_coa_id := NULL;
111732 l_adr_flexfield_segment_code := NULL;
111733 l_adr_flex_value_set_id := NULL;
111734 l_adr_value_type_code := NULL;
111735 l_adr_value_combination_id := NULL;
111736 l_adr_value_segment_code := NULL;
111737
111738 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
111742
111739 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
111740 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
111741 l_budgetary_control_flag := 'N';
111743 l_bflow_applied_to_amt_idx := NULL; -- 5132302
111744 l_bflow_applied_to_amt := NULL; -- 5132302
111745 l_entered_amt_idx := NULL; -- 4262811
111746 l_accted_amt_idx := NULL; -- 4262811
111747 l_acc_rev_flag := NULL; -- 4262811
111748 l_accrual_line_num := NULL; -- 4262811
111749 l_tmp_amt := NULL; -- 4262811
111750 --
111751
111752 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
111753 l_balance_type_code <> 'B' THEN
111754 IF NVL(p_source_33,'
111755 ') = 'REC_TAX' AND
111756 NVL(p_source_142,'
111757 ') <> 'Y'
111758 THEN
111759
111760 --
111761 XLA_AE_LINES_PKG.SetNewLine;
111762
111763 p_balance_type_code := l_balance_type_code;
111764 -- set the flag so later we will know whether the gain loss line needs to be created
111765
111766 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
111767 p_actual_flag :='A';
111768 END IF;
111769
111770 --
111771 -- bulk performance
111772 --
111773 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
111774 p_header_num => 0); -- 4262811
111775 --
111776 -- set accounting line options
111777 --
111778 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
111779 p_natural_side_code => 'D'
111780 , p_gain_or_loss_flag => 'N'
111781 , p_gl_transfer_mode_code => 'S'
111782 , p_acct_entry_type_code => 'A'
111783 , p_switch_side_flag => 'Y'
111784 , p_merge_duplicate_code => 'A'
111785 );
111786 --
111787 l_acc_rev_natural_side_code := 'C'; -- 4262811
111788 --
111789 --
111790 -- set accounting line type info
111791 --
111792 xla_ae_lines_pkg.SetAcctLineType
111793 (p_component_type => l_component_type
111794 ,p_event_type_code => l_event_type_code
111795 ,p_line_definition_owner_code => l_line_definition_owner_code
111796 ,p_line_definition_code => l_line_definition_code
111797 ,p_accounting_line_code => l_component_code
111798 ,p_accounting_line_type_code => l_component_type_code
111799 ,p_accounting_line_appl_id => l_component_appl_id
111800 ,p_amb_context_code => l_amb_context_code
111801 ,p_entity_code => l_entity_code
111802 ,p_event_class_code => l_event_class_code);
111803 --
111804 -- set accounting class
111805 --
111806 xla_ae_lines_pkg.SetAcctClass(
111807 p_accounting_class_code => 'RTAX'
111808 , p_ae_header_id => l_ae_header_id
111809 );
111810
111811 --
111812 -- set rounding class
111813 --
111814 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
111815 'RTAX';
111816
111817 --
111818 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
111819 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
111820 --
111821 -- bulk performance
111822 --
111823 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
111824
111825 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
111826 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
111827
111828 -- 4955764
111829 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
111830 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
111831
111832 -- 4458381 Public Sector Enh
111833
111834 --
111835 -- set accounting attributes for the line type
111836 --
111837 l_entered_amt_idx := 23;
111838 l_accted_amt_idx := 28;
111839 l_bflow_applied_to_amt_idx := NULL; -- 5132302
111840 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
111841 l_rec_acct_attrs.array_char_value(1) := p_source_53;
111842 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
111843 l_rec_acct_attrs.array_num_value(2) :=
111844 xla_ae_sources_pkg.GetSystemSourceNum(
111845 p_source_code => 'XLA_EVENT_APPL_ID'
111846 , p_source_type_code => 'Y'
111847 , p_source_application_id => 602
111848 );
111849 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
111850 l_rec_acct_attrs.array_char_value(3) := p_source_55;
111851 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
111852 l_rec_acct_attrs.array_char_value(4) :=
111853 xla_ae_sources_pkg.GetSystemSourceChar(
111854 p_source_code => 'XLA_ENTITY_CODE'
111855 , p_source_type_code => 'Y'
111856 , p_source_application_id => 602
111857 );
111858 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
111859 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
111860 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
111861 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
111862 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
111866 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
111863 l_rec_acct_attrs.array_num_value(7) := p_source_91;
111864 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
111865 l_rec_acct_attrs.array_char_value(8) := p_source_92;
111867 l_rec_acct_attrs.array_char_value(9) := p_source_93;
111868 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
111869 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
111870 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
111871 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
111872 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
111873 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
111874 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
111875 l_rec_acct_attrs.array_char_value(13) := p_source_55;
111876 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
111877 l_rec_acct_attrs.array_num_value(14) := p_source_65;
111878 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
111879 l_rec_acct_attrs.array_num_value(15) := p_source_66;
111880 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
111881 l_rec_acct_attrs.array_char_value(16) := p_source_67;
111882 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
111883 l_rec_acct_attrs.array_num_value(17) := p_source_68;
111884 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
111885 l_rec_acct_attrs.array_num_value(18) := p_source_69;
111886 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
111887 l_rec_acct_attrs.array_num_value(19) := p_source_70;
111888 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
111889 l_rec_acct_attrs.array_char_value(20) := p_source_67;
111890 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
111891 l_rec_acct_attrs.array_num_value(21) := p_source_71;
111892 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
111893 l_rec_acct_attrs.array_char_value(22) := p_source_72;
111894 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
111895 l_rec_acct_attrs.array_num_value(23) := p_source_73;
111896 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
111897 l_rec_acct_attrs.array_char_value(24) := p_source_67;
111898 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
111899 l_rec_acct_attrs.array_date_value(25) := p_source_143;
111900 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
111901 l_rec_acct_attrs.array_num_value(26) := p_source_144;
111902 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
111903 l_rec_acct_attrs.array_char_value(27) := p_source_145;
111904 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
111905 l_rec_acct_attrs.array_num_value(28) := p_source_21;
111906 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
111907 l_rec_acct_attrs.array_date_value(29) := p_source_77;
111908 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
111909 l_rec_acct_attrs.array_char_value(30) := p_source_78;
111910 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
111911 l_rec_acct_attrs.array_date_value(31) := p_source_79;
111912 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
111913 l_rec_acct_attrs.array_char_value(32) := p_source_80;
111914 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
111915 l_rec_acct_attrs.array_num_value(33) := p_source_81;
111916 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
111917 l_rec_acct_attrs.array_num_value(34) := p_source_82;
111918 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
111919 l_rec_acct_attrs.array_char_value(35) := p_source_83;
111920 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
111921 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
111922 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
111923 l_rec_acct_attrs.array_char_value(37) := p_source_55;
111924 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
111925 l_rec_acct_attrs.array_num_value(38) := p_source_86;
111926 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
111927 l_rec_acct_attrs.array_num_value(39) := p_source_87;
111928 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
111929 l_rec_acct_attrs.array_num_value(40) := p_source_88;
111930 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
111931 l_rec_acct_attrs.array_num_value(41) := p_source_89;
111932 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
111933 l_rec_acct_attrs.array_num_value(42) := p_source_90;
111934
111935 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
111936 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
111937
111938 ---------------------------------------------------------------------------------------------------------------
111939 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
111940 ---------------------------------------------------------------------------------------------------------------
111941 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
111942
111943 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
111944 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
111948 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
111945
111946 IF xla_accounting_cache_pkg.GetValueChar
111947 (p_source_code => 'LEDGER_CATEGORY_CODE'
111949 AND l_bflow_method_code = 'PRIOR_ENTRY'
111950 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
111951 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
111952 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
111953 )
111954 THEN
111955 xla_ae_lines_pkg.BflowUpgEntry
111956 (p_business_method_code => l_bflow_method_code
111957 ,p_business_class_code => l_bflow_class_code
111958 ,p_balance_type => l_balance_type_code);
111959 ELSE
111960 NULL;
111961 -- No business flow processing for business flow method of NONE.
111962 END IF;
111963
111964 --
111965 -- call analytical criteria
111966 --
111967
111968 --
111969 -- call description
111970 --
111971
111972 xla_ae_lines_pkg.SetLineDescription(
111973 p_ae_header_id => l_ae_header_id
111974 ,p_description => Description_1 (
111975 p_application_id => p_application_id
111976 , p_ae_header_id => l_ae_header_id
111977 , p_source_1 => p_source_1
111978 )
111979 );
111980
111981
111982 --
111983 -- call ADRs
111984 -- Bug 4922099
111985 --
111986 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
111987 (NVL(l_actual_upg_option, 'N') = 'O') OR
111988 (NVL(l_enc_upg_option, 'N') = 'O')
111989 )
111990 THEN
111991 NULL;
111992 --
111993 --
111994
111995 l_ccid := AcctDerRule_33(
111996 p_application_id => p_application_id
111997 , p_ae_header_id => l_ae_header_id
111998 , p_source_30 => p_source_30
111999 , x_transaction_coa_id => l_adr_transaction_coa_id
112000 , x_accounting_coa_id => l_adr_accounting_coa_id
112001 , x_value_type_code => l_adr_value_type_code
112002 , p_side => 'NA'
112003 );
112004
112005 xla_ae_lines_pkg.set_ccid(
112006 p_code_combination_id => l_ccid
112007 , p_value_type_code => l_adr_value_type_code
112008 , p_transaction_coa_id => l_adr_transaction_coa_id
112009 , p_accounting_coa_id => l_adr_accounting_coa_id
112010 , p_adr_code => 'AP_INVOICE_DIST'
112011 , p_adr_type_code => 'S'
112012 , p_component_type => l_component_type
112013 , p_component_code => l_component_code
112014 , p_component_type_code => l_component_type_code
112015 , p_component_appl_id => l_component_appl_id
112016 , p_amb_context_code => l_amb_context_code
112017 , p_side => 'NA'
112018 );
112019
112020
112021 --
112022 --
112023 END IF;
112024 --
112025 -- Bug 4922099
112026 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
112027 (NVL(l_enc_upg_option, 'N') = 'O')
112028 ) AND
112029 (l_bflow_method_code = 'PRIOR_ENTRY')
112030 )
112031 THEN
112032 IF
112033 --
112034 1 = 2
112035 --
112036 THEN
112037 xla_accounting_err_pkg.build_message
112038 (p_appli_s_name => 'XLA'
112039 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
112040 ,p_token_1 => 'LINE_NUMBER'
112041 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
112042 ,p_token_2 => 'LINE_TYPE_NAME'
112043 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
112044 l_component_type
112045 ,l_component_code
112046 ,l_component_type_code
112047 ,l_component_appl_id
112048 ,l_amb_context_code
112049 ,l_entity_code
112050 ,l_event_class_code
112051 )
112052 ,p_token_3 => 'OWNER'
112053 ,p_value_3 => xla_lookups_pkg.get_meaning(
112054 p_lookup_type => 'XLA_OWNER_TYPE'
112055 ,p_lookup_code => l_component_type_code
112056 )
112057 ,p_token_4 => 'PRODUCT_NAME'
112058 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
112059 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
112060 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
112064
112061 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
112062 ,p_ae_header_id => NULL
112063 );
112065 IF (C_LEVEL_ERROR>= g_log_level) THEN
112066 trace
112067 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
112068 ,p_level => C_LEVEL_ERROR
112069 ,p_module => l_log_module);
112070 END IF;
112071 END IF;
112072 END IF;
112073 --
112074 --
112075 ------------------------------------------------------------------------------------------------
112076 -- 4219869 Business Flow
112077 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
112078 -- Prior Entry. Currently, the following code is always generated.
112079 ------------------------------------------------------------------------------------------------
112080 XLA_AE_LINES_PKG.ValidateCurrentLine;
112081
112082 ------------------------------------------------------------------------------------
112083 -- 4219869 Business Flow
112084 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
112085 ------------------------------------------------------------------------------------
112086 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
112087
112088 ----------------------------------------------------------------------------------
112089 -- 4219869 Business Flow
112090 -- Update journal entry status -- Need to generate this within IF <condition>
112091 ----------------------------------------------------------------------------------
112092 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
112093 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
112094 ,p_balance_type_code => l_balance_type_code
112095 );
112096
112097 -------------------------------------------------------------------------------------------
112098 -- 4262811 - Generate the Accrual Reversal lines
112099 -------------------------------------------------------------------------------------------
112100 BEGIN
112101 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
112102 (g_array_event(p_event_id).array_value_num('header_index'));
112103 IF l_acc_rev_flag IS NULL THEN
112104 l_acc_rev_flag := 'N';
112105 END IF;
112106 EXCEPTION
112107 WHEN OTHERS THEN
112108 l_acc_rev_flag := 'N';
112109 END;
112110 --
112111 IF (l_acc_rev_flag = 'Y') THEN
112112
112113 -- 4645092 ------------------------------------------------------------------------------
112114 -- To allow MPA report to determine if it should generate report process
112115 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
112116 ------------------------------------------------------------------------------------------
112117
112118 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
112119 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
112120 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
112121 -- call ADRs
112122 -- Bug 4922099
112123 --
112124 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
112125 (NVL(l_actual_upg_option, 'N') = 'O') OR
112126 (NVL(l_enc_upg_option, 'N') = 'O')
112127 )
112128 THEN
112129 NULL;
112130 --
112131 --
112132
112133 l_ccid := AcctDerRule_33(
112134 p_application_id => p_application_id
112135 , p_ae_header_id => l_ae_header_id
112136 , p_source_30 => p_source_30
112137 , x_transaction_coa_id => l_adr_transaction_coa_id
112138 , x_accounting_coa_id => l_adr_accounting_coa_id
112139 , x_value_type_code => l_adr_value_type_code
112140 , p_side => 'NA'
112141 );
112142
112143 xla_ae_lines_pkg.set_ccid(
112144 p_code_combination_id => l_ccid
112145 , p_value_type_code => l_adr_value_type_code
112146 , p_transaction_coa_id => l_adr_transaction_coa_id
112147 , p_accounting_coa_id => l_adr_accounting_coa_id
112148 , p_adr_code => 'AP_INVOICE_DIST'
112149 , p_adr_type_code => 'S'
112150 , p_component_type => l_component_type
112151 , p_component_code => l_component_code
112152 , p_component_type_code => l_component_type_code
112153 , p_component_appl_id => l_component_appl_id
112154 , p_amb_context_code => l_amb_context_code
112155 , p_side => 'NA'
112156 );
112157
112158
112159 --
112160 --
112161 END IF;
112162
112163 --
112164 -- Update the line information that should be overwritten
112165 --
112166 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
112167 p_header_num => 1);
112168 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
112169
112170 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
112171
112172 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
112176 --
112173 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
112174 END IF;
112175
112177 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
112178 --
112179 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
112180 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
112181 ELSE
112182 ---------------------------------------------------------------------------------------------------
112183 -- 4262811a Switch Sign
112184 ---------------------------------------------------------------------------------------------------
112185 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
112186 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
112187 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
112188 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
112189 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
112190 -- 5132302
112191 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
112192 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
112193
112194 END IF;
112195
112196 -- 4955764
112197 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
112198 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
112199
112200
112201 XLA_AE_LINES_PKG.ValidateCurrentLine;
112202 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
112203
112204 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
112205 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
112206 ,p_balance_type_code => l_balance_type_code);
112207
112208 END IF;
112209
112210 -----------------------------------------------------------------------------------------
112211 -- 4262811 Multiperiod Accounting
112212 -----------------------------------------------------------------------------------------
112213 -- No MPA option is assigned.
112214
112215
112216 END IF;
112217 END IF;
112218 --
112219
112220 --
112221 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
112222 trace
112223 (p_msg => 'END of AcctLineType_188'
112224 ,p_level => C_LEVEL_PROCEDURE
112225 ,p_module => l_log_module);
112226 END IF;
112227 --
112228 EXCEPTION
112229 WHEN xla_exceptions_pkg.application_exception THEN
112230 RAISE;
112231 WHEN OTHERS THEN
112232 xla_exceptions_pkg.raise_message
112233 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_188');
112234 END AcctLineType_188;
112235 --
112236
112237 ---------------------------------------
112238 --
112239 -- PRIVATE FUNCTION
112240 -- AcctLineType_189
112241 --
112242 ---------------------------------------
112243 PROCEDURE AcctLineType_189 (
112244 p_application_id IN NUMBER
112245 ,p_event_id IN NUMBER
112246 ,p_calculate_acctd_flag IN VARCHAR2
112247 ,p_calculate_g_l_flag IN VARCHAR2
112248 ,p_actual_flag IN OUT VARCHAR2
112249 ,p_balance_type_code OUT VARCHAR2
112250 ,p_gain_or_loss_ref OUT VARCHAR2
112251
112252 --Invoice Distribution Description
112253 , p_source_1 IN VARCHAR2
112254 --Invoice Distribution Ledger Amount
112255 , p_source_21 IN NUMBER
112256 --Invoice Distribution Account
112257 , p_source_30 IN NUMBER
112258 --Invoice Distribution Type
112259 , p_source_33 IN VARCHAR2
112260 , p_source_33_meaning IN VARCHAR2
112261 --Accounting Reversal Indicator
112262 , p_source_53 IN VARCHAR2
112263 --Distribution Link Type
112264 , p_source_55 IN VARCHAR2
112265 --Allocation to Main Distribution Identifier
112266 , p_source_57 IN NUMBER
112267 --Invoice Identifier
112268 , p_source_58 IN NUMBER
112269 --Invoice Distribution Identifier
112270 , p_source_64 IN NUMBER
112271 --Payables Encumbrance Upgrade Credit Account
112272 , p_source_65 IN NUMBER
112273 --Payables Encumbrance Upgrade Credit Amount
112274 , p_source_66 IN NUMBER
112275 --Invoice Currency Code
112276 , p_source_67 IN VARCHAR2
112277 --Payables Encumbrance Upgrade Credit Base Amount
112278 , p_source_68 IN NUMBER
112279 --Payables Encumbrance Upgrade Debit Account
112280 , p_source_69 IN NUMBER
112281 --Payables Encumbrance Upgrade Debit Amount
112282 , p_source_70 IN NUMBER
112283 --Payables Encumbrance Upgrade Debit Base Amount
112284 , p_source_71 IN NUMBER
112285 --Payables Encumbrance Upgrade Option
112286 , p_source_72 IN VARCHAR2
112287 --Invoice Distribution Amount
112288 , p_source_73 IN NUMBER
112289 --Deferred Accounting End Date
112290 , p_source_77 IN DATE
112291 --Deferred Accounting Option
112292 , p_source_78 IN VARCHAR2
112293 --Deferred Accounting Start Date
112294 , p_source_79 IN DATE
112298 --Invoice Supplier Identifier
112295 --Override Accounted Amount Indicator
112296 , p_source_80 IN VARCHAR2
112297 , p_source_80_meaning IN VARCHAR2
112299 , p_source_81 IN NUMBER
112300 --Invoice Supplier Site Identifier
112301 , p_source_82 IN NUMBER
112302 --Third Party Type
112303 , p_source_83 IN VARCHAR2
112304 --Parent Reversal Identifier
112305 , p_source_84 IN NUMBER
112306 --Invoice Distribution Statistical Amount
112307 , p_source_85 IN NUMBER
112308 --Invoice Distribution Tax Line Identifier
112309 , p_source_86 IN NUMBER
112310 --Invoice Distribution Tax Distribution Identifier from Tax
112311 , p_source_87 IN NUMBER
112312 --Invoice Distribution Summary Tax Line Identifier
112313 , p_source_88 IN NUMBER
112314 --Payables Upgrade Credit Encumbrance Type Identifier
112315 , p_source_89 IN NUMBER
112316 --Payables Upgrade Debit Encumbrance Type Identifier
112317 , p_source_90 IN NUMBER
112318 --Business Flow Accounts Payable Application Identifier
112319 , p_source_91 IN NUMBER
112320 --Business Flow Invoice Distribution Type
112321 , p_source_92 IN VARCHAR2
112322 --Business Flow Invoice Entity Code
112323 , p_source_93 IN VARCHAR2
112324 --Business Flow Invoice Distribution Identifier
112325 , p_source_94 IN NUMBER
112326 --Business Flow Invoice Identifier
112327 , p_source_95 IN NUMBER
112328 --Self-Assessed Tax Flag
112329 , p_source_142 IN VARCHAR2
112330 , p_source_142_meaning IN VARCHAR2
112331 --Invoice Exchange Date
112332 , p_source_143 IN DATE
112333 --Invoice Exchange Rate
112334 , p_source_144 IN NUMBER
112335 --Invoice Exchange Rate Type
112336 , p_source_145 IN VARCHAR2
112337 )
112338 IS
112339
112340 l_component_type VARCHAR2(80);
112341 l_component_code VARCHAR2(30);
112342 l_component_type_code VARCHAR2(1);
112343 l_component_appl_id INTEGER;
112344 l_amb_context_code VARCHAR2(30);
112345 l_entity_code VARCHAR2(30);
112346 l_event_class_code VARCHAR2(30);
112347 l_ae_header_id NUMBER;
112348 l_event_type_code VARCHAR2(30);
112349 l_line_definition_code VARCHAR2(30);
112350 l_line_definition_owner_code VARCHAR2(1);
112351 --
112352 -- adr variables
112353 l_segment VARCHAR2(30);
112354 l_ccid NUMBER;
112355 l_adr_transaction_coa_id NUMBER;
112356 l_adr_accounting_coa_id NUMBER;
112357 l_adr_flexfield_segment_code VARCHAR2(30);
112358 l_adr_flex_value_set_id NUMBER;
112359 l_adr_value_type_code VARCHAR2(30);
112360 l_adr_value_combination_id NUMBER;
112361 l_adr_value_segment_code VARCHAR2(30);
112362
112363 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
112364 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
112365 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
112366 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
112367
112368 -- 4262811 Variables ------------------------------------------------------------------------------------------
112369 l_entered_amt_idx NUMBER;
112370 l_accted_amt_idx NUMBER;
112371 l_acc_rev_flag VARCHAR2(1);
112372 l_accrual_line_num NUMBER;
112373 l_tmp_amt NUMBER;
112374 l_acc_rev_natural_side_code VARCHAR2(1);
112375
112376 l_num_entries NUMBER;
112377 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
112378 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
112379 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
112380 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
112381 l_recog_line_1 NUMBER;
112382 l_recog_line_2 NUMBER;
112383
112384 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
112385 l_bflow_applied_to_amt NUMBER; -- 5132302
112386 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
112387
112388 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
112389
112390 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
112391 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
112392
112393 ---------------------------------------------------------------------------------------------------------------
112394
112395
112396 --
112397 -- bulk performance
112398 --
112399 l_balance_type_code VARCHAR2(1);
112400 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
112401 l_log_module VARCHAR2(240);
112402
112403 --
112404 -- Upgrade strategy
112405 --
112406 l_actual_upg_option VARCHAR2(1);
112407 l_enc_upg_option VARCHAR2(1);
112408
112409 --
112410 BEGIN
112411 --
112412 IF g_log_enabled THEN
112413 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_189';
112414 END IF;
112415 --
112416 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
112417
112418 trace
112419 (p_msg => 'BEGIN of AcctLineType_189'
112420 ,p_level => C_LEVEL_PROCEDURE
112421 ,p_module => l_log_module);
112422
112423 END IF;
112424 --
112425 l_component_type := 'AMB_JLT';
112429 l_amb_context_code := 'DEFAULT';
112426 l_component_code := 'AP_RECOV_TAX_INV';
112427 l_component_type_code := 'S';
112428 l_component_appl_id := 200;
112430 l_entity_code := 'AP_INVOICES';
112431 l_event_class_code := 'INVOICES';
112432 l_event_type_code := 'INVOICES_ALL';
112433 l_line_definition_owner_code := 'S';
112434 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
112435 --
112436 l_balance_type_code := 'A';
112437 l_segment := NULL;
112438 l_ccid := NULL;
112439 l_adr_transaction_coa_id := NULL;
112440 l_adr_accounting_coa_id := NULL;
112441 l_adr_flexfield_segment_code := NULL;
112442 l_adr_flex_value_set_id := NULL;
112443 l_adr_value_type_code := NULL;
112444 l_adr_value_combination_id := NULL;
112445 l_adr_value_segment_code := NULL;
112446
112447 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
112448 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
112449 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
112450 l_budgetary_control_flag := 'N';
112451
112452 l_bflow_applied_to_amt_idx := NULL; -- 5132302
112453 l_bflow_applied_to_amt := NULL; -- 5132302
112454 l_entered_amt_idx := NULL; -- 4262811
112455 l_accted_amt_idx := NULL; -- 4262811
112456 l_acc_rev_flag := NULL; -- 4262811
112457 l_accrual_line_num := NULL; -- 4262811
112458 l_tmp_amt := NULL; -- 4262811
112459 --
112460
112461 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
112462 l_balance_type_code <> 'B' THEN
112463 IF NVL(p_source_33,'
112464 ') = 'REC_TAX' AND
112465 NVL(p_source_142,'
112466 ') <> 'Y'
112467 THEN
112468
112469 --
112470 XLA_AE_LINES_PKG.SetNewLine;
112471
112472 p_balance_type_code := l_balance_type_code;
112473 -- set the flag so later we will know whether the gain loss line needs to be created
112474
112475 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
112476 p_actual_flag :='A';
112477 END IF;
112478
112479 --
112480 -- bulk performance
112481 --
112482 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
112483 p_header_num => 0); -- 4262811
112484 --
112485 -- set accounting line options
112486 --
112487 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
112488 p_natural_side_code => 'D'
112489 , p_gain_or_loss_flag => 'N'
112490 , p_gl_transfer_mode_code => 'S'
112491 , p_acct_entry_type_code => 'A'
112492 , p_switch_side_flag => 'Y'
112493 , p_merge_duplicate_code => 'A'
112494 );
112495 --
112496 l_acc_rev_natural_side_code := 'C'; -- 4262811
112497 --
112498 --
112499 -- set accounting line type info
112500 --
112501 xla_ae_lines_pkg.SetAcctLineType
112502 (p_component_type => l_component_type
112503 ,p_event_type_code => l_event_type_code
112504 ,p_line_definition_owner_code => l_line_definition_owner_code
112505 ,p_line_definition_code => l_line_definition_code
112506 ,p_accounting_line_code => l_component_code
112507 ,p_accounting_line_type_code => l_component_type_code
112508 ,p_accounting_line_appl_id => l_component_appl_id
112509 ,p_amb_context_code => l_amb_context_code
112510 ,p_entity_code => l_entity_code
112511 ,p_event_class_code => l_event_class_code);
112512 --
112513 -- set accounting class
112514 --
112515 xla_ae_lines_pkg.SetAcctClass(
112516 p_accounting_class_code => 'RTAX'
112517 , p_ae_header_id => l_ae_header_id
112518 );
112519
112520 --
112521 -- set rounding class
112522 --
112523 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
112524 'RTAX';
112525
112526 --
112527 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
112528 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
112529 --
112530 -- bulk performance
112531 --
112532 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
112533
112534 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
112535 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
112536
112537 -- 4955764
112538 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
112539 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
112540
112541 -- 4458381 Public Sector Enh
112542
112543 --
112544 -- set accounting attributes for the line type
112545 --
112546 l_entered_amt_idx := 24;
112547 l_accted_amt_idx := 29;
112548 l_bflow_applied_to_amt_idx := 7; -- 5132302
112549 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
112550 l_rec_acct_attrs.array_char_value(1) := p_source_53;
112551 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
112555 , p_source_type_code => 'Y'
112552 l_rec_acct_attrs.array_num_value(2) :=
112553 xla_ae_sources_pkg.GetSystemSourceNum(
112554 p_source_code => 'XLA_EVENT_APPL_ID'
112556 , p_source_application_id => 602
112557 );
112558 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
112559 l_rec_acct_attrs.array_char_value(3) := p_source_55;
112560 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
112561 l_rec_acct_attrs.array_char_value(4) :=
112562 xla_ae_sources_pkg.GetSystemSourceChar(
112563 p_source_code => 'XLA_ENTITY_CODE'
112564 , p_source_type_code => 'Y'
112565 , p_source_application_id => 602
112566 );
112567 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
112568 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
112569 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
112570 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
112571 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
112572 l_rec_acct_attrs.array_num_value(7) := p_source_73;
112573 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
112574 l_rec_acct_attrs.array_num_value(8) := p_source_91;
112575 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
112576 l_rec_acct_attrs.array_char_value(9) := p_source_92;
112577 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
112578 l_rec_acct_attrs.array_char_value(10) := p_source_93;
112579 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
112580 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
112581 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
112582 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_95);
112583 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
112584 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_64);
112585 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
112586 l_rec_acct_attrs.array_char_value(14) := p_source_55;
112587 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
112588 l_rec_acct_attrs.array_num_value(15) := p_source_65;
112589 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
112590 l_rec_acct_attrs.array_num_value(16) := p_source_66;
112591 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
112592 l_rec_acct_attrs.array_char_value(17) := p_source_67;
112593 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
112594 l_rec_acct_attrs.array_num_value(18) := p_source_68;
112595 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
112596 l_rec_acct_attrs.array_num_value(19) := p_source_69;
112597 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
112598 l_rec_acct_attrs.array_num_value(20) := p_source_70;
112599 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
112600 l_rec_acct_attrs.array_char_value(21) := p_source_67;
112601 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
112602 l_rec_acct_attrs.array_num_value(22) := p_source_71;
112603 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
112604 l_rec_acct_attrs.array_char_value(23) := p_source_72;
112605 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
112606 l_rec_acct_attrs.array_num_value(24) := p_source_73;
112607 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
112608 l_rec_acct_attrs.array_char_value(25) := p_source_67;
112609 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
112610 l_rec_acct_attrs.array_date_value(26) := p_source_143;
112611 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
112612 l_rec_acct_attrs.array_num_value(27) := p_source_144;
112613 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
112614 l_rec_acct_attrs.array_char_value(28) := p_source_145;
112615 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
112616 l_rec_acct_attrs.array_num_value(29) := p_source_21;
112617 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
112618 l_rec_acct_attrs.array_date_value(30) := p_source_77;
112619 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
112620 l_rec_acct_attrs.array_char_value(31) := p_source_78;
112621 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
112622 l_rec_acct_attrs.array_date_value(32) := p_source_79;
112623 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
112624 l_rec_acct_attrs.array_char_value(33) := p_source_80;
112625 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
112626 l_rec_acct_attrs.array_num_value(34) := p_source_81;
112627 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
112628 l_rec_acct_attrs.array_num_value(35) := p_source_82;
112629 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
112630 l_rec_acct_attrs.array_char_value(36) := p_source_83;
112631 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
112632 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_84);
112633 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
112634 l_rec_acct_attrs.array_char_value(38) := p_source_55;
112635 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
112636 l_rec_acct_attrs.array_num_value(39) := p_source_85;
112637 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
112638 l_rec_acct_attrs.array_num_value(40) := p_source_86;
112639 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
112640 l_rec_acct_attrs.array_num_value(41) := p_source_87;
112644 l_rec_acct_attrs.array_num_value(43) := p_source_89;
112641 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
112642 l_rec_acct_attrs.array_num_value(42) := p_source_88;
112643 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
112645 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
112646 l_rec_acct_attrs.array_num_value(44) := p_source_90;
112647
112648 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
112649 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
112650
112651 ---------------------------------------------------------------------------------------------------------------
112652 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
112653 ---------------------------------------------------------------------------------------------------------------
112654 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
112655
112656 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
112657 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
112658
112659 IF xla_accounting_cache_pkg.GetValueChar
112660 (p_source_code => 'LEDGER_CATEGORY_CODE'
112661 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
112662 AND l_bflow_method_code = 'PRIOR_ENTRY'
112663 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
112664 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
112665 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
112666 )
112667 THEN
112668 xla_ae_lines_pkg.BflowUpgEntry
112669 (p_business_method_code => l_bflow_method_code
112670 ,p_business_class_code => l_bflow_class_code
112671 ,p_balance_type => l_balance_type_code);
112672 ELSE
112673 NULL;
112674 -- No business flow processing for business flow method of NONE.
112675 END IF;
112676
112677 --
112678 -- call analytical criteria
112679 --
112680
112681 --
112682 -- call description
112683 --
112684
112685 xla_ae_lines_pkg.SetLineDescription(
112686 p_ae_header_id => l_ae_header_id
112687 ,p_description => Description_1 (
112688 p_application_id => p_application_id
112689 , p_ae_header_id => l_ae_header_id
112690 , p_source_1 => p_source_1
112691 )
112692 );
112693
112694
112695 --
112696 -- call ADRs
112697 -- Bug 4922099
112698 --
112699 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
112700 (NVL(l_actual_upg_option, 'N') = 'O') OR
112701 (NVL(l_enc_upg_option, 'N') = 'O')
112702 )
112703 THEN
112704 NULL;
112705 --
112706 --
112707
112708 l_ccid := AcctDerRule_33(
112709 p_application_id => p_application_id
112710 , p_ae_header_id => l_ae_header_id
112711 , p_source_30 => p_source_30
112712 , x_transaction_coa_id => l_adr_transaction_coa_id
112713 , x_accounting_coa_id => l_adr_accounting_coa_id
112714 , x_value_type_code => l_adr_value_type_code
112715 , p_side => 'NA'
112716 );
112717
112718 xla_ae_lines_pkg.set_ccid(
112719 p_code_combination_id => l_ccid
112720 , p_value_type_code => l_adr_value_type_code
112721 , p_transaction_coa_id => l_adr_transaction_coa_id
112722 , p_accounting_coa_id => l_adr_accounting_coa_id
112723 , p_adr_code => 'AP_INVOICE_DIST'
112724 , p_adr_type_code => 'S'
112725 , p_component_type => l_component_type
112726 , p_component_code => l_component_code
112727 , p_component_type_code => l_component_type_code
112728 , p_component_appl_id => l_component_appl_id
112729 , p_amb_context_code => l_amb_context_code
112730 , p_side => 'NA'
112731 );
112732
112733
112734 --
112735 --
112736 END IF;
112737 --
112738 -- Bug 4922099
112739 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
112740 (NVL(l_enc_upg_option, 'N') = 'O')
112741 ) AND
112742 (l_bflow_method_code = 'PRIOR_ENTRY')
112743 )
112744 THEN
112745 IF
112746 --
112747 1 = 2
112748 --
112749 THEN
112750 xla_accounting_err_pkg.build_message
112751 (p_appli_s_name => 'XLA'
112752 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
112753 ,p_token_1 => 'LINE_NUMBER'
112754 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
112755 ,p_token_2 => 'LINE_TYPE_NAME'
112756 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
112757 l_component_type
112758 ,l_component_code
112759 ,l_component_type_code
112763 ,l_event_class_code
112760 ,l_component_appl_id
112761 ,l_amb_context_code
112762 ,l_entity_code
112764 )
112765 ,p_token_3 => 'OWNER'
112766 ,p_value_3 => xla_lookups_pkg.get_meaning(
112767 p_lookup_type => 'XLA_OWNER_TYPE'
112768 ,p_lookup_code => l_component_type_code
112769 )
112770 ,p_token_4 => 'PRODUCT_NAME'
112771 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
112772 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
112773 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
112774 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
112775 ,p_ae_header_id => NULL
112776 );
112777
112778 IF (C_LEVEL_ERROR>= g_log_level) THEN
112779 trace
112780 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
112781 ,p_level => C_LEVEL_ERROR
112782 ,p_module => l_log_module);
112783 END IF;
112784 END IF;
112785 END IF;
112786 --
112787 --
112788 ------------------------------------------------------------------------------------------------
112789 -- 4219869 Business Flow
112790 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
112791 -- Prior Entry. Currently, the following code is always generated.
112792 ------------------------------------------------------------------------------------------------
112793 XLA_AE_LINES_PKG.ValidateCurrentLine;
112794
112795 ------------------------------------------------------------------------------------
112796 -- 4219869 Business Flow
112797 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
112798 ------------------------------------------------------------------------------------
112799 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
112800
112801 ----------------------------------------------------------------------------------
112802 -- 4219869 Business Flow
112803 -- Update journal entry status -- Need to generate this within IF <condition>
112804 ----------------------------------------------------------------------------------
112805 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
112806 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
112807 ,p_balance_type_code => l_balance_type_code
112808 );
112809
112810 -------------------------------------------------------------------------------------------
112811 -- 4262811 - Generate the Accrual Reversal lines
112812 -------------------------------------------------------------------------------------------
112813 BEGIN
112814 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
112815 (g_array_event(p_event_id).array_value_num('header_index'));
112816 IF l_acc_rev_flag IS NULL THEN
112817 l_acc_rev_flag := 'N';
112818 END IF;
112819 EXCEPTION
112820 WHEN OTHERS THEN
112821 l_acc_rev_flag := 'N';
112822 END;
112823 --
112824 IF (l_acc_rev_flag = 'Y') THEN
112825
112826 -- 4645092 ------------------------------------------------------------------------------
112827 -- To allow MPA report to determine if it should generate report process
112828 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
112829 ------------------------------------------------------------------------------------------
112830
112831 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
112832 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
112833 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
112834 -- call ADRs
112835 -- Bug 4922099
112836 --
112837 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
112838 (NVL(l_actual_upg_option, 'N') = 'O') OR
112839 (NVL(l_enc_upg_option, 'N') = 'O')
112840 )
112841 THEN
112842 NULL;
112843 --
112844 --
112845
112846 l_ccid := AcctDerRule_33(
112847 p_application_id => p_application_id
112848 , p_ae_header_id => l_ae_header_id
112849 , p_source_30 => p_source_30
112850 , x_transaction_coa_id => l_adr_transaction_coa_id
112851 , x_accounting_coa_id => l_adr_accounting_coa_id
112852 , x_value_type_code => l_adr_value_type_code
112853 , p_side => 'NA'
112854 );
112855
112856 xla_ae_lines_pkg.set_ccid(
112857 p_code_combination_id => l_ccid
112858 , p_value_type_code => l_adr_value_type_code
112862 , p_adr_type_code => 'S'
112859 , p_transaction_coa_id => l_adr_transaction_coa_id
112860 , p_accounting_coa_id => l_adr_accounting_coa_id
112861 , p_adr_code => 'AP_INVOICE_DIST'
112863 , p_component_type => l_component_type
112864 , p_component_code => l_component_code
112865 , p_component_type_code => l_component_type_code
112866 , p_component_appl_id => l_component_appl_id
112867 , p_amb_context_code => l_amb_context_code
112868 , p_side => 'NA'
112869 );
112870
112871
112872 --
112873 --
112874 END IF;
112875
112876 --
112877 -- Update the line information that should be overwritten
112878 --
112879 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
112880 p_header_num => 1);
112881 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
112882
112883 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
112884
112885 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
112886 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
112887 END IF;
112888
112889 --
112890 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
112891 --
112892 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
112893 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
112894 ELSE
112895 ---------------------------------------------------------------------------------------------------
112896 -- 4262811a Switch Sign
112897 ---------------------------------------------------------------------------------------------------
112898 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
112899 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
112900 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
112901 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
112902 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
112903 -- 5132302
112904 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
112905 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
112906
112907 END IF;
112908
112909 -- 4955764
112910 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
112911 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
112912
112913
112914 XLA_AE_LINES_PKG.ValidateCurrentLine;
112915 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
112916
112917 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
112918 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
112919 ,p_balance_type_code => l_balance_type_code);
112920
112921 END IF;
112922
112923 -----------------------------------------------------------------------------------------
112924 -- 4262811 Multiperiod Accounting
112925 -----------------------------------------------------------------------------------------
112926 -- No MPA option is assigned.
112927
112928
112929 END IF;
112930 END IF;
112931 --
112932
112933 --
112934 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
112935 trace
112936 (p_msg => 'END of AcctLineType_189'
112937 ,p_level => C_LEVEL_PROCEDURE
112938 ,p_module => l_log_module);
112939 END IF;
112940 --
112941 EXCEPTION
112942 WHEN xla_exceptions_pkg.application_exception THEN
112943 RAISE;
112944 WHEN OTHERS THEN
112945 xla_exceptions_pkg.raise_message
112946 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_189');
112947 END AcctLineType_189;
112948 --
112949
112950 ---------------------------------------
112951 --
112952 -- PRIVATE FUNCTION
112953 -- AcctLineType_190
112954 --
112955 ---------------------------------------
112956 PROCEDURE AcctLineType_190 (
112957 p_application_id IN NUMBER
112958 ,p_event_id IN NUMBER
112959 ,p_calculate_acctd_flag IN VARCHAR2
112960 ,p_calculate_g_l_flag IN VARCHAR2
112961 ,p_actual_flag IN OUT VARCHAR2
112962 ,p_balance_type_code OUT VARCHAR2
112963 ,p_gain_or_loss_ref OUT VARCHAR2
112964
112965 --Invoice Distribution Description
112966 , p_source_1 IN VARCHAR2
112967 --Invoice Distribution Ledger Amount
112968 , p_source_21 IN NUMBER
112969 --Invoice Distribution Account
112970 , p_source_30 IN NUMBER
112971 --Invoice Distribution Type
112972 , p_source_33 IN VARCHAR2
112973 , p_source_33_meaning IN VARCHAR2
112974 --Accounting Reversal Indicator
112975 , p_source_53 IN VARCHAR2
112976 --Distribution Link Type
112977 , p_source_55 IN VARCHAR2
112978 --Allocation to Main Distribution Identifier
112982 --Invoice Distribution Identifier
112979 , p_source_57 IN NUMBER
112980 --Invoice Identifier
112981 , p_source_58 IN NUMBER
112983 , p_source_64 IN NUMBER
112984 --Payables Encumbrance Upgrade Credit Account
112985 , p_source_65 IN NUMBER
112986 --Payables Encumbrance Upgrade Credit Amount
112987 , p_source_66 IN NUMBER
112988 --Invoice Currency Code
112989 , p_source_67 IN VARCHAR2
112990 --Payables Encumbrance Upgrade Credit Base Amount
112991 , p_source_68 IN NUMBER
112992 --Payables Encumbrance Upgrade Debit Account
112993 , p_source_69 IN NUMBER
112994 --Payables Encumbrance Upgrade Debit Amount
112995 , p_source_70 IN NUMBER
112996 --Payables Encumbrance Upgrade Debit Base Amount
112997 , p_source_71 IN NUMBER
112998 --Payables Encumbrance Upgrade Option
112999 , p_source_72 IN VARCHAR2
113000 --Invoice Distribution Amount
113001 , p_source_73 IN NUMBER
113002 --Deferred Accounting End Date
113003 , p_source_77 IN DATE
113004 --Deferred Accounting Option
113005 , p_source_78 IN VARCHAR2
113006 --Deferred Accounting Start Date
113007 , p_source_79 IN DATE
113008 --Override Accounted Amount Indicator
113009 , p_source_80 IN VARCHAR2
113010 , p_source_80_meaning IN VARCHAR2
113011 --Invoice Supplier Identifier
113012 , p_source_81 IN NUMBER
113013 --Invoice Supplier Site Identifier
113014 , p_source_82 IN NUMBER
113015 --Third Party Type
113016 , p_source_83 IN VARCHAR2
113017 --Parent Reversal Identifier
113018 , p_source_84 IN NUMBER
113019 --Invoice Distribution Statistical Amount
113020 , p_source_85 IN NUMBER
113021 --Invoice Distribution Tax Line Identifier
113022 , p_source_86 IN NUMBER
113023 --Invoice Distribution Tax Distribution Identifier from Tax
113024 , p_source_87 IN NUMBER
113025 --Invoice Distribution Summary Tax Line Identifier
113026 , p_source_88 IN NUMBER
113027 --Payables Upgrade Credit Encumbrance Type Identifier
113028 , p_source_89 IN NUMBER
113029 --Payables Upgrade Debit Encumbrance Type Identifier
113030 , p_source_90 IN NUMBER
113031 --Business Flow Accounts Payable Application Identifier
113032 , p_source_91 IN NUMBER
113033 --Business Flow Invoice Distribution Type
113034 , p_source_92 IN VARCHAR2
113035 --Business Flow Invoice Entity Code
113036 , p_source_93 IN VARCHAR2
113037 --Business Flow Invoice Distribution Identifier
113038 , p_source_94 IN NUMBER
113039 --Business Flow Invoice Identifier
113040 , p_source_95 IN NUMBER
113041 --Deferred Recoverable Tax Option
113042 , p_source_137 IN VARCHAR2
113043 , p_source_137_meaning IN VARCHAR2
113044 --Self-Assessed Tax Flag
113045 , p_source_142 IN VARCHAR2
113046 , p_source_142_meaning IN VARCHAR2
113047 --Invoice Exchange Date
113048 , p_source_143 IN DATE
113049 --Invoice Exchange Rate
113050 , p_source_144 IN NUMBER
113051 --Invoice Exchange Rate Type
113052 , p_source_145 IN VARCHAR2
113053 )
113054 IS
113055
113056 l_component_type VARCHAR2(80);
113057 l_component_code VARCHAR2(30);
113058 l_component_type_code VARCHAR2(1);
113059 l_component_appl_id INTEGER;
113060 l_amb_context_code VARCHAR2(30);
113061 l_entity_code VARCHAR2(30);
113062 l_event_class_code VARCHAR2(30);
113063 l_ae_header_id NUMBER;
113064 l_event_type_code VARCHAR2(30);
113065 l_line_definition_code VARCHAR2(30);
113066 l_line_definition_owner_code VARCHAR2(1);
113067 --
113068 -- adr variables
113069 l_segment VARCHAR2(30);
113070 l_ccid NUMBER;
113071 l_adr_transaction_coa_id NUMBER;
113072 l_adr_accounting_coa_id NUMBER;
113073 l_adr_flexfield_segment_code VARCHAR2(30);
113074 l_adr_flex_value_set_id NUMBER;
113075 l_adr_value_type_code VARCHAR2(30);
113076 l_adr_value_combination_id NUMBER;
113077 l_adr_value_segment_code VARCHAR2(30);
113078
113079 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
113080 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
113081 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
113082 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
113083
113084 -- 4262811 Variables ------------------------------------------------------------------------------------------
113085 l_entered_amt_idx NUMBER;
113086 l_accted_amt_idx NUMBER;
113087 l_acc_rev_flag VARCHAR2(1);
113088 l_accrual_line_num NUMBER;
113089 l_tmp_amt NUMBER;
113090 l_acc_rev_natural_side_code VARCHAR2(1);
113091
113092 l_num_entries NUMBER;
113093 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
113094 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
113095 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
113096 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
113097 l_recog_line_1 NUMBER;
113098 l_recog_line_2 NUMBER;
113099
113100 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
113101 l_bflow_applied_to_amt NUMBER; -- 5132302
113102 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
113103
113107 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
113104 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
113105
113106 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
113108
113109 ---------------------------------------------------------------------------------------------------------------
113110
113111
113112 --
113113 -- bulk performance
113114 --
113115 l_balance_type_code VARCHAR2(1);
113116 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
113117 l_log_module VARCHAR2(240);
113118
113119 --
113120 -- Upgrade strategy
113121 --
113122 l_actual_upg_option VARCHAR2(1);
113123 l_enc_upg_option VARCHAR2(1);
113124
113125 --
113126 BEGIN
113127 --
113128 IF g_log_enabled THEN
113129 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_190';
113130 END IF;
113131 --
113132 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
113133
113134 trace
113135 (p_msg => 'BEGIN of AcctLineType_190'
113136 ,p_level => C_LEVEL_PROCEDURE
113137 ,p_module => l_log_module);
113138
113139 END IF;
113140 --
113141 l_component_type := 'AMB_JLT';
113142 l_component_code := 'AP_RECOV_TAX_PREPAY';
113143 l_component_type_code := 'S';
113144 l_component_appl_id := 200;
113145 l_amb_context_code := 'DEFAULT';
113146 l_entity_code := 'AP_INVOICES';
113147 l_event_class_code := 'PREPAYMENTS';
113148 l_event_type_code := 'PREPAYMENTS_ALL';
113149 l_line_definition_owner_code := 'S';
113150 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
113151 --
113152 l_balance_type_code := 'A';
113153 l_segment := NULL;
113154 l_ccid := NULL;
113155 l_adr_transaction_coa_id := NULL;
113156 l_adr_accounting_coa_id := NULL;
113157 l_adr_flexfield_segment_code := NULL;
113158 l_adr_flex_value_set_id := NULL;
113159 l_adr_value_type_code := NULL;
113160 l_adr_value_combination_id := NULL;
113161 l_adr_value_segment_code := NULL;
113162
113163 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
113164 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
113165 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
113166 l_budgetary_control_flag := 'N';
113167
113168 l_bflow_applied_to_amt_idx := NULL; -- 5132302
113169 l_bflow_applied_to_amt := NULL; -- 5132302
113170 l_entered_amt_idx := NULL; -- 4262811
113171 l_accted_amt_idx := NULL; -- 4262811
113172 l_acc_rev_flag := NULL; -- 4262811
113173 l_accrual_line_num := NULL; -- 4262811
113174 l_tmp_amt := NULL; -- 4262811
113175 --
113176
113177 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
113178 l_balance_type_code <> 'B' THEN
113179 IF NVL(p_source_33,'
113180 ') = 'REC_TAX' AND
113181 NVL(p_source_137,'
113182 ') = 'IMMEDIATE' AND
113183 NVL(p_source_142,'
113184 ') <> 'Y'
113185 THEN
113186
113187 --
113188 XLA_AE_LINES_PKG.SetNewLine;
113189
113190 p_balance_type_code := l_balance_type_code;
113191 -- set the flag so later we will know whether the gain loss line needs to be created
113192
113193 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
113194 p_actual_flag :='A';
113195 END IF;
113196
113197 --
113198 -- bulk performance
113199 --
113200 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
113201 p_header_num => 0); -- 4262811
113202 --
113203 -- set accounting line options
113204 --
113205 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
113206 p_natural_side_code => 'D'
113207 , p_gain_or_loss_flag => 'N'
113208 , p_gl_transfer_mode_code => 'S'
113209 , p_acct_entry_type_code => 'A'
113210 , p_switch_side_flag => 'Y'
113211 , p_merge_duplicate_code => 'A'
113212 );
113213 --
113214 l_acc_rev_natural_side_code := 'C'; -- 4262811
113215 --
113216 --
113217 -- set accounting line type info
113218 --
113219 xla_ae_lines_pkg.SetAcctLineType
113220 (p_component_type => l_component_type
113221 ,p_event_type_code => l_event_type_code
113222 ,p_line_definition_owner_code => l_line_definition_owner_code
113223 ,p_line_definition_code => l_line_definition_code
113224 ,p_accounting_line_code => l_component_code
113225 ,p_accounting_line_type_code => l_component_type_code
113226 ,p_accounting_line_appl_id => l_component_appl_id
113227 ,p_amb_context_code => l_amb_context_code
113228 ,p_entity_code => l_entity_code
113229 ,p_event_class_code => l_event_class_code);
113230 --
113231 -- set accounting class
113232 --
113233 xla_ae_lines_pkg.SetAcctClass(
113234 p_accounting_class_code => 'RTAX'
113235 , p_ae_header_id => l_ae_header_id
113236 );
113237
113238 --
113239 -- set rounding class
113240 --
113241 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
113245 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
113242 'RTAX';
113243
113244 --
113246 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
113247 --
113248 -- bulk performance
113249 --
113250 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
113251
113252 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
113253 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
113254
113255 -- 4955764
113256 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
113257 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
113258
113259 -- 4458381 Public Sector Enh
113260
113261 --
113262 -- set accounting attributes for the line type
113263 --
113264 l_entered_amt_idx := 23;
113265 l_accted_amt_idx := 28;
113266 l_bflow_applied_to_amt_idx := NULL; -- 5132302
113267 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
113268 l_rec_acct_attrs.array_char_value(1) := p_source_53;
113269 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
113270 l_rec_acct_attrs.array_num_value(2) :=
113271 xla_ae_sources_pkg.GetSystemSourceNum(
113272 p_source_code => 'XLA_EVENT_APPL_ID'
113273 , p_source_type_code => 'Y'
113274 , p_source_application_id => 602
113275 );
113276 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
113277 l_rec_acct_attrs.array_char_value(3) := p_source_55;
113278 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
113279 l_rec_acct_attrs.array_char_value(4) :=
113280 xla_ae_sources_pkg.GetSystemSourceChar(
113281 p_source_code => 'XLA_ENTITY_CODE'
113282 , p_source_type_code => 'Y'
113283 , p_source_application_id => 602
113284 );
113285 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
113286 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
113287 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
113288 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
113289 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
113290 l_rec_acct_attrs.array_num_value(7) := p_source_91;
113291 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
113292 l_rec_acct_attrs.array_char_value(8) := p_source_92;
113293 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
113294 l_rec_acct_attrs.array_char_value(9) := p_source_93;
113295 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
113296 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
113297 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
113298 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
113299 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
113300 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
113301 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
113302 l_rec_acct_attrs.array_char_value(13) := p_source_55;
113303 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
113304 l_rec_acct_attrs.array_num_value(14) := p_source_65;
113305 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
113306 l_rec_acct_attrs.array_num_value(15) := p_source_66;
113307 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
113308 l_rec_acct_attrs.array_char_value(16) := p_source_67;
113309 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
113310 l_rec_acct_attrs.array_num_value(17) := p_source_68;
113311 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
113312 l_rec_acct_attrs.array_num_value(18) := p_source_69;
113313 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
113314 l_rec_acct_attrs.array_num_value(19) := p_source_70;
113315 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
113316 l_rec_acct_attrs.array_char_value(20) := p_source_67;
113317 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
113318 l_rec_acct_attrs.array_num_value(21) := p_source_71;
113319 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
113320 l_rec_acct_attrs.array_char_value(22) := p_source_72;
113321 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
113322 l_rec_acct_attrs.array_num_value(23) := p_source_73;
113323 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
113324 l_rec_acct_attrs.array_char_value(24) := p_source_67;
113325 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
113326 l_rec_acct_attrs.array_date_value(25) := p_source_143;
113327 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
113328 l_rec_acct_attrs.array_num_value(26) := p_source_144;
113329 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
113330 l_rec_acct_attrs.array_char_value(27) := p_source_145;
113331 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
113332 l_rec_acct_attrs.array_num_value(28) := p_source_21;
113333 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
113334 l_rec_acct_attrs.array_date_value(29) := p_source_77;
113335 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
113336 l_rec_acct_attrs.array_char_value(30) := p_source_78;
113337 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
113341 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
113338 l_rec_acct_attrs.array_date_value(31) := p_source_79;
113339 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
113340 l_rec_acct_attrs.array_char_value(32) := p_source_80;
113342 l_rec_acct_attrs.array_num_value(33) := p_source_81;
113343 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
113344 l_rec_acct_attrs.array_num_value(34) := p_source_82;
113345 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
113346 l_rec_acct_attrs.array_char_value(35) := p_source_83;
113347 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
113348 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
113349 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
113350 l_rec_acct_attrs.array_char_value(37) := p_source_55;
113351 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
113352 l_rec_acct_attrs.array_num_value(38) := p_source_85;
113353 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
113354 l_rec_acct_attrs.array_num_value(39) := p_source_86;
113355 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
113356 l_rec_acct_attrs.array_num_value(40) := p_source_87;
113357 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
113358 l_rec_acct_attrs.array_num_value(41) := p_source_88;
113359 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
113360 l_rec_acct_attrs.array_num_value(42) := p_source_89;
113361 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
113362 l_rec_acct_attrs.array_num_value(43) := p_source_90;
113363
113364 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
113365 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
113366
113367 ---------------------------------------------------------------------------------------------------------------
113368 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
113369 ---------------------------------------------------------------------------------------------------------------
113370 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
113371
113372 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
113373 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
113374
113375 IF xla_accounting_cache_pkg.GetValueChar
113376 (p_source_code => 'LEDGER_CATEGORY_CODE'
113377 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
113378 AND l_bflow_method_code = 'PRIOR_ENTRY'
113379 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
113380 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
113381 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
113382 )
113383 THEN
113384 xla_ae_lines_pkg.BflowUpgEntry
113385 (p_business_method_code => l_bflow_method_code
113386 ,p_business_class_code => l_bflow_class_code
113387 ,p_balance_type => l_balance_type_code);
113388 ELSE
113389 NULL;
113390 -- No business flow processing for business flow method of NONE.
113391 END IF;
113392
113393 --
113394 -- call analytical criteria
113395 --
113396
113397 --
113398 -- call description
113399 --
113400
113401 xla_ae_lines_pkg.SetLineDescription(
113402 p_ae_header_id => l_ae_header_id
113403 ,p_description => Description_1 (
113404 p_application_id => p_application_id
113405 , p_ae_header_id => l_ae_header_id
113406 , p_source_1 => p_source_1
113407 )
113408 );
113409
113410
113411 --
113412 -- call ADRs
113413 -- Bug 4922099
113414 --
113415 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
113416 (NVL(l_actual_upg_option, 'N') = 'O') OR
113417 (NVL(l_enc_upg_option, 'N') = 'O')
113418 )
113419 THEN
113420 NULL;
113421 --
113422 --
113423
113424 l_ccid := AcctDerRule_33(
113425 p_application_id => p_application_id
113426 , p_ae_header_id => l_ae_header_id
113427 , p_source_30 => p_source_30
113428 , x_transaction_coa_id => l_adr_transaction_coa_id
113429 , x_accounting_coa_id => l_adr_accounting_coa_id
113430 , x_value_type_code => l_adr_value_type_code
113431 , p_side => 'NA'
113432 );
113433
113434 xla_ae_lines_pkg.set_ccid(
113435 p_code_combination_id => l_ccid
113436 , p_value_type_code => l_adr_value_type_code
113437 , p_transaction_coa_id => l_adr_transaction_coa_id
113438 , p_accounting_coa_id => l_adr_accounting_coa_id
113439 , p_adr_code => 'AP_INVOICE_DIST'
113440 , p_adr_type_code => 'S'
113441 , p_component_type => l_component_type
113442 , p_component_code => l_component_code
113443 , p_component_type_code => l_component_type_code
113444 , p_component_appl_id => l_component_appl_id
113445 , p_amb_context_code => l_amb_context_code
113446 , p_side => 'NA'
113447 );
113448
113449
113450 --
113451 --
113455 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
113452 END IF;
113453 --
113454 -- Bug 4922099
113456 (NVL(l_enc_upg_option, 'N') = 'O')
113457 ) AND
113458 (l_bflow_method_code = 'PRIOR_ENTRY')
113459 )
113460 THEN
113461 IF
113462 --
113463 1 = 2
113464 --
113465 THEN
113466 xla_accounting_err_pkg.build_message
113467 (p_appli_s_name => 'XLA'
113468 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
113469 ,p_token_1 => 'LINE_NUMBER'
113470 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
113471 ,p_token_2 => 'LINE_TYPE_NAME'
113472 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
113473 l_component_type
113474 ,l_component_code
113475 ,l_component_type_code
113476 ,l_component_appl_id
113477 ,l_amb_context_code
113478 ,l_entity_code
113479 ,l_event_class_code
113480 )
113481 ,p_token_3 => 'OWNER'
113482 ,p_value_3 => xla_lookups_pkg.get_meaning(
113483 p_lookup_type => 'XLA_OWNER_TYPE'
113484 ,p_lookup_code => l_component_type_code
113485 )
113486 ,p_token_4 => 'PRODUCT_NAME'
113487 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
113488 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
113489 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
113490 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
113491 ,p_ae_header_id => NULL
113492 );
113493
113494 IF (C_LEVEL_ERROR>= g_log_level) THEN
113495 trace
113496 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
113497 ,p_level => C_LEVEL_ERROR
113498 ,p_module => l_log_module);
113499 END IF;
113500 END IF;
113501 END IF;
113502 --
113503 --
113504 ------------------------------------------------------------------------------------------------
113505 -- 4219869 Business Flow
113506 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
113507 -- Prior Entry. Currently, the following code is always generated.
113508 ------------------------------------------------------------------------------------------------
113509 XLA_AE_LINES_PKG.ValidateCurrentLine;
113510
113511 ------------------------------------------------------------------------------------
113512 -- 4219869 Business Flow
113513 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
113514 ------------------------------------------------------------------------------------
113515 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
113516
113517 ----------------------------------------------------------------------------------
113518 -- 4219869 Business Flow
113519 -- Update journal entry status -- Need to generate this within IF <condition>
113520 ----------------------------------------------------------------------------------
113521 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
113522 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
113523 ,p_balance_type_code => l_balance_type_code
113524 );
113525
113526 -------------------------------------------------------------------------------------------
113527 -- 4262811 - Generate the Accrual Reversal lines
113528 -------------------------------------------------------------------------------------------
113529 BEGIN
113530 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
113531 (g_array_event(p_event_id).array_value_num('header_index'));
113532 IF l_acc_rev_flag IS NULL THEN
113533 l_acc_rev_flag := 'N';
113534 END IF;
113535 EXCEPTION
113536 WHEN OTHERS THEN
113537 l_acc_rev_flag := 'N';
113538 END;
113539 --
113540 IF (l_acc_rev_flag = 'Y') THEN
113541
113542 -- 4645092 ------------------------------------------------------------------------------
113543 -- To allow MPA report to determine if it should generate report process
113544 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
113548 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
113545 ------------------------------------------------------------------------------------------
113546
113547 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
113549 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
113550 -- call ADRs
113551 -- Bug 4922099
113552 --
113553 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
113554 (NVL(l_actual_upg_option, 'N') = 'O') OR
113555 (NVL(l_enc_upg_option, 'N') = 'O')
113556 )
113557 THEN
113558 NULL;
113559 --
113560 --
113561
113562 l_ccid := AcctDerRule_33(
113563 p_application_id => p_application_id
113564 , p_ae_header_id => l_ae_header_id
113565 , p_source_30 => p_source_30
113566 , x_transaction_coa_id => l_adr_transaction_coa_id
113567 , x_accounting_coa_id => l_adr_accounting_coa_id
113568 , x_value_type_code => l_adr_value_type_code
113569 , p_side => 'NA'
113570 );
113571
113572 xla_ae_lines_pkg.set_ccid(
113573 p_code_combination_id => l_ccid
113574 , p_value_type_code => l_adr_value_type_code
113575 , p_transaction_coa_id => l_adr_transaction_coa_id
113576 , p_accounting_coa_id => l_adr_accounting_coa_id
113577 , p_adr_code => 'AP_INVOICE_DIST'
113578 , p_adr_type_code => 'S'
113579 , p_component_type => l_component_type
113580 , p_component_code => l_component_code
113581 , p_component_type_code => l_component_type_code
113582 , p_component_appl_id => l_component_appl_id
113583 , p_amb_context_code => l_amb_context_code
113584 , p_side => 'NA'
113585 );
113586
113587
113588 --
113589 --
113590 END IF;
113591
113592 --
113593 -- Update the line information that should be overwritten
113594 --
113595 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
113596 p_header_num => 1);
113597 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
113598
113599 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
113600
113601 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
113602 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
113603 END IF;
113604
113605 --
113606 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
113607 --
113608 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
113609 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
113610 ELSE
113611 ---------------------------------------------------------------------------------------------------
113612 -- 4262811a Switch Sign
113613 ---------------------------------------------------------------------------------------------------
113614 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
113615 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
113616 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
113617 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
113618 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
113619 -- 5132302
113620 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
113621 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
113622
113623 END IF;
113624
113625 -- 4955764
113626 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
113627 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
113628
113629
113630 XLA_AE_LINES_PKG.ValidateCurrentLine;
113631 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
113632
113633 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
113634 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
113635 ,p_balance_type_code => l_balance_type_code);
113636
113637 END IF;
113638
113639 -----------------------------------------------------------------------------------------
113640 -- 4262811 Multiperiod Accounting
113641 -----------------------------------------------------------------------------------------
113642 -- No MPA option is assigned.
113643
113644
113645 END IF;
113646 END IF;
113647 --
113648
113649 --
113650 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
113651 trace
113652 (p_msg => 'END of AcctLineType_190'
113653 ,p_level => C_LEVEL_PROCEDURE
113654 ,p_module => l_log_module);
113655 END IF;
113656 --
113657 EXCEPTION
113658 WHEN xla_exceptions_pkg.application_exception THEN
113659 RAISE;
113660 WHEN OTHERS THEN
113661 xla_exceptions_pkg.raise_message
113662 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_190');
113666 ---------------------------------------
113663 END AcctLineType_190;
113664 --
113665
113667 --
113668 -- PRIVATE FUNCTION
113669 -- AcctLineType_191
113670 --
113671 ---------------------------------------
113672 PROCEDURE AcctLineType_191 (
113673 p_application_id IN NUMBER
113674 ,p_event_id IN NUMBER
113675 ,p_calculate_acctd_flag IN VARCHAR2
113676 ,p_calculate_g_l_flag IN VARCHAR2
113677 ,p_actual_flag IN OUT VARCHAR2
113678 ,p_balance_type_code OUT VARCHAR2
113679 ,p_gain_or_loss_ref OUT VARCHAR2
113680
113681 --Invoice Distribution Description
113682 , p_source_1 IN VARCHAR2
113683 --Automatic Offsets Value
113684 , p_source_15 IN VARCHAR2
113685 , p_source_15_meaning IN VARCHAR2
113686 --Invoice Distribution Ledger Amount
113687 , p_source_21 IN NUMBER
113688 --Invoice Distribution Account
113689 , p_source_30 IN NUMBER
113690 --Invoice Distribution Type
113691 , p_source_33 IN VARCHAR2
113692 , p_source_33_meaning IN VARCHAR2
113693 --Retainage Account
113694 , p_source_40 IN NUMBER
113695 --Retainage Related Item Distribution Account
113696 , p_source_42 IN NUMBER
113697 --Accounting Reversal Indicator
113698 , p_source_53 IN VARCHAR2
113699 --Distribution Link Type
113700 , p_source_55 IN VARCHAR2
113701 --Allocation to Main Distribution Identifier
113702 , p_source_57 IN NUMBER
113703 --Invoice Identifier
113704 , p_source_58 IN NUMBER
113705 --Invoice Distribution Identifier
113706 , p_source_64 IN NUMBER
113707 --Payables Encumbrance Upgrade Credit Account
113708 , p_source_65 IN NUMBER
113709 --Payables Encumbrance Upgrade Credit Amount
113710 , p_source_66 IN NUMBER
113711 --Invoice Currency Code
113712 , p_source_67 IN VARCHAR2
113713 --Payables Encumbrance Upgrade Credit Base Amount
113714 , p_source_68 IN NUMBER
113715 --Payables Encumbrance Upgrade Debit Account
113716 , p_source_69 IN NUMBER
113717 --Payables Encumbrance Upgrade Debit Amount
113718 , p_source_70 IN NUMBER
113719 --Payables Encumbrance Upgrade Debit Base Amount
113720 , p_source_71 IN NUMBER
113721 --Payables Encumbrance Upgrade Option
113722 , p_source_72 IN VARCHAR2
113723 --Invoice Distribution Amount
113724 , p_source_73 IN NUMBER
113725 --Deferred Accounting End Date
113726 , p_source_77 IN DATE
113727 --Deferred Accounting Option
113728 , p_source_78 IN VARCHAR2
113729 --Deferred Accounting Start Date
113730 , p_source_79 IN DATE
113731 --Override Accounted Amount Indicator
113732 , p_source_80 IN VARCHAR2
113733 , p_source_80_meaning IN VARCHAR2
113734 --Invoice Supplier Identifier
113735 , p_source_81 IN NUMBER
113736 --Invoice Supplier Site Identifier
113737 , p_source_82 IN NUMBER
113738 --Third Party Type
113739 , p_source_83 IN VARCHAR2
113740 --Parent Reversal Identifier
113741 , p_source_84 IN NUMBER
113742 --Invoice Distribution Statistical Amount
113743 , p_source_85 IN NUMBER
113744 --Invoice Distribution Tax Line Identifier
113745 , p_source_86 IN NUMBER
113746 --Invoice Distribution Tax Distribution Identifier from Tax
113747 , p_source_87 IN NUMBER
113748 --Invoice Distribution Summary Tax Line Identifier
113749 , p_source_88 IN NUMBER
113750 --Payables Upgrade Credit Encumbrance Type Identifier
113751 , p_source_89 IN NUMBER
113752 --Payables Upgrade Debit Encumbrance Type Identifier
113753 , p_source_90 IN NUMBER
113754 --Business Flow Accounts Payable Application Identifier
113755 , p_source_91 IN NUMBER
113756 --Business Flow Invoice Distribution Type
113757 , p_source_92 IN VARCHAR2
113758 --Business Flow Invoice Entity Code
113759 , p_source_93 IN VARCHAR2
113760 --Business Flow Invoice Distribution Identifier
113761 , p_source_94 IN NUMBER
113762 --Business Flow Invoice Identifier
113763 , p_source_95 IN NUMBER
113764 --Invoice Exchange Date
113765 , p_source_143 IN DATE
113766 --Invoice Exchange Rate
113767 , p_source_144 IN NUMBER
113768 --Invoice Exchange Rate Type
113769 , p_source_145 IN VARCHAR2
113770 --Invoice Type
113771 , p_source_165 IN VARCHAR2
113772 , p_source_165_meaning IN VARCHAR2
113773 )
113774 IS
113775
113776 l_component_type VARCHAR2(80);
113777 l_component_code VARCHAR2(30);
113778 l_component_type_code VARCHAR2(1);
113779 l_component_appl_id INTEGER;
113780 l_amb_context_code VARCHAR2(30);
113781 l_entity_code VARCHAR2(30);
113782 l_event_class_code VARCHAR2(30);
113783 l_ae_header_id NUMBER;
113784 l_event_type_code VARCHAR2(30);
113785 l_line_definition_code VARCHAR2(30);
113786 l_line_definition_owner_code VARCHAR2(1);
113787 --
113788 -- adr variables
113789 l_segment VARCHAR2(30);
113790 l_ccid NUMBER;
113791 l_adr_transaction_coa_id NUMBER;
113792 l_adr_accounting_coa_id NUMBER;
113793 l_adr_flexfield_segment_code VARCHAR2(30);
113794 l_adr_flex_value_set_id NUMBER;
113795 l_adr_value_type_code VARCHAR2(30);
113796 l_adr_value_combination_id NUMBER;
113797 l_adr_value_segment_code VARCHAR2(30);
113798
113802 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
113799 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
113800 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
113801 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
113803
113804 -- 4262811 Variables ------------------------------------------------------------------------------------------
113805 l_entered_amt_idx NUMBER;
113806 l_accted_amt_idx NUMBER;
113807 l_acc_rev_flag VARCHAR2(1);
113808 l_accrual_line_num NUMBER;
113809 l_tmp_amt NUMBER;
113810 l_acc_rev_natural_side_code VARCHAR2(1);
113811
113812 l_num_entries NUMBER;
113813 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
113814 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
113815 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
113816 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
113817 l_recog_line_1 NUMBER;
113818 l_recog_line_2 NUMBER;
113819
113820 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
113821 l_bflow_applied_to_amt NUMBER; -- 5132302
113822 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
113823
113824 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
113825
113826 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
113827 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
113828
113829 ---------------------------------------------------------------------------------------------------------------
113830
113831
113832 --
113833 -- bulk performance
113834 --
113835 l_balance_type_code VARCHAR2(1);
113836 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
113837 l_log_module VARCHAR2(240);
113838
113839 --
113840 -- Upgrade strategy
113841 --
113842 l_actual_upg_option VARCHAR2(1);
113843 l_enc_upg_option VARCHAR2(1);
113844
113845 --
113846 BEGIN
113847 --
113848 IF g_log_enabled THEN
113849 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_191';
113850 END IF;
113851 --
113852 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
113853
113854 trace
113855 (p_msg => 'BEGIN of AcctLineType_191'
113856 ,p_level => C_LEVEL_PROCEDURE
113857 ,p_module => l_log_module);
113858
113859 END IF;
113860 --
113861 l_component_type := 'AMB_JLT';
113862 l_component_code := 'AP_RETAINAGE_ACC';
113863 l_component_type_code := 'S';
113864 l_component_appl_id := 200;
113865 l_amb_context_code := 'DEFAULT';
113866 l_entity_code := 'AP_INVOICES';
113867 l_event_class_code := 'INVOICES';
113868 l_event_type_code := 'INVOICES_ALL';
113869 l_line_definition_owner_code := 'S';
113870 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
113871 --
113872 l_balance_type_code := 'A';
113873 l_segment := NULL;
113874 l_ccid := NULL;
113875 l_adr_transaction_coa_id := NULL;
113876 l_adr_accounting_coa_id := NULL;
113877 l_adr_flexfield_segment_code := NULL;
113878 l_adr_flex_value_set_id := NULL;
113879 l_adr_value_type_code := NULL;
113880 l_adr_value_combination_id := NULL;
113881 l_adr_value_segment_code := NULL;
113882
113883 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
113884 l_bflow_class_code := 'AP_RETAINAGE'; -- 4219869 Business Flow
113885 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
113886 l_budgetary_control_flag := 'N';
113887
113888 l_bflow_applied_to_amt_idx := NULL; -- 5132302
113889 l_bflow_applied_to_amt := NULL; -- 5132302
113890 l_entered_amt_idx := NULL; -- 4262811
113891 l_accted_amt_idx := NULL; -- 4262811
113892 l_acc_rev_flag := NULL; -- 4262811
113893 l_accrual_line_num := NULL; -- 4262811
113894 l_tmp_amt := NULL; -- 4262811
113895 --
113896
113897 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
113898 l_balance_type_code <> 'B' THEN
113899 IF NVL(p_source_165,'
113900 ') = 'STANDARD' AND
113901 NVL(p_source_33,'
113902 ') = 'RETAINAGE'
113903 THEN
113904
113905 --
113906 XLA_AE_LINES_PKG.SetNewLine;
113907
113908 p_balance_type_code := l_balance_type_code;
113909 -- set the flag so later we will know whether the gain loss line needs to be created
113910
113911 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
113912 p_actual_flag :='A';
113913 END IF;
113914
113915 --
113916 -- bulk performance
113917 --
113918 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
113919 p_header_num => 0); -- 4262811
113920 --
113921 -- set accounting line options
113922 --
113923 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
113924 p_natural_side_code => 'D'
113925 , p_gain_or_loss_flag => 'N'
113926 , p_gl_transfer_mode_code => 'S'
113927 , p_acct_entry_type_code => 'A'
113928 , p_switch_side_flag => 'Y'
113932 l_acc_rev_natural_side_code := 'C'; -- 4262811
113929 , p_merge_duplicate_code => 'A'
113930 );
113931 --
113933 --
113934 --
113935 -- set accounting line type info
113936 --
113937 xla_ae_lines_pkg.SetAcctLineType
113938 (p_component_type => l_component_type
113939 ,p_event_type_code => l_event_type_code
113940 ,p_line_definition_owner_code => l_line_definition_owner_code
113941 ,p_line_definition_code => l_line_definition_code
113942 ,p_accounting_line_code => l_component_code
113943 ,p_accounting_line_type_code => l_component_type_code
113944 ,p_accounting_line_appl_id => l_component_appl_id
113945 ,p_amb_context_code => l_amb_context_code
113946 ,p_entity_code => l_entity_code
113947 ,p_event_class_code => l_event_class_code);
113948 --
113949 -- set accounting class
113950 --
113951 xla_ae_lines_pkg.SetAcctClass(
113952 p_accounting_class_code => 'RETAINAGE'
113953 , p_ae_header_id => l_ae_header_id
113954 );
113955
113956 --
113957 -- set rounding class
113958 --
113959 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
113960 'RETAINAGE';
113961
113962 --
113963 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
113964 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
113965 --
113966 -- bulk performance
113967 --
113968 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
113969
113970 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
113971 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
113972
113973 -- 4955764
113974 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
113975 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
113976
113977 -- 4458381 Public Sector Enh
113978
113979 --
113980 -- set accounting attributes for the line type
113981 --
113982 l_entered_amt_idx := 24;
113983 l_accted_amt_idx := 29;
113984 l_bflow_applied_to_amt_idx := 7; -- 5132302
113985 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
113986 l_rec_acct_attrs.array_char_value(1) := p_source_53;
113987 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
113988 l_rec_acct_attrs.array_num_value(2) :=
113989 xla_ae_sources_pkg.GetSystemSourceNum(
113990 p_source_code => 'XLA_EVENT_APPL_ID'
113991 , p_source_type_code => 'Y'
113992 , p_source_application_id => 602
113993 );
113994 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
113995 l_rec_acct_attrs.array_char_value(3) := p_source_55;
113996 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
113997 l_rec_acct_attrs.array_char_value(4) :=
113998 xla_ae_sources_pkg.GetSystemSourceChar(
113999 p_source_code => 'XLA_ENTITY_CODE'
114000 , p_source_type_code => 'Y'
114001 , p_source_application_id => 602
114002 );
114003 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
114004 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
114005 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
114006 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
114007 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
114008 l_rec_acct_attrs.array_num_value(7) := p_source_73;
114009 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
114010 l_rec_acct_attrs.array_num_value(8) := p_source_91;
114011 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
114012 l_rec_acct_attrs.array_char_value(9) := p_source_92;
114013 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
114014 l_rec_acct_attrs.array_char_value(10) := p_source_93;
114015 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
114016 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
114017 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
114018 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_95);
114019 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
114020 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_64);
114021 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
114022 l_rec_acct_attrs.array_char_value(14) := p_source_55;
114023 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
114024 l_rec_acct_attrs.array_num_value(15) := p_source_65;
114025 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
114026 l_rec_acct_attrs.array_num_value(16) := p_source_66;
114027 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
114028 l_rec_acct_attrs.array_char_value(17) := p_source_67;
114029 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
114030 l_rec_acct_attrs.array_num_value(18) := p_source_68;
114031 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
114032 l_rec_acct_attrs.array_num_value(19) := p_source_69;
114033 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
114037 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
114034 l_rec_acct_attrs.array_num_value(20) := p_source_70;
114035 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
114036 l_rec_acct_attrs.array_char_value(21) := p_source_67;
114038 l_rec_acct_attrs.array_num_value(22) := p_source_71;
114039 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
114040 l_rec_acct_attrs.array_char_value(23) := p_source_72;
114041 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
114042 l_rec_acct_attrs.array_num_value(24) := p_source_73;
114043 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
114044 l_rec_acct_attrs.array_char_value(25) := p_source_67;
114045 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
114046 l_rec_acct_attrs.array_date_value(26) := p_source_143;
114047 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
114048 l_rec_acct_attrs.array_num_value(27) := p_source_144;
114049 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
114050 l_rec_acct_attrs.array_char_value(28) := p_source_145;
114051 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
114052 l_rec_acct_attrs.array_num_value(29) := p_source_21;
114053 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
114054 l_rec_acct_attrs.array_date_value(30) := p_source_77;
114055 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
114056 l_rec_acct_attrs.array_char_value(31) := p_source_78;
114057 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
114058 l_rec_acct_attrs.array_date_value(32) := p_source_79;
114059 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
114060 l_rec_acct_attrs.array_char_value(33) := p_source_80;
114061 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
114062 l_rec_acct_attrs.array_num_value(34) := p_source_81;
114063 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
114064 l_rec_acct_attrs.array_num_value(35) := p_source_82;
114065 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
114066 l_rec_acct_attrs.array_char_value(36) := p_source_83;
114067 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
114068 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_84);
114069 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
114070 l_rec_acct_attrs.array_char_value(38) := p_source_55;
114071 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
114072 l_rec_acct_attrs.array_num_value(39) := p_source_85;
114073 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
114074 l_rec_acct_attrs.array_num_value(40) := p_source_86;
114075 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
114076 l_rec_acct_attrs.array_num_value(41) := p_source_87;
114077 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
114078 l_rec_acct_attrs.array_num_value(42) := p_source_88;
114079 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
114080 l_rec_acct_attrs.array_num_value(43) := p_source_89;
114081 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
114082 l_rec_acct_attrs.array_num_value(44) := p_source_90;
114083
114084 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
114085 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
114086
114087 ---------------------------------------------------------------------------------------------------------------
114088 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
114089 ---------------------------------------------------------------------------------------------------------------
114090 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
114091
114092 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
114093 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
114094
114095 IF xla_accounting_cache_pkg.GetValueChar
114096 (p_source_code => 'LEDGER_CATEGORY_CODE'
114097 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
114098 AND l_bflow_method_code = 'PRIOR_ENTRY'
114099 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
114100 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
114101 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
114102 )
114103 THEN
114104 xla_ae_lines_pkg.BflowUpgEntry
114105 (p_business_method_code => l_bflow_method_code
114106 ,p_business_class_code => l_bflow_class_code
114107 ,p_balance_type => l_balance_type_code);
114108 ELSE
114109 NULL;
114110 -- No business flow processing for business flow method of NONE.
114111 END IF;
114112
114113 --
114114 -- call analytical criteria
114115 --
114116
114117 --
114118 -- call description
114119 --
114120
114121 xla_ae_lines_pkg.SetLineDescription(
114122 p_ae_header_id => l_ae_header_id
114123 ,p_description => Description_1 (
114124 p_application_id => p_application_id
114125 , p_ae_header_id => l_ae_header_id
114126 , p_source_1 => p_source_1
114127 )
114128 );
114129
114130
114131 --
114132 -- call ADRs
114136 (NVL(l_actual_upg_option, 'N') = 'O') OR
114133 -- Bug 4922099
114134 --
114135 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
114137 (NVL(l_enc_upg_option, 'N') = 'O')
114138 )
114139 THEN
114140 NULL;
114141 --
114142 --
114143
114144 l_ccid := AcctDerRule_40(
114145 p_application_id => p_application_id
114146 , p_ae_header_id => l_ae_header_id
114147 , p_source_15 => p_source_15
114148 , p_source_15_meaning => p_source_15_meaning
114149 , p_source_30 => p_source_30
114150 , p_source_42 => p_source_42
114151 , x_transaction_coa_id => l_adr_transaction_coa_id
114152 , x_accounting_coa_id => l_adr_accounting_coa_id
114153 , x_value_type_code => l_adr_value_type_code
114154 , p_side => 'NA'
114155 );
114156
114157 xla_ae_lines_pkg.set_ccid(
114158 p_code_combination_id => l_ccid
114159 , p_value_type_code => l_adr_value_type_code
114160 , p_transaction_coa_id => l_adr_transaction_coa_id
114161 , p_accounting_coa_id => l_adr_accounting_coa_id
114162 , p_adr_code => 'AP_RETAINAGE'
114163 , p_adr_type_code => 'S'
114164 , p_component_type => l_component_type
114165 , p_component_code => l_component_code
114166 , p_component_type_code => l_component_type_code
114167 , p_component_appl_id => l_component_appl_id
114168 , p_amb_context_code => l_amb_context_code
114169 , p_side => 'NA'
114170 );
114171
114172
114173 l_segment := AcctDerRule_19(
114174 p_application_id => p_application_id
114175 , p_ae_header_id => l_ae_header_id
114176 , p_source_40 => p_source_40
114177 , x_transaction_coa_id => l_adr_transaction_coa_id
114178 , x_accounting_coa_id => l_adr_accounting_coa_id
114179 , x_flexfield_segment_code => l_adr_flexfield_segment_code
114180 , x_flex_value_set_id => l_adr_flex_value_set_id
114181 , x_value_type_code => l_adr_value_type_code
114182 , x_value_combination_id => l_adr_value_combination_id
114183 , x_value_segment_code => l_adr_value_segment_code
114184 , p_side => 'NA'
114185 , p_override_seg_flag => 'Y'
114186 );
114187
114188 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
114189
114190 xla_ae_lines_pkg.set_segment(
114191 p_to_segment_code => 'GL_ACCOUNT'
114192 , p_segment_value => l_segment
114193 , p_from_segment_code => l_adr_value_segment_code
114194 , p_from_combination_id => l_adr_value_combination_id
114195 , p_value_type_code => l_adr_value_type_code
114196 , p_transaction_coa_id => l_adr_transaction_coa_id
114197 , p_accounting_coa_id => l_adr_accounting_coa_id
114198 , p_flexfield_segment_code => l_adr_flexfield_segment_code
114199 , p_flex_value_set_id => l_adr_flex_value_set_id
114200 , p_adr_code => 'AP_RETAIN_NAT_ACCT_SEG'
114201 , p_adr_type_code => 'S'
114202 , p_component_type => l_component_type
114203 , p_component_code => l_component_code
114204 , p_component_type_code => l_component_type_code
114205 , p_component_appl_id => l_component_appl_id
114206 , p_amb_context_code => l_amb_context_code
114207 , p_entity_code => 'AP_INVOICES'
114208 , p_event_class_code => 'INVOICES'
114209 , p_side => 'NA'
114210 );
114211
114212 END IF;
114213
114214 l_segment := AcctDerRule_24(
114215 p_application_id => p_application_id
114216 , p_ae_header_id => l_ae_header_id
114217 , p_source_15 => p_source_15
114218 , p_source_15_meaning => p_source_15_meaning
114219 , p_source_42 => p_source_42
114220 , x_transaction_coa_id => l_adr_transaction_coa_id
114221 , x_accounting_coa_id => l_adr_accounting_coa_id
114222 , x_flexfield_segment_code => l_adr_flexfield_segment_code
114223 , x_flex_value_set_id => l_adr_flex_value_set_id
114224 , x_value_type_code => l_adr_value_type_code
114225 , x_value_combination_id => l_adr_value_combination_id
114226 , x_value_segment_code => l_adr_value_segment_code
114227 , p_side => 'NA'
114228 , p_override_seg_flag => 'Y'
114229 );
114230
114231 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
114232
114233 xla_ae_lines_pkg.set_segment(
114234 p_to_segment_code => 'GL_BALANCING'
114235 , p_segment_value => l_segment
114236 , p_from_segment_code => l_adr_value_segment_code
114237 , p_from_combination_id => l_adr_value_combination_id
114238 , p_value_type_code => l_adr_value_type_code
114239 , p_transaction_coa_id => l_adr_transaction_coa_id
114240 , p_accounting_coa_id => l_adr_accounting_coa_id
114241 , p_flexfield_segment_code => l_adr_flexfield_segment_code
114242 , p_flex_value_set_id => l_adr_flex_value_set_id
114243 , p_adr_code => 'AP_RETAIN_RELATED_BAL_SEG'
114244 , p_adr_type_code => 'S'
114245 , p_component_type => l_component_type
114249 , p_amb_context_code => l_amb_context_code
114246 , p_component_code => l_component_code
114247 , p_component_type_code => l_component_type_code
114248 , p_component_appl_id => l_component_appl_id
114250 , p_entity_code => 'AP_INVOICES'
114251 , p_event_class_code => 'INVOICES'
114252 , p_side => 'NA'
114253 );
114254
114255 END IF;
114256
114257 --
114258 --
114259 END IF;
114260 --
114261 -- Bug 4922099
114262 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
114263 (NVL(l_enc_upg_option, 'N') = 'O')
114264 ) AND
114265 (l_bflow_method_code = 'PRIOR_ENTRY')
114266 )
114267 THEN
114268 IF
114269 --
114270 1 = 2
114271 --
114272 THEN
114273 xla_accounting_err_pkg.build_message
114274 (p_appli_s_name => 'XLA'
114275 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
114276 ,p_token_1 => 'LINE_NUMBER'
114277 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
114278 ,p_token_2 => 'LINE_TYPE_NAME'
114279 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
114280 l_component_type
114281 ,l_component_code
114282 ,l_component_type_code
114283 ,l_component_appl_id
114284 ,l_amb_context_code
114285 ,l_entity_code
114286 ,l_event_class_code
114287 )
114288 ,p_token_3 => 'OWNER'
114289 ,p_value_3 => xla_lookups_pkg.get_meaning(
114290 p_lookup_type => 'XLA_OWNER_TYPE'
114291 ,p_lookup_code => l_component_type_code
114292 )
114293 ,p_token_4 => 'PRODUCT_NAME'
114294 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
114295 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
114296 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
114297 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
114298 ,p_ae_header_id => NULL
114299 );
114300
114301 IF (C_LEVEL_ERROR>= g_log_level) THEN
114302 trace
114303 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
114304 ,p_level => C_LEVEL_ERROR
114305 ,p_module => l_log_module);
114306 END IF;
114307 END IF;
114308 END IF;
114309 --
114310 --
114311 ------------------------------------------------------------------------------------------------
114312 -- 4219869 Business Flow
114313 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
114314 -- Prior Entry. Currently, the following code is always generated.
114315 ------------------------------------------------------------------------------------------------
114316 XLA_AE_LINES_PKG.ValidateCurrentLine;
114317
114318 ------------------------------------------------------------------------------------
114319 -- 4219869 Business Flow
114320 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
114321 ------------------------------------------------------------------------------------
114322 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
114323
114324 ----------------------------------------------------------------------------------
114325 -- 4219869 Business Flow
114326 -- Update journal entry status -- Need to generate this within IF <condition>
114327 ----------------------------------------------------------------------------------
114328 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
114329 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
114330 ,p_balance_type_code => l_balance_type_code
114331 );
114332
114333 -------------------------------------------------------------------------------------------
114334 -- 4262811 - Generate the Accrual Reversal lines
114335 -------------------------------------------------------------------------------------------
114336 BEGIN
114337 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
114338 (g_array_event(p_event_id).array_value_num('header_index'));
114339 IF l_acc_rev_flag IS NULL THEN
114340 l_acc_rev_flag := 'N';
114341 END IF;
114342 EXCEPTION
114346 --
114343 WHEN OTHERS THEN
114344 l_acc_rev_flag := 'N';
114345 END;
114347 IF (l_acc_rev_flag = 'Y') THEN
114348
114349 -- 4645092 ------------------------------------------------------------------------------
114350 -- To allow MPA report to determine if it should generate report process
114351 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
114352 ------------------------------------------------------------------------------------------
114353
114354 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
114355 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
114356 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
114357 -- call ADRs
114358 -- Bug 4922099
114359 --
114360 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
114361 (NVL(l_actual_upg_option, 'N') = 'O') OR
114362 (NVL(l_enc_upg_option, 'N') = 'O')
114363 )
114364 THEN
114365 NULL;
114366 --
114367 --
114368
114369 l_ccid := AcctDerRule_40(
114370 p_application_id => p_application_id
114371 , p_ae_header_id => l_ae_header_id
114372 , p_source_15 => p_source_15
114373 , p_source_15_meaning => p_source_15_meaning
114374 , p_source_30 => p_source_30
114375 , p_source_42 => p_source_42
114376 , x_transaction_coa_id => l_adr_transaction_coa_id
114377 , x_accounting_coa_id => l_adr_accounting_coa_id
114378 , x_value_type_code => l_adr_value_type_code
114379 , p_side => 'NA'
114380 );
114381
114382 xla_ae_lines_pkg.set_ccid(
114383 p_code_combination_id => l_ccid
114384 , p_value_type_code => l_adr_value_type_code
114385 , p_transaction_coa_id => l_adr_transaction_coa_id
114386 , p_accounting_coa_id => l_adr_accounting_coa_id
114387 , p_adr_code => 'AP_RETAINAGE'
114388 , p_adr_type_code => 'S'
114389 , p_component_type => l_component_type
114390 , p_component_code => l_component_code
114391 , p_component_type_code => l_component_type_code
114392 , p_component_appl_id => l_component_appl_id
114393 , p_amb_context_code => l_amb_context_code
114394 , p_side => 'NA'
114395 );
114396
114397
114398 l_segment := AcctDerRule_19(
114399 p_application_id => p_application_id
114400 , p_ae_header_id => l_ae_header_id
114401 , p_source_40 => p_source_40
114402 , x_transaction_coa_id => l_adr_transaction_coa_id
114403 , x_accounting_coa_id => l_adr_accounting_coa_id
114404 , x_flexfield_segment_code => l_adr_flexfield_segment_code
114405 , x_flex_value_set_id => l_adr_flex_value_set_id
114406 , x_value_type_code => l_adr_value_type_code
114407 , x_value_combination_id => l_adr_value_combination_id
114408 , x_value_segment_code => l_adr_value_segment_code
114409 , p_side => 'NA'
114410 , p_override_seg_flag => 'Y'
114411 );
114412
114413 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
114414
114415 xla_ae_lines_pkg.set_segment(
114416 p_to_segment_code => 'GL_ACCOUNT'
114417 , p_segment_value => l_segment
114418 , p_from_segment_code => l_adr_value_segment_code
114419 , p_from_combination_id => l_adr_value_combination_id
114420 , p_value_type_code => l_adr_value_type_code
114421 , p_transaction_coa_id => l_adr_transaction_coa_id
114422 , p_accounting_coa_id => l_adr_accounting_coa_id
114423 , p_flexfield_segment_code => l_adr_flexfield_segment_code
114424 , p_flex_value_set_id => l_adr_flex_value_set_id
114425 , p_adr_code => 'AP_RETAIN_NAT_ACCT_SEG'
114426 , p_adr_type_code => 'S'
114427 , p_component_type => l_component_type
114428 , p_component_code => l_component_code
114429 , p_component_type_code => l_component_type_code
114430 , p_component_appl_id => l_component_appl_id
114431 , p_amb_context_code => l_amb_context_code
114432 , p_entity_code => 'AP_INVOICES'
114433 , p_event_class_code => 'INVOICES'
114434 , p_side => 'NA'
114435 );
114436
114437 END IF;
114438
114439 l_segment := AcctDerRule_24(
114440 p_application_id => p_application_id
114441 , p_ae_header_id => l_ae_header_id
114442 , p_source_15 => p_source_15
114443 , p_source_15_meaning => p_source_15_meaning
114444 , p_source_42 => p_source_42
114445 , x_transaction_coa_id => l_adr_transaction_coa_id
114446 , x_accounting_coa_id => l_adr_accounting_coa_id
114447 , x_flexfield_segment_code => l_adr_flexfield_segment_code
114448 , x_flex_value_set_id => l_adr_flex_value_set_id
114449 , x_value_type_code => l_adr_value_type_code
114450 , x_value_combination_id => l_adr_value_combination_id
114451 , x_value_segment_code => l_adr_value_segment_code
114452 , p_side => 'NA'
114453 , p_override_seg_flag => 'Y'
114454 );
114455
114456 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
114457
114458 xla_ae_lines_pkg.set_segment(
114462 , p_from_combination_id => l_adr_value_combination_id
114459 p_to_segment_code => 'GL_BALANCING'
114460 , p_segment_value => l_segment
114461 , p_from_segment_code => l_adr_value_segment_code
114463 , p_value_type_code => l_adr_value_type_code
114464 , p_transaction_coa_id => l_adr_transaction_coa_id
114465 , p_accounting_coa_id => l_adr_accounting_coa_id
114466 , p_flexfield_segment_code => l_adr_flexfield_segment_code
114467 , p_flex_value_set_id => l_adr_flex_value_set_id
114468 , p_adr_code => 'AP_RETAIN_RELATED_BAL_SEG'
114469 , p_adr_type_code => 'S'
114470 , p_component_type => l_component_type
114471 , p_component_code => l_component_code
114472 , p_component_type_code => l_component_type_code
114473 , p_component_appl_id => l_component_appl_id
114474 , p_amb_context_code => l_amb_context_code
114475 , p_entity_code => 'AP_INVOICES'
114476 , p_event_class_code => 'INVOICES'
114477 , p_side => 'NA'
114478 );
114479
114480 END IF;
114481
114482 --
114483 --
114484 END IF;
114485
114486 --
114487 -- Update the line information that should be overwritten
114488 --
114489 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
114490 p_header_num => 1);
114491 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
114492
114493 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
114494
114495 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
114496 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
114497 END IF;
114498
114499 --
114500 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
114501 --
114502 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
114503 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
114504 ELSE
114505 ---------------------------------------------------------------------------------------------------
114506 -- 4262811a Switch Sign
114507 ---------------------------------------------------------------------------------------------------
114508 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
114509 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
114510 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
114511 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
114512 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
114513 -- 5132302
114514 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
114515 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
114516
114517 END IF;
114518
114519 -- 4955764
114520 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
114521 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
114522
114523
114524 XLA_AE_LINES_PKG.ValidateCurrentLine;
114525 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
114526
114527 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
114528 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
114529 ,p_balance_type_code => l_balance_type_code);
114530
114531 END IF;
114532
114533 -----------------------------------------------------------------------------------------
114534 -- 4262811 Multiperiod Accounting
114535 -----------------------------------------------------------------------------------------
114536 -- No MPA option is assigned.
114537
114538
114539 END IF;
114540 END IF;
114541 --
114542
114543 --
114544 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
114545 trace
114546 (p_msg => 'END of AcctLineType_191'
114547 ,p_level => C_LEVEL_PROCEDURE
114548 ,p_module => l_log_module);
114549 END IF;
114550 --
114551 EXCEPTION
114552 WHEN xla_exceptions_pkg.application_exception THEN
114553 RAISE;
114554 WHEN OTHERS THEN
114555 xla_exceptions_pkg.raise_message
114556 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_191');
114557 END AcctLineType_191;
114558 --
114559
114560 ---------------------------------------
114561 --
114562 -- PRIVATE FUNCTION
114563 -- AcctLineType_192
114564 --
114565 ---------------------------------------
114566 PROCEDURE AcctLineType_192 (
114567 p_application_id IN NUMBER
114568 ,p_event_id IN NUMBER
114569 ,p_calculate_acctd_flag IN VARCHAR2
114570 ,p_calculate_g_l_flag IN VARCHAR2
114571 ,p_actual_flag IN OUT VARCHAR2
114572 ,p_balance_type_code OUT VARCHAR2
114573 ,p_gain_or_loss_ref OUT VARCHAR2
114574
114575 --Invoice Distribution Description
114579 , p_source_15_meaning IN VARCHAR2
114576 , p_source_1 IN VARCHAR2
114577 --Automatic Offsets Value
114578 , p_source_15 IN VARCHAR2
114580 --Invoice Distribution Ledger Amount
114581 , p_source_21 IN NUMBER
114582 --Invoice Distribution Account
114583 , p_source_30 IN NUMBER
114584 --Invoice Distribution Type
114585 , p_source_33 IN VARCHAR2
114586 , p_source_33_meaning IN VARCHAR2
114587 --Retainage Account
114588 , p_source_40 IN NUMBER
114589 --Retainage Related Item Distribution Account
114590 , p_source_42 IN NUMBER
114591 --Accounting Reversal Indicator
114592 , p_source_53 IN VARCHAR2
114593 --Distribution Link Type
114594 , p_source_55 IN VARCHAR2
114595 --Allocation to Main Distribution Identifier
114596 , p_source_57 IN NUMBER
114597 --Invoice Identifier
114598 , p_source_58 IN NUMBER
114599 --Invoice Distribution Identifier
114600 , p_source_64 IN NUMBER
114601 --Payables Encumbrance Upgrade Credit Account
114602 , p_source_65 IN NUMBER
114603 --Payables Encumbrance Upgrade Credit Amount
114604 , p_source_66 IN NUMBER
114605 --Invoice Currency Code
114606 , p_source_67 IN VARCHAR2
114607 --Payables Encumbrance Upgrade Credit Base Amount
114608 , p_source_68 IN NUMBER
114609 --Payables Encumbrance Upgrade Debit Account
114610 , p_source_69 IN NUMBER
114611 --Payables Encumbrance Upgrade Debit Amount
114612 , p_source_70 IN NUMBER
114613 --Payables Encumbrance Upgrade Debit Base Amount
114614 , p_source_71 IN NUMBER
114615 --Payables Encumbrance Upgrade Option
114616 , p_source_72 IN VARCHAR2
114617 --Invoice Distribution Amount
114618 , p_source_73 IN NUMBER
114619 --Deferred Accounting End Date
114620 , p_source_77 IN DATE
114621 --Deferred Accounting Option
114622 , p_source_78 IN VARCHAR2
114623 --Deferred Accounting Start Date
114624 , p_source_79 IN DATE
114625 --Override Accounted Amount Indicator
114626 , p_source_80 IN VARCHAR2
114627 , p_source_80_meaning IN VARCHAR2
114628 --Invoice Supplier Identifier
114629 , p_source_81 IN NUMBER
114630 --Invoice Supplier Site Identifier
114631 , p_source_82 IN NUMBER
114632 --Third Party Type
114633 , p_source_83 IN VARCHAR2
114634 --Parent Reversal Identifier
114635 , p_source_84 IN NUMBER
114636 --Invoice Distribution Statistical Amount
114637 , p_source_85 IN NUMBER
114638 --Invoice Distribution Tax Line Identifier
114639 , p_source_86 IN NUMBER
114640 --Invoice Distribution Tax Distribution Identifier from Tax
114641 , p_source_87 IN NUMBER
114642 --Invoice Distribution Summary Tax Line Identifier
114643 , p_source_88 IN NUMBER
114644 --Payables Upgrade Credit Encumbrance Type Identifier
114645 , p_source_89 IN NUMBER
114646 --Payables Upgrade Debit Encumbrance Type Identifier
114647 , p_source_90 IN NUMBER
114648 --Business Flow Accounts Payable Application Identifier
114649 , p_source_91 IN NUMBER
114650 --Business Flow Invoice Distribution Type
114651 , p_source_92 IN VARCHAR2
114652 --Business Flow Invoice Entity Code
114653 , p_source_93 IN VARCHAR2
114654 --Business Flow Invoice Distribution Identifier
114655 , p_source_94 IN NUMBER
114656 --Business Flow Invoice Identifier
114657 , p_source_95 IN NUMBER
114658 --Invoice Exchange Date
114659 , p_source_143 IN DATE
114660 --Invoice Exchange Rate
114661 , p_source_144 IN NUMBER
114662 --Invoice Exchange Rate Type
114663 , p_source_145 IN VARCHAR2
114664 --Invoice Type
114665 , p_source_165 IN VARCHAR2
114666 , p_source_165_meaning IN VARCHAR2
114667 )
114668 IS
114669
114670 l_component_type VARCHAR2(80);
114671 l_component_code VARCHAR2(30);
114672 l_component_type_code VARCHAR2(1);
114673 l_component_appl_id INTEGER;
114674 l_amb_context_code VARCHAR2(30);
114675 l_entity_code VARCHAR2(30);
114676 l_event_class_code VARCHAR2(30);
114677 l_ae_header_id NUMBER;
114678 l_event_type_code VARCHAR2(30);
114679 l_line_definition_code VARCHAR2(30);
114680 l_line_definition_owner_code VARCHAR2(1);
114681 --
114682 -- adr variables
114683 l_segment VARCHAR2(30);
114684 l_ccid NUMBER;
114685 l_adr_transaction_coa_id NUMBER;
114686 l_adr_accounting_coa_id NUMBER;
114687 l_adr_flexfield_segment_code VARCHAR2(30);
114688 l_adr_flex_value_set_id NUMBER;
114689 l_adr_value_type_code VARCHAR2(30);
114690 l_adr_value_combination_id NUMBER;
114691 l_adr_value_segment_code VARCHAR2(30);
114692
114693 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
114694 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
114695 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
114696 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
114697
114698 -- 4262811 Variables ------------------------------------------------------------------------------------------
114699 l_entered_amt_idx NUMBER;
114700 l_accted_amt_idx NUMBER;
114701 l_acc_rev_flag VARCHAR2(1);
114705
114702 l_accrual_line_num NUMBER;
114703 l_tmp_amt NUMBER;
114704 l_acc_rev_natural_side_code VARCHAR2(1);
114706 l_num_entries NUMBER;
114707 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
114708 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
114709 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
114710 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
114711 l_recog_line_1 NUMBER;
114712 l_recog_line_2 NUMBER;
114713
114714 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
114715 l_bflow_applied_to_amt NUMBER; -- 5132302
114716 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
114717
114718 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
114719
114720 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
114721 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
114722
114723 ---------------------------------------------------------------------------------------------------------------
114724
114725
114726 --
114727 -- bulk performance
114728 --
114729 l_balance_type_code VARCHAR2(1);
114730 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
114731 l_log_module VARCHAR2(240);
114732
114733 --
114734 -- Upgrade strategy
114735 --
114736 l_actual_upg_option VARCHAR2(1);
114737 l_enc_upg_option VARCHAR2(1);
114738
114739 --
114740 BEGIN
114741 --
114742 IF g_log_enabled THEN
114743 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_192';
114744 END IF;
114745 --
114746 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
114747
114748 trace
114749 (p_msg => 'BEGIN of AcctLineType_192'
114750 ,p_level => C_LEVEL_PROCEDURE
114751 ,p_module => l_log_module);
114752
114753 END IF;
114754 --
114755 l_component_type := 'AMB_JLT';
114756 l_component_code := 'AP_RETAINAGE_ACC_CM';
114757 l_component_type_code := 'S';
114758 l_component_appl_id := 200;
114759 l_amb_context_code := 'DEFAULT';
114760 l_entity_code := 'AP_INVOICES';
114761 l_event_class_code := 'CREDIT MEMOS';
114762 l_event_type_code := 'CREDIT MEMOS_ALL';
114763 l_line_definition_owner_code := 'S';
114764 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
114765 --
114766 l_balance_type_code := 'A';
114767 l_segment := NULL;
114768 l_ccid := NULL;
114769 l_adr_transaction_coa_id := NULL;
114770 l_adr_accounting_coa_id := NULL;
114771 l_adr_flexfield_segment_code := NULL;
114772 l_adr_flex_value_set_id := NULL;
114773 l_adr_value_type_code := NULL;
114774 l_adr_value_combination_id := NULL;
114775 l_adr_value_segment_code := NULL;
114776
114777 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
114778 l_bflow_class_code := 'AP_RETAINAGE'; -- 4219869 Business Flow
114779 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
114780 l_budgetary_control_flag := 'N';
114781
114782 l_bflow_applied_to_amt_idx := NULL; -- 5132302
114783 l_bflow_applied_to_amt := NULL; -- 5132302
114784 l_entered_amt_idx := NULL; -- 4262811
114785 l_accted_amt_idx := NULL; -- 4262811
114786 l_acc_rev_flag := NULL; -- 4262811
114787 l_accrual_line_num := NULL; -- 4262811
114788 l_tmp_amt := NULL; -- 4262811
114789 --
114790
114791 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
114792 l_balance_type_code <> 'B' THEN
114793 IF NVL(p_source_33,'
114794 ') = 'RETAINAGE' AND
114795 NVL(p_source_165,'
114796 ') <> 'RETAINAGE RELEASE'
114797 THEN
114798
114799 --
114800 XLA_AE_LINES_PKG.SetNewLine;
114801
114802 p_balance_type_code := l_balance_type_code;
114803 -- set the flag so later we will know whether the gain loss line needs to be created
114804
114805 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
114806 p_actual_flag :='A';
114807 END IF;
114808
114809 --
114810 -- bulk performance
114811 --
114812 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
114813 p_header_num => 0); -- 4262811
114814 --
114815 -- set accounting line options
114816 --
114817 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
114818 p_natural_side_code => 'D'
114819 , p_gain_or_loss_flag => 'N'
114820 , p_gl_transfer_mode_code => 'S'
114821 , p_acct_entry_type_code => 'A'
114822 , p_switch_side_flag => 'Y'
114823 , p_merge_duplicate_code => 'A'
114824 );
114825 --
114826 l_acc_rev_natural_side_code := 'C'; -- 4262811
114827 --
114828 --
114829 -- set accounting line type info
114830 --
114831 xla_ae_lines_pkg.SetAcctLineType
114832 (p_component_type => l_component_type
114833 ,p_event_type_code => l_event_type_code
114834 ,p_line_definition_owner_code => l_line_definition_owner_code
114835 ,p_line_definition_code => l_line_definition_code
114839 ,p_amb_context_code => l_amb_context_code
114836 ,p_accounting_line_code => l_component_code
114837 ,p_accounting_line_type_code => l_component_type_code
114838 ,p_accounting_line_appl_id => l_component_appl_id
114840 ,p_entity_code => l_entity_code
114841 ,p_event_class_code => l_event_class_code);
114842 --
114843 -- set accounting class
114844 --
114845 xla_ae_lines_pkg.SetAcctClass(
114846 p_accounting_class_code => 'RETAINAGE'
114847 , p_ae_header_id => l_ae_header_id
114848 );
114849
114850 --
114851 -- set rounding class
114852 --
114853 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
114854 'RETAINAGE';
114855
114856 --
114857 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
114858 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
114859 --
114860 -- bulk performance
114861 --
114862 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
114863
114864 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
114865 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
114866
114867 -- 4955764
114868 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
114869 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
114870
114871 -- 4458381 Public Sector Enh
114872
114873 --
114874 -- set accounting attributes for the line type
114875 --
114876 l_entered_amt_idx := 23;
114877 l_accted_amt_idx := 28;
114878 l_bflow_applied_to_amt_idx := NULL; -- 5132302
114879 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
114880 l_rec_acct_attrs.array_char_value(1) := p_source_53;
114881 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
114882 l_rec_acct_attrs.array_num_value(2) :=
114883 xla_ae_sources_pkg.GetSystemSourceNum(
114884 p_source_code => 'XLA_EVENT_APPL_ID'
114885 , p_source_type_code => 'Y'
114886 , p_source_application_id => 602
114887 );
114888 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
114889 l_rec_acct_attrs.array_char_value(3) := p_source_55;
114890 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
114891 l_rec_acct_attrs.array_char_value(4) :=
114892 xla_ae_sources_pkg.GetSystemSourceChar(
114893 p_source_code => 'XLA_ENTITY_CODE'
114894 , p_source_type_code => 'Y'
114895 , p_source_application_id => 602
114896 );
114897 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
114898 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
114899 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
114900 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
114901 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
114902 l_rec_acct_attrs.array_num_value(7) := p_source_91;
114903 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
114904 l_rec_acct_attrs.array_char_value(8) := p_source_92;
114905 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
114906 l_rec_acct_attrs.array_char_value(9) := p_source_93;
114907 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
114908 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
114909 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
114910 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
114911 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
114912 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
114913 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
114914 l_rec_acct_attrs.array_char_value(13) := p_source_55;
114915 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
114916 l_rec_acct_attrs.array_num_value(14) := p_source_65;
114917 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
114918 l_rec_acct_attrs.array_num_value(15) := p_source_66;
114919 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
114920 l_rec_acct_attrs.array_char_value(16) := p_source_67;
114921 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
114922 l_rec_acct_attrs.array_num_value(17) := p_source_68;
114923 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
114924 l_rec_acct_attrs.array_num_value(18) := p_source_69;
114925 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
114926 l_rec_acct_attrs.array_num_value(19) := p_source_70;
114927 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
114928 l_rec_acct_attrs.array_char_value(20) := p_source_67;
114929 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
114930 l_rec_acct_attrs.array_num_value(21) := p_source_71;
114931 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
114932 l_rec_acct_attrs.array_char_value(22) := p_source_72;
114933 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
114934 l_rec_acct_attrs.array_num_value(23) := p_source_73;
114935 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
114936 l_rec_acct_attrs.array_char_value(24) := p_source_67;
114940 l_rec_acct_attrs.array_num_value(26) := p_source_144;
114937 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
114938 l_rec_acct_attrs.array_date_value(25) := p_source_143;
114939 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
114941 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
114942 l_rec_acct_attrs.array_char_value(27) := p_source_145;
114943 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
114944 l_rec_acct_attrs.array_num_value(28) := p_source_21;
114945 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
114946 l_rec_acct_attrs.array_date_value(29) := p_source_77;
114947 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
114948 l_rec_acct_attrs.array_char_value(30) := p_source_78;
114949 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
114950 l_rec_acct_attrs.array_date_value(31) := p_source_79;
114951 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
114952 l_rec_acct_attrs.array_char_value(32) := p_source_80;
114953 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
114954 l_rec_acct_attrs.array_num_value(33) := p_source_81;
114955 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
114956 l_rec_acct_attrs.array_num_value(34) := p_source_82;
114957 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
114958 l_rec_acct_attrs.array_char_value(35) := p_source_83;
114959 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
114960 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
114961 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
114962 l_rec_acct_attrs.array_char_value(37) := p_source_55;
114963 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
114964 l_rec_acct_attrs.array_num_value(38) := p_source_85;
114965 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
114966 l_rec_acct_attrs.array_num_value(39) := p_source_86;
114967 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
114968 l_rec_acct_attrs.array_num_value(40) := p_source_87;
114969 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
114970 l_rec_acct_attrs.array_num_value(41) := p_source_88;
114971 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
114972 l_rec_acct_attrs.array_num_value(42) := p_source_89;
114973 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
114974 l_rec_acct_attrs.array_num_value(43) := p_source_90;
114975
114976 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
114977 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
114978
114979 ---------------------------------------------------------------------------------------------------------------
114980 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
114981 ---------------------------------------------------------------------------------------------------------------
114982 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
114983
114984 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
114985 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
114986
114987 IF xla_accounting_cache_pkg.GetValueChar
114988 (p_source_code => 'LEDGER_CATEGORY_CODE'
114989 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
114990 AND l_bflow_method_code = 'PRIOR_ENTRY'
114991 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
114992 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
114993 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
114994 )
114995 THEN
114996 xla_ae_lines_pkg.BflowUpgEntry
114997 (p_business_method_code => l_bflow_method_code
114998 ,p_business_class_code => l_bflow_class_code
114999 ,p_balance_type => l_balance_type_code);
115000 ELSE
115001 NULL;
115002 -- No business flow processing for business flow method of NONE.
115003 END IF;
115004
115005 --
115006 -- call analytical criteria
115007 --
115008
115009 --
115010 -- call description
115011 --
115012
115013 xla_ae_lines_pkg.SetLineDescription(
115014 p_ae_header_id => l_ae_header_id
115015 ,p_description => Description_1 (
115016 p_application_id => p_application_id
115017 , p_ae_header_id => l_ae_header_id
115018 , p_source_1 => p_source_1
115019 )
115020 );
115021
115022
115023 --
115024 -- call ADRs
115025 -- Bug 4922099
115026 --
115027 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
115028 (NVL(l_actual_upg_option, 'N') = 'O') OR
115029 (NVL(l_enc_upg_option, 'N') = 'O')
115030 )
115031 THEN
115032 NULL;
115033 --
115034 --
115035
115036 l_ccid := AcctDerRule_40(
115037 p_application_id => p_application_id
115038 , p_ae_header_id => l_ae_header_id
115039 , p_source_15 => p_source_15
115040 , p_source_15_meaning => p_source_15_meaning
115041 , p_source_30 => p_source_30
115042 , p_source_42 => p_source_42
115043 , x_transaction_coa_id => l_adr_transaction_coa_id
115044 , x_accounting_coa_id => l_adr_accounting_coa_id
115048
115045 , x_value_type_code => l_adr_value_type_code
115046 , p_side => 'NA'
115047 );
115049 xla_ae_lines_pkg.set_ccid(
115050 p_code_combination_id => l_ccid
115051 , p_value_type_code => l_adr_value_type_code
115052 , p_transaction_coa_id => l_adr_transaction_coa_id
115053 , p_accounting_coa_id => l_adr_accounting_coa_id
115054 , p_adr_code => 'AP_RETAINAGE'
115055 , p_adr_type_code => 'S'
115056 , p_component_type => l_component_type
115057 , p_component_code => l_component_code
115058 , p_component_type_code => l_component_type_code
115059 , p_component_appl_id => l_component_appl_id
115060 , p_amb_context_code => l_amb_context_code
115061 , p_side => 'NA'
115062 );
115063
115064
115065 l_segment := AcctDerRule_19(
115066 p_application_id => p_application_id
115067 , p_ae_header_id => l_ae_header_id
115068 , p_source_40 => p_source_40
115069 , x_transaction_coa_id => l_adr_transaction_coa_id
115070 , x_accounting_coa_id => l_adr_accounting_coa_id
115071 , x_flexfield_segment_code => l_adr_flexfield_segment_code
115072 , x_flex_value_set_id => l_adr_flex_value_set_id
115073 , x_value_type_code => l_adr_value_type_code
115074 , x_value_combination_id => l_adr_value_combination_id
115075 , x_value_segment_code => l_adr_value_segment_code
115076 , p_side => 'NA'
115077 , p_override_seg_flag => 'Y'
115078 );
115079
115080 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
115081
115082 xla_ae_lines_pkg.set_segment(
115083 p_to_segment_code => 'GL_ACCOUNT'
115084 , p_segment_value => l_segment
115085 , p_from_segment_code => l_adr_value_segment_code
115086 , p_from_combination_id => l_adr_value_combination_id
115087 , p_value_type_code => l_adr_value_type_code
115088 , p_transaction_coa_id => l_adr_transaction_coa_id
115089 , p_accounting_coa_id => l_adr_accounting_coa_id
115090 , p_flexfield_segment_code => l_adr_flexfield_segment_code
115091 , p_flex_value_set_id => l_adr_flex_value_set_id
115092 , p_adr_code => 'AP_RETAIN_NAT_ACCT_SEG'
115093 , p_adr_type_code => 'S'
115094 , p_component_type => l_component_type
115095 , p_component_code => l_component_code
115096 , p_component_type_code => l_component_type_code
115097 , p_component_appl_id => l_component_appl_id
115098 , p_amb_context_code => l_amb_context_code
115099 , p_entity_code => 'AP_INVOICES'
115100 , p_event_class_code => 'CREDIT MEMOS'
115101 , p_side => 'NA'
115102 );
115103
115104 END IF;
115105
115106 l_segment := AcctDerRule_24(
115107 p_application_id => p_application_id
115108 , p_ae_header_id => l_ae_header_id
115109 , p_source_15 => p_source_15
115110 , p_source_15_meaning => p_source_15_meaning
115111 , p_source_42 => p_source_42
115112 , x_transaction_coa_id => l_adr_transaction_coa_id
115113 , x_accounting_coa_id => l_adr_accounting_coa_id
115114 , x_flexfield_segment_code => l_adr_flexfield_segment_code
115115 , x_flex_value_set_id => l_adr_flex_value_set_id
115116 , x_value_type_code => l_adr_value_type_code
115117 , x_value_combination_id => l_adr_value_combination_id
115118 , x_value_segment_code => l_adr_value_segment_code
115119 , p_side => 'NA'
115120 , p_override_seg_flag => 'Y'
115121 );
115122
115123 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
115124
115125 xla_ae_lines_pkg.set_segment(
115126 p_to_segment_code => 'GL_BALANCING'
115127 , p_segment_value => l_segment
115128 , p_from_segment_code => l_adr_value_segment_code
115129 , p_from_combination_id => l_adr_value_combination_id
115130 , p_value_type_code => l_adr_value_type_code
115131 , p_transaction_coa_id => l_adr_transaction_coa_id
115132 , p_accounting_coa_id => l_adr_accounting_coa_id
115133 , p_flexfield_segment_code => l_adr_flexfield_segment_code
115134 , p_flex_value_set_id => l_adr_flex_value_set_id
115135 , p_adr_code => 'AP_RETAIN_RELATED_BAL_SEG'
115136 , p_adr_type_code => 'S'
115137 , p_component_type => l_component_type
115138 , p_component_code => l_component_code
115139 , p_component_type_code => l_component_type_code
115140 , p_component_appl_id => l_component_appl_id
115141 , p_amb_context_code => l_amb_context_code
115142 , p_entity_code => 'AP_INVOICES'
115143 , p_event_class_code => 'CREDIT MEMOS'
115144 , p_side => 'NA'
115145 );
115146
115147 END IF;
115148
115149 --
115150 --
115151 END IF;
115152 --
115153 -- Bug 4922099
115154 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
115155 (NVL(l_enc_upg_option, 'N') = 'O')
115159 THEN
115156 ) AND
115157 (l_bflow_method_code = 'PRIOR_ENTRY')
115158 )
115160 IF
115161 --
115162 1 = 2
115163 --
115164 THEN
115165 xla_accounting_err_pkg.build_message
115166 (p_appli_s_name => 'XLA'
115167 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
115168 ,p_token_1 => 'LINE_NUMBER'
115169 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
115170 ,p_token_2 => 'LINE_TYPE_NAME'
115171 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
115172 l_component_type
115173 ,l_component_code
115174 ,l_component_type_code
115175 ,l_component_appl_id
115176 ,l_amb_context_code
115177 ,l_entity_code
115178 ,l_event_class_code
115179 )
115180 ,p_token_3 => 'OWNER'
115181 ,p_value_3 => xla_lookups_pkg.get_meaning(
115182 p_lookup_type => 'XLA_OWNER_TYPE'
115183 ,p_lookup_code => l_component_type_code
115184 )
115185 ,p_token_4 => 'PRODUCT_NAME'
115186 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
115187 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
115188 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
115189 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
115190 ,p_ae_header_id => NULL
115191 );
115192
115193 IF (C_LEVEL_ERROR>= g_log_level) THEN
115194 trace
115195 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
115196 ,p_level => C_LEVEL_ERROR
115197 ,p_module => l_log_module);
115198 END IF;
115199 END IF;
115200 END IF;
115201 --
115202 --
115203 ------------------------------------------------------------------------------------------------
115204 -- 4219869 Business Flow
115205 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
115206 -- Prior Entry. Currently, the following code is always generated.
115207 ------------------------------------------------------------------------------------------------
115208 XLA_AE_LINES_PKG.ValidateCurrentLine;
115209
115210 ------------------------------------------------------------------------------------
115211 -- 4219869 Business Flow
115212 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
115213 ------------------------------------------------------------------------------------
115214 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
115215
115216 ----------------------------------------------------------------------------------
115217 -- 4219869 Business Flow
115218 -- Update journal entry status -- Need to generate this within IF <condition>
115219 ----------------------------------------------------------------------------------
115220 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
115221 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
115222 ,p_balance_type_code => l_balance_type_code
115223 );
115224
115225 -------------------------------------------------------------------------------------------
115226 -- 4262811 - Generate the Accrual Reversal lines
115227 -------------------------------------------------------------------------------------------
115228 BEGIN
115229 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
115230 (g_array_event(p_event_id).array_value_num('header_index'));
115231 IF l_acc_rev_flag IS NULL THEN
115232 l_acc_rev_flag := 'N';
115233 END IF;
115234 EXCEPTION
115235 WHEN OTHERS THEN
115236 l_acc_rev_flag := 'N';
115237 END;
115238 --
115239 IF (l_acc_rev_flag = 'Y') THEN
115240
115241 -- 4645092 ------------------------------------------------------------------------------
115242 -- To allow MPA report to determine if it should generate report process
115243 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
115244 ------------------------------------------------------------------------------------------
115245
115246 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
115247 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
115251 --
115248 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
115249 -- call ADRs
115250 -- Bug 4922099
115252 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
115253 (NVL(l_actual_upg_option, 'N') = 'O') OR
115254 (NVL(l_enc_upg_option, 'N') = 'O')
115255 )
115256 THEN
115257 NULL;
115258 --
115259 --
115260
115261 l_ccid := AcctDerRule_40(
115262 p_application_id => p_application_id
115263 , p_ae_header_id => l_ae_header_id
115264 , p_source_15 => p_source_15
115265 , p_source_15_meaning => p_source_15_meaning
115266 , p_source_30 => p_source_30
115267 , p_source_42 => p_source_42
115268 , x_transaction_coa_id => l_adr_transaction_coa_id
115269 , x_accounting_coa_id => l_adr_accounting_coa_id
115270 , x_value_type_code => l_adr_value_type_code
115271 , p_side => 'NA'
115272 );
115273
115274 xla_ae_lines_pkg.set_ccid(
115275 p_code_combination_id => l_ccid
115276 , p_value_type_code => l_adr_value_type_code
115277 , p_transaction_coa_id => l_adr_transaction_coa_id
115278 , p_accounting_coa_id => l_adr_accounting_coa_id
115279 , p_adr_code => 'AP_RETAINAGE'
115280 , p_adr_type_code => 'S'
115281 , p_component_type => l_component_type
115282 , p_component_code => l_component_code
115283 , p_component_type_code => l_component_type_code
115284 , p_component_appl_id => l_component_appl_id
115285 , p_amb_context_code => l_amb_context_code
115286 , p_side => 'NA'
115287 );
115288
115289
115290 l_segment := AcctDerRule_19(
115291 p_application_id => p_application_id
115292 , p_ae_header_id => l_ae_header_id
115293 , p_source_40 => p_source_40
115294 , x_transaction_coa_id => l_adr_transaction_coa_id
115295 , x_accounting_coa_id => l_adr_accounting_coa_id
115296 , x_flexfield_segment_code => l_adr_flexfield_segment_code
115297 , x_flex_value_set_id => l_adr_flex_value_set_id
115298 , x_value_type_code => l_adr_value_type_code
115299 , x_value_combination_id => l_adr_value_combination_id
115300 , x_value_segment_code => l_adr_value_segment_code
115301 , p_side => 'NA'
115302 , p_override_seg_flag => 'Y'
115303 );
115304
115305 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
115306
115307 xla_ae_lines_pkg.set_segment(
115308 p_to_segment_code => 'GL_ACCOUNT'
115309 , p_segment_value => l_segment
115310 , p_from_segment_code => l_adr_value_segment_code
115311 , p_from_combination_id => l_adr_value_combination_id
115312 , p_value_type_code => l_adr_value_type_code
115313 , p_transaction_coa_id => l_adr_transaction_coa_id
115314 , p_accounting_coa_id => l_adr_accounting_coa_id
115315 , p_flexfield_segment_code => l_adr_flexfield_segment_code
115316 , p_flex_value_set_id => l_adr_flex_value_set_id
115317 , p_adr_code => 'AP_RETAIN_NAT_ACCT_SEG'
115318 , p_adr_type_code => 'S'
115319 , p_component_type => l_component_type
115320 , p_component_code => l_component_code
115321 , p_component_type_code => l_component_type_code
115322 , p_component_appl_id => l_component_appl_id
115323 , p_amb_context_code => l_amb_context_code
115324 , p_entity_code => 'AP_INVOICES'
115325 , p_event_class_code => 'CREDIT MEMOS'
115326 , p_side => 'NA'
115327 );
115328
115329 END IF;
115330
115331 l_segment := AcctDerRule_24(
115332 p_application_id => p_application_id
115333 , p_ae_header_id => l_ae_header_id
115334 , p_source_15 => p_source_15
115335 , p_source_15_meaning => p_source_15_meaning
115336 , p_source_42 => p_source_42
115337 , x_transaction_coa_id => l_adr_transaction_coa_id
115338 , x_accounting_coa_id => l_adr_accounting_coa_id
115339 , x_flexfield_segment_code => l_adr_flexfield_segment_code
115340 , x_flex_value_set_id => l_adr_flex_value_set_id
115341 , x_value_type_code => l_adr_value_type_code
115342 , x_value_combination_id => l_adr_value_combination_id
115343 , x_value_segment_code => l_adr_value_segment_code
115344 , p_side => 'NA'
115345 , p_override_seg_flag => 'Y'
115346 );
115347
115348 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
115349
115350 xla_ae_lines_pkg.set_segment(
115351 p_to_segment_code => 'GL_BALANCING'
115352 , p_segment_value => l_segment
115353 , p_from_segment_code => l_adr_value_segment_code
115354 , p_from_combination_id => l_adr_value_combination_id
115355 , p_value_type_code => l_adr_value_type_code
115356 , p_transaction_coa_id => l_adr_transaction_coa_id
115357 , p_accounting_coa_id => l_adr_accounting_coa_id
115358 , p_flexfield_segment_code => l_adr_flexfield_segment_code
115359 , p_flex_value_set_id => l_adr_flex_value_set_id
115360 , p_adr_code => 'AP_RETAIN_RELATED_BAL_SEG'
115364 , p_component_type_code => l_component_type_code
115361 , p_adr_type_code => 'S'
115362 , p_component_type => l_component_type
115363 , p_component_code => l_component_code
115365 , p_component_appl_id => l_component_appl_id
115366 , p_amb_context_code => l_amb_context_code
115367 , p_entity_code => 'AP_INVOICES'
115368 , p_event_class_code => 'CREDIT MEMOS'
115369 , p_side => 'NA'
115370 );
115371
115372 END IF;
115373
115374 --
115375 --
115376 END IF;
115377
115378 --
115379 -- Update the line information that should be overwritten
115380 --
115381 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
115382 p_header_num => 1);
115383 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
115384
115385 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
115386
115387 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
115388 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
115389 END IF;
115390
115391 --
115392 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
115393 --
115394 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
115395 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
115396 ELSE
115397 ---------------------------------------------------------------------------------------------------
115398 -- 4262811a Switch Sign
115399 ---------------------------------------------------------------------------------------------------
115400 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
115401 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
115402 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
115403 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
115404 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
115405 -- 5132302
115406 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
115407 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
115408
115409 END IF;
115410
115411 -- 4955764
115412 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
115413 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
115414
115415
115416 XLA_AE_LINES_PKG.ValidateCurrentLine;
115417 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
115418
115419 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
115420 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
115421 ,p_balance_type_code => l_balance_type_code);
115422
115423 END IF;
115424
115425 -----------------------------------------------------------------------------------------
115426 -- 4262811 Multiperiod Accounting
115427 -----------------------------------------------------------------------------------------
115428 -- No MPA option is assigned.
115429
115430
115431 END IF;
115432 END IF;
115433 --
115434
115435 --
115436 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
115437 trace
115438 (p_msg => 'END of AcctLineType_192'
115439 ,p_level => C_LEVEL_PROCEDURE
115440 ,p_module => l_log_module);
115441 END IF;
115442 --
115443 EXCEPTION
115444 WHEN xla_exceptions_pkg.application_exception THEN
115445 RAISE;
115446 WHEN OTHERS THEN
115447 xla_exceptions_pkg.raise_message
115448 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_192');
115449 END AcctLineType_192;
115450 --
115451
115452 ---------------------------------------
115453 --
115454 -- PRIVATE FUNCTION
115455 -- AcctLineType_193
115456 --
115457 ---------------------------------------
115458 PROCEDURE AcctLineType_193 (
115459 p_application_id IN NUMBER
115460 ,p_event_id IN NUMBER
115461 ,p_calculate_acctd_flag IN VARCHAR2
115462 ,p_calculate_g_l_flag IN VARCHAR2
115463 ,p_actual_flag IN OUT VARCHAR2
115464 ,p_balance_type_code OUT VARCHAR2
115465 ,p_gain_or_loss_ref OUT VARCHAR2
115466
115467 --Invoice Distribution Description
115468 , p_source_1 IN VARCHAR2
115469 --Automatic Offsets Value
115470 , p_source_15 IN VARCHAR2
115471 , p_source_15_meaning IN VARCHAR2
115472 --Invoice Distribution Ledger Amount
115473 , p_source_21 IN NUMBER
115474 --Invoice Distribution Account
115475 , p_source_30 IN NUMBER
115476 --Invoice Distribution Type
115477 , p_source_33 IN VARCHAR2
115478 , p_source_33_meaning IN VARCHAR2
115479 --Retainage Account
115480 , p_source_40 IN NUMBER
115481 --Retainage Related Item Distribution Account
115482 , p_source_42 IN NUMBER
115483 --Accounting Reversal Indicator
115484 , p_source_53 IN VARCHAR2
115488 , p_source_57 IN NUMBER
115485 --Distribution Link Type
115486 , p_source_55 IN VARCHAR2
115487 --Allocation to Main Distribution Identifier
115489 --Invoice Identifier
115490 , p_source_58 IN NUMBER
115491 --Invoice Distribution Identifier
115492 , p_source_64 IN NUMBER
115493 --Payables Encumbrance Upgrade Credit Account
115494 , p_source_65 IN NUMBER
115495 --Payables Encumbrance Upgrade Credit Amount
115496 , p_source_66 IN NUMBER
115497 --Invoice Currency Code
115498 , p_source_67 IN VARCHAR2
115499 --Payables Encumbrance Upgrade Credit Base Amount
115500 , p_source_68 IN NUMBER
115501 --Payables Encumbrance Upgrade Debit Account
115502 , p_source_69 IN NUMBER
115503 --Payables Encumbrance Upgrade Debit Amount
115504 , p_source_70 IN NUMBER
115505 --Payables Encumbrance Upgrade Debit Base Amount
115506 , p_source_71 IN NUMBER
115507 --Payables Encumbrance Upgrade Option
115508 , p_source_72 IN VARCHAR2
115509 --Invoice Distribution Amount
115510 , p_source_73 IN NUMBER
115511 --Deferred Accounting End Date
115512 , p_source_77 IN DATE
115513 --Deferred Accounting Option
115514 , p_source_78 IN VARCHAR2
115515 --Deferred Accounting Start Date
115516 , p_source_79 IN DATE
115517 --Override Accounted Amount Indicator
115518 , p_source_80 IN VARCHAR2
115519 , p_source_80_meaning IN VARCHAR2
115520 --Invoice Supplier Identifier
115521 , p_source_81 IN NUMBER
115522 --Invoice Supplier Site Identifier
115523 , p_source_82 IN NUMBER
115524 --Third Party Type
115525 , p_source_83 IN VARCHAR2
115526 --Parent Reversal Identifier
115527 , p_source_84 IN NUMBER
115528 --Invoice Distribution Tax Line Identifier
115529 , p_source_86 IN NUMBER
115530 --Invoice Distribution Tax Distribution Identifier from Tax
115531 , p_source_87 IN NUMBER
115532 --Invoice Distribution Summary Tax Line Identifier
115533 , p_source_88 IN NUMBER
115534 --Payables Upgrade Credit Encumbrance Type Identifier
115535 , p_source_89 IN NUMBER
115536 --Payables Upgrade Debit Encumbrance Type Identifier
115537 , p_source_90 IN NUMBER
115538 --Business Flow Accounts Payable Application Identifier
115539 , p_source_91 IN NUMBER
115540 --Business Flow Invoice Distribution Type
115541 , p_source_92 IN VARCHAR2
115542 --Business Flow Invoice Entity Code
115543 , p_source_93 IN VARCHAR2
115544 --Business Flow Invoice Distribution Identifier
115545 , p_source_94 IN NUMBER
115546 --Business Flow Invoice Identifier
115547 , p_source_95 IN NUMBER
115548 --Invoice Exchange Date
115549 , p_source_143 IN DATE
115550 --Invoice Exchange Rate
115551 , p_source_144 IN NUMBER
115552 --Invoice Exchange Rate Type
115553 , p_source_145 IN VARCHAR2
115554 )
115555 IS
115556
115557 l_component_type VARCHAR2(80);
115558 l_component_code VARCHAR2(30);
115559 l_component_type_code VARCHAR2(1);
115560 l_component_appl_id INTEGER;
115561 l_amb_context_code VARCHAR2(30);
115562 l_entity_code VARCHAR2(30);
115563 l_event_class_code VARCHAR2(30);
115564 l_ae_header_id NUMBER;
115565 l_event_type_code VARCHAR2(30);
115566 l_line_definition_code VARCHAR2(30);
115567 l_line_definition_owner_code VARCHAR2(1);
115568 --
115569 -- adr variables
115570 l_segment VARCHAR2(30);
115571 l_ccid NUMBER;
115572 l_adr_transaction_coa_id NUMBER;
115573 l_adr_accounting_coa_id NUMBER;
115574 l_adr_flexfield_segment_code VARCHAR2(30);
115575 l_adr_flex_value_set_id NUMBER;
115576 l_adr_value_type_code VARCHAR2(30);
115577 l_adr_value_combination_id NUMBER;
115578 l_adr_value_segment_code VARCHAR2(30);
115579
115580 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
115581 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
115582 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
115583 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
115584
115585 -- 4262811 Variables ------------------------------------------------------------------------------------------
115586 l_entered_amt_idx NUMBER;
115587 l_accted_amt_idx NUMBER;
115588 l_acc_rev_flag VARCHAR2(1);
115589 l_accrual_line_num NUMBER;
115590 l_tmp_amt NUMBER;
115591 l_acc_rev_natural_side_code VARCHAR2(1);
115592
115593 l_num_entries NUMBER;
115594 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
115595 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
115596 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
115597 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
115598 l_recog_line_1 NUMBER;
115599 l_recog_line_2 NUMBER;
115600
115601 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
115602 l_bflow_applied_to_amt NUMBER; -- 5132302
115603 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
115604
115605 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
115606
115610 ---------------------------------------------------------------------------------------------------------------
115607 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
115608 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
115609
115611
115612
115613 --
115614 -- bulk performance
115615 --
115616 l_balance_type_code VARCHAR2(1);
115617 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
115618 l_log_module VARCHAR2(240);
115619
115620 --
115621 -- Upgrade strategy
115622 --
115623 l_actual_upg_option VARCHAR2(1);
115624 l_enc_upg_option VARCHAR2(1);
115625
115626 --
115627 BEGIN
115628 --
115629 IF g_log_enabled THEN
115630 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_193';
115631 END IF;
115632 --
115633 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
115634
115635 trace
115636 (p_msg => 'BEGIN of AcctLineType_193'
115637 ,p_level => C_LEVEL_PROCEDURE
115638 ,p_module => l_log_module);
115639
115640 END IF;
115641 --
115642 l_component_type := 'AMB_JLT';
115643 l_component_code := 'AP_RETAINAGE_ACC_DM';
115644 l_component_type_code := 'S';
115645 l_component_appl_id := 200;
115646 l_amb_context_code := 'DEFAULT';
115647 l_entity_code := 'AP_INVOICES';
115648 l_event_class_code := 'DEBIT MEMOS';
115649 l_event_type_code := 'DEBIT MEMOS_ALL';
115650 l_line_definition_owner_code := 'S';
115651 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
115652 --
115653 l_balance_type_code := 'A';
115654 l_segment := NULL;
115655 l_ccid := NULL;
115656 l_adr_transaction_coa_id := NULL;
115657 l_adr_accounting_coa_id := NULL;
115658 l_adr_flexfield_segment_code := NULL;
115659 l_adr_flex_value_set_id := NULL;
115660 l_adr_value_type_code := NULL;
115661 l_adr_value_combination_id := NULL;
115662 l_adr_value_segment_code := NULL;
115663
115664 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
115665 l_bflow_class_code := 'AP_RETAINAGE'; -- 4219869 Business Flow
115666 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
115667 l_budgetary_control_flag := 'N';
115668
115669 l_bflow_applied_to_amt_idx := NULL; -- 5132302
115670 l_bflow_applied_to_amt := NULL; -- 5132302
115671 l_entered_amt_idx := NULL; -- 4262811
115672 l_accted_amt_idx := NULL; -- 4262811
115673 l_acc_rev_flag := NULL; -- 4262811
115674 l_accrual_line_num := NULL; -- 4262811
115675 l_tmp_amt := NULL; -- 4262811
115676 --
115677
115678 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
115679 l_balance_type_code <> 'B' THEN
115680 IF NVL(p_source_33,'
115681 ') = 'RETAINAGE'
115682 THEN
115683
115684 --
115685 XLA_AE_LINES_PKG.SetNewLine;
115686
115687 p_balance_type_code := l_balance_type_code;
115688 -- set the flag so later we will know whether the gain loss line needs to be created
115689
115690 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
115691 p_actual_flag :='A';
115692 END IF;
115693
115694 --
115695 -- bulk performance
115696 --
115697 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
115698 p_header_num => 0); -- 4262811
115699 --
115700 -- set accounting line options
115701 --
115702 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
115703 p_natural_side_code => 'D'
115704 , p_gain_or_loss_flag => 'N'
115705 , p_gl_transfer_mode_code => 'S'
115706 , p_acct_entry_type_code => 'A'
115707 , p_switch_side_flag => 'Y'
115708 , p_merge_duplicate_code => 'A'
115709 );
115710 --
115711 l_acc_rev_natural_side_code := 'C'; -- 4262811
115712 --
115713 --
115714 -- set accounting line type info
115715 --
115716 xla_ae_lines_pkg.SetAcctLineType
115717 (p_component_type => l_component_type
115718 ,p_event_type_code => l_event_type_code
115719 ,p_line_definition_owner_code => l_line_definition_owner_code
115720 ,p_line_definition_code => l_line_definition_code
115721 ,p_accounting_line_code => l_component_code
115722 ,p_accounting_line_type_code => l_component_type_code
115723 ,p_accounting_line_appl_id => l_component_appl_id
115724 ,p_amb_context_code => l_amb_context_code
115725 ,p_entity_code => l_entity_code
115726 ,p_event_class_code => l_event_class_code);
115727 --
115728 -- set accounting class
115729 --
115730 xla_ae_lines_pkg.SetAcctClass(
115731 p_accounting_class_code => 'RETAINAGE'
115732 , p_ae_header_id => l_ae_header_id
115733 );
115734
115735 --
115736 -- set rounding class
115737 --
115738 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
115739 'RETAINAGE';
115740
115741 --
115745 -- bulk performance
115742 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
115743 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
115744 --
115746 --
115747 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
115748
115749 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
115750 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
115751
115752 -- 4955764
115753 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
115754 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
115755
115756 -- 4458381 Public Sector Enh
115757
115758 --
115759 -- set accounting attributes for the line type
115760 --
115761 l_entered_amt_idx := 23;
115762 l_accted_amt_idx := 28;
115763 l_bflow_applied_to_amt_idx := NULL; -- 5132302
115764 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
115765 l_rec_acct_attrs.array_char_value(1) := p_source_53;
115766 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
115767 l_rec_acct_attrs.array_num_value(2) :=
115768 xla_ae_sources_pkg.GetSystemSourceNum(
115769 p_source_code => 'XLA_EVENT_APPL_ID'
115770 , p_source_type_code => 'Y'
115771 , p_source_application_id => 602
115772 );
115773 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
115774 l_rec_acct_attrs.array_char_value(3) := p_source_55;
115775 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
115776 l_rec_acct_attrs.array_char_value(4) :=
115777 xla_ae_sources_pkg.GetSystemSourceChar(
115778 p_source_code => 'XLA_ENTITY_CODE'
115779 , p_source_type_code => 'Y'
115780 , p_source_application_id => 602
115781 );
115782 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
115783 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
115784 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
115785 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
115786 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
115787 l_rec_acct_attrs.array_num_value(7) := p_source_91;
115788 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
115789 l_rec_acct_attrs.array_char_value(8) := p_source_92;
115790 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
115791 l_rec_acct_attrs.array_char_value(9) := p_source_93;
115792 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
115793 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
115794 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
115795 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
115796 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
115797 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
115798 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
115799 l_rec_acct_attrs.array_char_value(13) := p_source_55;
115800 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
115801 l_rec_acct_attrs.array_num_value(14) := p_source_65;
115802 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
115803 l_rec_acct_attrs.array_num_value(15) := p_source_66;
115804 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
115805 l_rec_acct_attrs.array_char_value(16) := p_source_67;
115806 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
115807 l_rec_acct_attrs.array_num_value(17) := p_source_68;
115808 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
115809 l_rec_acct_attrs.array_num_value(18) := p_source_69;
115810 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
115811 l_rec_acct_attrs.array_num_value(19) := p_source_70;
115812 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
115813 l_rec_acct_attrs.array_char_value(20) := p_source_67;
115814 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
115815 l_rec_acct_attrs.array_num_value(21) := p_source_71;
115816 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
115817 l_rec_acct_attrs.array_char_value(22) := p_source_72;
115818 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
115819 l_rec_acct_attrs.array_num_value(23) := p_source_73;
115820 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
115821 l_rec_acct_attrs.array_char_value(24) := p_source_67;
115822 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
115823 l_rec_acct_attrs.array_date_value(25) := p_source_143;
115824 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
115825 l_rec_acct_attrs.array_num_value(26) := p_source_144;
115826 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
115827 l_rec_acct_attrs.array_char_value(27) := p_source_145;
115828 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
115829 l_rec_acct_attrs.array_num_value(28) := p_source_21;
115830 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
115831 l_rec_acct_attrs.array_date_value(29) := p_source_77;
115832 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
115833 l_rec_acct_attrs.array_char_value(30) := p_source_78;
115834 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
115838 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
115835 l_rec_acct_attrs.array_date_value(31) := p_source_79;
115836 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
115837 l_rec_acct_attrs.array_char_value(32) := p_source_80;
115839 l_rec_acct_attrs.array_num_value(33) := p_source_81;
115840 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
115841 l_rec_acct_attrs.array_num_value(34) := p_source_82;
115842 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
115843 l_rec_acct_attrs.array_char_value(35) := p_source_83;
115844 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
115845 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
115846 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
115847 l_rec_acct_attrs.array_char_value(37) := p_source_55;
115848 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
115849 l_rec_acct_attrs.array_num_value(38) := p_source_86;
115850 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
115851 l_rec_acct_attrs.array_num_value(39) := p_source_87;
115852 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
115853 l_rec_acct_attrs.array_num_value(40) := p_source_88;
115854 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
115855 l_rec_acct_attrs.array_num_value(41) := p_source_89;
115856 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
115857 l_rec_acct_attrs.array_num_value(42) := p_source_90;
115858
115859 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
115860 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
115861
115862 ---------------------------------------------------------------------------------------------------------------
115863 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
115864 ---------------------------------------------------------------------------------------------------------------
115865 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
115866
115867 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
115868 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
115869
115870 IF xla_accounting_cache_pkg.GetValueChar
115871 (p_source_code => 'LEDGER_CATEGORY_CODE'
115872 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
115873 AND l_bflow_method_code = 'PRIOR_ENTRY'
115874 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
115875 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
115876 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
115877 )
115878 THEN
115879 xla_ae_lines_pkg.BflowUpgEntry
115880 (p_business_method_code => l_bflow_method_code
115881 ,p_business_class_code => l_bflow_class_code
115882 ,p_balance_type => l_balance_type_code);
115883 ELSE
115884 NULL;
115885 -- No business flow processing for business flow method of NONE.
115886 END IF;
115887
115888 --
115889 -- call analytical criteria
115890 --
115891
115892 --
115893 -- call description
115894 --
115895
115896 xla_ae_lines_pkg.SetLineDescription(
115897 p_ae_header_id => l_ae_header_id
115898 ,p_description => Description_1 (
115899 p_application_id => p_application_id
115900 , p_ae_header_id => l_ae_header_id
115901 , p_source_1 => p_source_1
115902 )
115903 );
115904
115905
115906 --
115907 -- call ADRs
115908 -- Bug 4922099
115909 --
115910 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
115911 (NVL(l_actual_upg_option, 'N') = 'O') OR
115912 (NVL(l_enc_upg_option, 'N') = 'O')
115913 )
115914 THEN
115915 NULL;
115916 --
115917 --
115918
115919 l_ccid := AcctDerRule_40(
115920 p_application_id => p_application_id
115921 , p_ae_header_id => l_ae_header_id
115922 , p_source_15 => p_source_15
115923 , p_source_15_meaning => p_source_15_meaning
115924 , p_source_30 => p_source_30
115925 , p_source_42 => p_source_42
115926 , x_transaction_coa_id => l_adr_transaction_coa_id
115927 , x_accounting_coa_id => l_adr_accounting_coa_id
115928 , x_value_type_code => l_adr_value_type_code
115929 , p_side => 'NA'
115930 );
115931
115932 xla_ae_lines_pkg.set_ccid(
115933 p_code_combination_id => l_ccid
115934 , p_value_type_code => l_adr_value_type_code
115935 , p_transaction_coa_id => l_adr_transaction_coa_id
115936 , p_accounting_coa_id => l_adr_accounting_coa_id
115937 , p_adr_code => 'AP_RETAINAGE'
115938 , p_adr_type_code => 'S'
115939 , p_component_type => l_component_type
115940 , p_component_code => l_component_code
115941 , p_component_type_code => l_component_type_code
115942 , p_component_appl_id => l_component_appl_id
115943 , p_amb_context_code => l_amb_context_code
115944 , p_side => 'NA'
115945 );
115946
115947
115948 l_segment := AcctDerRule_19(
115949 p_application_id => p_application_id
115950 , p_ae_header_id => l_ae_header_id
115954 , x_flexfield_segment_code => l_adr_flexfield_segment_code
115951 , p_source_40 => p_source_40
115952 , x_transaction_coa_id => l_adr_transaction_coa_id
115953 , x_accounting_coa_id => l_adr_accounting_coa_id
115955 , x_flex_value_set_id => l_adr_flex_value_set_id
115956 , x_value_type_code => l_adr_value_type_code
115957 , x_value_combination_id => l_adr_value_combination_id
115958 , x_value_segment_code => l_adr_value_segment_code
115959 , p_side => 'NA'
115960 , p_override_seg_flag => 'Y'
115961 );
115962
115963 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
115964
115965 xla_ae_lines_pkg.set_segment(
115966 p_to_segment_code => 'GL_ACCOUNT'
115967 , p_segment_value => l_segment
115968 , p_from_segment_code => l_adr_value_segment_code
115969 , p_from_combination_id => l_adr_value_combination_id
115970 , p_value_type_code => l_adr_value_type_code
115971 , p_transaction_coa_id => l_adr_transaction_coa_id
115972 , p_accounting_coa_id => l_adr_accounting_coa_id
115973 , p_flexfield_segment_code => l_adr_flexfield_segment_code
115974 , p_flex_value_set_id => l_adr_flex_value_set_id
115975 , p_adr_code => 'AP_RETAIN_NAT_ACCT_SEG'
115976 , p_adr_type_code => 'S'
115977 , p_component_type => l_component_type
115978 , p_component_code => l_component_code
115979 , p_component_type_code => l_component_type_code
115980 , p_component_appl_id => l_component_appl_id
115981 , p_amb_context_code => l_amb_context_code
115982 , p_entity_code => 'AP_INVOICES'
115983 , p_event_class_code => 'DEBIT MEMOS'
115984 , p_side => 'NA'
115985 );
115986
115987 END IF;
115988
115989 l_segment := AcctDerRule_24(
115990 p_application_id => p_application_id
115991 , p_ae_header_id => l_ae_header_id
115992 , p_source_15 => p_source_15
115993 , p_source_15_meaning => p_source_15_meaning
115994 , p_source_42 => p_source_42
115995 , x_transaction_coa_id => l_adr_transaction_coa_id
115996 , x_accounting_coa_id => l_adr_accounting_coa_id
115997 , x_flexfield_segment_code => l_adr_flexfield_segment_code
115998 , x_flex_value_set_id => l_adr_flex_value_set_id
115999 , x_value_type_code => l_adr_value_type_code
116000 , x_value_combination_id => l_adr_value_combination_id
116001 , x_value_segment_code => l_adr_value_segment_code
116002 , p_side => 'NA'
116003 , p_override_seg_flag => 'Y'
116004 );
116005
116006 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
116007
116008 xla_ae_lines_pkg.set_segment(
116009 p_to_segment_code => 'GL_BALANCING'
116010 , p_segment_value => l_segment
116011 , p_from_segment_code => l_adr_value_segment_code
116012 , p_from_combination_id => l_adr_value_combination_id
116013 , p_value_type_code => l_adr_value_type_code
116014 , p_transaction_coa_id => l_adr_transaction_coa_id
116015 , p_accounting_coa_id => l_adr_accounting_coa_id
116016 , p_flexfield_segment_code => l_adr_flexfield_segment_code
116017 , p_flex_value_set_id => l_adr_flex_value_set_id
116018 , p_adr_code => 'AP_RETAIN_RELATED_BAL_SEG'
116019 , p_adr_type_code => 'S'
116020 , p_component_type => l_component_type
116021 , p_component_code => l_component_code
116022 , p_component_type_code => l_component_type_code
116023 , p_component_appl_id => l_component_appl_id
116024 , p_amb_context_code => l_amb_context_code
116025 , p_entity_code => 'AP_INVOICES'
116026 , p_event_class_code => 'DEBIT MEMOS'
116027 , p_side => 'NA'
116028 );
116029
116030 END IF;
116031
116032 --
116033 --
116034 END IF;
116035 --
116036 -- Bug 4922099
116037 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
116038 (NVL(l_enc_upg_option, 'N') = 'O')
116039 ) AND
116040 (l_bflow_method_code = 'PRIOR_ENTRY')
116041 )
116042 THEN
116043 IF
116044 --
116045 1 = 2
116046 --
116047 THEN
116048 xla_accounting_err_pkg.build_message
116049 (p_appli_s_name => 'XLA'
116050 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
116051 ,p_token_1 => 'LINE_NUMBER'
116052 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
116053 ,p_token_2 => 'LINE_TYPE_NAME'
116054 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
116055 l_component_type
116056 ,l_component_code
116057 ,l_component_type_code
116061 ,l_event_class_code
116058 ,l_component_appl_id
116059 ,l_amb_context_code
116060 ,l_entity_code
116062 )
116063 ,p_token_3 => 'OWNER'
116064 ,p_value_3 => xla_lookups_pkg.get_meaning(
116065 p_lookup_type => 'XLA_OWNER_TYPE'
116066 ,p_lookup_code => l_component_type_code
116067 )
116068 ,p_token_4 => 'PRODUCT_NAME'
116069 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
116070 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
116071 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
116072 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
116073 ,p_ae_header_id => NULL
116074 );
116075
116076 IF (C_LEVEL_ERROR>= g_log_level) THEN
116077 trace
116078 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
116079 ,p_level => C_LEVEL_ERROR
116080 ,p_module => l_log_module);
116081 END IF;
116082 END IF;
116083 END IF;
116084 --
116085 --
116086 ------------------------------------------------------------------------------------------------
116087 -- 4219869 Business Flow
116088 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
116089 -- Prior Entry. Currently, the following code is always generated.
116090 ------------------------------------------------------------------------------------------------
116091 XLA_AE_LINES_PKG.ValidateCurrentLine;
116092
116093 ------------------------------------------------------------------------------------
116094 -- 4219869 Business Flow
116095 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
116096 ------------------------------------------------------------------------------------
116097 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
116098
116099 ----------------------------------------------------------------------------------
116100 -- 4219869 Business Flow
116101 -- Update journal entry status -- Need to generate this within IF <condition>
116102 ----------------------------------------------------------------------------------
116103 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
116104 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
116105 ,p_balance_type_code => l_balance_type_code
116106 );
116107
116108 -------------------------------------------------------------------------------------------
116109 -- 4262811 - Generate the Accrual Reversal lines
116110 -------------------------------------------------------------------------------------------
116111 BEGIN
116112 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
116113 (g_array_event(p_event_id).array_value_num('header_index'));
116114 IF l_acc_rev_flag IS NULL THEN
116115 l_acc_rev_flag := 'N';
116116 END IF;
116117 EXCEPTION
116118 WHEN OTHERS THEN
116119 l_acc_rev_flag := 'N';
116120 END;
116121 --
116122 IF (l_acc_rev_flag = 'Y') THEN
116123
116124 -- 4645092 ------------------------------------------------------------------------------
116125 -- To allow MPA report to determine if it should generate report process
116126 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
116127 ------------------------------------------------------------------------------------------
116128
116129 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
116130 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
116131 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
116132 -- call ADRs
116133 -- Bug 4922099
116134 --
116135 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
116136 (NVL(l_actual_upg_option, 'N') = 'O') OR
116137 (NVL(l_enc_upg_option, 'N') = 'O')
116138 )
116139 THEN
116140 NULL;
116141 --
116142 --
116143
116144 l_ccid := AcctDerRule_40(
116145 p_application_id => p_application_id
116146 , p_ae_header_id => l_ae_header_id
116147 , p_source_15 => p_source_15
116148 , p_source_15_meaning => p_source_15_meaning
116149 , p_source_30 => p_source_30
116150 , p_source_42 => p_source_42
116151 , x_transaction_coa_id => l_adr_transaction_coa_id
116152 , x_accounting_coa_id => l_adr_accounting_coa_id
116153 , x_value_type_code => l_adr_value_type_code
116154 , p_side => 'NA'
116155 );
116156
116157 xla_ae_lines_pkg.set_ccid(
116158 p_code_combination_id => l_ccid
116162 , p_adr_code => 'AP_RETAINAGE'
116159 , p_value_type_code => l_adr_value_type_code
116160 , p_transaction_coa_id => l_adr_transaction_coa_id
116161 , p_accounting_coa_id => l_adr_accounting_coa_id
116163 , p_adr_type_code => 'S'
116164 , p_component_type => l_component_type
116165 , p_component_code => l_component_code
116166 , p_component_type_code => l_component_type_code
116167 , p_component_appl_id => l_component_appl_id
116168 , p_amb_context_code => l_amb_context_code
116169 , p_side => 'NA'
116170 );
116171
116172
116173 l_segment := AcctDerRule_19(
116174 p_application_id => p_application_id
116175 , p_ae_header_id => l_ae_header_id
116176 , p_source_40 => p_source_40
116177 , x_transaction_coa_id => l_adr_transaction_coa_id
116178 , x_accounting_coa_id => l_adr_accounting_coa_id
116179 , x_flexfield_segment_code => l_adr_flexfield_segment_code
116180 , x_flex_value_set_id => l_adr_flex_value_set_id
116181 , x_value_type_code => l_adr_value_type_code
116182 , x_value_combination_id => l_adr_value_combination_id
116183 , x_value_segment_code => l_adr_value_segment_code
116184 , p_side => 'NA'
116185 , p_override_seg_flag => 'Y'
116186 );
116187
116188 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
116189
116190 xla_ae_lines_pkg.set_segment(
116191 p_to_segment_code => 'GL_ACCOUNT'
116192 , p_segment_value => l_segment
116193 , p_from_segment_code => l_adr_value_segment_code
116194 , p_from_combination_id => l_adr_value_combination_id
116195 , p_value_type_code => l_adr_value_type_code
116196 , p_transaction_coa_id => l_adr_transaction_coa_id
116197 , p_accounting_coa_id => l_adr_accounting_coa_id
116198 , p_flexfield_segment_code => l_adr_flexfield_segment_code
116199 , p_flex_value_set_id => l_adr_flex_value_set_id
116200 , p_adr_code => 'AP_RETAIN_NAT_ACCT_SEG'
116201 , p_adr_type_code => 'S'
116202 , p_component_type => l_component_type
116203 , p_component_code => l_component_code
116204 , p_component_type_code => l_component_type_code
116205 , p_component_appl_id => l_component_appl_id
116206 , p_amb_context_code => l_amb_context_code
116207 , p_entity_code => 'AP_INVOICES'
116208 , p_event_class_code => 'DEBIT MEMOS'
116209 , p_side => 'NA'
116210 );
116211
116212 END IF;
116213
116214 l_segment := AcctDerRule_24(
116215 p_application_id => p_application_id
116216 , p_ae_header_id => l_ae_header_id
116217 , p_source_15 => p_source_15
116218 , p_source_15_meaning => p_source_15_meaning
116219 , p_source_42 => p_source_42
116220 , x_transaction_coa_id => l_adr_transaction_coa_id
116221 , x_accounting_coa_id => l_adr_accounting_coa_id
116222 , x_flexfield_segment_code => l_adr_flexfield_segment_code
116223 , x_flex_value_set_id => l_adr_flex_value_set_id
116224 , x_value_type_code => l_adr_value_type_code
116225 , x_value_combination_id => l_adr_value_combination_id
116226 , x_value_segment_code => l_adr_value_segment_code
116227 , p_side => 'NA'
116228 , p_override_seg_flag => 'Y'
116229 );
116230
116231 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
116232
116233 xla_ae_lines_pkg.set_segment(
116234 p_to_segment_code => 'GL_BALANCING'
116235 , p_segment_value => l_segment
116236 , p_from_segment_code => l_adr_value_segment_code
116237 , p_from_combination_id => l_adr_value_combination_id
116238 , p_value_type_code => l_adr_value_type_code
116239 , p_transaction_coa_id => l_adr_transaction_coa_id
116240 , p_accounting_coa_id => l_adr_accounting_coa_id
116241 , p_flexfield_segment_code => l_adr_flexfield_segment_code
116242 , p_flex_value_set_id => l_adr_flex_value_set_id
116243 , p_adr_code => 'AP_RETAIN_RELATED_BAL_SEG'
116244 , p_adr_type_code => 'S'
116245 , p_component_type => l_component_type
116246 , p_component_code => l_component_code
116247 , p_component_type_code => l_component_type_code
116248 , p_component_appl_id => l_component_appl_id
116249 , p_amb_context_code => l_amb_context_code
116250 , p_entity_code => 'AP_INVOICES'
116251 , p_event_class_code => 'DEBIT MEMOS'
116252 , p_side => 'NA'
116253 );
116254
116255 END IF;
116256
116257 --
116258 --
116259 END IF;
116260
116261 --
116262 -- Update the line information that should be overwritten
116263 --
116264 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
116265 p_header_num => 1);
116266 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
116267
116271 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
116268 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
116269
116270 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
116272 END IF;
116273
116274 --
116275 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
116276 --
116277 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
116278 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
116279 ELSE
116280 ---------------------------------------------------------------------------------------------------
116281 -- 4262811a Switch Sign
116282 ---------------------------------------------------------------------------------------------------
116283 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
116284 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
116285 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
116286 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
116287 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
116288 -- 5132302
116289 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
116290 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
116291
116292 END IF;
116293
116294 -- 4955764
116295 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
116296 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
116297
116298
116299 XLA_AE_LINES_PKG.ValidateCurrentLine;
116300 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
116301
116302 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
116303 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
116304 ,p_balance_type_code => l_balance_type_code);
116305
116306 END IF;
116307
116308 -----------------------------------------------------------------------------------------
116309 -- 4262811 Multiperiod Accounting
116310 -----------------------------------------------------------------------------------------
116311 -- No MPA option is assigned.
116312
116313
116314 END IF;
116315 END IF;
116316 --
116317
116318 --
116319 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
116320 trace
116321 (p_msg => 'END of AcctLineType_193'
116322 ,p_level => C_LEVEL_PROCEDURE
116323 ,p_module => l_log_module);
116324 END IF;
116325 --
116326 EXCEPTION
116327 WHEN xla_exceptions_pkg.application_exception THEN
116328 RAISE;
116329 WHEN OTHERS THEN
116330 xla_exceptions_pkg.raise_message
116331 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_193');
116332 END AcctLineType_193;
116333 --
116334
116335 ---------------------------------------
116336 --
116337 -- PRIVATE FUNCTION
116338 -- AcctLineType_194
116339 --
116340 ---------------------------------------
116341 PROCEDURE AcctLineType_194 (
116342 p_application_id IN NUMBER
116343 ,p_event_id IN NUMBER
116344 ,p_calculate_acctd_flag IN VARCHAR2
116345 ,p_calculate_g_l_flag IN VARCHAR2
116346 ,p_actual_flag IN OUT VARCHAR2
116347 ,p_balance_type_code OUT VARCHAR2
116348 ,p_gain_or_loss_ref OUT VARCHAR2
116349
116350 --Invoice Distribution Description
116351 , p_source_1 IN VARCHAR2
116352 --Invoice Distribution Ledger Amount
116353 , p_source_21 IN NUMBER
116354 --Invoice Distribution Type
116355 , p_source_33 IN VARCHAR2
116356 , p_source_33_meaning IN VARCHAR2
116357 --Accounting Reversal Indicator
116358 , p_source_53 IN VARCHAR2
116359 --Distribution Link Type
116360 , p_source_55 IN VARCHAR2
116361 --Allocation to Main Distribution Identifier
116362 , p_source_57 IN NUMBER
116363 --Invoice Identifier
116364 , p_source_58 IN NUMBER
116365 --Invoice Distribution Identifier
116366 , p_source_64 IN NUMBER
116367 --Payables Encumbrance Upgrade Credit Account
116368 , p_source_65 IN NUMBER
116369 --Payables Encumbrance Upgrade Credit Amount
116370 , p_source_66 IN NUMBER
116371 --Invoice Currency Code
116372 , p_source_67 IN VARCHAR2
116373 --Payables Encumbrance Upgrade Credit Base Amount
116374 , p_source_68 IN NUMBER
116375 --Payables Encumbrance Upgrade Debit Account
116376 , p_source_69 IN NUMBER
116377 --Payables Encumbrance Upgrade Debit Amount
116378 , p_source_70 IN NUMBER
116379 --Payables Encumbrance Upgrade Debit Base Amount
116380 , p_source_71 IN NUMBER
116381 --Payables Encumbrance Upgrade Option
116382 , p_source_72 IN VARCHAR2
116383 --Invoice Distribution Amount
116384 , p_source_73 IN NUMBER
116385 --Deferred Accounting End Date
116386 , p_source_77 IN DATE
116387 --Deferred Accounting Option
116388 , p_source_78 IN VARCHAR2
116392 , p_source_80 IN VARCHAR2
116389 --Deferred Accounting Start Date
116390 , p_source_79 IN DATE
116391 --Override Accounted Amount Indicator
116393 , p_source_80_meaning IN VARCHAR2
116394 --Third Party Type
116395 , p_source_83 IN VARCHAR2
116396 --Parent Reversal Identifier
116397 , p_source_84 IN NUMBER
116398 --Invoice Distribution Statistical Amount
116399 , p_source_85 IN NUMBER
116400 --Invoice Distribution Tax Line Identifier
116401 , p_source_86 IN NUMBER
116402 --Invoice Distribution Tax Distribution Identifier from Tax
116403 , p_source_87 IN NUMBER
116404 --Invoice Distribution Summary Tax Line Identifier
116405 , p_source_88 IN NUMBER
116406 --Payables Upgrade Credit Encumbrance Type Identifier
116407 , p_source_89 IN NUMBER
116408 --Payables Upgrade Debit Encumbrance Type Identifier
116409 , p_source_90 IN NUMBER
116410 --Business Flow Accounts Payable Application Identifier
116411 , p_source_91 IN NUMBER
116412 --Business Flow Invoice Distribution Type
116413 , p_source_92 IN VARCHAR2
116414 --Business Flow Invoice Entity Code
116415 , p_source_93 IN VARCHAR2
116416 --Invoice Type
116417 , p_source_165 IN VARCHAR2
116418 , p_source_165_meaning IN VARCHAR2
116419 --Business Flow Retained Invoice Distribution
116420 , p_source_166 IN NUMBER
116421 --Business Flow Retained Invoice
116422 , p_source_167 IN NUMBER
116423 )
116424 IS
116425
116426 l_component_type VARCHAR2(80);
116427 l_component_code VARCHAR2(30);
116428 l_component_type_code VARCHAR2(1);
116429 l_component_appl_id INTEGER;
116430 l_amb_context_code VARCHAR2(30);
116431 l_entity_code VARCHAR2(30);
116432 l_event_class_code VARCHAR2(30);
116433 l_ae_header_id NUMBER;
116434 l_event_type_code VARCHAR2(30);
116435 l_line_definition_code VARCHAR2(30);
116436 l_line_definition_owner_code VARCHAR2(1);
116437 --
116438 -- adr variables
116439 l_segment VARCHAR2(30);
116440 l_ccid NUMBER;
116441 l_adr_transaction_coa_id NUMBER;
116442 l_adr_accounting_coa_id NUMBER;
116443 l_adr_flexfield_segment_code VARCHAR2(30);
116444 l_adr_flex_value_set_id NUMBER;
116445 l_adr_value_type_code VARCHAR2(30);
116446 l_adr_value_combination_id NUMBER;
116447 l_adr_value_segment_code VARCHAR2(30);
116448
116449 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
116450 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
116451 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
116452 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
116453
116454 -- 4262811 Variables ------------------------------------------------------------------------------------------
116455 l_entered_amt_idx NUMBER;
116456 l_accted_amt_idx NUMBER;
116457 l_acc_rev_flag VARCHAR2(1);
116458 l_accrual_line_num NUMBER;
116459 l_tmp_amt NUMBER;
116460 l_acc_rev_natural_side_code VARCHAR2(1);
116461
116462 l_num_entries NUMBER;
116463 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
116464 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
116465 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
116466 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
116467 l_recog_line_1 NUMBER;
116468 l_recog_line_2 NUMBER;
116469
116470 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
116471 l_bflow_applied_to_amt NUMBER; -- 5132302
116472 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
116473
116474 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
116475
116476 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
116477 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
116478
116479 ---------------------------------------------------------------------------------------------------------------
116480
116481
116482 --
116483 -- bulk performance
116484 --
116485 l_balance_type_code VARCHAR2(1);
116486 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
116487 l_log_module VARCHAR2(240);
116488
116489 --
116490 -- Upgrade strategy
116491 --
116492 l_actual_upg_option VARCHAR2(1);
116493 l_enc_upg_option VARCHAR2(1);
116494
116495 --
116496 BEGIN
116497 --
116498 IF g_log_enabled THEN
116499 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_194';
116500 END IF;
116501 --
116502 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
116503
116504 trace
116505 (p_msg => 'BEGIN of AcctLineType_194'
116506 ,p_level => C_LEVEL_PROCEDURE
116507 ,p_module => l_log_module);
116508
116509 END IF;
116510 --
116511 l_component_type := 'AMB_JLT';
116512 l_component_code := 'AP_RETAINAGE_RELEASE_ACCR';
116513 l_component_type_code := 'S';
116514 l_component_appl_id := 200;
116515 l_amb_context_code := 'DEFAULT';
116516 l_entity_code := 'AP_INVOICES';
116517 l_event_class_code := 'INVOICES';
116518 l_event_type_code := 'INVOICES_ALL';
116522 l_balance_type_code := 'A';
116519 l_line_definition_owner_code := 'S';
116520 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
116521 --
116523 l_segment := NULL;
116524 l_ccid := NULL;
116525 l_adr_transaction_coa_id := NULL;
116526 l_adr_accounting_coa_id := NULL;
116527 l_adr_flexfield_segment_code := NULL;
116528 l_adr_flex_value_set_id := NULL;
116529 l_adr_value_type_code := NULL;
116530 l_adr_value_combination_id := NULL;
116531 l_adr_value_segment_code := NULL;
116532
116533 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
116534 l_bflow_class_code := 'AP_RETAINAGE'; -- 4219869 Business Flow
116535 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
116536 l_budgetary_control_flag := 'N';
116537
116538 l_bflow_applied_to_amt_idx := NULL; -- 5132302
116539 l_bflow_applied_to_amt := NULL; -- 5132302
116540 l_entered_amt_idx := NULL; -- 4262811
116541 l_accted_amt_idx := NULL; -- 4262811
116542 l_acc_rev_flag := NULL; -- 4262811
116543 l_accrual_line_num := NULL; -- 4262811
116544 l_tmp_amt := NULL; -- 4262811
116545 --
116546
116547 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
116548 l_balance_type_code <> 'B' THEN
116549 IF NVL(p_source_165,'
116550 ') = 'RETAINAGE RELEASE' AND
116551 NVL(p_source_33,'
116552 ') = 'RETAINAGE'
116553 THEN
116554
116555 --
116556 XLA_AE_LINES_PKG.SetNewLine;
116557
116558 p_balance_type_code := l_balance_type_code;
116559 -- set the flag so later we will know whether the gain loss line needs to be created
116560
116561 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
116562 p_actual_flag :='A';
116563 END IF;
116564
116565 --
116566 -- bulk performance
116567 --
116568 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
116569 p_header_num => 0); -- 4262811
116570 --
116571 -- set accounting line options
116572 --
116573 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
116574 p_natural_side_code => 'D'
116575 , p_gain_or_loss_flag => 'N'
116576 , p_gl_transfer_mode_code => 'S'
116577 , p_acct_entry_type_code => 'A'
116578 , p_switch_side_flag => 'Y'
116579 , p_merge_duplicate_code => 'A'
116580 );
116581 --
116582 l_acc_rev_natural_side_code := 'C'; -- 4262811
116583 --
116584 --
116585 -- set accounting line type info
116586 --
116587 xla_ae_lines_pkg.SetAcctLineType
116588 (p_component_type => l_component_type
116589 ,p_event_type_code => l_event_type_code
116590 ,p_line_definition_owner_code => l_line_definition_owner_code
116591 ,p_line_definition_code => l_line_definition_code
116592 ,p_accounting_line_code => l_component_code
116593 ,p_accounting_line_type_code => l_component_type_code
116594 ,p_accounting_line_appl_id => l_component_appl_id
116595 ,p_amb_context_code => l_amb_context_code
116596 ,p_entity_code => l_entity_code
116597 ,p_event_class_code => l_event_class_code);
116598 --
116599 -- set accounting class
116600 --
116601 xla_ae_lines_pkg.SetAcctClass(
116602 p_accounting_class_code => 'RETAINAGE'
116603 , p_ae_header_id => l_ae_header_id
116604 );
116605
116606 --
116607 -- set rounding class
116608 --
116609 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
116610 'RETAINAGE';
116611
116612 --
116613 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
116614 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
116615 --
116616 -- bulk performance
116617 --
116618 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
116619
116620 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
116621 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
116622
116623 -- 4955764
116624 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
116625 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
116626
116627 -- 4458381 Public Sector Enh
116628
116629 --
116630 -- set accounting attributes for the line type
116631 --
116632 l_entered_amt_idx := 24;
116633 l_accted_amt_idx := 26;
116634 l_bflow_applied_to_amt_idx := 7; -- 5132302
116635 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
116636 l_rec_acct_attrs.array_char_value(1) := p_source_53;
116637 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
116638 l_rec_acct_attrs.array_num_value(2) :=
116639 xla_ae_sources_pkg.GetSystemSourceNum(
116640 p_source_code => 'XLA_EVENT_APPL_ID'
116641 , p_source_type_code => 'Y'
116642 , p_source_application_id => 602
116643 );
116644 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
116645 l_rec_acct_attrs.array_char_value(3) := p_source_55;
116649 p_source_code => 'XLA_ENTITY_CODE'
116646 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
116647 l_rec_acct_attrs.array_char_value(4) :=
116648 xla_ae_sources_pkg.GetSystemSourceChar(
116650 , p_source_type_code => 'Y'
116651 , p_source_application_id => 602
116652 );
116653 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
116654 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
116655 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
116656 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
116657 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
116658 l_rec_acct_attrs.array_num_value(7) := p_source_73;
116659 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
116660 l_rec_acct_attrs.array_num_value(8) := p_source_91;
116661 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
116662 l_rec_acct_attrs.array_char_value(9) := p_source_92;
116663 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
116664 l_rec_acct_attrs.array_char_value(10) := p_source_93;
116665 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
116666 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_166);
116667 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
116668 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_167);
116669 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
116670 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_64);
116671 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
116672 l_rec_acct_attrs.array_char_value(14) := p_source_55;
116673 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
116674 l_rec_acct_attrs.array_num_value(15) := p_source_65;
116675 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
116676 l_rec_acct_attrs.array_num_value(16) := p_source_66;
116677 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
116678 l_rec_acct_attrs.array_char_value(17) := p_source_67;
116679 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
116680 l_rec_acct_attrs.array_num_value(18) := p_source_68;
116681 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
116682 l_rec_acct_attrs.array_num_value(19) := p_source_69;
116683 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
116684 l_rec_acct_attrs.array_num_value(20) := p_source_70;
116685 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
116686 l_rec_acct_attrs.array_char_value(21) := p_source_67;
116687 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
116688 l_rec_acct_attrs.array_num_value(22) := p_source_71;
116689 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
116690 l_rec_acct_attrs.array_char_value(23) := p_source_72;
116691 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
116692 l_rec_acct_attrs.array_num_value(24) := p_source_73;
116693 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
116694 l_rec_acct_attrs.array_char_value(25) := p_source_67;
116695 l_rec_acct_attrs.array_acct_attr_code(26) := 'LEDGER_AMOUNT';
116696 l_rec_acct_attrs.array_num_value(26) := p_source_21;
116697 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_END_DATE';
116698 l_rec_acct_attrs.array_date_value(27) := p_source_77;
116699 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_OPTION';
116700 l_rec_acct_attrs.array_char_value(28) := p_source_78;
116701 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_START_DATE';
116702 l_rec_acct_attrs.array_date_value(29) := p_source_79;
116703 l_rec_acct_attrs.array_acct_attr_code(30) := 'OVERRIDE_ACCTD_AMT_FLAG';
116704 l_rec_acct_attrs.array_char_value(30) := p_source_80;
116705 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
116706 l_rec_acct_attrs.array_char_value(31) := p_source_83;
116707 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
116708 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_84);
116709 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
116710 l_rec_acct_attrs.array_char_value(33) := p_source_55;
116711 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
116712 l_rec_acct_attrs.array_num_value(34) := p_source_85;
116713 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
116714 l_rec_acct_attrs.array_num_value(35) := p_source_86;
116715 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
116716 l_rec_acct_attrs.array_num_value(36) := p_source_87;
116717 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
116718 l_rec_acct_attrs.array_num_value(37) := p_source_88;
116719 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
116720 l_rec_acct_attrs.array_num_value(38) := p_source_89;
116721 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
116722 l_rec_acct_attrs.array_num_value(39) := p_source_90;
116723
116724 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
116725 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
116726
116727 ---------------------------------------------------------------------------------------------------------------
116728 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
116729 ---------------------------------------------------------------------------------------------------------------
116733 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
116730 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
116731
116732 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
116734
116735 IF xla_accounting_cache_pkg.GetValueChar
116736 (p_source_code => 'LEDGER_CATEGORY_CODE'
116737 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
116738 AND l_bflow_method_code = 'PRIOR_ENTRY'
116739 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
116740 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
116741 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
116742 )
116743 THEN
116744 xla_ae_lines_pkg.BflowUpgEntry
116745 (p_business_method_code => l_bflow_method_code
116746 ,p_business_class_code => l_bflow_class_code
116747 ,p_balance_type => l_balance_type_code);
116748 ELSE
116749 NULL;
116750 XLA_AE_LINES_PKG.business_flow_validation(
116751 p_business_method_code => l_bflow_method_code
116752 ,p_business_class_code => l_bflow_class_code
116753 ,p_inherit_description_flag => l_inherit_desc_flag);
116754 END IF;
116755
116756 --
116757 -- call analytical criteria
116758 --
116759 -- Inherited Analytical Criteria for business flow method of Prior Entry.
116760 --
116761 -- call description
116762 --
116763
116764 xla_ae_lines_pkg.SetLineDescription(
116765 p_ae_header_id => l_ae_header_id
116766 ,p_description => Description_1 (
116767 p_application_id => p_application_id
116768 , p_ae_header_id => l_ae_header_id
116769 , p_source_1 => p_source_1
116770 )
116771 );
116772
116773
116774 --
116775 -- call ADRs
116776 -- Bug 4922099
116777 --
116778 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
116779 (NVL(l_actual_upg_option, 'N') = 'O') OR
116780 (NVL(l_enc_upg_option, 'N') = 'O')
116781 )
116782 THEN
116783 NULL;
116784 --
116785 --
116786
116787 --
116788 --
116789 END IF;
116790 --
116791 -- Bug 4922099
116792 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
116793 (NVL(l_enc_upg_option, 'N') = 'O')
116794 ) AND
116795 (l_bflow_method_code = 'PRIOR_ENTRY')
116796 )
116797 THEN
116798 IF
116799 --
116800 1 = 1
116801 --
116802 THEN
116803 xla_accounting_err_pkg.build_message
116804 (p_appli_s_name => 'XLA'
116805 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
116806 ,p_token_1 => 'LINE_NUMBER'
116807 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
116808 ,p_token_2 => 'LINE_TYPE_NAME'
116809 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
116810 l_component_type
116811 ,l_component_code
116812 ,l_component_type_code
116813 ,l_component_appl_id
116814 ,l_amb_context_code
116815 ,l_entity_code
116816 ,l_event_class_code
116817 )
116818 ,p_token_3 => 'OWNER'
116819 ,p_value_3 => xla_lookups_pkg.get_meaning(
116820 p_lookup_type => 'XLA_OWNER_TYPE'
116821 ,p_lookup_code => l_component_type_code
116822 )
116823 ,p_token_4 => 'PRODUCT_NAME'
116824 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
116825 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
116826 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
116827 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
116828 ,p_ae_header_id => NULL
116829 );
116830
116831 IF (C_LEVEL_ERROR>= g_log_level) THEN
116832 trace
116833 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
116834 ,p_level => C_LEVEL_ERROR
116835 ,p_module => l_log_module);
116836 END IF;
116837 END IF;
116838 END IF;
116839 --
116840 --
116844 -- Prior Entry. Currently, the following code is always generated.
116841 ------------------------------------------------------------------------------------------------
116842 -- 4219869 Business Flow
116843 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
116845 ------------------------------------------------------------------------------------------------
116846 -- No ValidateCurrentLine for business flow method of Prior Entry
116847
116848 ------------------------------------------------------------------------------------
116849 -- 4219869 Business Flow
116850 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
116851 ------------------------------------------------------------------------------------
116852 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
116853
116854 ----------------------------------------------------------------------------------
116855 -- 4219869 Business Flow
116856 -- Update journal entry status -- Need to generate this within IF <condition>
116857 ----------------------------------------------------------------------------------
116858 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
116859 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
116860 ,p_balance_type_code => l_balance_type_code
116861 );
116862
116863 -------------------------------------------------------------------------------------------
116864 -- 4262811 - Generate the Accrual Reversal lines
116865 -------------------------------------------------------------------------------------------
116866 BEGIN
116867 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
116868 (g_array_event(p_event_id).array_value_num('header_index'));
116869 IF l_acc_rev_flag IS NULL THEN
116870 l_acc_rev_flag := 'N';
116871 END IF;
116872 EXCEPTION
116873 WHEN OTHERS THEN
116874 l_acc_rev_flag := 'N';
116875 END;
116876 --
116877 IF (l_acc_rev_flag = 'Y') THEN
116878
116879 -- 4645092 ------------------------------------------------------------------------------
116880 -- To allow MPA report to determine if it should generate report process
116881 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
116882 ------------------------------------------------------------------------------------------
116883
116884 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
116885 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
116886 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
116887 -- call ADRs
116888 -- Bug 4922099
116889 --
116890 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
116891 (NVL(l_actual_upg_option, 'N') = 'O') OR
116892 (NVL(l_enc_upg_option, 'N') = 'O')
116893 )
116894 THEN
116895 NULL;
116896 --
116897 --
116898
116899 --
116900 --
116901 END IF;
116902
116903 --
116904 -- Update the line information that should be overwritten
116905 --
116906 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
116907 p_header_num => 1);
116908 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
116909
116910 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
116911
116912 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
116913 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
116914 END IF;
116915
116916 --
116917 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
116918 --
116919 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
116920 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
116921 ELSE
116922 ---------------------------------------------------------------------------------------------------
116923 -- 4262811a Switch Sign
116924 ---------------------------------------------------------------------------------------------------
116925 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
116926 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
116927 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
116928 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
116929 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
116930 -- 5132302
116931 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
116932 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
116933
116934 END IF;
116935
116936 -- 4955764
116937 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
116938 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
116939
116940
116941 XLA_AE_LINES_PKG.ValidateCurrentLine;
116942 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
116943
116947
116944 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
116945 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
116946 ,p_balance_type_code => l_balance_type_code);
116948 END IF;
116949
116950 -----------------------------------------------------------------------------------------
116951 -- 4262811 Multiperiod Accounting
116952 -----------------------------------------------------------------------------------------
116953 -- No MPA option is assigned.
116954
116955
116956 END IF;
116957 END IF;
116958 --
116959
116960 --
116961 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
116962 trace
116963 (p_msg => 'END of AcctLineType_194'
116964 ,p_level => C_LEVEL_PROCEDURE
116965 ,p_module => l_log_module);
116966 END IF;
116967 --
116968 EXCEPTION
116969 WHEN xla_exceptions_pkg.application_exception THEN
116970 RAISE;
116971 WHEN OTHERS THEN
116972 xla_exceptions_pkg.raise_message
116973 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_194');
116974 END AcctLineType_194;
116975 --
116976
116977 ---------------------------------------
116978 --
116979 -- PRIVATE FUNCTION
116980 -- AcctLineType_195
116981 --
116982 ---------------------------------------
116983 PROCEDURE AcctLineType_195 (
116984 p_application_id IN NUMBER
116985 ,p_event_id IN NUMBER
116986 ,p_calculate_acctd_flag IN VARCHAR2
116987 ,p_calculate_g_l_flag IN VARCHAR2
116988 ,p_actual_flag IN OUT VARCHAR2
116989 ,p_balance_type_code OUT VARCHAR2
116990 ,p_gain_or_loss_ref OUT VARCHAR2
116991
116992 --Invoice Distribution Description
116993 , p_source_1 IN VARCHAR2
116994 --Invoice Distribution Ledger Amount
116995 , p_source_21 IN NUMBER
116996 --Invoice Distribution Type
116997 , p_source_33 IN VARCHAR2
116998 , p_source_33_meaning IN VARCHAR2
116999 --Self-Assessed Tax Account
117000 , p_source_50 IN NUMBER
117001 --Accounting Reversal Indicator
117002 , p_source_53 IN VARCHAR2
117003 --Distribution Link Type
117004 , p_source_55 IN VARCHAR2
117005 --Allocation to Main Distribution Identifier
117006 , p_source_57 IN NUMBER
117007 --Invoice Identifier
117008 , p_source_58 IN NUMBER
117009 --Invoice Distribution Identifier
117010 , p_source_64 IN NUMBER
117011 --Payables Encumbrance Upgrade Credit Account
117012 , p_source_65 IN NUMBER
117013 --Payables Encumbrance Upgrade Credit Amount
117014 , p_source_66 IN NUMBER
117015 --Invoice Currency Code
117016 , p_source_67 IN VARCHAR2
117017 --Payables Encumbrance Upgrade Credit Base Amount
117018 , p_source_68 IN NUMBER
117019 --Payables Encumbrance Upgrade Debit Account
117020 , p_source_69 IN NUMBER
117021 --Payables Encumbrance Upgrade Debit Amount
117022 , p_source_70 IN NUMBER
117023 --Payables Encumbrance Upgrade Debit Base Amount
117024 , p_source_71 IN NUMBER
117025 --Payables Encumbrance Upgrade Option
117026 , p_source_72 IN VARCHAR2
117027 --Invoice Distribution Amount
117028 , p_source_73 IN NUMBER
117029 --Deferred Accounting End Date
117030 , p_source_77 IN DATE
117031 --Deferred Accounting Option
117032 , p_source_78 IN VARCHAR2
117033 --Deferred Accounting Start Date
117034 , p_source_79 IN DATE
117035 --Override Accounted Amount Indicator
117036 , p_source_80 IN VARCHAR2
117037 , p_source_80_meaning IN VARCHAR2
117038 --Invoice Supplier Identifier
117039 , p_source_81 IN NUMBER
117040 --Invoice Supplier Site Identifier
117041 , p_source_82 IN NUMBER
117042 --Third Party Type
117043 , p_source_83 IN VARCHAR2
117044 --Parent Reversal Identifier
117045 , p_source_84 IN NUMBER
117046 --Invoice Distribution Statistical Amount
117047 , p_source_85 IN NUMBER
117048 --Invoice Distribution Tax Line Identifier
117049 , p_source_86 IN NUMBER
117050 --Invoice Distribution Tax Distribution Identifier from Tax
117051 , p_source_87 IN NUMBER
117052 --Invoice Distribution Summary Tax Line Identifier
117053 , p_source_88 IN NUMBER
117054 --Payables Upgrade Credit Encumbrance Type Identifier
117055 , p_source_89 IN NUMBER
117056 --Payables Upgrade Debit Encumbrance Type Identifier
117057 , p_source_90 IN NUMBER
117058 --Business Flow Accounts Payable Application Identifier
117059 , p_source_91 IN NUMBER
117060 --Business Flow Invoice Distribution Type
117061 , p_source_92 IN VARCHAR2
117062 --Business Flow Invoice Entity Code
117063 , p_source_93 IN VARCHAR2
117064 --Business Flow Invoice Distribution Identifier
117065 , p_source_94 IN NUMBER
117066 --Business Flow Invoice Identifier
117067 , p_source_95 IN NUMBER
117068 --Accrue on Receipt Option
117069 , p_source_96 IN VARCHAR2
117070 , p_source_96_meaning IN VARCHAR2
117071 --Self-Assessed Tax Flag
117072 , p_source_142 IN VARCHAR2
117073 , p_source_142_meaning IN VARCHAR2
117074 --Invoice Exchange Date
117075 , p_source_143 IN DATE
117076 --Invoice Exchange Rate
117077 , p_source_144 IN NUMBER
117081 IS
117078 --Invoice Exchange Rate Type
117079 , p_source_145 IN VARCHAR2
117080 )
117082
117083 l_component_type VARCHAR2(80);
117084 l_component_code VARCHAR2(30);
117085 l_component_type_code VARCHAR2(1);
117086 l_component_appl_id INTEGER;
117087 l_amb_context_code VARCHAR2(30);
117088 l_entity_code VARCHAR2(30);
117089 l_event_class_code VARCHAR2(30);
117090 l_ae_header_id NUMBER;
117091 l_event_type_code VARCHAR2(30);
117092 l_line_definition_code VARCHAR2(30);
117093 l_line_definition_owner_code VARCHAR2(1);
117094 --
117095 -- adr variables
117096 l_segment VARCHAR2(30);
117097 l_ccid NUMBER;
117098 l_adr_transaction_coa_id NUMBER;
117099 l_adr_accounting_coa_id NUMBER;
117100 l_adr_flexfield_segment_code VARCHAR2(30);
117101 l_adr_flex_value_set_id NUMBER;
117102 l_adr_value_type_code VARCHAR2(30);
117103 l_adr_value_combination_id NUMBER;
117104 l_adr_value_segment_code VARCHAR2(30);
117105
117106 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
117107 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
117108 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
117109 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
117110
117111 -- 4262811 Variables ------------------------------------------------------------------------------------------
117112 l_entered_amt_idx NUMBER;
117113 l_accted_amt_idx NUMBER;
117114 l_acc_rev_flag VARCHAR2(1);
117115 l_accrual_line_num NUMBER;
117116 l_tmp_amt NUMBER;
117117 l_acc_rev_natural_side_code VARCHAR2(1);
117118
117119 l_num_entries NUMBER;
117120 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
117121 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
117122 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
117123 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
117124 l_recog_line_1 NUMBER;
117125 l_recog_line_2 NUMBER;
117126
117127 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
117128 l_bflow_applied_to_amt NUMBER; -- 5132302
117129 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
117130
117131 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
117132
117133 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
117134 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
117135
117136 ---------------------------------------------------------------------------------------------------------------
117137
117138
117139 --
117140 -- bulk performance
117141 --
117142 l_balance_type_code VARCHAR2(1);
117143 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
117144 l_log_module VARCHAR2(240);
117145
117146 --
117147 -- Upgrade strategy
117148 --
117149 l_actual_upg_option VARCHAR2(1);
117150 l_enc_upg_option VARCHAR2(1);
117151
117152 --
117153 BEGIN
117154 --
117155 IF g_log_enabled THEN
117156 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_195';
117157 END IF;
117158 --
117159 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
117160
117161 trace
117162 (p_msg => 'BEGIN of AcctLineType_195'
117163 ,p_level => C_LEVEL_PROCEDURE
117164 ,p_module => l_log_module);
117165
117166 END IF;
117167 --
117168 l_component_type := 'AMB_JLT';
117169 l_component_code := 'AP_SELF_ASSESSED_NONREC_PREPAY';
117170 l_component_type_code := 'S';
117171 l_component_appl_id := 200;
117172 l_amb_context_code := 'DEFAULT';
117173 l_entity_code := 'AP_INVOICES';
117174 l_event_class_code := 'PREPAYMENTS';
117175 l_event_type_code := 'PREPAYMENTS_ALL';
117176 l_line_definition_owner_code := 'S';
117177 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
117178 --
117179 l_balance_type_code := 'A';
117180 l_segment := NULL;
117181 l_ccid := NULL;
117182 l_adr_transaction_coa_id := NULL;
117183 l_adr_accounting_coa_id := NULL;
117184 l_adr_flexfield_segment_code := NULL;
117185 l_adr_flex_value_set_id := NULL;
117186 l_adr_value_type_code := NULL;
117187 l_adr_value_combination_id := NULL;
117188 l_adr_value_segment_code := NULL;
117189
117190 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
117191 l_bflow_class_code := ''; -- 4219869 Business Flow
117192 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
117193 l_budgetary_control_flag := 'N';
117194
117195 l_bflow_applied_to_amt_idx := NULL; -- 5132302
117196 l_bflow_applied_to_amt := NULL; -- 5132302
117197 l_entered_amt_idx := NULL; -- 4262811
117198 l_accted_amt_idx := NULL; -- 4262811
117199 l_acc_rev_flag := NULL; -- 4262811
117200 l_accrual_line_num := NULL; -- 4262811
117201 l_tmp_amt := NULL; -- 4262811
117202 --
117203
117204 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
117205 l_balance_type_code <> 'B' THEN
117209 ') = 'TERV' OR
117206 IF (NVL(p_source_33,'
117207 ') = 'NONREC_TAX' OR
117208 NVL(p_source_33,'
117210 NVL(p_source_33,'
117211 ') = 'TIPV' OR
117212 NVL(p_source_33,'
117213 ') = 'TRV') AND
117214 NVL(p_source_96,'
117215 ') <> 'Y' AND
117216 NVL(p_source_142,'
117217 ') = 'Y'
117218 THEN
117219
117220 --
117221 XLA_AE_LINES_PKG.SetNewLine;
117222
117223 p_balance_type_code := l_balance_type_code;
117224 -- set the flag so later we will know whether the gain loss line needs to be created
117225
117226 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
117227 p_actual_flag :='A';
117228 END IF;
117229
117230 --
117231 -- bulk performance
117232 --
117233 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
117234 p_header_num => 0); -- 4262811
117235 --
117236 -- set accounting line options
117237 --
117238 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
117239 p_natural_side_code => 'D'
117240 , p_gain_or_loss_flag => 'N'
117241 , p_gl_transfer_mode_code => 'S'
117242 , p_acct_entry_type_code => 'A'
117243 , p_switch_side_flag => 'Y'
117244 , p_merge_duplicate_code => 'A'
117245 );
117246 --
117247 l_acc_rev_natural_side_code := 'C'; -- 4262811
117248 --
117249 --
117250 -- set accounting line type info
117251 --
117252 xla_ae_lines_pkg.SetAcctLineType
117253 (p_component_type => l_component_type
117254 ,p_event_type_code => l_event_type_code
117255 ,p_line_definition_owner_code => l_line_definition_owner_code
117256 ,p_line_definition_code => l_line_definition_code
117257 ,p_accounting_line_code => l_component_code
117258 ,p_accounting_line_type_code => l_component_type_code
117259 ,p_accounting_line_appl_id => l_component_appl_id
117260 ,p_amb_context_code => l_amb_context_code
117261 ,p_entity_code => l_entity_code
117262 ,p_event_class_code => l_event_class_code);
117263 --
117264 -- set accounting class
117265 --
117266 xla_ae_lines_pkg.SetAcctClass(
117267 p_accounting_class_code => 'SELF_ASSESSED_TAX'
117268 , p_ae_header_id => l_ae_header_id
117269 );
117270
117271 --
117272 -- set rounding class
117273 --
117274 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
117275 'SELF_ASSESSED_TAX';
117276
117277 --
117278 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
117279 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
117280 --
117281 -- bulk performance
117282 --
117283 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
117284
117285 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
117286 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
117287
117288 -- 4955764
117289 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
117290 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
117291
117292 -- 4458381 Public Sector Enh
117293
117294 --
117295 -- set accounting attributes for the line type
117296 --
117297 l_entered_amt_idx := 23;
117298 l_accted_amt_idx := 28;
117299 l_bflow_applied_to_amt_idx := NULL; -- 5132302
117300 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
117301 l_rec_acct_attrs.array_char_value(1) := p_source_53;
117302 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
117303 l_rec_acct_attrs.array_num_value(2) :=
117304 xla_ae_sources_pkg.GetSystemSourceNum(
117305 p_source_code => 'XLA_EVENT_APPL_ID'
117306 , p_source_type_code => 'Y'
117307 , p_source_application_id => 602
117308 );
117309 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
117310 l_rec_acct_attrs.array_char_value(3) := p_source_55;
117311 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
117312 l_rec_acct_attrs.array_char_value(4) :=
117313 xla_ae_sources_pkg.GetSystemSourceChar(
117314 p_source_code => 'XLA_ENTITY_CODE'
117315 , p_source_type_code => 'Y'
117316 , p_source_application_id => 602
117317 );
117318 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
117319 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
117320 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
117321 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
117322 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
117323 l_rec_acct_attrs.array_num_value(7) := p_source_91;
117324 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
117325 l_rec_acct_attrs.array_char_value(8) := p_source_92;
117326 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
117327 l_rec_acct_attrs.array_char_value(9) := p_source_93;
117328 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
117329 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
117333 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
117330 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
117331 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
117332 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
117334 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
117335 l_rec_acct_attrs.array_char_value(13) := p_source_55;
117336 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
117337 l_rec_acct_attrs.array_num_value(14) := p_source_65;
117338 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
117339 l_rec_acct_attrs.array_num_value(15) := p_source_66;
117340 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
117341 l_rec_acct_attrs.array_char_value(16) := p_source_67;
117342 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
117343 l_rec_acct_attrs.array_num_value(17) := p_source_68;
117344 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
117345 l_rec_acct_attrs.array_num_value(18) := p_source_69;
117346 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
117347 l_rec_acct_attrs.array_num_value(19) := p_source_70;
117348 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
117349 l_rec_acct_attrs.array_char_value(20) := p_source_67;
117350 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
117351 l_rec_acct_attrs.array_num_value(21) := p_source_71;
117352 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
117353 l_rec_acct_attrs.array_char_value(22) := p_source_72;
117354 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
117355 l_rec_acct_attrs.array_num_value(23) := p_source_73;
117356 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
117357 l_rec_acct_attrs.array_char_value(24) := p_source_67;
117358 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
117359 l_rec_acct_attrs.array_date_value(25) := p_source_143;
117360 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
117361 l_rec_acct_attrs.array_num_value(26) := p_source_144;
117362 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
117363 l_rec_acct_attrs.array_char_value(27) := p_source_145;
117364 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
117365 l_rec_acct_attrs.array_num_value(28) := p_source_21;
117366 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
117367 l_rec_acct_attrs.array_date_value(29) := p_source_77;
117368 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
117369 l_rec_acct_attrs.array_char_value(30) := p_source_78;
117370 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
117371 l_rec_acct_attrs.array_date_value(31) := p_source_79;
117372 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
117373 l_rec_acct_attrs.array_char_value(32) := p_source_80;
117374 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
117375 l_rec_acct_attrs.array_num_value(33) := p_source_81;
117376 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
117377 l_rec_acct_attrs.array_num_value(34) := p_source_82;
117378 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
117379 l_rec_acct_attrs.array_char_value(35) := p_source_83;
117380 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
117381 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
117382 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
117383 l_rec_acct_attrs.array_char_value(37) := p_source_55;
117384 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
117385 l_rec_acct_attrs.array_num_value(38) := p_source_85;
117386 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
117387 l_rec_acct_attrs.array_num_value(39) := p_source_86;
117388 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
117389 l_rec_acct_attrs.array_num_value(40) := p_source_87;
117390 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
117391 l_rec_acct_attrs.array_num_value(41) := p_source_88;
117392 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
117393 l_rec_acct_attrs.array_num_value(42) := p_source_89;
117394 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
117395 l_rec_acct_attrs.array_num_value(43) := p_source_90;
117396
117397 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
117398 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
117399
117400 ---------------------------------------------------------------------------------------------------------------
117401 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
117402 ---------------------------------------------------------------------------------------------------------------
117403 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
117404
117405 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
117406 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
117407
117408 IF xla_accounting_cache_pkg.GetValueChar
117409 (p_source_code => 'LEDGER_CATEGORY_CODE'
117410 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
117411 AND l_bflow_method_code = 'PRIOR_ENTRY'
117412 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
117416 THEN
117413 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
117414 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
117415 )
117417 xla_ae_lines_pkg.BflowUpgEntry
117418 (p_business_method_code => l_bflow_method_code
117419 ,p_business_class_code => l_bflow_class_code
117420 ,p_balance_type => l_balance_type_code);
117421 ELSE
117422 NULL;
117423 -- No business flow processing for business flow method of NONE.
117424 END IF;
117425
117426 --
117427 -- call analytical criteria
117428 --
117429
117430 --
117431 -- call description
117432 --
117433
117434 xla_ae_lines_pkg.SetLineDescription(
117435 p_ae_header_id => l_ae_header_id
117436 ,p_description => Description_1 (
117437 p_application_id => p_application_id
117438 , p_ae_header_id => l_ae_header_id
117439 , p_source_1 => p_source_1
117440 )
117441 );
117442
117443
117444 --
117445 -- call ADRs
117446 -- Bug 4922099
117447 --
117448 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
117449 (NVL(l_actual_upg_option, 'N') = 'O') OR
117450 (NVL(l_enc_upg_option, 'N') = 'O')
117451 )
117452 THEN
117453 NULL;
117454 --
117455 --
117456
117457 l_ccid := AcctDerRule_42(
117458 p_application_id => p_application_id
117459 , p_ae_header_id => l_ae_header_id
117460 , p_source_50 => p_source_50
117461 , x_transaction_coa_id => l_adr_transaction_coa_id
117462 , x_accounting_coa_id => l_adr_accounting_coa_id
117463 , x_value_type_code => l_adr_value_type_code
117464 , p_side => 'NA'
117465 );
117466
117467 xla_ae_lines_pkg.set_ccid(
117468 p_code_combination_id => l_ccid
117469 , p_value_type_code => l_adr_value_type_code
117470 , p_transaction_coa_id => l_adr_transaction_coa_id
117471 , p_accounting_coa_id => l_adr_accounting_coa_id
117472 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
117473 , p_adr_type_code => 'S'
117474 , p_component_type => l_component_type
117475 , p_component_code => l_component_code
117476 , p_component_type_code => l_component_type_code
117477 , p_component_appl_id => l_component_appl_id
117478 , p_amb_context_code => l_amb_context_code
117479 , p_side => 'NA'
117480 );
117481
117482
117483 --
117484 --
117485 END IF;
117486 --
117487 -- Bug 4922099
117488 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
117489 (NVL(l_enc_upg_option, 'N') = 'O')
117490 ) AND
117491 (l_bflow_method_code = 'PRIOR_ENTRY')
117492 )
117493 THEN
117494 IF
117495 --
117496 1 = 2
117497 --
117498 THEN
117499 xla_accounting_err_pkg.build_message
117500 (p_appli_s_name => 'XLA'
117501 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
117502 ,p_token_1 => 'LINE_NUMBER'
117503 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
117504 ,p_token_2 => 'LINE_TYPE_NAME'
117505 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
117506 l_component_type
117507 ,l_component_code
117508 ,l_component_type_code
117509 ,l_component_appl_id
117510 ,l_amb_context_code
117511 ,l_entity_code
117512 ,l_event_class_code
117513 )
117514 ,p_token_3 => 'OWNER'
117515 ,p_value_3 => xla_lookups_pkg.get_meaning(
117516 p_lookup_type => 'XLA_OWNER_TYPE'
117517 ,p_lookup_code => l_component_type_code
117518 )
117519 ,p_token_4 => 'PRODUCT_NAME'
117520 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
117521 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
117522 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
117523 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
117524 ,p_ae_header_id => NULL
117525 );
117526
117530 ,p_level => C_LEVEL_ERROR
117527 IF (C_LEVEL_ERROR>= g_log_level) THEN
117528 trace
117529 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
117531 ,p_module => l_log_module);
117532 END IF;
117533 END IF;
117534 END IF;
117535 --
117536 --
117537 ------------------------------------------------------------------------------------------------
117538 -- 4219869 Business Flow
117539 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
117540 -- Prior Entry. Currently, the following code is always generated.
117541 ------------------------------------------------------------------------------------------------
117542 XLA_AE_LINES_PKG.ValidateCurrentLine;
117543
117544 ------------------------------------------------------------------------------------
117545 -- 4219869 Business Flow
117546 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
117547 ------------------------------------------------------------------------------------
117548 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
117549
117550 ----------------------------------------------------------------------------------
117551 -- 4219869 Business Flow
117552 -- Update journal entry status -- Need to generate this within IF <condition>
117553 ----------------------------------------------------------------------------------
117554 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
117555 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
117556 ,p_balance_type_code => l_balance_type_code
117557 );
117558
117559 -------------------------------------------------------------------------------------------
117560 -- 4262811 - Generate the Accrual Reversal lines
117561 -------------------------------------------------------------------------------------------
117562 BEGIN
117563 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
117564 (g_array_event(p_event_id).array_value_num('header_index'));
117565 IF l_acc_rev_flag IS NULL THEN
117566 l_acc_rev_flag := 'N';
117567 END IF;
117568 EXCEPTION
117569 WHEN OTHERS THEN
117570 l_acc_rev_flag := 'N';
117571 END;
117572 --
117573 IF (l_acc_rev_flag = 'Y') THEN
117574
117575 -- 4645092 ------------------------------------------------------------------------------
117576 -- To allow MPA report to determine if it should generate report process
117577 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
117578 ------------------------------------------------------------------------------------------
117579
117580 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
117581 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
117582 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
117583 -- call ADRs
117584 -- Bug 4922099
117585 --
117586 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
117587 (NVL(l_actual_upg_option, 'N') = 'O') OR
117588 (NVL(l_enc_upg_option, 'N') = 'O')
117589 )
117590 THEN
117591 NULL;
117592 --
117593 --
117594
117595 l_ccid := AcctDerRule_42(
117596 p_application_id => p_application_id
117597 , p_ae_header_id => l_ae_header_id
117598 , p_source_50 => p_source_50
117599 , x_transaction_coa_id => l_adr_transaction_coa_id
117600 , x_accounting_coa_id => l_adr_accounting_coa_id
117601 , x_value_type_code => l_adr_value_type_code
117602 , p_side => 'NA'
117603 );
117604
117605 xla_ae_lines_pkg.set_ccid(
117606 p_code_combination_id => l_ccid
117607 , p_value_type_code => l_adr_value_type_code
117608 , p_transaction_coa_id => l_adr_transaction_coa_id
117609 , p_accounting_coa_id => l_adr_accounting_coa_id
117610 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
117611 , p_adr_type_code => 'S'
117612 , p_component_type => l_component_type
117613 , p_component_code => l_component_code
117614 , p_component_type_code => l_component_type_code
117615 , p_component_appl_id => l_component_appl_id
117616 , p_amb_context_code => l_amb_context_code
117617 , p_side => 'NA'
117618 );
117619
117620
117621 --
117622 --
117623 END IF;
117624
117625 --
117626 -- Update the line information that should be overwritten
117627 --
117628 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
117629 p_header_num => 1);
117630 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
117631
117632 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
117633
117634 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
117635 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
117636 END IF;
117637
117638 --
117639 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
117640 --
117644 ---------------------------------------------------------------------------------------------------
117641 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
117642 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
117643 ELSE
117645 -- 4262811a Switch Sign
117646 ---------------------------------------------------------------------------------------------------
117647 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
117648 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
117649 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
117650 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
117651 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
117652 -- 5132302
117653 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
117654 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
117655
117656 END IF;
117657
117658 -- 4955764
117659 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
117660 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
117661
117662
117663 XLA_AE_LINES_PKG.ValidateCurrentLine;
117664 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
117665
117666 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
117667 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
117668 ,p_balance_type_code => l_balance_type_code);
117669
117670 END IF;
117671
117672 -----------------------------------------------------------------------------------------
117673 -- 4262811 Multiperiod Accounting
117674 -----------------------------------------------------------------------------------------
117675 -- No MPA option is assigned.
117676
117677
117678 END IF;
117679 END IF;
117680 --
117681
117682 --
117683 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
117684 trace
117685 (p_msg => 'END of AcctLineType_195'
117686 ,p_level => C_LEVEL_PROCEDURE
117687 ,p_module => l_log_module);
117688 END IF;
117689 --
117690 EXCEPTION
117691 WHEN xla_exceptions_pkg.application_exception THEN
117692 RAISE;
117693 WHEN OTHERS THEN
117694 xla_exceptions_pkg.raise_message
117695 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_195');
117696 END AcctLineType_195;
117697 --
117698
117699 ---------------------------------------
117700 --
117701 -- PRIVATE FUNCTION
117702 -- AcctLineType_196
117703 --
117704 ---------------------------------------
117705 PROCEDURE AcctLineType_196 (
117706 p_application_id IN NUMBER
117707 ,p_event_id IN NUMBER
117708 ,p_calculate_acctd_flag IN VARCHAR2
117709 ,p_calculate_g_l_flag IN VARCHAR2
117710 ,p_actual_flag IN OUT VARCHAR2
117711 ,p_balance_type_code OUT VARCHAR2
117712 ,p_gain_or_loss_ref OUT VARCHAR2
117713
117714 --Invoice Distribution Description
117715 , p_source_1 IN VARCHAR2
117716 --Invoice Distribution Ledger Amount
117717 , p_source_21 IN NUMBER
117718 --Invoice Distribution Type
117719 , p_source_33 IN VARCHAR2
117720 , p_source_33_meaning IN VARCHAR2
117721 --Self-Assessed Tax Account
117722 , p_source_50 IN NUMBER
117723 --Accounting Reversal Indicator
117724 , p_source_53 IN VARCHAR2
117725 --Distribution Link Type
117726 , p_source_55 IN VARCHAR2
117727 --Allocation to Main Distribution Identifier
117728 , p_source_57 IN NUMBER
117729 --Invoice Identifier
117730 , p_source_58 IN NUMBER
117731 --Invoice Distribution Identifier
117732 , p_source_64 IN NUMBER
117733 --Payables Encumbrance Upgrade Credit Account
117734 , p_source_65 IN NUMBER
117735 --Payables Encumbrance Upgrade Credit Amount
117736 , p_source_66 IN NUMBER
117737 --Invoice Currency Code
117738 , p_source_67 IN VARCHAR2
117739 --Payables Encumbrance Upgrade Credit Base Amount
117740 , p_source_68 IN NUMBER
117741 --Payables Encumbrance Upgrade Debit Account
117742 , p_source_69 IN NUMBER
117743 --Payables Encumbrance Upgrade Debit Amount
117744 , p_source_70 IN NUMBER
117745 --Payables Encumbrance Upgrade Debit Base Amount
117746 , p_source_71 IN NUMBER
117747 --Payables Encumbrance Upgrade Option
117748 , p_source_72 IN VARCHAR2
117749 --Invoice Distribution Amount
117750 , p_source_73 IN NUMBER
117751 --Deferred Accounting End Date
117752 , p_source_77 IN DATE
117753 --Deferred Accounting Option
117754 , p_source_78 IN VARCHAR2
117755 --Deferred Accounting Start Date
117756 , p_source_79 IN DATE
117757 --Override Accounted Amount Indicator
117758 , p_source_80 IN VARCHAR2
117759 , p_source_80_meaning IN VARCHAR2
117760 --Invoice Supplier Identifier
117761 , p_source_81 IN NUMBER
117762 --Invoice Supplier Site Identifier
117763 , p_source_82 IN NUMBER
117764 --Third Party Type
117765 , p_source_83 IN VARCHAR2
117766 --Parent Reversal Identifier
117770 --Invoice Distribution Tax Line Identifier
117767 , p_source_84 IN NUMBER
117768 --Invoice Distribution Statistical Amount
117769 , p_source_85 IN NUMBER
117771 , p_source_86 IN NUMBER
117772 --Invoice Distribution Tax Distribution Identifier from Tax
117773 , p_source_87 IN NUMBER
117774 --Invoice Distribution Summary Tax Line Identifier
117775 , p_source_88 IN NUMBER
117776 --Payables Upgrade Credit Encumbrance Type Identifier
117777 , p_source_89 IN NUMBER
117778 --Payables Upgrade Debit Encumbrance Type Identifier
117779 , p_source_90 IN NUMBER
117780 --Business Flow Accounts Payable Application Identifier
117781 , p_source_91 IN NUMBER
117782 --Business Flow Invoice Distribution Type
117783 , p_source_92 IN VARCHAR2
117784 --Business Flow Invoice Entity Code
117785 , p_source_93 IN VARCHAR2
117786 --Business Flow Invoice Distribution Identifier
117787 , p_source_94 IN NUMBER
117788 --Business Flow Invoice Identifier
117789 , p_source_95 IN NUMBER
117790 --Accrue on Receipt Option
117791 , p_source_96 IN VARCHAR2
117792 , p_source_96_meaning IN VARCHAR2
117793 --Self-Assessed Tax Flag
117794 , p_source_142 IN VARCHAR2
117795 , p_source_142_meaning IN VARCHAR2
117796 --Invoice Exchange Date
117797 , p_source_143 IN DATE
117798 --Invoice Exchange Rate
117799 , p_source_144 IN NUMBER
117800 --Invoice Exchange Rate Type
117801 , p_source_145 IN VARCHAR2
117802 )
117803 IS
117804
117805 l_component_type VARCHAR2(80);
117806 l_component_code VARCHAR2(30);
117807 l_component_type_code VARCHAR2(1);
117808 l_component_appl_id INTEGER;
117809 l_amb_context_code VARCHAR2(30);
117810 l_entity_code VARCHAR2(30);
117811 l_event_class_code VARCHAR2(30);
117812 l_ae_header_id NUMBER;
117813 l_event_type_code VARCHAR2(30);
117814 l_line_definition_code VARCHAR2(30);
117815 l_line_definition_owner_code VARCHAR2(1);
117816 --
117817 -- adr variables
117818 l_segment VARCHAR2(30);
117819 l_ccid NUMBER;
117820 l_adr_transaction_coa_id NUMBER;
117821 l_adr_accounting_coa_id NUMBER;
117822 l_adr_flexfield_segment_code VARCHAR2(30);
117823 l_adr_flex_value_set_id NUMBER;
117824 l_adr_value_type_code VARCHAR2(30);
117825 l_adr_value_combination_id NUMBER;
117826 l_adr_value_segment_code VARCHAR2(30);
117827
117828 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
117829 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
117830 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
117831 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
117832
117833 -- 4262811 Variables ------------------------------------------------------------------------------------------
117834 l_entered_amt_idx NUMBER;
117835 l_accted_amt_idx NUMBER;
117836 l_acc_rev_flag VARCHAR2(1);
117837 l_accrual_line_num NUMBER;
117838 l_tmp_amt NUMBER;
117839 l_acc_rev_natural_side_code VARCHAR2(1);
117840
117841 l_num_entries NUMBER;
117842 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
117843 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
117844 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
117845 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
117846 l_recog_line_1 NUMBER;
117847 l_recog_line_2 NUMBER;
117848
117849 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
117850 l_bflow_applied_to_amt NUMBER; -- 5132302
117851 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
117852
117853 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
117854
117855 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
117856 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
117857
117858 ---------------------------------------------------------------------------------------------------------------
117859
117860
117861 --
117862 -- bulk performance
117863 --
117864 l_balance_type_code VARCHAR2(1);
117865 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
117866 l_log_module VARCHAR2(240);
117867
117868 --
117869 -- Upgrade strategy
117870 --
117871 l_actual_upg_option VARCHAR2(1);
117872 l_enc_upg_option VARCHAR2(1);
117873
117874 --
117875 BEGIN
117876 --
117877 IF g_log_enabled THEN
117878 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_196';
117879 END IF;
117880 --
117881 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
117882
117883 trace
117884 (p_msg => 'BEGIN of AcctLineType_196'
117885 ,p_level => C_LEVEL_PROCEDURE
117886 ,p_module => l_log_module);
117887
117888 END IF;
117889 --
117890 l_component_type := 'AMB_JLT';
117891 l_component_code := 'AP_SELF_ASSESSED_NON_REC_CM';
117892 l_component_type_code := 'S';
117893 l_component_appl_id := 200;
117894 l_amb_context_code := 'DEFAULT';
117895 l_entity_code := 'AP_INVOICES';
117896 l_event_class_code := 'CREDIT MEMOS';
117900 --
117897 l_event_type_code := 'CREDIT MEMOS_ALL';
117898 l_line_definition_owner_code := 'S';
117899 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
117901 l_balance_type_code := 'A';
117902 l_segment := NULL;
117903 l_ccid := NULL;
117904 l_adr_transaction_coa_id := NULL;
117905 l_adr_accounting_coa_id := NULL;
117906 l_adr_flexfield_segment_code := NULL;
117907 l_adr_flex_value_set_id := NULL;
117908 l_adr_value_type_code := NULL;
117909 l_adr_value_combination_id := NULL;
117910 l_adr_value_segment_code := NULL;
117911
117912 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
117913 l_bflow_class_code := ''; -- 4219869 Business Flow
117914 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
117915 l_budgetary_control_flag := 'N';
117916
117917 l_bflow_applied_to_amt_idx := NULL; -- 5132302
117918 l_bflow_applied_to_amt := NULL; -- 5132302
117919 l_entered_amt_idx := NULL; -- 4262811
117920 l_accted_amt_idx := NULL; -- 4262811
117921 l_acc_rev_flag := NULL; -- 4262811
117922 l_accrual_line_num := NULL; -- 4262811
117923 l_tmp_amt := NULL; -- 4262811
117924 --
117925
117926 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
117927 l_balance_type_code <> 'B' THEN
117928 IF (NVL(p_source_33,'
117929 ') = 'NONREC_TAX' OR
117930 NVL(p_source_33,'
117931 ') = 'TERV' OR
117932 NVL(p_source_33,'
117933 ') = 'TIPV' OR
117934 NVL(p_source_33,'
117935 ') = 'TRV') AND
117936 NVL(p_source_96,'
117937 ') <> 'Y' AND
117938 NVL(p_source_142,'
117939 ') = 'Y'
117940 THEN
117941
117942 --
117943 XLA_AE_LINES_PKG.SetNewLine;
117944
117945 p_balance_type_code := l_balance_type_code;
117946 -- set the flag so later we will know whether the gain loss line needs to be created
117947
117948 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
117949 p_actual_flag :='A';
117950 END IF;
117951
117952 --
117953 -- bulk performance
117954 --
117955 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
117956 p_header_num => 0); -- 4262811
117957 --
117958 -- set accounting line options
117959 --
117960 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
117961 p_natural_side_code => 'D'
117962 , p_gain_or_loss_flag => 'N'
117963 , p_gl_transfer_mode_code => 'S'
117964 , p_acct_entry_type_code => 'A'
117965 , p_switch_side_flag => 'Y'
117966 , p_merge_duplicate_code => 'A'
117967 );
117968 --
117969 l_acc_rev_natural_side_code := 'C'; -- 4262811
117970 --
117971 --
117972 -- set accounting line type info
117973 --
117974 xla_ae_lines_pkg.SetAcctLineType
117975 (p_component_type => l_component_type
117976 ,p_event_type_code => l_event_type_code
117977 ,p_line_definition_owner_code => l_line_definition_owner_code
117978 ,p_line_definition_code => l_line_definition_code
117979 ,p_accounting_line_code => l_component_code
117980 ,p_accounting_line_type_code => l_component_type_code
117981 ,p_accounting_line_appl_id => l_component_appl_id
117982 ,p_amb_context_code => l_amb_context_code
117983 ,p_entity_code => l_entity_code
117984 ,p_event_class_code => l_event_class_code);
117985 --
117986 -- set accounting class
117987 --
117988 xla_ae_lines_pkg.SetAcctClass(
117989 p_accounting_class_code => 'SELF_ASSESSED_TAX'
117990 , p_ae_header_id => l_ae_header_id
117991 );
117992
117993 --
117994 -- set rounding class
117995 --
117996 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
117997 'SELF_ASSESSED_TAX';
117998
117999 --
118000 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
118001 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
118002 --
118003 -- bulk performance
118004 --
118005 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
118006
118007 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
118008 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
118009
118010 -- 4955764
118011 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
118012 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
118013
118014 -- 4458381 Public Sector Enh
118015
118016 --
118017 -- set accounting attributes for the line type
118018 --
118019 l_entered_amt_idx := 23;
118020 l_accted_amt_idx := 28;
118021 l_bflow_applied_to_amt_idx := NULL; -- 5132302
118022 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
118023 l_rec_acct_attrs.array_char_value(1) := p_source_53;
118024 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
118025 l_rec_acct_attrs.array_num_value(2) :=
118026 xla_ae_sources_pkg.GetSystemSourceNum(
118030 );
118027 p_source_code => 'XLA_EVENT_APPL_ID'
118028 , p_source_type_code => 'Y'
118029 , p_source_application_id => 602
118031 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
118032 l_rec_acct_attrs.array_char_value(3) := p_source_55;
118033 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
118034 l_rec_acct_attrs.array_char_value(4) :=
118035 xla_ae_sources_pkg.GetSystemSourceChar(
118036 p_source_code => 'XLA_ENTITY_CODE'
118037 , p_source_type_code => 'Y'
118038 , p_source_application_id => 602
118039 );
118040 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
118041 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
118042 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
118043 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
118044 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
118045 l_rec_acct_attrs.array_num_value(7) := p_source_91;
118046 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
118047 l_rec_acct_attrs.array_char_value(8) := p_source_92;
118048 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
118049 l_rec_acct_attrs.array_char_value(9) := p_source_93;
118050 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
118051 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
118052 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
118053 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
118054 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
118055 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
118056 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
118057 l_rec_acct_attrs.array_char_value(13) := p_source_55;
118058 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
118059 l_rec_acct_attrs.array_num_value(14) := p_source_65;
118060 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
118061 l_rec_acct_attrs.array_num_value(15) := p_source_66;
118062 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
118063 l_rec_acct_attrs.array_char_value(16) := p_source_67;
118064 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
118065 l_rec_acct_attrs.array_num_value(17) := p_source_68;
118066 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
118067 l_rec_acct_attrs.array_num_value(18) := p_source_69;
118068 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
118069 l_rec_acct_attrs.array_num_value(19) := p_source_70;
118070 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
118071 l_rec_acct_attrs.array_char_value(20) := p_source_67;
118072 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
118073 l_rec_acct_attrs.array_num_value(21) := p_source_71;
118074 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
118075 l_rec_acct_attrs.array_char_value(22) := p_source_72;
118076 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
118077 l_rec_acct_attrs.array_num_value(23) := p_source_73;
118078 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
118079 l_rec_acct_attrs.array_char_value(24) := p_source_67;
118080 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
118081 l_rec_acct_attrs.array_date_value(25) := p_source_143;
118082 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
118083 l_rec_acct_attrs.array_num_value(26) := p_source_144;
118084 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
118085 l_rec_acct_attrs.array_char_value(27) := p_source_145;
118086 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
118087 l_rec_acct_attrs.array_num_value(28) := p_source_21;
118088 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
118089 l_rec_acct_attrs.array_date_value(29) := p_source_77;
118090 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
118091 l_rec_acct_attrs.array_char_value(30) := p_source_78;
118092 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
118093 l_rec_acct_attrs.array_date_value(31) := p_source_79;
118094 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
118095 l_rec_acct_attrs.array_char_value(32) := p_source_80;
118096 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
118097 l_rec_acct_attrs.array_num_value(33) := p_source_81;
118098 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
118099 l_rec_acct_attrs.array_num_value(34) := p_source_82;
118100 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
118101 l_rec_acct_attrs.array_char_value(35) := p_source_83;
118102 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
118103 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
118104 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
118105 l_rec_acct_attrs.array_char_value(37) := p_source_55;
118106 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
118107 l_rec_acct_attrs.array_num_value(38) := p_source_85;
118108 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
118109 l_rec_acct_attrs.array_num_value(39) := p_source_86;
118110 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
118111 l_rec_acct_attrs.array_num_value(40) := p_source_87;
118115 l_rec_acct_attrs.array_num_value(42) := p_source_89;
118112 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
118113 l_rec_acct_attrs.array_num_value(41) := p_source_88;
118114 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
118116 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
118117 l_rec_acct_attrs.array_num_value(43) := p_source_90;
118118
118119 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
118120 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
118121
118122 ---------------------------------------------------------------------------------------------------------------
118123 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
118124 ---------------------------------------------------------------------------------------------------------------
118125 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
118126
118127 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
118128 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
118129
118130 IF xla_accounting_cache_pkg.GetValueChar
118131 (p_source_code => 'LEDGER_CATEGORY_CODE'
118132 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
118133 AND l_bflow_method_code = 'PRIOR_ENTRY'
118134 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
118135 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
118136 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
118137 )
118138 THEN
118139 xla_ae_lines_pkg.BflowUpgEntry
118140 (p_business_method_code => l_bflow_method_code
118141 ,p_business_class_code => l_bflow_class_code
118142 ,p_balance_type => l_balance_type_code);
118143 ELSE
118144 NULL;
118145 -- No business flow processing for business flow method of NONE.
118146 END IF;
118147
118148 --
118149 -- call analytical criteria
118150 --
118151
118152 --
118153 -- call description
118154 --
118155
118156 xla_ae_lines_pkg.SetLineDescription(
118157 p_ae_header_id => l_ae_header_id
118158 ,p_description => Description_1 (
118159 p_application_id => p_application_id
118160 , p_ae_header_id => l_ae_header_id
118161 , p_source_1 => p_source_1
118162 )
118163 );
118164
118165
118166 --
118167 -- call ADRs
118168 -- Bug 4922099
118169 --
118170 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
118171 (NVL(l_actual_upg_option, 'N') = 'O') OR
118172 (NVL(l_enc_upg_option, 'N') = 'O')
118173 )
118174 THEN
118175 NULL;
118176 --
118177 --
118178
118179 l_ccid := AcctDerRule_42(
118180 p_application_id => p_application_id
118181 , p_ae_header_id => l_ae_header_id
118182 , p_source_50 => p_source_50
118183 , x_transaction_coa_id => l_adr_transaction_coa_id
118184 , x_accounting_coa_id => l_adr_accounting_coa_id
118185 , x_value_type_code => l_adr_value_type_code
118186 , p_side => 'NA'
118187 );
118188
118189 xla_ae_lines_pkg.set_ccid(
118190 p_code_combination_id => l_ccid
118191 , p_value_type_code => l_adr_value_type_code
118192 , p_transaction_coa_id => l_adr_transaction_coa_id
118193 , p_accounting_coa_id => l_adr_accounting_coa_id
118194 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
118195 , p_adr_type_code => 'S'
118196 , p_component_type => l_component_type
118197 , p_component_code => l_component_code
118198 , p_component_type_code => l_component_type_code
118199 , p_component_appl_id => l_component_appl_id
118200 , p_amb_context_code => l_amb_context_code
118201 , p_side => 'NA'
118202 );
118203
118204
118205 --
118206 --
118207 END IF;
118208 --
118209 -- Bug 4922099
118210 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
118211 (NVL(l_enc_upg_option, 'N') = 'O')
118212 ) AND
118213 (l_bflow_method_code = 'PRIOR_ENTRY')
118214 )
118215 THEN
118216 IF
118217 --
118218 1 = 2
118219 --
118220 THEN
118221 xla_accounting_err_pkg.build_message
118222 (p_appli_s_name => 'XLA'
118223 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
118224 ,p_token_1 => 'LINE_NUMBER'
118225 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
118226 ,p_token_2 => 'LINE_TYPE_NAME'
118227 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
118228 l_component_type
118229 ,l_component_code
118230 ,l_component_type_code
118234 ,l_event_class_code
118231 ,l_component_appl_id
118232 ,l_amb_context_code
118233 ,l_entity_code
118235 )
118236 ,p_token_3 => 'OWNER'
118237 ,p_value_3 => xla_lookups_pkg.get_meaning(
118238 p_lookup_type => 'XLA_OWNER_TYPE'
118239 ,p_lookup_code => l_component_type_code
118240 )
118241 ,p_token_4 => 'PRODUCT_NAME'
118242 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
118243 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
118244 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
118245 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
118246 ,p_ae_header_id => NULL
118247 );
118248
118249 IF (C_LEVEL_ERROR>= g_log_level) THEN
118250 trace
118251 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
118252 ,p_level => C_LEVEL_ERROR
118253 ,p_module => l_log_module);
118254 END IF;
118255 END IF;
118256 END IF;
118257 --
118258 --
118259 ------------------------------------------------------------------------------------------------
118260 -- 4219869 Business Flow
118261 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
118262 -- Prior Entry. Currently, the following code is always generated.
118263 ------------------------------------------------------------------------------------------------
118264 XLA_AE_LINES_PKG.ValidateCurrentLine;
118265
118266 ------------------------------------------------------------------------------------
118267 -- 4219869 Business Flow
118268 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
118269 ------------------------------------------------------------------------------------
118270 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
118271
118272 ----------------------------------------------------------------------------------
118273 -- 4219869 Business Flow
118274 -- Update journal entry status -- Need to generate this within IF <condition>
118275 ----------------------------------------------------------------------------------
118276 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
118277 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
118278 ,p_balance_type_code => l_balance_type_code
118279 );
118280
118281 -------------------------------------------------------------------------------------------
118282 -- 4262811 - Generate the Accrual Reversal lines
118283 -------------------------------------------------------------------------------------------
118284 BEGIN
118285 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
118286 (g_array_event(p_event_id).array_value_num('header_index'));
118287 IF l_acc_rev_flag IS NULL THEN
118288 l_acc_rev_flag := 'N';
118289 END IF;
118290 EXCEPTION
118291 WHEN OTHERS THEN
118292 l_acc_rev_flag := 'N';
118293 END;
118294 --
118295 IF (l_acc_rev_flag = 'Y') THEN
118296
118297 -- 4645092 ------------------------------------------------------------------------------
118298 -- To allow MPA report to determine if it should generate report process
118299 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
118300 ------------------------------------------------------------------------------------------
118301
118302 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
118303 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
118304 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
118305 -- call ADRs
118306 -- Bug 4922099
118307 --
118308 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
118309 (NVL(l_actual_upg_option, 'N') = 'O') OR
118310 (NVL(l_enc_upg_option, 'N') = 'O')
118311 )
118312 THEN
118313 NULL;
118314 --
118315 --
118316
118317 l_ccid := AcctDerRule_42(
118318 p_application_id => p_application_id
118319 , p_ae_header_id => l_ae_header_id
118320 , p_source_50 => p_source_50
118321 , x_transaction_coa_id => l_adr_transaction_coa_id
118322 , x_accounting_coa_id => l_adr_accounting_coa_id
118323 , x_value_type_code => l_adr_value_type_code
118324 , p_side => 'NA'
118325 );
118326
118327 xla_ae_lines_pkg.set_ccid(
118328 p_code_combination_id => l_ccid
118329 , p_value_type_code => l_adr_value_type_code
118330 , p_transaction_coa_id => l_adr_transaction_coa_id
118334 , p_component_type => l_component_type
118331 , p_accounting_coa_id => l_adr_accounting_coa_id
118332 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
118333 , p_adr_type_code => 'S'
118335 , p_component_code => l_component_code
118336 , p_component_type_code => l_component_type_code
118337 , p_component_appl_id => l_component_appl_id
118338 , p_amb_context_code => l_amb_context_code
118339 , p_side => 'NA'
118340 );
118341
118342
118343 --
118344 --
118345 END IF;
118346
118347 --
118348 -- Update the line information that should be overwritten
118349 --
118350 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
118351 p_header_num => 1);
118352 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
118353
118354 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
118355
118356 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
118357 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
118358 END IF;
118359
118360 --
118361 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
118362 --
118363 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
118364 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
118365 ELSE
118366 ---------------------------------------------------------------------------------------------------
118367 -- 4262811a Switch Sign
118368 ---------------------------------------------------------------------------------------------------
118369 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
118370 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
118371 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
118372 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
118373 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
118374 -- 5132302
118375 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
118376 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
118377
118378 END IF;
118379
118380 -- 4955764
118381 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
118382 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
118383
118384
118385 XLA_AE_LINES_PKG.ValidateCurrentLine;
118386 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
118387
118388 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
118389 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
118390 ,p_balance_type_code => l_balance_type_code);
118391
118392 END IF;
118393
118394 -----------------------------------------------------------------------------------------
118395 -- 4262811 Multiperiod Accounting
118396 -----------------------------------------------------------------------------------------
118397 -- No MPA option is assigned.
118398
118399
118400 END IF;
118401 END IF;
118402 --
118403
118404 --
118405 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
118406 trace
118407 (p_msg => 'END of AcctLineType_196'
118408 ,p_level => C_LEVEL_PROCEDURE
118409 ,p_module => l_log_module);
118410 END IF;
118411 --
118412 EXCEPTION
118413 WHEN xla_exceptions_pkg.application_exception THEN
118414 RAISE;
118415 WHEN OTHERS THEN
118416 xla_exceptions_pkg.raise_message
118417 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_196');
118418 END AcctLineType_196;
118419 --
118420
118421 ---------------------------------------
118422 --
118423 -- PRIVATE FUNCTION
118424 -- AcctLineType_197
118425 --
118426 ---------------------------------------
118427 PROCEDURE AcctLineType_197 (
118428 p_application_id IN NUMBER
118429 ,p_event_id IN NUMBER
118430 ,p_calculate_acctd_flag IN VARCHAR2
118431 ,p_calculate_g_l_flag IN VARCHAR2
118432 ,p_actual_flag IN OUT VARCHAR2
118433 ,p_balance_type_code OUT VARCHAR2
118434 ,p_gain_or_loss_ref OUT VARCHAR2
118435
118436 --Invoice Distribution Description
118437 , p_source_1 IN VARCHAR2
118438 --Invoice Distribution Ledger Amount
118439 , p_source_21 IN NUMBER
118440 --Invoice Distribution Type
118441 , p_source_33 IN VARCHAR2
118442 , p_source_33_meaning IN VARCHAR2
118443 --Self-Assessed Tax Account
118444 , p_source_50 IN NUMBER
118445 --Accounting Reversal Indicator
118446 , p_source_53 IN VARCHAR2
118447 --Distribution Link Type
118448 , p_source_55 IN VARCHAR2
118449 --Allocation to Main Distribution Identifier
118450 , p_source_57 IN NUMBER
118451 --Invoice Identifier
118452 , p_source_58 IN NUMBER
118453 --Invoice Distribution Identifier
118454 , p_source_64 IN NUMBER
118458 , p_source_66 IN NUMBER
118455 --Payables Encumbrance Upgrade Credit Account
118456 , p_source_65 IN NUMBER
118457 --Payables Encumbrance Upgrade Credit Amount
118459 --Invoice Currency Code
118460 , p_source_67 IN VARCHAR2
118461 --Payables Encumbrance Upgrade Credit Base Amount
118462 , p_source_68 IN NUMBER
118463 --Payables Encumbrance Upgrade Debit Account
118464 , p_source_69 IN NUMBER
118465 --Payables Encumbrance Upgrade Debit Amount
118466 , p_source_70 IN NUMBER
118467 --Payables Encumbrance Upgrade Debit Base Amount
118468 , p_source_71 IN NUMBER
118469 --Payables Encumbrance Upgrade Option
118470 , p_source_72 IN VARCHAR2
118471 --Invoice Distribution Amount
118472 , p_source_73 IN NUMBER
118473 --Deferred Accounting End Date
118474 , p_source_77 IN DATE
118475 --Deferred Accounting Option
118476 , p_source_78 IN VARCHAR2
118477 --Deferred Accounting Start Date
118478 , p_source_79 IN DATE
118479 --Override Accounted Amount Indicator
118480 , p_source_80 IN VARCHAR2
118481 , p_source_80_meaning IN VARCHAR2
118482 --Invoice Supplier Identifier
118483 , p_source_81 IN NUMBER
118484 --Invoice Supplier Site Identifier
118485 , p_source_82 IN NUMBER
118486 --Third Party Type
118487 , p_source_83 IN VARCHAR2
118488 --Parent Reversal Identifier
118489 , p_source_84 IN NUMBER
118490 --Invoice Distribution Tax Line Identifier
118491 , p_source_86 IN NUMBER
118492 --Invoice Distribution Tax Distribution Identifier from Tax
118493 , p_source_87 IN NUMBER
118494 --Invoice Distribution Summary Tax Line Identifier
118495 , p_source_88 IN NUMBER
118496 --Payables Upgrade Credit Encumbrance Type Identifier
118497 , p_source_89 IN NUMBER
118498 --Payables Upgrade Debit Encumbrance Type Identifier
118499 , p_source_90 IN NUMBER
118500 --Business Flow Accounts Payable Application Identifier
118501 , p_source_91 IN NUMBER
118502 --Business Flow Invoice Distribution Type
118503 , p_source_92 IN VARCHAR2
118504 --Business Flow Invoice Entity Code
118505 , p_source_93 IN VARCHAR2
118506 --Business Flow Invoice Distribution Identifier
118507 , p_source_94 IN NUMBER
118508 --Business Flow Invoice Identifier
118509 , p_source_95 IN NUMBER
118510 --Accrue on Receipt Option
118511 , p_source_96 IN VARCHAR2
118512 , p_source_96_meaning IN VARCHAR2
118513 --Self-Assessed Tax Flag
118514 , p_source_142 IN VARCHAR2
118515 , p_source_142_meaning IN VARCHAR2
118516 --Invoice Exchange Date
118517 , p_source_143 IN DATE
118518 --Invoice Exchange Rate
118519 , p_source_144 IN NUMBER
118520 --Invoice Exchange Rate Type
118521 , p_source_145 IN VARCHAR2
118522 )
118523 IS
118524
118525 l_component_type VARCHAR2(80);
118526 l_component_code VARCHAR2(30);
118527 l_component_type_code VARCHAR2(1);
118528 l_component_appl_id INTEGER;
118529 l_amb_context_code VARCHAR2(30);
118530 l_entity_code VARCHAR2(30);
118531 l_event_class_code VARCHAR2(30);
118532 l_ae_header_id NUMBER;
118533 l_event_type_code VARCHAR2(30);
118534 l_line_definition_code VARCHAR2(30);
118535 l_line_definition_owner_code VARCHAR2(1);
118536 --
118537 -- adr variables
118538 l_segment VARCHAR2(30);
118539 l_ccid NUMBER;
118540 l_adr_transaction_coa_id NUMBER;
118541 l_adr_accounting_coa_id NUMBER;
118542 l_adr_flexfield_segment_code VARCHAR2(30);
118543 l_adr_flex_value_set_id NUMBER;
118544 l_adr_value_type_code VARCHAR2(30);
118545 l_adr_value_combination_id NUMBER;
118546 l_adr_value_segment_code VARCHAR2(30);
118547
118548 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
118549 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
118550 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
118551 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
118552
118553 -- 4262811 Variables ------------------------------------------------------------------------------------------
118554 l_entered_amt_idx NUMBER;
118555 l_accted_amt_idx NUMBER;
118556 l_acc_rev_flag VARCHAR2(1);
118557 l_accrual_line_num NUMBER;
118558 l_tmp_amt NUMBER;
118559 l_acc_rev_natural_side_code VARCHAR2(1);
118560
118561 l_num_entries NUMBER;
118562 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
118563 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
118564 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
118565 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
118566 l_recog_line_1 NUMBER;
118567 l_recog_line_2 NUMBER;
118568
118569 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
118570 l_bflow_applied_to_amt NUMBER; -- 5132302
118571 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
118572
118573 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
118574
118575 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
118576 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
118580
118577
118578 ---------------------------------------------------------------------------------------------------------------
118579
118581 --
118582 -- bulk performance
118583 --
118584 l_balance_type_code VARCHAR2(1);
118585 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
118586 l_log_module VARCHAR2(240);
118587
118588 --
118589 -- Upgrade strategy
118590 --
118591 l_actual_upg_option VARCHAR2(1);
118592 l_enc_upg_option VARCHAR2(1);
118593
118594 --
118595 BEGIN
118596 --
118597 IF g_log_enabled THEN
118598 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_197';
118599 END IF;
118600 --
118601 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
118602
118603 trace
118604 (p_msg => 'BEGIN of AcctLineType_197'
118605 ,p_level => C_LEVEL_PROCEDURE
118606 ,p_module => l_log_module);
118607
118608 END IF;
118609 --
118610 l_component_type := 'AMB_JLT';
118611 l_component_code := 'AP_SELF_ASSESSED_NON_REC_DM';
118612 l_component_type_code := 'S';
118613 l_component_appl_id := 200;
118614 l_amb_context_code := 'DEFAULT';
118615 l_entity_code := 'AP_INVOICES';
118616 l_event_class_code := 'DEBIT MEMOS';
118617 l_event_type_code := 'DEBIT MEMOS_ALL';
118618 l_line_definition_owner_code := 'S';
118619 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
118620 --
118621 l_balance_type_code := 'A';
118622 l_segment := NULL;
118623 l_ccid := NULL;
118624 l_adr_transaction_coa_id := NULL;
118625 l_adr_accounting_coa_id := NULL;
118626 l_adr_flexfield_segment_code := NULL;
118627 l_adr_flex_value_set_id := NULL;
118628 l_adr_value_type_code := NULL;
118629 l_adr_value_combination_id := NULL;
118630 l_adr_value_segment_code := NULL;
118631
118632 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
118633 l_bflow_class_code := ''; -- 4219869 Business Flow
118634 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
118635 l_budgetary_control_flag := 'N';
118636
118637 l_bflow_applied_to_amt_idx := NULL; -- 5132302
118638 l_bflow_applied_to_amt := NULL; -- 5132302
118639 l_entered_amt_idx := NULL; -- 4262811
118640 l_accted_amt_idx := NULL; -- 4262811
118641 l_acc_rev_flag := NULL; -- 4262811
118642 l_accrual_line_num := NULL; -- 4262811
118643 l_tmp_amt := NULL; -- 4262811
118644 --
118645
118646 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
118647 l_balance_type_code <> 'B' THEN
118648 IF (NVL(p_source_33,'
118649 ') = 'NONREC_TAX' OR
118650 NVL(p_source_33,'
118651 ') = 'TERV' OR
118652 NVL(p_source_33,'
118653 ') = 'TIPV' OR
118654 NVL(p_source_33,'
118655 ') = 'TRV') AND
118656 NVL(p_source_96,'
118657 ') <> 'Y' AND
118658 NVL(p_source_142,'
118659 ') = 'Y'
118660 THEN
118661
118662 --
118663 XLA_AE_LINES_PKG.SetNewLine;
118664
118665 p_balance_type_code := l_balance_type_code;
118666 -- set the flag so later we will know whether the gain loss line needs to be created
118667
118668 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
118669 p_actual_flag :='A';
118670 END IF;
118671
118672 --
118673 -- bulk performance
118674 --
118675 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
118676 p_header_num => 0); -- 4262811
118677 --
118678 -- set accounting line options
118679 --
118680 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
118681 p_natural_side_code => 'D'
118682 , p_gain_or_loss_flag => 'N'
118683 , p_gl_transfer_mode_code => 'S'
118684 , p_acct_entry_type_code => 'A'
118685 , p_switch_side_flag => 'Y'
118686 , p_merge_duplicate_code => 'A'
118687 );
118688 --
118689 l_acc_rev_natural_side_code := 'C'; -- 4262811
118690 --
118691 --
118692 -- set accounting line type info
118693 --
118694 xla_ae_lines_pkg.SetAcctLineType
118695 (p_component_type => l_component_type
118696 ,p_event_type_code => l_event_type_code
118697 ,p_line_definition_owner_code => l_line_definition_owner_code
118698 ,p_line_definition_code => l_line_definition_code
118699 ,p_accounting_line_code => l_component_code
118700 ,p_accounting_line_type_code => l_component_type_code
118701 ,p_accounting_line_appl_id => l_component_appl_id
118702 ,p_amb_context_code => l_amb_context_code
118703 ,p_entity_code => l_entity_code
118704 ,p_event_class_code => l_event_class_code);
118705 --
118706 -- set accounting class
118707 --
118708 xla_ae_lines_pkg.SetAcctClass(
118709 p_accounting_class_code => 'SELF_ASSESSED_TAX'
118710 , p_ae_header_id => l_ae_header_id
118711 );
118712
118713 --
118714 -- set rounding class
118715 --
118716 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
118717 'SELF_ASSESSED_TAX';
118718
118719 --
118723 -- bulk performance
118720 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
118721 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
118722 --
118724 --
118725 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
118726
118727 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
118728 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
118729
118730 -- 4955764
118731 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
118732 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
118733
118734 -- 4458381 Public Sector Enh
118735
118736 --
118737 -- set accounting attributes for the line type
118738 --
118739 l_entered_amt_idx := 23;
118740 l_accted_amt_idx := 28;
118741 l_bflow_applied_to_amt_idx := NULL; -- 5132302
118742 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
118743 l_rec_acct_attrs.array_char_value(1) := p_source_53;
118744 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
118745 l_rec_acct_attrs.array_num_value(2) :=
118746 xla_ae_sources_pkg.GetSystemSourceNum(
118747 p_source_code => 'XLA_EVENT_APPL_ID'
118748 , p_source_type_code => 'Y'
118749 , p_source_application_id => 602
118750 );
118751 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
118752 l_rec_acct_attrs.array_char_value(3) := p_source_55;
118753 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
118754 l_rec_acct_attrs.array_char_value(4) :=
118755 xla_ae_sources_pkg.GetSystemSourceChar(
118756 p_source_code => 'XLA_ENTITY_CODE'
118757 , p_source_type_code => 'Y'
118758 , p_source_application_id => 602
118759 );
118760 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
118761 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
118762 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
118763 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
118764 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
118765 l_rec_acct_attrs.array_num_value(7) := p_source_91;
118766 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
118767 l_rec_acct_attrs.array_char_value(8) := p_source_92;
118768 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
118769 l_rec_acct_attrs.array_char_value(9) := p_source_93;
118770 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
118771 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
118772 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
118773 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
118774 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
118775 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
118776 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
118777 l_rec_acct_attrs.array_char_value(13) := p_source_55;
118778 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
118779 l_rec_acct_attrs.array_num_value(14) := p_source_65;
118780 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
118781 l_rec_acct_attrs.array_num_value(15) := p_source_66;
118782 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
118783 l_rec_acct_attrs.array_char_value(16) := p_source_67;
118784 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
118785 l_rec_acct_attrs.array_num_value(17) := p_source_68;
118786 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
118787 l_rec_acct_attrs.array_num_value(18) := p_source_69;
118788 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
118789 l_rec_acct_attrs.array_num_value(19) := p_source_70;
118790 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
118791 l_rec_acct_attrs.array_char_value(20) := p_source_67;
118792 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
118793 l_rec_acct_attrs.array_num_value(21) := p_source_71;
118794 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
118795 l_rec_acct_attrs.array_char_value(22) := p_source_72;
118796 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
118797 l_rec_acct_attrs.array_num_value(23) := p_source_73;
118798 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
118799 l_rec_acct_attrs.array_char_value(24) := p_source_67;
118800 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
118801 l_rec_acct_attrs.array_date_value(25) := p_source_143;
118802 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
118803 l_rec_acct_attrs.array_num_value(26) := p_source_144;
118804 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
118805 l_rec_acct_attrs.array_char_value(27) := p_source_145;
118806 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
118807 l_rec_acct_attrs.array_num_value(28) := p_source_21;
118808 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
118809 l_rec_acct_attrs.array_date_value(29) := p_source_77;
118810 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
118811 l_rec_acct_attrs.array_char_value(30) := p_source_78;
118815 l_rec_acct_attrs.array_char_value(32) := p_source_80;
118812 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
118813 l_rec_acct_attrs.array_date_value(31) := p_source_79;
118814 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
118816 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
118817 l_rec_acct_attrs.array_num_value(33) := p_source_81;
118818 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
118819 l_rec_acct_attrs.array_num_value(34) := p_source_82;
118820 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
118821 l_rec_acct_attrs.array_char_value(35) := p_source_83;
118822 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
118823 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
118824 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
118825 l_rec_acct_attrs.array_char_value(37) := p_source_55;
118826 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
118827 l_rec_acct_attrs.array_num_value(38) := p_source_86;
118828 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
118829 l_rec_acct_attrs.array_num_value(39) := p_source_87;
118830 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
118831 l_rec_acct_attrs.array_num_value(40) := p_source_88;
118832 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
118833 l_rec_acct_attrs.array_num_value(41) := p_source_89;
118834 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
118835 l_rec_acct_attrs.array_num_value(42) := p_source_90;
118836
118837 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
118838 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
118839
118840 ---------------------------------------------------------------------------------------------------------------
118841 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
118842 ---------------------------------------------------------------------------------------------------------------
118843 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
118844
118845 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
118846 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
118847
118848 IF xla_accounting_cache_pkg.GetValueChar
118849 (p_source_code => 'LEDGER_CATEGORY_CODE'
118850 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
118851 AND l_bflow_method_code = 'PRIOR_ENTRY'
118852 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
118853 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
118854 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
118855 )
118856 THEN
118857 xla_ae_lines_pkg.BflowUpgEntry
118858 (p_business_method_code => l_bflow_method_code
118859 ,p_business_class_code => l_bflow_class_code
118860 ,p_balance_type => l_balance_type_code);
118861 ELSE
118862 NULL;
118863 -- No business flow processing for business flow method of NONE.
118864 END IF;
118865
118866 --
118867 -- call analytical criteria
118868 --
118869
118870 --
118871 -- call description
118872 --
118873
118874 xla_ae_lines_pkg.SetLineDescription(
118875 p_ae_header_id => l_ae_header_id
118876 ,p_description => Description_1 (
118877 p_application_id => p_application_id
118878 , p_ae_header_id => l_ae_header_id
118879 , p_source_1 => p_source_1
118880 )
118881 );
118882
118883
118884 --
118885 -- call ADRs
118886 -- Bug 4922099
118887 --
118888 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
118889 (NVL(l_actual_upg_option, 'N') = 'O') OR
118890 (NVL(l_enc_upg_option, 'N') = 'O')
118891 )
118892 THEN
118893 NULL;
118894 --
118895 --
118896
118897 l_ccid := AcctDerRule_42(
118898 p_application_id => p_application_id
118899 , p_ae_header_id => l_ae_header_id
118900 , p_source_50 => p_source_50
118901 , x_transaction_coa_id => l_adr_transaction_coa_id
118902 , x_accounting_coa_id => l_adr_accounting_coa_id
118903 , x_value_type_code => l_adr_value_type_code
118904 , p_side => 'NA'
118905 );
118906
118907 xla_ae_lines_pkg.set_ccid(
118908 p_code_combination_id => l_ccid
118909 , p_value_type_code => l_adr_value_type_code
118910 , p_transaction_coa_id => l_adr_transaction_coa_id
118911 , p_accounting_coa_id => l_adr_accounting_coa_id
118912 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
118913 , p_adr_type_code => 'S'
118914 , p_component_type => l_component_type
118915 , p_component_code => l_component_code
118916 , p_component_type_code => l_component_type_code
118917 , p_component_appl_id => l_component_appl_id
118918 , p_amb_context_code => l_amb_context_code
118919 , p_side => 'NA'
118920 );
118921
118922
118923 --
118924 --
118925 END IF;
118926 --
118927 -- Bug 4922099
118931 (l_bflow_method_code = 'PRIOR_ENTRY')
118928 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
118929 (NVL(l_enc_upg_option, 'N') = 'O')
118930 ) AND
118932 )
118933 THEN
118934 IF
118935 --
118936 1 = 2
118937 --
118938 THEN
118939 xla_accounting_err_pkg.build_message
118940 (p_appli_s_name => 'XLA'
118941 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
118942 ,p_token_1 => 'LINE_NUMBER'
118943 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
118944 ,p_token_2 => 'LINE_TYPE_NAME'
118945 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
118946 l_component_type
118947 ,l_component_code
118948 ,l_component_type_code
118949 ,l_component_appl_id
118950 ,l_amb_context_code
118951 ,l_entity_code
118952 ,l_event_class_code
118953 )
118954 ,p_token_3 => 'OWNER'
118955 ,p_value_3 => xla_lookups_pkg.get_meaning(
118956 p_lookup_type => 'XLA_OWNER_TYPE'
118957 ,p_lookup_code => l_component_type_code
118958 )
118959 ,p_token_4 => 'PRODUCT_NAME'
118960 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
118961 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
118962 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
118963 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
118964 ,p_ae_header_id => NULL
118965 );
118966
118967 IF (C_LEVEL_ERROR>= g_log_level) THEN
118968 trace
118969 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
118970 ,p_level => C_LEVEL_ERROR
118971 ,p_module => l_log_module);
118972 END IF;
118973 END IF;
118974 END IF;
118975 --
118976 --
118977 ------------------------------------------------------------------------------------------------
118978 -- 4219869 Business Flow
118979 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
118980 -- Prior Entry. Currently, the following code is always generated.
118981 ------------------------------------------------------------------------------------------------
118982 XLA_AE_LINES_PKG.ValidateCurrentLine;
118983
118984 ------------------------------------------------------------------------------------
118985 -- 4219869 Business Flow
118986 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
118987 ------------------------------------------------------------------------------------
118988 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
118989
118990 ----------------------------------------------------------------------------------
118991 -- 4219869 Business Flow
118992 -- Update journal entry status -- Need to generate this within IF <condition>
118993 ----------------------------------------------------------------------------------
118994 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
118995 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
118996 ,p_balance_type_code => l_balance_type_code
118997 );
118998
118999 -------------------------------------------------------------------------------------------
119000 -- 4262811 - Generate the Accrual Reversal lines
119001 -------------------------------------------------------------------------------------------
119002 BEGIN
119003 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
119004 (g_array_event(p_event_id).array_value_num('header_index'));
119005 IF l_acc_rev_flag IS NULL THEN
119006 l_acc_rev_flag := 'N';
119007 END IF;
119008 EXCEPTION
119009 WHEN OTHERS THEN
119010 l_acc_rev_flag := 'N';
119011 END;
119012 --
119013 IF (l_acc_rev_flag = 'Y') THEN
119014
119015 -- 4645092 ------------------------------------------------------------------------------
119016 -- To allow MPA report to determine if it should generate report process
119017 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
119018 ------------------------------------------------------------------------------------------
119019
119020 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
119021 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
119025 --
119022 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
119023 -- call ADRs
119024 -- Bug 4922099
119026 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
119027 (NVL(l_actual_upg_option, 'N') = 'O') OR
119028 (NVL(l_enc_upg_option, 'N') = 'O')
119029 )
119030 THEN
119031 NULL;
119032 --
119033 --
119034
119035 l_ccid := AcctDerRule_42(
119036 p_application_id => p_application_id
119037 , p_ae_header_id => l_ae_header_id
119038 , p_source_50 => p_source_50
119039 , x_transaction_coa_id => l_adr_transaction_coa_id
119040 , x_accounting_coa_id => l_adr_accounting_coa_id
119041 , x_value_type_code => l_adr_value_type_code
119042 , p_side => 'NA'
119043 );
119044
119045 xla_ae_lines_pkg.set_ccid(
119046 p_code_combination_id => l_ccid
119047 , p_value_type_code => l_adr_value_type_code
119048 , p_transaction_coa_id => l_adr_transaction_coa_id
119049 , p_accounting_coa_id => l_adr_accounting_coa_id
119050 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
119051 , p_adr_type_code => 'S'
119052 , p_component_type => l_component_type
119053 , p_component_code => l_component_code
119054 , p_component_type_code => l_component_type_code
119055 , p_component_appl_id => l_component_appl_id
119056 , p_amb_context_code => l_amb_context_code
119057 , p_side => 'NA'
119058 );
119059
119060
119061 --
119062 --
119063 END IF;
119064
119065 --
119066 -- Update the line information that should be overwritten
119067 --
119068 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
119069 p_header_num => 1);
119070 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
119071
119072 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
119073
119074 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
119075 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
119076 END IF;
119077
119078 --
119079 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
119080 --
119081 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
119082 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
119083 ELSE
119084 ---------------------------------------------------------------------------------------------------
119085 -- 4262811a Switch Sign
119086 ---------------------------------------------------------------------------------------------------
119087 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
119088 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
119089 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
119090 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
119091 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
119092 -- 5132302
119093 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
119094 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
119095
119096 END IF;
119097
119098 -- 4955764
119099 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
119100 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
119101
119102
119103 XLA_AE_LINES_PKG.ValidateCurrentLine;
119104 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
119105
119106 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
119107 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
119108 ,p_balance_type_code => l_balance_type_code);
119109
119110 END IF;
119111
119112 -----------------------------------------------------------------------------------------
119113 -- 4262811 Multiperiod Accounting
119114 -----------------------------------------------------------------------------------------
119115 -- No MPA option is assigned.
119116
119117
119118 END IF;
119119 END IF;
119120 --
119121
119122 --
119123 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
119124 trace
119125 (p_msg => 'END of AcctLineType_197'
119126 ,p_level => C_LEVEL_PROCEDURE
119127 ,p_module => l_log_module);
119128 END IF;
119129 --
119130 EXCEPTION
119131 WHEN xla_exceptions_pkg.application_exception THEN
119132 RAISE;
119133 WHEN OTHERS THEN
119134 xla_exceptions_pkg.raise_message
119135 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_197');
119136 END AcctLineType_197;
119137 --
119138
119139 ---------------------------------------
119140 --
119141 -- PRIVATE FUNCTION
119142 -- AcctLineType_198
119143 --
119144 ---------------------------------------
119148 ,p_calculate_acctd_flag IN VARCHAR2
119145 PROCEDURE AcctLineType_198 (
119146 p_application_id IN NUMBER
119147 ,p_event_id IN NUMBER
119149 ,p_calculate_g_l_flag IN VARCHAR2
119150 ,p_actual_flag IN OUT VARCHAR2
119151 ,p_balance_type_code OUT VARCHAR2
119152 ,p_gain_or_loss_ref OUT VARCHAR2
119153
119154 --Invoice Distribution Description
119155 , p_source_1 IN VARCHAR2
119156 --Invoice Distribution Ledger Amount
119157 , p_source_21 IN NUMBER
119158 --Invoice Distribution Type
119159 , p_source_33 IN VARCHAR2
119160 , p_source_33_meaning IN VARCHAR2
119161 --Self-Assessed Tax Account
119162 , p_source_50 IN NUMBER
119163 --Accounting Reversal Indicator
119164 , p_source_53 IN VARCHAR2
119165 --Distribution Link Type
119166 , p_source_55 IN VARCHAR2
119167 --Allocation to Main Distribution Identifier
119168 , p_source_57 IN NUMBER
119169 --Invoice Identifier
119170 , p_source_58 IN NUMBER
119171 --Invoice Distribution Identifier
119172 , p_source_64 IN NUMBER
119173 --Payables Encumbrance Upgrade Credit Account
119174 , p_source_65 IN NUMBER
119175 --Payables Encumbrance Upgrade Credit Amount
119176 , p_source_66 IN NUMBER
119177 --Invoice Currency Code
119178 , p_source_67 IN VARCHAR2
119179 --Payables Encumbrance Upgrade Credit Base Amount
119180 , p_source_68 IN NUMBER
119181 --Payables Encumbrance Upgrade Debit Account
119182 , p_source_69 IN NUMBER
119183 --Payables Encumbrance Upgrade Debit Amount
119184 , p_source_70 IN NUMBER
119185 --Payables Encumbrance Upgrade Debit Base Amount
119186 , p_source_71 IN NUMBER
119187 --Payables Encumbrance Upgrade Option
119188 , p_source_72 IN VARCHAR2
119189 --Invoice Distribution Amount
119190 , p_source_73 IN NUMBER
119191 --Deferred Accounting End Date
119192 , p_source_77 IN DATE
119193 --Deferred Accounting Option
119194 , p_source_78 IN VARCHAR2
119195 --Deferred Accounting Start Date
119196 , p_source_79 IN DATE
119197 --Override Accounted Amount Indicator
119198 , p_source_80 IN VARCHAR2
119199 , p_source_80_meaning IN VARCHAR2
119200 --Invoice Supplier Identifier
119201 , p_source_81 IN NUMBER
119202 --Invoice Supplier Site Identifier
119203 , p_source_82 IN NUMBER
119204 --Third Party Type
119205 , p_source_83 IN VARCHAR2
119206 --Parent Reversal Identifier
119207 , p_source_84 IN NUMBER
119208 --Invoice Distribution Statistical Amount
119209 , p_source_85 IN NUMBER
119210 --Invoice Distribution Tax Line Identifier
119211 , p_source_86 IN NUMBER
119212 --Invoice Distribution Tax Distribution Identifier from Tax
119213 , p_source_87 IN NUMBER
119214 --Invoice Distribution Summary Tax Line Identifier
119215 , p_source_88 IN NUMBER
119216 --Payables Upgrade Credit Encumbrance Type Identifier
119217 , p_source_89 IN NUMBER
119218 --Payables Upgrade Debit Encumbrance Type Identifier
119219 , p_source_90 IN NUMBER
119220 --Business Flow Accounts Payable Application Identifier
119221 , p_source_91 IN NUMBER
119222 --Business Flow Invoice Distribution Type
119223 , p_source_92 IN VARCHAR2
119224 --Business Flow Invoice Entity Code
119225 , p_source_93 IN VARCHAR2
119226 --Business Flow Invoice Distribution Identifier
119227 , p_source_94 IN NUMBER
119228 --Business Flow Invoice Identifier
119229 , p_source_95 IN NUMBER
119230 --Accrue on Receipt Option
119231 , p_source_96 IN VARCHAR2
119232 , p_source_96_meaning IN VARCHAR2
119233 --Self-Assessed Tax Flag
119234 , p_source_142 IN VARCHAR2
119235 , p_source_142_meaning IN VARCHAR2
119236 --Invoice Exchange Date
119237 , p_source_143 IN DATE
119238 --Invoice Exchange Rate
119239 , p_source_144 IN NUMBER
119240 --Invoice Exchange Rate Type
119241 , p_source_145 IN VARCHAR2
119242 )
119243 IS
119244
119245 l_component_type VARCHAR2(80);
119246 l_component_code VARCHAR2(30);
119247 l_component_type_code VARCHAR2(1);
119248 l_component_appl_id INTEGER;
119249 l_amb_context_code VARCHAR2(30);
119250 l_entity_code VARCHAR2(30);
119251 l_event_class_code VARCHAR2(30);
119252 l_ae_header_id NUMBER;
119253 l_event_type_code VARCHAR2(30);
119254 l_line_definition_code VARCHAR2(30);
119255 l_line_definition_owner_code VARCHAR2(1);
119256 --
119257 -- adr variables
119258 l_segment VARCHAR2(30);
119259 l_ccid NUMBER;
119260 l_adr_transaction_coa_id NUMBER;
119261 l_adr_accounting_coa_id NUMBER;
119262 l_adr_flexfield_segment_code VARCHAR2(30);
119263 l_adr_flex_value_set_id NUMBER;
119264 l_adr_value_type_code VARCHAR2(30);
119265 l_adr_value_combination_id NUMBER;
119266 l_adr_value_segment_code VARCHAR2(30);
119267
119268 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
119269 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
119270 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
119271 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
119272
119273 -- 4262811 Variables ------------------------------------------------------------------------------------------
119277 l_accrual_line_num NUMBER;
119274 l_entered_amt_idx NUMBER;
119275 l_accted_amt_idx NUMBER;
119276 l_acc_rev_flag VARCHAR2(1);
119278 l_tmp_amt NUMBER;
119279 l_acc_rev_natural_side_code VARCHAR2(1);
119280
119281 l_num_entries NUMBER;
119282 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
119283 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
119284 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
119285 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
119286 l_recog_line_1 NUMBER;
119287 l_recog_line_2 NUMBER;
119288
119289 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
119290 l_bflow_applied_to_amt NUMBER; -- 5132302
119291 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
119292
119293 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
119294
119295 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
119296 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
119297
119298 ---------------------------------------------------------------------------------------------------------------
119299
119300
119301 --
119302 -- bulk performance
119303 --
119304 l_balance_type_code VARCHAR2(1);
119305 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
119306 l_log_module VARCHAR2(240);
119307
119308 --
119309 -- Upgrade strategy
119310 --
119311 l_actual_upg_option VARCHAR2(1);
119312 l_enc_upg_option VARCHAR2(1);
119313
119314 --
119315 BEGIN
119316 --
119317 IF g_log_enabled THEN
119318 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_198';
119319 END IF;
119320 --
119321 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
119322
119323 trace
119324 (p_msg => 'BEGIN of AcctLineType_198'
119325 ,p_level => C_LEVEL_PROCEDURE
119326 ,p_module => l_log_module);
119327
119328 END IF;
119329 --
119330 l_component_type := 'AMB_JLT';
119331 l_component_code := 'AP_SELF_ASSESSED_NON_REC_INV';
119332 l_component_type_code := 'S';
119333 l_component_appl_id := 200;
119334 l_amb_context_code := 'DEFAULT';
119335 l_entity_code := 'AP_INVOICES';
119336 l_event_class_code := 'INVOICES';
119337 l_event_type_code := 'INVOICES_ALL';
119338 l_line_definition_owner_code := 'S';
119339 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
119340 --
119341 l_balance_type_code := 'A';
119342 l_segment := NULL;
119343 l_ccid := NULL;
119344 l_adr_transaction_coa_id := NULL;
119345 l_adr_accounting_coa_id := NULL;
119346 l_adr_flexfield_segment_code := NULL;
119347 l_adr_flex_value_set_id := NULL;
119348 l_adr_value_type_code := NULL;
119349 l_adr_value_combination_id := NULL;
119350 l_adr_value_segment_code := NULL;
119351
119352 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
119353 l_bflow_class_code := ''; -- 4219869 Business Flow
119354 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
119355 l_budgetary_control_flag := 'N';
119356
119357 l_bflow_applied_to_amt_idx := NULL; -- 5132302
119358 l_bflow_applied_to_amt := NULL; -- 5132302
119359 l_entered_amt_idx := NULL; -- 4262811
119360 l_accted_amt_idx := NULL; -- 4262811
119361 l_acc_rev_flag := NULL; -- 4262811
119362 l_accrual_line_num := NULL; -- 4262811
119363 l_tmp_amt := NULL; -- 4262811
119364 --
119365
119366 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
119367 l_balance_type_code <> 'B' THEN
119368 IF (NVL(p_source_33,'
119369 ') = 'NONREC_TAX' OR
119370 NVL(p_source_33,'
119371 ') = 'TERV' OR
119372 NVL(p_source_33,'
119373 ') = 'TIPV' OR
119374 NVL(p_source_33,'
119375 ') = 'TRV') AND
119376 NVL(p_source_96,'
119377 ') <> 'Y' AND
119378 NVL(p_source_142,'
119379 ') = 'Y'
119380 THEN
119381
119382 --
119383 XLA_AE_LINES_PKG.SetNewLine;
119384
119385 p_balance_type_code := l_balance_type_code;
119386 -- set the flag so later we will know whether the gain loss line needs to be created
119387
119388 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
119389 p_actual_flag :='A';
119390 END IF;
119391
119392 --
119393 -- bulk performance
119394 --
119395 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
119396 p_header_num => 0); -- 4262811
119397 --
119398 -- set accounting line options
119399 --
119400 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
119401 p_natural_side_code => 'D'
119402 , p_gain_or_loss_flag => 'N'
119403 , p_gl_transfer_mode_code => 'S'
119404 , p_acct_entry_type_code => 'A'
119405 , p_switch_side_flag => 'Y'
119406 , p_merge_duplicate_code => 'A'
119407 );
119408 --
119412 -- set accounting line type info
119409 l_acc_rev_natural_side_code := 'C'; -- 4262811
119410 --
119411 --
119413 --
119414 xla_ae_lines_pkg.SetAcctLineType
119415 (p_component_type => l_component_type
119416 ,p_event_type_code => l_event_type_code
119417 ,p_line_definition_owner_code => l_line_definition_owner_code
119418 ,p_line_definition_code => l_line_definition_code
119419 ,p_accounting_line_code => l_component_code
119420 ,p_accounting_line_type_code => l_component_type_code
119421 ,p_accounting_line_appl_id => l_component_appl_id
119422 ,p_amb_context_code => l_amb_context_code
119423 ,p_entity_code => l_entity_code
119424 ,p_event_class_code => l_event_class_code);
119425 --
119426 -- set accounting class
119427 --
119428 xla_ae_lines_pkg.SetAcctClass(
119429 p_accounting_class_code => 'SELF_ASSESSED_TAX'
119430 , p_ae_header_id => l_ae_header_id
119431 );
119432
119433 --
119434 -- set rounding class
119435 --
119436 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
119437 'SELF_ASSESSED_TAX';
119438
119439 --
119440 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
119441 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
119442 --
119443 -- bulk performance
119444 --
119445 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
119446
119447 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
119448 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
119449
119450 -- 4955764
119451 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
119452 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
119453
119454 -- 4458381 Public Sector Enh
119455
119456 --
119457 -- set accounting attributes for the line type
119458 --
119459 l_entered_amt_idx := 24;
119460 l_accted_amt_idx := 29;
119461 l_bflow_applied_to_amt_idx := 7; -- 5132302
119462 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
119463 l_rec_acct_attrs.array_char_value(1) := p_source_53;
119464 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
119465 l_rec_acct_attrs.array_num_value(2) :=
119466 xla_ae_sources_pkg.GetSystemSourceNum(
119467 p_source_code => 'XLA_EVENT_APPL_ID'
119468 , p_source_type_code => 'Y'
119469 , p_source_application_id => 602
119470 );
119471 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
119472 l_rec_acct_attrs.array_char_value(3) := p_source_55;
119473 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
119474 l_rec_acct_attrs.array_char_value(4) :=
119475 xla_ae_sources_pkg.GetSystemSourceChar(
119476 p_source_code => 'XLA_ENTITY_CODE'
119477 , p_source_type_code => 'Y'
119478 , p_source_application_id => 602
119479 );
119480 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
119481 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
119482 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
119483 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
119484 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
119485 l_rec_acct_attrs.array_num_value(7) := p_source_73;
119486 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
119487 l_rec_acct_attrs.array_num_value(8) := p_source_91;
119488 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
119489 l_rec_acct_attrs.array_char_value(9) := p_source_92;
119490 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
119491 l_rec_acct_attrs.array_char_value(10) := p_source_93;
119492 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
119493 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
119494 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
119495 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_95);
119496 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
119497 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_64);
119498 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
119499 l_rec_acct_attrs.array_char_value(14) := p_source_55;
119500 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
119501 l_rec_acct_attrs.array_num_value(15) := p_source_65;
119502 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
119503 l_rec_acct_attrs.array_num_value(16) := p_source_66;
119504 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
119505 l_rec_acct_attrs.array_char_value(17) := p_source_67;
119506 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
119507 l_rec_acct_attrs.array_num_value(18) := p_source_68;
119508 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
119509 l_rec_acct_attrs.array_num_value(19) := p_source_69;
119510 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
119511 l_rec_acct_attrs.array_num_value(20) := p_source_70;
119515 l_rec_acct_attrs.array_num_value(22) := p_source_71;
119512 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
119513 l_rec_acct_attrs.array_char_value(21) := p_source_67;
119514 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
119516 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
119517 l_rec_acct_attrs.array_char_value(23) := p_source_72;
119518 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
119519 l_rec_acct_attrs.array_num_value(24) := p_source_73;
119520 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
119521 l_rec_acct_attrs.array_char_value(25) := p_source_67;
119522 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
119523 l_rec_acct_attrs.array_date_value(26) := p_source_143;
119524 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
119525 l_rec_acct_attrs.array_num_value(27) := p_source_144;
119526 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
119527 l_rec_acct_attrs.array_char_value(28) := p_source_145;
119528 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
119529 l_rec_acct_attrs.array_num_value(29) := p_source_21;
119530 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
119531 l_rec_acct_attrs.array_date_value(30) := p_source_77;
119532 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
119533 l_rec_acct_attrs.array_char_value(31) := p_source_78;
119534 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
119535 l_rec_acct_attrs.array_date_value(32) := p_source_79;
119536 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
119537 l_rec_acct_attrs.array_char_value(33) := p_source_80;
119538 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
119539 l_rec_acct_attrs.array_num_value(34) := p_source_81;
119540 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
119541 l_rec_acct_attrs.array_num_value(35) := p_source_82;
119542 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
119543 l_rec_acct_attrs.array_char_value(36) := p_source_83;
119544 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
119545 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_84);
119546 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
119547 l_rec_acct_attrs.array_char_value(38) := p_source_55;
119548 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
119549 l_rec_acct_attrs.array_num_value(39) := p_source_85;
119550 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
119551 l_rec_acct_attrs.array_num_value(40) := p_source_86;
119552 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
119553 l_rec_acct_attrs.array_num_value(41) := p_source_87;
119554 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
119555 l_rec_acct_attrs.array_num_value(42) := p_source_88;
119556 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
119557 l_rec_acct_attrs.array_num_value(43) := p_source_89;
119558 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
119559 l_rec_acct_attrs.array_num_value(44) := p_source_90;
119560
119561 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
119562 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
119563
119564 ---------------------------------------------------------------------------------------------------------------
119565 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
119566 ---------------------------------------------------------------------------------------------------------------
119567 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
119568
119569 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
119570 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
119571
119572 IF xla_accounting_cache_pkg.GetValueChar
119573 (p_source_code => 'LEDGER_CATEGORY_CODE'
119574 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
119575 AND l_bflow_method_code = 'PRIOR_ENTRY'
119576 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
119577 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
119578 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
119579 )
119580 THEN
119581 xla_ae_lines_pkg.BflowUpgEntry
119582 (p_business_method_code => l_bflow_method_code
119583 ,p_business_class_code => l_bflow_class_code
119584 ,p_balance_type => l_balance_type_code);
119585 ELSE
119586 NULL;
119587 -- No business flow processing for business flow method of NONE.
119588 END IF;
119589
119590 --
119591 -- call analytical criteria
119592 --
119593
119594 --
119595 -- call description
119596 --
119597
119598 xla_ae_lines_pkg.SetLineDescription(
119599 p_ae_header_id => l_ae_header_id
119600 ,p_description => Description_1 (
119601 p_application_id => p_application_id
119602 , p_ae_header_id => l_ae_header_id
119603 , p_source_1 => p_source_1
119604 )
119605 );
119606
119607
119608 --
119609 -- call ADRs
119610 -- Bug 4922099
119611 --
119612 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
119613 (NVL(l_actual_upg_option, 'N') = 'O') OR
119617 NULL;
119614 (NVL(l_enc_upg_option, 'N') = 'O')
119615 )
119616 THEN
119618 --
119619 --
119620
119621 l_ccid := AcctDerRule_42(
119622 p_application_id => p_application_id
119623 , p_ae_header_id => l_ae_header_id
119624 , p_source_50 => p_source_50
119625 , x_transaction_coa_id => l_adr_transaction_coa_id
119626 , x_accounting_coa_id => l_adr_accounting_coa_id
119627 , x_value_type_code => l_adr_value_type_code
119628 , p_side => 'NA'
119629 );
119630
119631 xla_ae_lines_pkg.set_ccid(
119632 p_code_combination_id => l_ccid
119633 , p_value_type_code => l_adr_value_type_code
119634 , p_transaction_coa_id => l_adr_transaction_coa_id
119635 , p_accounting_coa_id => l_adr_accounting_coa_id
119636 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
119637 , p_adr_type_code => 'S'
119638 , p_component_type => l_component_type
119639 , p_component_code => l_component_code
119640 , p_component_type_code => l_component_type_code
119641 , p_component_appl_id => l_component_appl_id
119642 , p_amb_context_code => l_amb_context_code
119643 , p_side => 'NA'
119644 );
119645
119646
119647 --
119648 --
119649 END IF;
119650 --
119651 -- Bug 4922099
119652 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
119653 (NVL(l_enc_upg_option, 'N') = 'O')
119654 ) AND
119655 (l_bflow_method_code = 'PRIOR_ENTRY')
119656 )
119657 THEN
119658 IF
119659 --
119660 1 = 2
119661 --
119662 THEN
119663 xla_accounting_err_pkg.build_message
119664 (p_appli_s_name => 'XLA'
119665 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
119666 ,p_token_1 => 'LINE_NUMBER'
119667 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
119668 ,p_token_2 => 'LINE_TYPE_NAME'
119669 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
119670 l_component_type
119671 ,l_component_code
119672 ,l_component_type_code
119673 ,l_component_appl_id
119674 ,l_amb_context_code
119675 ,l_entity_code
119676 ,l_event_class_code
119677 )
119678 ,p_token_3 => 'OWNER'
119679 ,p_value_3 => xla_lookups_pkg.get_meaning(
119680 p_lookup_type => 'XLA_OWNER_TYPE'
119681 ,p_lookup_code => l_component_type_code
119682 )
119683 ,p_token_4 => 'PRODUCT_NAME'
119684 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
119685 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
119686 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
119687 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
119688 ,p_ae_header_id => NULL
119689 );
119690
119691 IF (C_LEVEL_ERROR>= g_log_level) THEN
119692 trace
119693 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
119694 ,p_level => C_LEVEL_ERROR
119695 ,p_module => l_log_module);
119696 END IF;
119697 END IF;
119698 END IF;
119699 --
119700 --
119701 ------------------------------------------------------------------------------------------------
119702 -- 4219869 Business Flow
119703 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
119704 -- Prior Entry. Currently, the following code is always generated.
119705 ------------------------------------------------------------------------------------------------
119706 XLA_AE_LINES_PKG.ValidateCurrentLine;
119707
119708 ------------------------------------------------------------------------------------
119709 -- 4219869 Business Flow
119710 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
119711 ------------------------------------------------------------------------------------
119712 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
119713
119714 ----------------------------------------------------------------------------------
119715 -- 4219869 Business Flow
119716 -- Update journal entry status -- Need to generate this within IF <condition>
119720 ,p_balance_type_code => l_balance_type_code
119717 ----------------------------------------------------------------------------------
119718 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
119719 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
119721 );
119722
119723 -------------------------------------------------------------------------------------------
119724 -- 4262811 - Generate the Accrual Reversal lines
119725 -------------------------------------------------------------------------------------------
119726 BEGIN
119727 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
119728 (g_array_event(p_event_id).array_value_num('header_index'));
119729 IF l_acc_rev_flag IS NULL THEN
119730 l_acc_rev_flag := 'N';
119731 END IF;
119732 EXCEPTION
119733 WHEN OTHERS THEN
119734 l_acc_rev_flag := 'N';
119735 END;
119736 --
119737 IF (l_acc_rev_flag = 'Y') THEN
119738
119739 -- 4645092 ------------------------------------------------------------------------------
119740 -- To allow MPA report to determine if it should generate report process
119741 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
119742 ------------------------------------------------------------------------------------------
119743
119744 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
119745 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
119746 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
119747 -- call ADRs
119748 -- Bug 4922099
119749 --
119750 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
119751 (NVL(l_actual_upg_option, 'N') = 'O') OR
119752 (NVL(l_enc_upg_option, 'N') = 'O')
119753 )
119754 THEN
119755 NULL;
119756 --
119757 --
119758
119759 l_ccid := AcctDerRule_42(
119760 p_application_id => p_application_id
119761 , p_ae_header_id => l_ae_header_id
119762 , p_source_50 => p_source_50
119763 , x_transaction_coa_id => l_adr_transaction_coa_id
119764 , x_accounting_coa_id => l_adr_accounting_coa_id
119765 , x_value_type_code => l_adr_value_type_code
119766 , p_side => 'NA'
119767 );
119768
119769 xla_ae_lines_pkg.set_ccid(
119770 p_code_combination_id => l_ccid
119771 , p_value_type_code => l_adr_value_type_code
119772 , p_transaction_coa_id => l_adr_transaction_coa_id
119773 , p_accounting_coa_id => l_adr_accounting_coa_id
119774 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
119775 , p_adr_type_code => 'S'
119776 , p_component_type => l_component_type
119777 , p_component_code => l_component_code
119778 , p_component_type_code => l_component_type_code
119779 , p_component_appl_id => l_component_appl_id
119780 , p_amb_context_code => l_amb_context_code
119781 , p_side => 'NA'
119782 );
119783
119784
119785 --
119786 --
119787 END IF;
119788
119789 --
119790 -- Update the line information that should be overwritten
119791 --
119792 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
119793 p_header_num => 1);
119794 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
119795
119796 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
119797
119798 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
119799 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
119800 END IF;
119801
119802 --
119803 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
119804 --
119805 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
119806 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
119807 ELSE
119808 ---------------------------------------------------------------------------------------------------
119809 -- 4262811a Switch Sign
119810 ---------------------------------------------------------------------------------------------------
119811 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
119812 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
119813 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
119814 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
119815 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
119816 -- 5132302
119817 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
119818 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
119819
119820 END IF;
119821
119822 -- 4955764
119823 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
119824 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
119825
119826
119830 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
119827 XLA_AE_LINES_PKG.ValidateCurrentLine;
119828 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
119829
119831 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
119832 ,p_balance_type_code => l_balance_type_code);
119833
119834 END IF;
119835
119836 -----------------------------------------------------------------------------------------
119837 -- 4262811 Multiperiod Accounting
119838 -----------------------------------------------------------------------------------------
119839 -- No MPA option is assigned.
119840
119841
119842 END IF;
119843 END IF;
119844 --
119845
119846 --
119847 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
119848 trace
119849 (p_msg => 'END of AcctLineType_198'
119850 ,p_level => C_LEVEL_PROCEDURE
119851 ,p_module => l_log_module);
119852 END IF;
119853 --
119854 EXCEPTION
119855 WHEN xla_exceptions_pkg.application_exception THEN
119856 RAISE;
119857 WHEN OTHERS THEN
119858 xla_exceptions_pkg.raise_message
119859 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_198');
119860 END AcctLineType_198;
119861 --
119862
119863 ---------------------------------------
119864 --
119865 -- PRIVATE FUNCTION
119866 -- AcctLineType_199
119867 --
119868 ---------------------------------------
119869 PROCEDURE AcctLineType_199 (
119870 p_application_id IN NUMBER
119871 ,p_event_id IN NUMBER
119872 ,p_calculate_acctd_flag IN VARCHAR2
119873 ,p_calculate_g_l_flag IN VARCHAR2
119874 ,p_actual_flag IN OUT VARCHAR2
119875 ,p_balance_type_code OUT VARCHAR2
119876 ,p_gain_or_loss_ref OUT VARCHAR2
119877
119878 --Invoice Distribution Description
119879 , p_source_1 IN VARCHAR2
119880 --Invoice Distribution Ledger Amount
119881 , p_source_21 IN NUMBER
119882 --Invoice Distribution Type
119883 , p_source_33 IN VARCHAR2
119884 , p_source_33_meaning IN VARCHAR2
119885 --Self-Assessed Tax Account
119886 , p_source_50 IN NUMBER
119887 --Accounting Reversal Indicator
119888 , p_source_53 IN VARCHAR2
119889 --Distribution Link Type
119890 , p_source_55 IN VARCHAR2
119891 --Allocation to Main Distribution Identifier
119892 , p_source_57 IN NUMBER
119893 --Invoice Identifier
119894 , p_source_58 IN NUMBER
119895 --Invoice Distribution Identifier
119896 , p_source_64 IN NUMBER
119897 --Payables Encumbrance Upgrade Credit Account
119898 , p_source_65 IN NUMBER
119899 --Payables Encumbrance Upgrade Credit Amount
119900 , p_source_66 IN NUMBER
119901 --Invoice Currency Code
119902 , p_source_67 IN VARCHAR2
119903 --Payables Encumbrance Upgrade Credit Base Amount
119904 , p_source_68 IN NUMBER
119905 --Payables Encumbrance Upgrade Debit Account
119906 , p_source_69 IN NUMBER
119907 --Payables Encumbrance Upgrade Debit Amount
119908 , p_source_70 IN NUMBER
119909 --Payables Encumbrance Upgrade Debit Base Amount
119910 , p_source_71 IN NUMBER
119911 --Payables Encumbrance Upgrade Option
119912 , p_source_72 IN VARCHAR2
119913 --Invoice Distribution Amount
119914 , p_source_73 IN NUMBER
119915 --Deferred Accounting End Date
119916 , p_source_77 IN DATE
119917 --Deferred Accounting Option
119918 , p_source_78 IN VARCHAR2
119919 --Deferred Accounting Start Date
119920 , p_source_79 IN DATE
119921 --Override Accounted Amount Indicator
119922 , p_source_80 IN VARCHAR2
119923 , p_source_80_meaning IN VARCHAR2
119924 --Invoice Supplier Identifier
119925 , p_source_81 IN NUMBER
119926 --Invoice Supplier Site Identifier
119927 , p_source_82 IN NUMBER
119928 --Third Party Type
119929 , p_source_83 IN VARCHAR2
119930 --Parent Reversal Identifier
119931 , p_source_84 IN NUMBER
119932 --Invoice Distribution Statistical Amount
119933 , p_source_85 IN NUMBER
119934 --Invoice Distribution Tax Line Identifier
119935 , p_source_86 IN NUMBER
119936 --Invoice Distribution Tax Distribution Identifier from Tax
119937 , p_source_87 IN NUMBER
119938 --Invoice Distribution Summary Tax Line Identifier
119939 , p_source_88 IN NUMBER
119940 --Payables Upgrade Credit Encumbrance Type Identifier
119941 , p_source_89 IN NUMBER
119942 --Payables Upgrade Debit Encumbrance Type Identifier
119943 , p_source_90 IN NUMBER
119944 --Business Flow Accounts Payable Application Identifier
119945 , p_source_91 IN NUMBER
119946 --Business Flow Invoice Distribution Type
119947 , p_source_92 IN VARCHAR2
119948 --Business Flow Invoice Entity Code
119949 , p_source_93 IN VARCHAR2
119950 --Business Flow Invoice Distribution Identifier
119951 , p_source_94 IN NUMBER
119952 --Business Flow Invoice Identifier
119953 , p_source_95 IN NUMBER
119954 --Self-Assessed Tax Flag
119955 , p_source_142 IN VARCHAR2
119956 , p_source_142_meaning IN VARCHAR2
119957 --Invoice Exchange Date
119958 , p_source_143 IN DATE
119959 --Invoice Exchange Rate
119960 , p_source_144 IN NUMBER
119961 --Invoice Exchange Rate Type
119962 , p_source_145 IN VARCHAR2
119966 l_component_type VARCHAR2(80);
119963 )
119964 IS
119965
119967 l_component_code VARCHAR2(30);
119968 l_component_type_code VARCHAR2(1);
119969 l_component_appl_id INTEGER;
119970 l_amb_context_code VARCHAR2(30);
119971 l_entity_code VARCHAR2(30);
119972 l_event_class_code VARCHAR2(30);
119973 l_ae_header_id NUMBER;
119974 l_event_type_code VARCHAR2(30);
119975 l_line_definition_code VARCHAR2(30);
119976 l_line_definition_owner_code VARCHAR2(1);
119977 --
119978 -- adr variables
119979 l_segment VARCHAR2(30);
119980 l_ccid NUMBER;
119981 l_adr_transaction_coa_id NUMBER;
119982 l_adr_accounting_coa_id NUMBER;
119983 l_adr_flexfield_segment_code VARCHAR2(30);
119984 l_adr_flex_value_set_id NUMBER;
119985 l_adr_value_type_code VARCHAR2(30);
119986 l_adr_value_combination_id NUMBER;
119987 l_adr_value_segment_code VARCHAR2(30);
119988
119989 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
119990 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
119991 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
119992 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
119993
119994 -- 4262811 Variables ------------------------------------------------------------------------------------------
119995 l_entered_amt_idx NUMBER;
119996 l_accted_amt_idx NUMBER;
119997 l_acc_rev_flag VARCHAR2(1);
119998 l_accrual_line_num NUMBER;
119999 l_tmp_amt NUMBER;
120000 l_acc_rev_natural_side_code VARCHAR2(1);
120001
120002 l_num_entries NUMBER;
120003 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
120004 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
120005 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
120006 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
120007 l_recog_line_1 NUMBER;
120008 l_recog_line_2 NUMBER;
120009
120010 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
120011 l_bflow_applied_to_amt NUMBER; -- 5132302
120012 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
120013
120014 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
120015
120016 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
120017 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
120018
120019 ---------------------------------------------------------------------------------------------------------------
120020
120021
120022 --
120023 -- bulk performance
120024 --
120025 l_balance_type_code VARCHAR2(1);
120026 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
120027 l_log_module VARCHAR2(240);
120028
120029 --
120030 -- Upgrade strategy
120031 --
120032 l_actual_upg_option VARCHAR2(1);
120033 l_enc_upg_option VARCHAR2(1);
120034
120035 --
120036 BEGIN
120037 --
120038 IF g_log_enabled THEN
120039 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_199';
120040 END IF;
120041 --
120042 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
120043
120044 trace
120045 (p_msg => 'BEGIN of AcctLineType_199'
120046 ,p_level => C_LEVEL_PROCEDURE
120047 ,p_module => l_log_module);
120048
120049 END IF;
120050 --
120051 l_component_type := 'AMB_JLT';
120052 l_component_code := 'AP_SELF_ASSESSED_RECTAX_PREPAY';
120053 l_component_type_code := 'S';
120054 l_component_appl_id := 200;
120055 l_amb_context_code := 'DEFAULT';
120056 l_entity_code := 'AP_INVOICES';
120057 l_event_class_code := 'PREPAYMENTS';
120058 l_event_type_code := 'PREPAYMENTS_ALL';
120059 l_line_definition_owner_code := 'S';
120060 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
120061 --
120062 l_balance_type_code := 'A';
120063 l_segment := NULL;
120064 l_ccid := NULL;
120065 l_adr_transaction_coa_id := NULL;
120066 l_adr_accounting_coa_id := NULL;
120067 l_adr_flexfield_segment_code := NULL;
120068 l_adr_flex_value_set_id := NULL;
120069 l_adr_value_type_code := NULL;
120070 l_adr_value_combination_id := NULL;
120071 l_adr_value_segment_code := NULL;
120072
120073 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
120074 l_bflow_class_code := ''; -- 4219869 Business Flow
120075 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
120076 l_budgetary_control_flag := 'N';
120077
120078 l_bflow_applied_to_amt_idx := NULL; -- 5132302
120079 l_bflow_applied_to_amt := NULL; -- 5132302
120080 l_entered_amt_idx := NULL; -- 4262811
120081 l_accted_amt_idx := NULL; -- 4262811
120082 l_acc_rev_flag := NULL; -- 4262811
120083 l_accrual_line_num := NULL; -- 4262811
120084 l_tmp_amt := NULL; -- 4262811
120085 --
120086
120087 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
120088 l_balance_type_code <> 'B' THEN
120092 ') = 'Y'
120089 IF NVL(p_source_33,'
120090 ') = 'REC_TAX' AND
120091 NVL(p_source_142,'
120093 THEN
120094
120095 --
120096 XLA_AE_LINES_PKG.SetNewLine;
120097
120098 p_balance_type_code := l_balance_type_code;
120099 -- set the flag so later we will know whether the gain loss line needs to be created
120100
120101 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
120102 p_actual_flag :='A';
120103 END IF;
120104
120105 --
120106 -- bulk performance
120107 --
120108 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
120109 p_header_num => 0); -- 4262811
120110 --
120111 -- set accounting line options
120112 --
120113 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
120114 p_natural_side_code => 'D'
120115 , p_gain_or_loss_flag => 'N'
120116 , p_gl_transfer_mode_code => 'S'
120117 , p_acct_entry_type_code => 'A'
120118 , p_switch_side_flag => 'Y'
120119 , p_merge_duplicate_code => 'A'
120120 );
120121 --
120122 l_acc_rev_natural_side_code := 'C'; -- 4262811
120123 --
120124 --
120125 -- set accounting line type info
120126 --
120127 xla_ae_lines_pkg.SetAcctLineType
120128 (p_component_type => l_component_type
120129 ,p_event_type_code => l_event_type_code
120130 ,p_line_definition_owner_code => l_line_definition_owner_code
120131 ,p_line_definition_code => l_line_definition_code
120132 ,p_accounting_line_code => l_component_code
120133 ,p_accounting_line_type_code => l_component_type_code
120134 ,p_accounting_line_appl_id => l_component_appl_id
120135 ,p_amb_context_code => l_amb_context_code
120136 ,p_entity_code => l_entity_code
120137 ,p_event_class_code => l_event_class_code);
120138 --
120139 -- set accounting class
120140 --
120141 xla_ae_lines_pkg.SetAcctClass(
120142 p_accounting_class_code => 'SELF_ASSESSED_TAX'
120143 , p_ae_header_id => l_ae_header_id
120144 );
120145
120146 --
120147 -- set rounding class
120148 --
120149 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
120150 'SELF_ASSESSED_TAX';
120151
120152 --
120153 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
120154 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
120155 --
120156 -- bulk performance
120157 --
120158 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
120159
120160 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
120161 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
120162
120163 -- 4955764
120164 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
120165 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
120166
120167 -- 4458381 Public Sector Enh
120168
120169 --
120170 -- set accounting attributes for the line type
120171 --
120172 l_entered_amt_idx := 23;
120173 l_accted_amt_idx := 28;
120174 l_bflow_applied_to_amt_idx := NULL; -- 5132302
120175 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
120176 l_rec_acct_attrs.array_char_value(1) := p_source_53;
120177 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
120178 l_rec_acct_attrs.array_num_value(2) :=
120179 xla_ae_sources_pkg.GetSystemSourceNum(
120180 p_source_code => 'XLA_EVENT_APPL_ID'
120181 , p_source_type_code => 'Y'
120182 , p_source_application_id => 602
120183 );
120184 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
120185 l_rec_acct_attrs.array_char_value(3) := p_source_55;
120186 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
120187 l_rec_acct_attrs.array_char_value(4) :=
120188 xla_ae_sources_pkg.GetSystemSourceChar(
120189 p_source_code => 'XLA_ENTITY_CODE'
120190 , p_source_type_code => 'Y'
120191 , p_source_application_id => 602
120192 );
120193 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
120194 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
120195 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
120196 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
120197 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
120198 l_rec_acct_attrs.array_num_value(7) := p_source_91;
120199 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
120200 l_rec_acct_attrs.array_char_value(8) := p_source_92;
120201 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
120202 l_rec_acct_attrs.array_char_value(9) := p_source_93;
120203 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
120204 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
120205 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
120206 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
120207 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
120211 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
120208 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
120209 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
120210 l_rec_acct_attrs.array_char_value(13) := p_source_55;
120212 l_rec_acct_attrs.array_num_value(14) := p_source_65;
120213 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
120214 l_rec_acct_attrs.array_num_value(15) := p_source_66;
120215 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
120216 l_rec_acct_attrs.array_char_value(16) := p_source_67;
120217 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
120218 l_rec_acct_attrs.array_num_value(17) := p_source_68;
120219 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
120220 l_rec_acct_attrs.array_num_value(18) := p_source_69;
120221 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
120222 l_rec_acct_attrs.array_num_value(19) := p_source_70;
120223 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
120224 l_rec_acct_attrs.array_char_value(20) := p_source_67;
120225 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
120226 l_rec_acct_attrs.array_num_value(21) := p_source_71;
120227 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
120228 l_rec_acct_attrs.array_char_value(22) := p_source_72;
120229 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
120230 l_rec_acct_attrs.array_num_value(23) := p_source_73;
120231 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
120232 l_rec_acct_attrs.array_char_value(24) := p_source_67;
120233 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
120234 l_rec_acct_attrs.array_date_value(25) := p_source_143;
120235 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
120236 l_rec_acct_attrs.array_num_value(26) := p_source_144;
120237 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
120238 l_rec_acct_attrs.array_char_value(27) := p_source_145;
120239 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
120240 l_rec_acct_attrs.array_num_value(28) := p_source_21;
120241 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
120242 l_rec_acct_attrs.array_date_value(29) := p_source_77;
120243 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
120244 l_rec_acct_attrs.array_char_value(30) := p_source_78;
120245 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
120246 l_rec_acct_attrs.array_date_value(31) := p_source_79;
120247 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
120248 l_rec_acct_attrs.array_char_value(32) := p_source_80;
120249 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
120250 l_rec_acct_attrs.array_num_value(33) := p_source_81;
120251 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
120252 l_rec_acct_attrs.array_num_value(34) := p_source_82;
120253 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
120254 l_rec_acct_attrs.array_char_value(35) := p_source_83;
120255 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
120256 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
120257 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
120258 l_rec_acct_attrs.array_char_value(37) := p_source_55;
120259 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
120260 l_rec_acct_attrs.array_num_value(38) := p_source_85;
120261 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
120262 l_rec_acct_attrs.array_num_value(39) := p_source_86;
120263 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
120264 l_rec_acct_attrs.array_num_value(40) := p_source_87;
120265 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
120266 l_rec_acct_attrs.array_num_value(41) := p_source_88;
120267 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
120268 l_rec_acct_attrs.array_num_value(42) := p_source_89;
120269 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
120270 l_rec_acct_attrs.array_num_value(43) := p_source_90;
120271
120272 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
120273 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
120274
120275 ---------------------------------------------------------------------------------------------------------------
120276 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
120277 ---------------------------------------------------------------------------------------------------------------
120278 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
120279
120280 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
120281 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
120282
120283 IF xla_accounting_cache_pkg.GetValueChar
120284 (p_source_code => 'LEDGER_CATEGORY_CODE'
120285 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
120286 AND l_bflow_method_code = 'PRIOR_ENTRY'
120287 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
120288 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
120289 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
120290 )
120291 THEN
120292 xla_ae_lines_pkg.BflowUpgEntry
120296 ELSE
120293 (p_business_method_code => l_bflow_method_code
120294 ,p_business_class_code => l_bflow_class_code
120295 ,p_balance_type => l_balance_type_code);
120297 NULL;
120298 -- No business flow processing for business flow method of NONE.
120299 END IF;
120300
120301 --
120302 -- call analytical criteria
120303 --
120304
120305 --
120306 -- call description
120307 --
120308
120309 xla_ae_lines_pkg.SetLineDescription(
120310 p_ae_header_id => l_ae_header_id
120311 ,p_description => Description_1 (
120312 p_application_id => p_application_id
120313 , p_ae_header_id => l_ae_header_id
120314 , p_source_1 => p_source_1
120315 )
120316 );
120317
120318
120319 --
120320 -- call ADRs
120321 -- Bug 4922099
120322 --
120323 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
120324 (NVL(l_actual_upg_option, 'N') = 'O') OR
120325 (NVL(l_enc_upg_option, 'N') = 'O')
120326 )
120327 THEN
120328 NULL;
120329 --
120330 --
120331
120332 l_ccid := AcctDerRule_42(
120333 p_application_id => p_application_id
120334 , p_ae_header_id => l_ae_header_id
120335 , p_source_50 => p_source_50
120336 , x_transaction_coa_id => l_adr_transaction_coa_id
120337 , x_accounting_coa_id => l_adr_accounting_coa_id
120338 , x_value_type_code => l_adr_value_type_code
120339 , p_side => 'NA'
120340 );
120341
120342 xla_ae_lines_pkg.set_ccid(
120343 p_code_combination_id => l_ccid
120344 , p_value_type_code => l_adr_value_type_code
120345 , p_transaction_coa_id => l_adr_transaction_coa_id
120346 , p_accounting_coa_id => l_adr_accounting_coa_id
120347 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
120348 , p_adr_type_code => 'S'
120349 , p_component_type => l_component_type
120350 , p_component_code => l_component_code
120351 , p_component_type_code => l_component_type_code
120352 , p_component_appl_id => l_component_appl_id
120353 , p_amb_context_code => l_amb_context_code
120354 , p_side => 'NA'
120355 );
120356
120357
120358 --
120359 --
120360 END IF;
120361 --
120362 -- Bug 4922099
120363 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
120364 (NVL(l_enc_upg_option, 'N') = 'O')
120365 ) AND
120366 (l_bflow_method_code = 'PRIOR_ENTRY')
120367 )
120368 THEN
120369 IF
120370 --
120371 1 = 2
120372 --
120373 THEN
120374 xla_accounting_err_pkg.build_message
120375 (p_appli_s_name => 'XLA'
120376 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
120377 ,p_token_1 => 'LINE_NUMBER'
120378 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
120379 ,p_token_2 => 'LINE_TYPE_NAME'
120380 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
120381 l_component_type
120382 ,l_component_code
120383 ,l_component_type_code
120384 ,l_component_appl_id
120385 ,l_amb_context_code
120386 ,l_entity_code
120387 ,l_event_class_code
120388 )
120389 ,p_token_3 => 'OWNER'
120390 ,p_value_3 => xla_lookups_pkg.get_meaning(
120391 p_lookup_type => 'XLA_OWNER_TYPE'
120392 ,p_lookup_code => l_component_type_code
120393 )
120394 ,p_token_4 => 'PRODUCT_NAME'
120395 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
120396 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
120397 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
120398 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
120399 ,p_ae_header_id => NULL
120400 );
120401
120402 IF (C_LEVEL_ERROR>= g_log_level) THEN
120403 trace
120404 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
120405 ,p_level => C_LEVEL_ERROR
120406 ,p_module => l_log_module);
120407 END IF;
120408 END IF;
120409 END IF;
120410 --
120411 --
120415 -- Prior Entry. Currently, the following code is always generated.
120412 ------------------------------------------------------------------------------------------------
120413 -- 4219869 Business Flow
120414 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
120416 ------------------------------------------------------------------------------------------------
120417 XLA_AE_LINES_PKG.ValidateCurrentLine;
120418
120419 ------------------------------------------------------------------------------------
120420 -- 4219869 Business Flow
120421 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
120422 ------------------------------------------------------------------------------------
120423 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
120424
120425 ----------------------------------------------------------------------------------
120426 -- 4219869 Business Flow
120427 -- Update journal entry status -- Need to generate this within IF <condition>
120428 ----------------------------------------------------------------------------------
120429 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
120430 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
120431 ,p_balance_type_code => l_balance_type_code
120432 );
120433
120434 -------------------------------------------------------------------------------------------
120435 -- 4262811 - Generate the Accrual Reversal lines
120436 -------------------------------------------------------------------------------------------
120437 BEGIN
120438 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
120439 (g_array_event(p_event_id).array_value_num('header_index'));
120440 IF l_acc_rev_flag IS NULL THEN
120441 l_acc_rev_flag := 'N';
120442 END IF;
120443 EXCEPTION
120444 WHEN OTHERS THEN
120445 l_acc_rev_flag := 'N';
120446 END;
120447 --
120448 IF (l_acc_rev_flag = 'Y') THEN
120449
120450 -- 4645092 ------------------------------------------------------------------------------
120451 -- To allow MPA report to determine if it should generate report process
120452 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
120453 ------------------------------------------------------------------------------------------
120454
120455 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
120456 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
120457 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
120458 -- call ADRs
120459 -- Bug 4922099
120460 --
120461 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
120462 (NVL(l_actual_upg_option, 'N') = 'O') OR
120463 (NVL(l_enc_upg_option, 'N') = 'O')
120464 )
120465 THEN
120466 NULL;
120467 --
120468 --
120469
120470 l_ccid := AcctDerRule_42(
120471 p_application_id => p_application_id
120472 , p_ae_header_id => l_ae_header_id
120473 , p_source_50 => p_source_50
120474 , x_transaction_coa_id => l_adr_transaction_coa_id
120475 , x_accounting_coa_id => l_adr_accounting_coa_id
120476 , x_value_type_code => l_adr_value_type_code
120477 , p_side => 'NA'
120478 );
120479
120480 xla_ae_lines_pkg.set_ccid(
120481 p_code_combination_id => l_ccid
120482 , p_value_type_code => l_adr_value_type_code
120483 , p_transaction_coa_id => l_adr_transaction_coa_id
120484 , p_accounting_coa_id => l_adr_accounting_coa_id
120485 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
120486 , p_adr_type_code => 'S'
120487 , p_component_type => l_component_type
120488 , p_component_code => l_component_code
120489 , p_component_type_code => l_component_type_code
120490 , p_component_appl_id => l_component_appl_id
120491 , p_amb_context_code => l_amb_context_code
120492 , p_side => 'NA'
120493 );
120494
120495
120496 --
120497 --
120498 END IF;
120499
120500 --
120501 -- Update the line information that should be overwritten
120502 --
120503 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
120504 p_header_num => 1);
120505 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
120506
120507 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
120508
120509 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
120510 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
120511 END IF;
120512
120513 --
120514 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
120515 --
120516 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
120517 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
120518 ELSE
120519 ---------------------------------------------------------------------------------------------------
120520 -- 4262811a Switch Sign
120521 ---------------------------------------------------------------------------------------------------
120525 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
120522 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
120523 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
120524 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
120526 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
120527 -- 5132302
120528 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
120529 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
120530
120531 END IF;
120532
120533 -- 4955764
120534 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
120535 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
120536
120537
120538 XLA_AE_LINES_PKG.ValidateCurrentLine;
120539 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
120540
120541 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
120542 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
120543 ,p_balance_type_code => l_balance_type_code);
120544
120545 END IF;
120546
120547 -----------------------------------------------------------------------------------------
120548 -- 4262811 Multiperiod Accounting
120549 -----------------------------------------------------------------------------------------
120550 -- No MPA option is assigned.
120551
120552
120553 END IF;
120554 END IF;
120555 --
120556
120557 --
120558 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
120559 trace
120560 (p_msg => 'END of AcctLineType_199'
120561 ,p_level => C_LEVEL_PROCEDURE
120562 ,p_module => l_log_module);
120563 END IF;
120564 --
120565 EXCEPTION
120566 WHEN xla_exceptions_pkg.application_exception THEN
120567 RAISE;
120568 WHEN OTHERS THEN
120569 xla_exceptions_pkg.raise_message
120570 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_199');
120571 END AcctLineType_199;
120572 --
120573
120574 ---------------------------------------
120575 --
120576 -- PRIVATE FUNCTION
120577 -- AcctLineType_200
120578 --
120579 ---------------------------------------
120580 PROCEDURE AcctLineType_200 (
120581 p_application_id IN NUMBER
120582 ,p_event_id IN NUMBER
120583 ,p_calculate_acctd_flag IN VARCHAR2
120584 ,p_calculate_g_l_flag IN VARCHAR2
120585 ,p_actual_flag IN OUT VARCHAR2
120586 ,p_balance_type_code OUT VARCHAR2
120587 ,p_gain_or_loss_ref OUT VARCHAR2
120588
120589 --Invoice Distribution Description
120590 , p_source_1 IN VARCHAR2
120591 --Invoice Distribution Ledger Amount
120592 , p_source_21 IN NUMBER
120593 --Invoice Distribution Type
120594 , p_source_33 IN VARCHAR2
120595 , p_source_33_meaning IN VARCHAR2
120596 --Self-Assessed Tax Account
120597 , p_source_50 IN NUMBER
120598 --Accounting Reversal Indicator
120599 , p_source_53 IN VARCHAR2
120600 --Distribution Link Type
120601 , p_source_55 IN VARCHAR2
120602 --Allocation to Main Distribution Identifier
120603 , p_source_57 IN NUMBER
120604 --Invoice Identifier
120605 , p_source_58 IN NUMBER
120606 --Invoice Distribution Identifier
120607 , p_source_64 IN NUMBER
120608 --Payables Encumbrance Upgrade Credit Account
120609 , p_source_65 IN NUMBER
120610 --Payables Encumbrance Upgrade Credit Amount
120611 , p_source_66 IN NUMBER
120612 --Invoice Currency Code
120613 , p_source_67 IN VARCHAR2
120614 --Payables Encumbrance Upgrade Credit Base Amount
120615 , p_source_68 IN NUMBER
120616 --Payables Encumbrance Upgrade Debit Account
120617 , p_source_69 IN NUMBER
120618 --Payables Encumbrance Upgrade Debit Amount
120619 , p_source_70 IN NUMBER
120620 --Payables Encumbrance Upgrade Debit Base Amount
120621 , p_source_71 IN NUMBER
120622 --Payables Encumbrance Upgrade Option
120623 , p_source_72 IN VARCHAR2
120624 --Invoice Distribution Amount
120625 , p_source_73 IN NUMBER
120626 --Deferred Accounting End Date
120627 , p_source_77 IN DATE
120628 --Deferred Accounting Option
120629 , p_source_78 IN VARCHAR2
120630 --Deferred Accounting Start Date
120631 , p_source_79 IN DATE
120632 --Override Accounted Amount Indicator
120633 , p_source_80 IN VARCHAR2
120634 , p_source_80_meaning IN VARCHAR2
120635 --Invoice Supplier Identifier
120636 , p_source_81 IN NUMBER
120637 --Invoice Supplier Site Identifier
120638 , p_source_82 IN NUMBER
120639 --Third Party Type
120640 , p_source_83 IN VARCHAR2
120641 --Parent Reversal Identifier
120642 , p_source_84 IN NUMBER
120643 --Invoice Distribution Statistical Amount
120644 , p_source_85 IN NUMBER
120645 --Invoice Distribution Tax Line Identifier
120646 , p_source_86 IN NUMBER
120647 --Invoice Distribution Tax Distribution Identifier from Tax
120648 , p_source_87 IN NUMBER
120649 --Invoice Distribution Summary Tax Line Identifier
120653 --Payables Upgrade Debit Encumbrance Type Identifier
120650 , p_source_88 IN NUMBER
120651 --Payables Upgrade Credit Encumbrance Type Identifier
120652 , p_source_89 IN NUMBER
120654 , p_source_90 IN NUMBER
120655 --Business Flow Accounts Payable Application Identifier
120656 , p_source_91 IN NUMBER
120657 --Business Flow Invoice Distribution Type
120658 , p_source_92 IN VARCHAR2
120659 --Business Flow Invoice Entity Code
120660 , p_source_93 IN VARCHAR2
120661 --Business Flow Invoice Distribution Identifier
120662 , p_source_94 IN NUMBER
120663 --Business Flow Invoice Identifier
120664 , p_source_95 IN NUMBER
120665 --Self-Assessed Tax Flag
120666 , p_source_142 IN VARCHAR2
120667 , p_source_142_meaning IN VARCHAR2
120668 --Invoice Exchange Date
120669 , p_source_143 IN DATE
120670 --Invoice Exchange Rate
120671 , p_source_144 IN NUMBER
120672 --Invoice Exchange Rate Type
120673 , p_source_145 IN VARCHAR2
120674 )
120675 IS
120676
120677 l_component_type VARCHAR2(80);
120678 l_component_code VARCHAR2(30);
120679 l_component_type_code VARCHAR2(1);
120680 l_component_appl_id INTEGER;
120681 l_amb_context_code VARCHAR2(30);
120682 l_entity_code VARCHAR2(30);
120683 l_event_class_code VARCHAR2(30);
120684 l_ae_header_id NUMBER;
120685 l_event_type_code VARCHAR2(30);
120686 l_line_definition_code VARCHAR2(30);
120687 l_line_definition_owner_code VARCHAR2(1);
120688 --
120689 -- adr variables
120690 l_segment VARCHAR2(30);
120691 l_ccid NUMBER;
120692 l_adr_transaction_coa_id NUMBER;
120693 l_adr_accounting_coa_id NUMBER;
120694 l_adr_flexfield_segment_code VARCHAR2(30);
120695 l_adr_flex_value_set_id NUMBER;
120696 l_adr_value_type_code VARCHAR2(30);
120697 l_adr_value_combination_id NUMBER;
120698 l_adr_value_segment_code VARCHAR2(30);
120699
120700 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
120701 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
120702 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
120703 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
120704
120705 -- 4262811 Variables ------------------------------------------------------------------------------------------
120706 l_entered_amt_idx NUMBER;
120707 l_accted_amt_idx NUMBER;
120708 l_acc_rev_flag VARCHAR2(1);
120709 l_accrual_line_num NUMBER;
120710 l_tmp_amt NUMBER;
120711 l_acc_rev_natural_side_code VARCHAR2(1);
120712
120713 l_num_entries NUMBER;
120714 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
120715 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
120716 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
120717 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
120718 l_recog_line_1 NUMBER;
120719 l_recog_line_2 NUMBER;
120720
120721 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
120722 l_bflow_applied_to_amt NUMBER; -- 5132302
120723 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
120724
120725 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
120726
120727 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
120728 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
120729
120730 ---------------------------------------------------------------------------------------------------------------
120731
120732
120733 --
120734 -- bulk performance
120735 --
120736 l_balance_type_code VARCHAR2(1);
120737 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
120738 l_log_module VARCHAR2(240);
120739
120740 --
120741 -- Upgrade strategy
120742 --
120743 l_actual_upg_option VARCHAR2(1);
120744 l_enc_upg_option VARCHAR2(1);
120745
120746 --
120747 BEGIN
120748 --
120749 IF g_log_enabled THEN
120750 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_200';
120751 END IF;
120752 --
120753 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
120754
120755 trace
120756 (p_msg => 'BEGIN of AcctLineType_200'
120757 ,p_level => C_LEVEL_PROCEDURE
120758 ,p_module => l_log_module);
120759
120760 END IF;
120761 --
120762 l_component_type := 'AMB_JLT';
120763 l_component_code := 'AP_SELF_ASSESSED_REC_TAX_CM';
120764 l_component_type_code := 'S';
120765 l_component_appl_id := 200;
120766 l_amb_context_code := 'DEFAULT';
120767 l_entity_code := 'AP_INVOICES';
120768 l_event_class_code := 'CREDIT MEMOS';
120769 l_event_type_code := 'CREDIT MEMOS_ALL';
120770 l_line_definition_owner_code := 'S';
120771 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
120772 --
120773 l_balance_type_code := 'A';
120774 l_segment := NULL;
120775 l_ccid := NULL;
120776 l_adr_transaction_coa_id := NULL;
120777 l_adr_accounting_coa_id := NULL;
120781 l_adr_value_combination_id := NULL;
120778 l_adr_flexfield_segment_code := NULL;
120779 l_adr_flex_value_set_id := NULL;
120780 l_adr_value_type_code := NULL;
120782 l_adr_value_segment_code := NULL;
120783
120784 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
120785 l_bflow_class_code := ''; -- 4219869 Business Flow
120786 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
120787 l_budgetary_control_flag := 'N';
120788
120789 l_bflow_applied_to_amt_idx := NULL; -- 5132302
120790 l_bflow_applied_to_amt := NULL; -- 5132302
120791 l_entered_amt_idx := NULL; -- 4262811
120792 l_accted_amt_idx := NULL; -- 4262811
120793 l_acc_rev_flag := NULL; -- 4262811
120794 l_accrual_line_num := NULL; -- 4262811
120795 l_tmp_amt := NULL; -- 4262811
120796 --
120797
120798 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
120799 l_balance_type_code <> 'B' THEN
120800 IF NVL(p_source_33,'
120801 ') = 'REC_TAX' AND
120802 NVL(p_source_142,'
120803 ') = 'Y'
120804 THEN
120805
120806 --
120807 XLA_AE_LINES_PKG.SetNewLine;
120808
120809 p_balance_type_code := l_balance_type_code;
120810 -- set the flag so later we will know whether the gain loss line needs to be created
120811
120812 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
120813 p_actual_flag :='A';
120814 END IF;
120815
120816 --
120817 -- bulk performance
120818 --
120819 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
120820 p_header_num => 0); -- 4262811
120821 --
120822 -- set accounting line options
120823 --
120824 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
120825 p_natural_side_code => 'D'
120826 , p_gain_or_loss_flag => 'N'
120827 , p_gl_transfer_mode_code => 'S'
120828 , p_acct_entry_type_code => 'A'
120829 , p_switch_side_flag => 'Y'
120830 , p_merge_duplicate_code => 'A'
120831 );
120832 --
120833 l_acc_rev_natural_side_code := 'C'; -- 4262811
120834 --
120835 --
120836 -- set accounting line type info
120837 --
120838 xla_ae_lines_pkg.SetAcctLineType
120839 (p_component_type => l_component_type
120840 ,p_event_type_code => l_event_type_code
120841 ,p_line_definition_owner_code => l_line_definition_owner_code
120842 ,p_line_definition_code => l_line_definition_code
120843 ,p_accounting_line_code => l_component_code
120844 ,p_accounting_line_type_code => l_component_type_code
120845 ,p_accounting_line_appl_id => l_component_appl_id
120846 ,p_amb_context_code => l_amb_context_code
120847 ,p_entity_code => l_entity_code
120848 ,p_event_class_code => l_event_class_code);
120849 --
120850 -- set accounting class
120851 --
120852 xla_ae_lines_pkg.SetAcctClass(
120853 p_accounting_class_code => 'SELF_ASSESSED_TAX'
120854 , p_ae_header_id => l_ae_header_id
120855 );
120856
120857 --
120858 -- set rounding class
120859 --
120860 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
120861 'SELF_ASSESSED_TAX';
120862
120863 --
120864 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
120865 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
120866 --
120867 -- bulk performance
120868 --
120869 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
120870
120871 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
120872 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
120873
120874 -- 4955764
120875 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
120876 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
120877
120878 -- 4458381 Public Sector Enh
120879
120880 --
120881 -- set accounting attributes for the line type
120882 --
120883 l_entered_amt_idx := 23;
120884 l_accted_amt_idx := 28;
120885 l_bflow_applied_to_amt_idx := NULL; -- 5132302
120886 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
120887 l_rec_acct_attrs.array_char_value(1) := p_source_53;
120888 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
120889 l_rec_acct_attrs.array_num_value(2) :=
120890 xla_ae_sources_pkg.GetSystemSourceNum(
120891 p_source_code => 'XLA_EVENT_APPL_ID'
120892 , p_source_type_code => 'Y'
120893 , p_source_application_id => 602
120894 );
120895 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
120896 l_rec_acct_attrs.array_char_value(3) := p_source_55;
120897 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
120898 l_rec_acct_attrs.array_char_value(4) :=
120899 xla_ae_sources_pkg.GetSystemSourceChar(
120900 p_source_code => 'XLA_ENTITY_CODE'
120901 , p_source_type_code => 'Y'
120902 , p_source_application_id => 602
120906 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
120903 );
120904 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
120905 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
120907 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
120908 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
120909 l_rec_acct_attrs.array_num_value(7) := p_source_91;
120910 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
120911 l_rec_acct_attrs.array_char_value(8) := p_source_92;
120912 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
120913 l_rec_acct_attrs.array_char_value(9) := p_source_93;
120914 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
120915 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
120916 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
120917 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
120918 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
120919 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
120920 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
120921 l_rec_acct_attrs.array_char_value(13) := p_source_55;
120922 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
120923 l_rec_acct_attrs.array_num_value(14) := p_source_65;
120924 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
120925 l_rec_acct_attrs.array_num_value(15) := p_source_66;
120926 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
120927 l_rec_acct_attrs.array_char_value(16) := p_source_67;
120928 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
120929 l_rec_acct_attrs.array_num_value(17) := p_source_68;
120930 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
120931 l_rec_acct_attrs.array_num_value(18) := p_source_69;
120932 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
120933 l_rec_acct_attrs.array_num_value(19) := p_source_70;
120934 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
120935 l_rec_acct_attrs.array_char_value(20) := p_source_67;
120936 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
120937 l_rec_acct_attrs.array_num_value(21) := p_source_71;
120938 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
120939 l_rec_acct_attrs.array_char_value(22) := p_source_72;
120940 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
120941 l_rec_acct_attrs.array_num_value(23) := p_source_73;
120942 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
120943 l_rec_acct_attrs.array_char_value(24) := p_source_67;
120944 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
120945 l_rec_acct_attrs.array_date_value(25) := p_source_143;
120946 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
120947 l_rec_acct_attrs.array_num_value(26) := p_source_144;
120948 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
120949 l_rec_acct_attrs.array_char_value(27) := p_source_145;
120950 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
120951 l_rec_acct_attrs.array_num_value(28) := p_source_21;
120952 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
120953 l_rec_acct_attrs.array_date_value(29) := p_source_77;
120954 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
120955 l_rec_acct_attrs.array_char_value(30) := p_source_78;
120956 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
120957 l_rec_acct_attrs.array_date_value(31) := p_source_79;
120958 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
120959 l_rec_acct_attrs.array_char_value(32) := p_source_80;
120960 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
120961 l_rec_acct_attrs.array_num_value(33) := p_source_81;
120962 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
120963 l_rec_acct_attrs.array_num_value(34) := p_source_82;
120964 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
120965 l_rec_acct_attrs.array_char_value(35) := p_source_83;
120966 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
120967 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
120968 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
120969 l_rec_acct_attrs.array_char_value(37) := p_source_55;
120970 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
120971 l_rec_acct_attrs.array_num_value(38) := p_source_85;
120972 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
120973 l_rec_acct_attrs.array_num_value(39) := p_source_86;
120974 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
120975 l_rec_acct_attrs.array_num_value(40) := p_source_87;
120976 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
120977 l_rec_acct_attrs.array_num_value(41) := p_source_88;
120978 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
120979 l_rec_acct_attrs.array_num_value(42) := p_source_89;
120980 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
120981 l_rec_acct_attrs.array_num_value(43) := p_source_90;
120982
120983 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
120984 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
120985
120986 ---------------------------------------------------------------------------------------------------------------
120987 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
120991 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
120988 ---------------------------------------------------------------------------------------------------------------
120989 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
120990
120992 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
120993
120994 IF xla_accounting_cache_pkg.GetValueChar
120995 (p_source_code => 'LEDGER_CATEGORY_CODE'
120996 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
120997 AND l_bflow_method_code = 'PRIOR_ENTRY'
120998 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
120999 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
121000 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
121001 )
121002 THEN
121003 xla_ae_lines_pkg.BflowUpgEntry
121004 (p_business_method_code => l_bflow_method_code
121005 ,p_business_class_code => l_bflow_class_code
121006 ,p_balance_type => l_balance_type_code);
121007 ELSE
121008 NULL;
121009 -- No business flow processing for business flow method of NONE.
121010 END IF;
121011
121012 --
121013 -- call analytical criteria
121014 --
121015
121016 --
121017 -- call description
121018 --
121019
121020 xla_ae_lines_pkg.SetLineDescription(
121021 p_ae_header_id => l_ae_header_id
121022 ,p_description => Description_1 (
121023 p_application_id => p_application_id
121024 , p_ae_header_id => l_ae_header_id
121025 , p_source_1 => p_source_1
121026 )
121027 );
121028
121029
121030 --
121031 -- call ADRs
121032 -- Bug 4922099
121033 --
121034 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
121035 (NVL(l_actual_upg_option, 'N') = 'O') OR
121036 (NVL(l_enc_upg_option, 'N') = 'O')
121037 )
121038 THEN
121039 NULL;
121040 --
121041 --
121042
121043 l_ccid := AcctDerRule_42(
121044 p_application_id => p_application_id
121045 , p_ae_header_id => l_ae_header_id
121046 , p_source_50 => p_source_50
121047 , x_transaction_coa_id => l_adr_transaction_coa_id
121048 , x_accounting_coa_id => l_adr_accounting_coa_id
121049 , x_value_type_code => l_adr_value_type_code
121050 , p_side => 'NA'
121051 );
121052
121053 xla_ae_lines_pkg.set_ccid(
121054 p_code_combination_id => l_ccid
121055 , p_value_type_code => l_adr_value_type_code
121056 , p_transaction_coa_id => l_adr_transaction_coa_id
121057 , p_accounting_coa_id => l_adr_accounting_coa_id
121058 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
121059 , p_adr_type_code => 'S'
121060 , p_component_type => l_component_type
121061 , p_component_code => l_component_code
121062 , p_component_type_code => l_component_type_code
121063 , p_component_appl_id => l_component_appl_id
121064 , p_amb_context_code => l_amb_context_code
121065 , p_side => 'NA'
121066 );
121067
121068
121069 --
121070 --
121071 END IF;
121072 --
121073 -- Bug 4922099
121074 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
121075 (NVL(l_enc_upg_option, 'N') = 'O')
121076 ) AND
121077 (l_bflow_method_code = 'PRIOR_ENTRY')
121078 )
121079 THEN
121080 IF
121081 --
121082 1 = 2
121083 --
121084 THEN
121085 xla_accounting_err_pkg.build_message
121086 (p_appli_s_name => 'XLA'
121087 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
121088 ,p_token_1 => 'LINE_NUMBER'
121089 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
121090 ,p_token_2 => 'LINE_TYPE_NAME'
121091 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
121092 l_component_type
121093 ,l_component_code
121094 ,l_component_type_code
121095 ,l_component_appl_id
121096 ,l_amb_context_code
121097 ,l_entity_code
121098 ,l_event_class_code
121099 )
121100 ,p_token_3 => 'OWNER'
121101 ,p_value_3 => xla_lookups_pkg.get_meaning(
121102 p_lookup_type => 'XLA_OWNER_TYPE'
121103 ,p_lookup_code => l_component_type_code
121104 )
121108 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
121105 ,p_token_4 => 'PRODUCT_NAME'
121106 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
121107 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
121109 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
121110 ,p_ae_header_id => NULL
121111 );
121112
121113 IF (C_LEVEL_ERROR>= g_log_level) THEN
121114 trace
121115 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
121116 ,p_level => C_LEVEL_ERROR
121117 ,p_module => l_log_module);
121118 END IF;
121119 END IF;
121120 END IF;
121121 --
121122 --
121123 ------------------------------------------------------------------------------------------------
121124 -- 4219869 Business Flow
121125 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
121126 -- Prior Entry. Currently, the following code is always generated.
121127 ------------------------------------------------------------------------------------------------
121128 XLA_AE_LINES_PKG.ValidateCurrentLine;
121129
121130 ------------------------------------------------------------------------------------
121131 -- 4219869 Business Flow
121132 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
121133 ------------------------------------------------------------------------------------
121134 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
121135
121136 ----------------------------------------------------------------------------------
121137 -- 4219869 Business Flow
121138 -- Update journal entry status -- Need to generate this within IF <condition>
121139 ----------------------------------------------------------------------------------
121140 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
121141 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
121142 ,p_balance_type_code => l_balance_type_code
121143 );
121144
121145 -------------------------------------------------------------------------------------------
121146 -- 4262811 - Generate the Accrual Reversal lines
121147 -------------------------------------------------------------------------------------------
121148 BEGIN
121149 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
121150 (g_array_event(p_event_id).array_value_num('header_index'));
121151 IF l_acc_rev_flag IS NULL THEN
121152 l_acc_rev_flag := 'N';
121153 END IF;
121154 EXCEPTION
121155 WHEN OTHERS THEN
121156 l_acc_rev_flag := 'N';
121157 END;
121158 --
121159 IF (l_acc_rev_flag = 'Y') THEN
121160
121161 -- 4645092 ------------------------------------------------------------------------------
121162 -- To allow MPA report to determine if it should generate report process
121163 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
121164 ------------------------------------------------------------------------------------------
121165
121166 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
121167 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
121168 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
121169 -- call ADRs
121170 -- Bug 4922099
121171 --
121172 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
121173 (NVL(l_actual_upg_option, 'N') = 'O') OR
121174 (NVL(l_enc_upg_option, 'N') = 'O')
121175 )
121176 THEN
121177 NULL;
121178 --
121179 --
121180
121181 l_ccid := AcctDerRule_42(
121182 p_application_id => p_application_id
121183 , p_ae_header_id => l_ae_header_id
121184 , p_source_50 => p_source_50
121185 , x_transaction_coa_id => l_adr_transaction_coa_id
121186 , x_accounting_coa_id => l_adr_accounting_coa_id
121187 , x_value_type_code => l_adr_value_type_code
121188 , p_side => 'NA'
121189 );
121190
121191 xla_ae_lines_pkg.set_ccid(
121192 p_code_combination_id => l_ccid
121193 , p_value_type_code => l_adr_value_type_code
121194 , p_transaction_coa_id => l_adr_transaction_coa_id
121195 , p_accounting_coa_id => l_adr_accounting_coa_id
121196 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
121197 , p_adr_type_code => 'S'
121198 , p_component_type => l_component_type
121199 , p_component_code => l_component_code
121200 , p_component_type_code => l_component_type_code
121201 , p_component_appl_id => l_component_appl_id
121202 , p_amb_context_code => l_amb_context_code
121203 , p_side => 'NA'
121204 );
121205
121206
121207 --
121208 --
121209 END IF;
121210
121211 --
121212 -- Update the line information that should be overwritten
121213 --
121214 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
121215 p_header_num => 1);
121219
121216 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
121217
121218 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
121220 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
121221 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
121222 END IF;
121223
121224 --
121225 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
121226 --
121227 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
121228 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
121229 ELSE
121230 ---------------------------------------------------------------------------------------------------
121231 -- 4262811a Switch Sign
121232 ---------------------------------------------------------------------------------------------------
121233 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
121234 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
121235 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
121236 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
121237 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
121238 -- 5132302
121239 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
121240 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
121241
121242 END IF;
121243
121244 -- 4955764
121245 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
121246 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
121247
121248
121249 XLA_AE_LINES_PKG.ValidateCurrentLine;
121250 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
121251
121252 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
121253 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
121254 ,p_balance_type_code => l_balance_type_code);
121255
121256 END IF;
121257
121258 -----------------------------------------------------------------------------------------
121259 -- 4262811 Multiperiod Accounting
121260 -----------------------------------------------------------------------------------------
121261 -- No MPA option is assigned.
121262
121263
121264 END IF;
121265 END IF;
121266 --
121267
121268 --
121269 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
121270 trace
121271 (p_msg => 'END of AcctLineType_200'
121272 ,p_level => C_LEVEL_PROCEDURE
121273 ,p_module => l_log_module);
121274 END IF;
121275 --
121276 EXCEPTION
121277 WHEN xla_exceptions_pkg.application_exception THEN
121278 RAISE;
121279 WHEN OTHERS THEN
121280 xla_exceptions_pkg.raise_message
121281 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_200');
121282 END AcctLineType_200;
121283 --
121284
121285 ---------------------------------------
121286 --
121287 -- PRIVATE FUNCTION
121288 -- AcctLineType_201
121289 --
121290 ---------------------------------------
121291 PROCEDURE AcctLineType_201 (
121292 p_application_id IN NUMBER
121293 ,p_event_id IN NUMBER
121294 ,p_calculate_acctd_flag IN VARCHAR2
121295 ,p_calculate_g_l_flag IN VARCHAR2
121296 ,p_actual_flag IN OUT VARCHAR2
121297 ,p_balance_type_code OUT VARCHAR2
121298 ,p_gain_or_loss_ref OUT VARCHAR2
121299
121300 --Invoice Distribution Description
121301 , p_source_1 IN VARCHAR2
121302 --Invoice Distribution Ledger Amount
121303 , p_source_21 IN NUMBER
121304 --Invoice Distribution Type
121305 , p_source_33 IN VARCHAR2
121306 , p_source_33_meaning IN VARCHAR2
121307 --Self-Assessed Tax Account
121308 , p_source_50 IN NUMBER
121309 --Accounting Reversal Indicator
121310 , p_source_53 IN VARCHAR2
121311 --Distribution Link Type
121312 , p_source_55 IN VARCHAR2
121313 --Allocation to Main Distribution Identifier
121314 , p_source_57 IN NUMBER
121315 --Invoice Identifier
121316 , p_source_58 IN NUMBER
121317 --Invoice Distribution Identifier
121318 , p_source_64 IN NUMBER
121319 --Payables Encumbrance Upgrade Credit Account
121320 , p_source_65 IN NUMBER
121321 --Payables Encumbrance Upgrade Credit Amount
121322 , p_source_66 IN NUMBER
121323 --Invoice Currency Code
121324 , p_source_67 IN VARCHAR2
121325 --Payables Encumbrance Upgrade Credit Base Amount
121326 , p_source_68 IN NUMBER
121327 --Payables Encumbrance Upgrade Debit Account
121328 , p_source_69 IN NUMBER
121329 --Payables Encumbrance Upgrade Debit Amount
121330 , p_source_70 IN NUMBER
121331 --Payables Encumbrance Upgrade Debit Base Amount
121332 , p_source_71 IN NUMBER
121333 --Payables Encumbrance Upgrade Option
121334 , p_source_72 IN VARCHAR2
121335 --Invoice Distribution Amount
121339 --Deferred Accounting Option
121336 , p_source_73 IN NUMBER
121337 --Deferred Accounting End Date
121338 , p_source_77 IN DATE
121340 , p_source_78 IN VARCHAR2
121341 --Deferred Accounting Start Date
121342 , p_source_79 IN DATE
121343 --Override Accounted Amount Indicator
121344 , p_source_80 IN VARCHAR2
121345 , p_source_80_meaning IN VARCHAR2
121346 --Invoice Supplier Identifier
121347 , p_source_81 IN NUMBER
121348 --Invoice Supplier Site Identifier
121349 , p_source_82 IN NUMBER
121350 --Third Party Type
121351 , p_source_83 IN VARCHAR2
121352 --Parent Reversal Identifier
121353 , p_source_84 IN NUMBER
121354 --Invoice Distribution Tax Line Identifier
121355 , p_source_86 IN NUMBER
121356 --Invoice Distribution Tax Distribution Identifier from Tax
121357 , p_source_87 IN NUMBER
121358 --Invoice Distribution Summary Tax Line Identifier
121359 , p_source_88 IN NUMBER
121360 --Payables Upgrade Credit Encumbrance Type Identifier
121361 , p_source_89 IN NUMBER
121362 --Payables Upgrade Debit Encumbrance Type Identifier
121363 , p_source_90 IN NUMBER
121364 --Business Flow Accounts Payable Application Identifier
121365 , p_source_91 IN NUMBER
121366 --Business Flow Invoice Distribution Type
121367 , p_source_92 IN VARCHAR2
121368 --Business Flow Invoice Entity Code
121369 , p_source_93 IN VARCHAR2
121370 --Business Flow Invoice Distribution Identifier
121371 , p_source_94 IN NUMBER
121372 --Business Flow Invoice Identifier
121373 , p_source_95 IN NUMBER
121374 --Self-Assessed Tax Flag
121375 , p_source_142 IN VARCHAR2
121376 , p_source_142_meaning IN VARCHAR2
121377 --Invoice Exchange Date
121378 , p_source_143 IN DATE
121379 --Invoice Exchange Rate
121380 , p_source_144 IN NUMBER
121381 --Invoice Exchange Rate Type
121382 , p_source_145 IN VARCHAR2
121383 )
121384 IS
121385
121386 l_component_type VARCHAR2(80);
121387 l_component_code VARCHAR2(30);
121388 l_component_type_code VARCHAR2(1);
121389 l_component_appl_id INTEGER;
121390 l_amb_context_code VARCHAR2(30);
121391 l_entity_code VARCHAR2(30);
121392 l_event_class_code VARCHAR2(30);
121393 l_ae_header_id NUMBER;
121394 l_event_type_code VARCHAR2(30);
121395 l_line_definition_code VARCHAR2(30);
121396 l_line_definition_owner_code VARCHAR2(1);
121397 --
121398 -- adr variables
121399 l_segment VARCHAR2(30);
121400 l_ccid NUMBER;
121401 l_adr_transaction_coa_id NUMBER;
121402 l_adr_accounting_coa_id NUMBER;
121403 l_adr_flexfield_segment_code VARCHAR2(30);
121404 l_adr_flex_value_set_id NUMBER;
121405 l_adr_value_type_code VARCHAR2(30);
121406 l_adr_value_combination_id NUMBER;
121407 l_adr_value_segment_code VARCHAR2(30);
121408
121409 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
121410 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
121411 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
121412 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
121413
121414 -- 4262811 Variables ------------------------------------------------------------------------------------------
121415 l_entered_amt_idx NUMBER;
121416 l_accted_amt_idx NUMBER;
121417 l_acc_rev_flag VARCHAR2(1);
121418 l_accrual_line_num NUMBER;
121419 l_tmp_amt NUMBER;
121420 l_acc_rev_natural_side_code VARCHAR2(1);
121421
121422 l_num_entries NUMBER;
121423 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
121424 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
121425 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
121426 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
121427 l_recog_line_1 NUMBER;
121428 l_recog_line_2 NUMBER;
121429
121430 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
121431 l_bflow_applied_to_amt NUMBER; -- 5132302
121432 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
121433
121434 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
121435
121436 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
121437 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
121438
121439 ---------------------------------------------------------------------------------------------------------------
121440
121441
121442 --
121443 -- bulk performance
121444 --
121445 l_balance_type_code VARCHAR2(1);
121446 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
121447 l_log_module VARCHAR2(240);
121448
121449 --
121450 -- Upgrade strategy
121451 --
121452 l_actual_upg_option VARCHAR2(1);
121453 l_enc_upg_option VARCHAR2(1);
121454
121455 --
121456 BEGIN
121457 --
121458 IF g_log_enabled THEN
121459 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_201';
121460 END IF;
121461 --
121462 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
121463
121464 trace
121468
121465 (p_msg => 'BEGIN of AcctLineType_201'
121466 ,p_level => C_LEVEL_PROCEDURE
121467 ,p_module => l_log_module);
121469 END IF;
121470 --
121471 l_component_type := 'AMB_JLT';
121472 l_component_code := 'AP_SELF_ASSESSED_REC_TAX_DM';
121473 l_component_type_code := 'S';
121474 l_component_appl_id := 200;
121475 l_amb_context_code := 'DEFAULT';
121476 l_entity_code := 'AP_INVOICES';
121477 l_event_class_code := 'DEBIT MEMOS';
121478 l_event_type_code := 'DEBIT MEMOS_ALL';
121479 l_line_definition_owner_code := 'S';
121480 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
121481 --
121482 l_balance_type_code := 'A';
121483 l_segment := NULL;
121484 l_ccid := NULL;
121485 l_adr_transaction_coa_id := NULL;
121486 l_adr_accounting_coa_id := NULL;
121487 l_adr_flexfield_segment_code := NULL;
121488 l_adr_flex_value_set_id := NULL;
121489 l_adr_value_type_code := NULL;
121490 l_adr_value_combination_id := NULL;
121491 l_adr_value_segment_code := NULL;
121492
121493 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
121494 l_bflow_class_code := ''; -- 4219869 Business Flow
121495 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
121496 l_budgetary_control_flag := 'N';
121497
121498 l_bflow_applied_to_amt_idx := NULL; -- 5132302
121499 l_bflow_applied_to_amt := NULL; -- 5132302
121500 l_entered_amt_idx := NULL; -- 4262811
121501 l_accted_amt_idx := NULL; -- 4262811
121502 l_acc_rev_flag := NULL; -- 4262811
121503 l_accrual_line_num := NULL; -- 4262811
121504 l_tmp_amt := NULL; -- 4262811
121505 --
121506
121507 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
121508 l_balance_type_code <> 'B' THEN
121509 IF NVL(p_source_33,'
121510 ') = 'REC_TAX' AND
121511 NVL(p_source_142,'
121512 ') = 'Y'
121513 THEN
121514
121515 --
121516 XLA_AE_LINES_PKG.SetNewLine;
121517
121518 p_balance_type_code := l_balance_type_code;
121519 -- set the flag so later we will know whether the gain loss line needs to be created
121520
121521 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
121522 p_actual_flag :='A';
121523 END IF;
121524
121525 --
121526 -- bulk performance
121527 --
121528 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
121529 p_header_num => 0); -- 4262811
121530 --
121531 -- set accounting line options
121532 --
121533 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
121534 p_natural_side_code => 'D'
121535 , p_gain_or_loss_flag => 'N'
121536 , p_gl_transfer_mode_code => 'S'
121537 , p_acct_entry_type_code => 'A'
121538 , p_switch_side_flag => 'Y'
121539 , p_merge_duplicate_code => 'A'
121540 );
121541 --
121542 l_acc_rev_natural_side_code := 'C'; -- 4262811
121543 --
121544 --
121545 -- set accounting line type info
121546 --
121547 xla_ae_lines_pkg.SetAcctLineType
121548 (p_component_type => l_component_type
121549 ,p_event_type_code => l_event_type_code
121550 ,p_line_definition_owner_code => l_line_definition_owner_code
121551 ,p_line_definition_code => l_line_definition_code
121552 ,p_accounting_line_code => l_component_code
121553 ,p_accounting_line_type_code => l_component_type_code
121554 ,p_accounting_line_appl_id => l_component_appl_id
121555 ,p_amb_context_code => l_amb_context_code
121556 ,p_entity_code => l_entity_code
121557 ,p_event_class_code => l_event_class_code);
121558 --
121559 -- set accounting class
121560 --
121561 xla_ae_lines_pkg.SetAcctClass(
121562 p_accounting_class_code => 'SELF_ASSESSED_TAX'
121563 , p_ae_header_id => l_ae_header_id
121564 );
121565
121566 --
121567 -- set rounding class
121568 --
121569 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
121570 'SELF_ASSESSED_TAX';
121571
121572 --
121573 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
121574 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
121575 --
121576 -- bulk performance
121577 --
121578 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
121579
121580 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
121581 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
121582
121583 -- 4955764
121584 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
121585 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
121586
121587 -- 4458381 Public Sector Enh
121588
121589 --
121590 -- set accounting attributes for the line type
121591 --
121592 l_entered_amt_idx := 23;
121593 l_accted_amt_idx := 28;
121594 l_bflow_applied_to_amt_idx := NULL; -- 5132302
121598 l_rec_acct_attrs.array_num_value(2) :=
121595 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
121596 l_rec_acct_attrs.array_char_value(1) := p_source_53;
121597 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
121599 xla_ae_sources_pkg.GetSystemSourceNum(
121600 p_source_code => 'XLA_EVENT_APPL_ID'
121601 , p_source_type_code => 'Y'
121602 , p_source_application_id => 602
121603 );
121604 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
121605 l_rec_acct_attrs.array_char_value(3) := p_source_55;
121606 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
121607 l_rec_acct_attrs.array_char_value(4) :=
121608 xla_ae_sources_pkg.GetSystemSourceChar(
121609 p_source_code => 'XLA_ENTITY_CODE'
121610 , p_source_type_code => 'Y'
121611 , p_source_application_id => 602
121612 );
121613 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
121614 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
121615 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
121616 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
121617 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
121618 l_rec_acct_attrs.array_num_value(7) := p_source_91;
121619 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
121620 l_rec_acct_attrs.array_char_value(8) := p_source_92;
121621 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
121622 l_rec_acct_attrs.array_char_value(9) := p_source_93;
121623 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
121624 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
121625 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
121626 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
121627 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
121628 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
121629 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
121630 l_rec_acct_attrs.array_char_value(13) := p_source_55;
121631 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
121632 l_rec_acct_attrs.array_num_value(14) := p_source_65;
121633 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
121634 l_rec_acct_attrs.array_num_value(15) := p_source_66;
121635 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
121636 l_rec_acct_attrs.array_char_value(16) := p_source_67;
121637 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
121638 l_rec_acct_attrs.array_num_value(17) := p_source_68;
121639 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
121640 l_rec_acct_attrs.array_num_value(18) := p_source_69;
121641 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
121642 l_rec_acct_attrs.array_num_value(19) := p_source_70;
121643 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
121644 l_rec_acct_attrs.array_char_value(20) := p_source_67;
121645 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
121646 l_rec_acct_attrs.array_num_value(21) := p_source_71;
121647 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
121648 l_rec_acct_attrs.array_char_value(22) := p_source_72;
121649 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
121650 l_rec_acct_attrs.array_num_value(23) := p_source_73;
121651 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
121652 l_rec_acct_attrs.array_char_value(24) := p_source_67;
121653 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
121654 l_rec_acct_attrs.array_date_value(25) := p_source_143;
121655 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
121656 l_rec_acct_attrs.array_num_value(26) := p_source_144;
121657 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
121658 l_rec_acct_attrs.array_char_value(27) := p_source_145;
121659 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
121660 l_rec_acct_attrs.array_num_value(28) := p_source_21;
121661 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
121662 l_rec_acct_attrs.array_date_value(29) := p_source_77;
121663 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
121664 l_rec_acct_attrs.array_char_value(30) := p_source_78;
121665 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
121666 l_rec_acct_attrs.array_date_value(31) := p_source_79;
121667 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
121668 l_rec_acct_attrs.array_char_value(32) := p_source_80;
121669 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
121670 l_rec_acct_attrs.array_num_value(33) := p_source_81;
121671 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
121672 l_rec_acct_attrs.array_num_value(34) := p_source_82;
121673 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
121674 l_rec_acct_attrs.array_char_value(35) := p_source_83;
121675 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
121676 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
121677 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
121678 l_rec_acct_attrs.array_char_value(37) := p_source_55;
121679 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
121680 l_rec_acct_attrs.array_num_value(38) := p_source_86;
121681 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
121685 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
121682 l_rec_acct_attrs.array_num_value(39) := p_source_87;
121683 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
121684 l_rec_acct_attrs.array_num_value(40) := p_source_88;
121686 l_rec_acct_attrs.array_num_value(41) := p_source_89;
121687 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
121688 l_rec_acct_attrs.array_num_value(42) := p_source_90;
121689
121690 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
121691 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
121692
121693 ---------------------------------------------------------------------------------------------------------------
121694 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
121695 ---------------------------------------------------------------------------------------------------------------
121696 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
121697
121698 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
121699 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
121700
121701 IF xla_accounting_cache_pkg.GetValueChar
121702 (p_source_code => 'LEDGER_CATEGORY_CODE'
121703 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
121704 AND l_bflow_method_code = 'PRIOR_ENTRY'
121705 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
121706 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
121707 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
121708 )
121709 THEN
121710 xla_ae_lines_pkg.BflowUpgEntry
121711 (p_business_method_code => l_bflow_method_code
121712 ,p_business_class_code => l_bflow_class_code
121713 ,p_balance_type => l_balance_type_code);
121714 ELSE
121715 NULL;
121716 -- No business flow processing for business flow method of NONE.
121717 END IF;
121718
121719 --
121720 -- call analytical criteria
121721 --
121722
121723 --
121724 -- call description
121725 --
121726
121727 xla_ae_lines_pkg.SetLineDescription(
121728 p_ae_header_id => l_ae_header_id
121729 ,p_description => Description_1 (
121730 p_application_id => p_application_id
121731 , p_ae_header_id => l_ae_header_id
121732 , p_source_1 => p_source_1
121733 )
121734 );
121735
121736
121737 --
121738 -- call ADRs
121739 -- Bug 4922099
121740 --
121741 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
121742 (NVL(l_actual_upg_option, 'N') = 'O') OR
121743 (NVL(l_enc_upg_option, 'N') = 'O')
121744 )
121745 THEN
121746 NULL;
121747 --
121748 --
121749
121750 l_ccid := AcctDerRule_42(
121751 p_application_id => p_application_id
121752 , p_ae_header_id => l_ae_header_id
121753 , p_source_50 => p_source_50
121754 , x_transaction_coa_id => l_adr_transaction_coa_id
121755 , x_accounting_coa_id => l_adr_accounting_coa_id
121756 , x_value_type_code => l_adr_value_type_code
121757 , p_side => 'NA'
121758 );
121759
121760 xla_ae_lines_pkg.set_ccid(
121761 p_code_combination_id => l_ccid
121762 , p_value_type_code => l_adr_value_type_code
121763 , p_transaction_coa_id => l_adr_transaction_coa_id
121764 , p_accounting_coa_id => l_adr_accounting_coa_id
121765 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
121766 , p_adr_type_code => 'S'
121767 , p_component_type => l_component_type
121768 , p_component_code => l_component_code
121769 , p_component_type_code => l_component_type_code
121770 , p_component_appl_id => l_component_appl_id
121771 , p_amb_context_code => l_amb_context_code
121772 , p_side => 'NA'
121773 );
121774
121775
121776 --
121777 --
121778 END IF;
121779 --
121780 -- Bug 4922099
121781 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
121782 (NVL(l_enc_upg_option, 'N') = 'O')
121783 ) AND
121784 (l_bflow_method_code = 'PRIOR_ENTRY')
121785 )
121786 THEN
121787 IF
121788 --
121789 1 = 2
121790 --
121791 THEN
121792 xla_accounting_err_pkg.build_message
121793 (p_appli_s_name => 'XLA'
121794 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
121795 ,p_token_1 => 'LINE_NUMBER'
121796 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
121797 ,p_token_2 => 'LINE_TYPE_NAME'
121798 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
121799 l_component_type
121800 ,l_component_code
121801 ,l_component_type_code
121805 ,l_event_class_code
121802 ,l_component_appl_id
121803 ,l_amb_context_code
121804 ,l_entity_code
121806 )
121807 ,p_token_3 => 'OWNER'
121808 ,p_value_3 => xla_lookups_pkg.get_meaning(
121809 p_lookup_type => 'XLA_OWNER_TYPE'
121810 ,p_lookup_code => l_component_type_code
121811 )
121812 ,p_token_4 => 'PRODUCT_NAME'
121813 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
121814 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
121815 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
121816 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
121817 ,p_ae_header_id => NULL
121818 );
121819
121820 IF (C_LEVEL_ERROR>= g_log_level) THEN
121821 trace
121822 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
121823 ,p_level => C_LEVEL_ERROR
121824 ,p_module => l_log_module);
121825 END IF;
121826 END IF;
121827 END IF;
121828 --
121829 --
121830 ------------------------------------------------------------------------------------------------
121831 -- 4219869 Business Flow
121832 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
121833 -- Prior Entry. Currently, the following code is always generated.
121834 ------------------------------------------------------------------------------------------------
121835 XLA_AE_LINES_PKG.ValidateCurrentLine;
121836
121837 ------------------------------------------------------------------------------------
121838 -- 4219869 Business Flow
121839 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
121840 ------------------------------------------------------------------------------------
121841 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
121842
121843 ----------------------------------------------------------------------------------
121844 -- 4219869 Business Flow
121845 -- Update journal entry status -- Need to generate this within IF <condition>
121846 ----------------------------------------------------------------------------------
121847 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
121848 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
121849 ,p_balance_type_code => l_balance_type_code
121850 );
121851
121852 -------------------------------------------------------------------------------------------
121853 -- 4262811 - Generate the Accrual Reversal lines
121854 -------------------------------------------------------------------------------------------
121855 BEGIN
121856 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
121857 (g_array_event(p_event_id).array_value_num('header_index'));
121858 IF l_acc_rev_flag IS NULL THEN
121859 l_acc_rev_flag := 'N';
121860 END IF;
121861 EXCEPTION
121862 WHEN OTHERS THEN
121863 l_acc_rev_flag := 'N';
121864 END;
121865 --
121866 IF (l_acc_rev_flag = 'Y') THEN
121867
121868 -- 4645092 ------------------------------------------------------------------------------
121869 -- To allow MPA report to determine if it should generate report process
121870 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
121871 ------------------------------------------------------------------------------------------
121872
121873 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
121874 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
121875 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
121876 -- call ADRs
121877 -- Bug 4922099
121878 --
121879 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
121880 (NVL(l_actual_upg_option, 'N') = 'O') OR
121881 (NVL(l_enc_upg_option, 'N') = 'O')
121882 )
121883 THEN
121884 NULL;
121885 --
121886 --
121887
121888 l_ccid := AcctDerRule_42(
121889 p_application_id => p_application_id
121890 , p_ae_header_id => l_ae_header_id
121891 , p_source_50 => p_source_50
121892 , x_transaction_coa_id => l_adr_transaction_coa_id
121893 , x_accounting_coa_id => l_adr_accounting_coa_id
121894 , x_value_type_code => l_adr_value_type_code
121895 , p_side => 'NA'
121896 );
121897
121898 xla_ae_lines_pkg.set_ccid(
121899 p_code_combination_id => l_ccid
121900 , p_value_type_code => l_adr_value_type_code
121904 , p_adr_type_code => 'S'
121901 , p_transaction_coa_id => l_adr_transaction_coa_id
121902 , p_accounting_coa_id => l_adr_accounting_coa_id
121903 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
121905 , p_component_type => l_component_type
121906 , p_component_code => l_component_code
121907 , p_component_type_code => l_component_type_code
121908 , p_component_appl_id => l_component_appl_id
121909 , p_amb_context_code => l_amb_context_code
121910 , p_side => 'NA'
121911 );
121912
121913
121914 --
121915 --
121916 END IF;
121917
121918 --
121919 -- Update the line information that should be overwritten
121920 --
121921 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
121922 p_header_num => 1);
121923 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
121924
121925 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
121926
121927 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
121928 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
121929 END IF;
121930
121931 --
121932 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
121933 --
121934 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
121935 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
121936 ELSE
121937 ---------------------------------------------------------------------------------------------------
121938 -- 4262811a Switch Sign
121939 ---------------------------------------------------------------------------------------------------
121940 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
121941 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
121942 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
121943 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
121944 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
121945 -- 5132302
121946 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
121947 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
121948
121949 END IF;
121950
121951 -- 4955764
121952 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
121953 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
121954
121955
121956 XLA_AE_LINES_PKG.ValidateCurrentLine;
121957 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
121958
121959 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
121960 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
121961 ,p_balance_type_code => l_balance_type_code);
121962
121963 END IF;
121964
121965 -----------------------------------------------------------------------------------------
121966 -- 4262811 Multiperiod Accounting
121967 -----------------------------------------------------------------------------------------
121968 -- No MPA option is assigned.
121969
121970
121971 END IF;
121972 END IF;
121973 --
121974
121975 --
121976 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
121977 trace
121978 (p_msg => 'END of AcctLineType_201'
121979 ,p_level => C_LEVEL_PROCEDURE
121980 ,p_module => l_log_module);
121981 END IF;
121982 --
121983 EXCEPTION
121984 WHEN xla_exceptions_pkg.application_exception THEN
121985 RAISE;
121986 WHEN OTHERS THEN
121987 xla_exceptions_pkg.raise_message
121988 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_201');
121989 END AcctLineType_201;
121990 --
121991
121992 ---------------------------------------
121993 --
121994 -- PRIVATE FUNCTION
121995 -- AcctLineType_202
121996 --
121997 ---------------------------------------
121998 PROCEDURE AcctLineType_202 (
121999 p_application_id IN NUMBER
122000 ,p_event_id IN NUMBER
122001 ,p_calculate_acctd_flag IN VARCHAR2
122002 ,p_calculate_g_l_flag IN VARCHAR2
122003 ,p_actual_flag IN OUT VARCHAR2
122004 ,p_balance_type_code OUT VARCHAR2
122005 ,p_gain_or_loss_ref OUT VARCHAR2
122006
122007 --Invoice Distribution Description
122008 , p_source_1 IN VARCHAR2
122009 --Invoice Distribution Ledger Amount
122010 , p_source_21 IN NUMBER
122011 --Invoice Distribution Type
122012 , p_source_33 IN VARCHAR2
122013 , p_source_33_meaning IN VARCHAR2
122014 --Self-Assessed Tax Account
122015 , p_source_50 IN NUMBER
122016 --Accounting Reversal Indicator
122017 , p_source_53 IN VARCHAR2
122018 --Distribution Link Type
122019 , p_source_55 IN VARCHAR2
122020 --Allocation to Main Distribution Identifier
122024 --Invoice Distribution Identifier
122021 , p_source_57 IN NUMBER
122022 --Invoice Identifier
122023 , p_source_58 IN NUMBER
122025 , p_source_64 IN NUMBER
122026 --Payables Encumbrance Upgrade Credit Account
122027 , p_source_65 IN NUMBER
122028 --Payables Encumbrance Upgrade Credit Amount
122029 , p_source_66 IN NUMBER
122030 --Invoice Currency Code
122031 , p_source_67 IN VARCHAR2
122032 --Payables Encumbrance Upgrade Credit Base Amount
122033 , p_source_68 IN NUMBER
122034 --Payables Encumbrance Upgrade Debit Account
122035 , p_source_69 IN NUMBER
122036 --Payables Encumbrance Upgrade Debit Amount
122037 , p_source_70 IN NUMBER
122038 --Payables Encumbrance Upgrade Debit Base Amount
122039 , p_source_71 IN NUMBER
122040 --Payables Encumbrance Upgrade Option
122041 , p_source_72 IN VARCHAR2
122042 --Invoice Distribution Amount
122043 , p_source_73 IN NUMBER
122044 --Deferred Accounting End Date
122045 , p_source_77 IN DATE
122046 --Deferred Accounting Option
122047 , p_source_78 IN VARCHAR2
122048 --Deferred Accounting Start Date
122049 , p_source_79 IN DATE
122050 --Override Accounted Amount Indicator
122051 , p_source_80 IN VARCHAR2
122052 , p_source_80_meaning IN VARCHAR2
122053 --Invoice Supplier Identifier
122054 , p_source_81 IN NUMBER
122055 --Invoice Supplier Site Identifier
122056 , p_source_82 IN NUMBER
122057 --Third Party Type
122058 , p_source_83 IN VARCHAR2
122059 --Parent Reversal Identifier
122060 , p_source_84 IN NUMBER
122061 --Invoice Distribution Statistical Amount
122062 , p_source_85 IN NUMBER
122063 --Invoice Distribution Tax Line Identifier
122064 , p_source_86 IN NUMBER
122065 --Invoice Distribution Tax Distribution Identifier from Tax
122066 , p_source_87 IN NUMBER
122067 --Invoice Distribution Summary Tax Line Identifier
122068 , p_source_88 IN NUMBER
122069 --Payables Upgrade Credit Encumbrance Type Identifier
122070 , p_source_89 IN NUMBER
122071 --Payables Upgrade Debit Encumbrance Type Identifier
122072 , p_source_90 IN NUMBER
122073 --Business Flow Accounts Payable Application Identifier
122074 , p_source_91 IN NUMBER
122075 --Business Flow Invoice Distribution Type
122076 , p_source_92 IN VARCHAR2
122077 --Business Flow Invoice Entity Code
122078 , p_source_93 IN VARCHAR2
122079 --Business Flow Invoice Distribution Identifier
122080 , p_source_94 IN NUMBER
122081 --Business Flow Invoice Identifier
122082 , p_source_95 IN NUMBER
122083 --Self-Assessed Tax Flag
122084 , p_source_142 IN VARCHAR2
122085 , p_source_142_meaning IN VARCHAR2
122086 --Invoice Exchange Date
122087 , p_source_143 IN DATE
122088 --Invoice Exchange Rate
122089 , p_source_144 IN NUMBER
122090 --Invoice Exchange Rate Type
122091 , p_source_145 IN VARCHAR2
122092 )
122093 IS
122094
122095 l_component_type VARCHAR2(80);
122096 l_component_code VARCHAR2(30);
122097 l_component_type_code VARCHAR2(1);
122098 l_component_appl_id INTEGER;
122099 l_amb_context_code VARCHAR2(30);
122100 l_entity_code VARCHAR2(30);
122101 l_event_class_code VARCHAR2(30);
122102 l_ae_header_id NUMBER;
122103 l_event_type_code VARCHAR2(30);
122104 l_line_definition_code VARCHAR2(30);
122105 l_line_definition_owner_code VARCHAR2(1);
122106 --
122107 -- adr variables
122108 l_segment VARCHAR2(30);
122109 l_ccid NUMBER;
122110 l_adr_transaction_coa_id NUMBER;
122111 l_adr_accounting_coa_id NUMBER;
122112 l_adr_flexfield_segment_code VARCHAR2(30);
122113 l_adr_flex_value_set_id NUMBER;
122114 l_adr_value_type_code VARCHAR2(30);
122115 l_adr_value_combination_id NUMBER;
122116 l_adr_value_segment_code VARCHAR2(30);
122117
122118 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
122119 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
122120 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
122121 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
122122
122123 -- 4262811 Variables ------------------------------------------------------------------------------------------
122124 l_entered_amt_idx NUMBER;
122125 l_accted_amt_idx NUMBER;
122126 l_acc_rev_flag VARCHAR2(1);
122127 l_accrual_line_num NUMBER;
122128 l_tmp_amt NUMBER;
122129 l_acc_rev_natural_side_code VARCHAR2(1);
122130
122131 l_num_entries NUMBER;
122132 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
122133 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
122134 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
122135 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
122136 l_recog_line_1 NUMBER;
122137 l_recog_line_2 NUMBER;
122138
122139 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
122140 l_bflow_applied_to_amt NUMBER; -- 5132302
122141 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
122142
122143 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
122144
122148 ---------------------------------------------------------------------------------------------------------------
122145 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
122146 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
122147
122149
122150
122151 --
122152 -- bulk performance
122153 --
122154 l_balance_type_code VARCHAR2(1);
122155 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
122156 l_log_module VARCHAR2(240);
122157
122158 --
122159 -- Upgrade strategy
122160 --
122161 l_actual_upg_option VARCHAR2(1);
122162 l_enc_upg_option VARCHAR2(1);
122163
122164 --
122165 BEGIN
122166 --
122167 IF g_log_enabled THEN
122168 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_202';
122169 END IF;
122170 --
122171 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
122172
122173 trace
122174 (p_msg => 'BEGIN of AcctLineType_202'
122175 ,p_level => C_LEVEL_PROCEDURE
122176 ,p_module => l_log_module);
122177
122178 END IF;
122179 --
122180 l_component_type := 'AMB_JLT';
122181 l_component_code := 'AP_SELF_ASSESSED_REC_TAX_INV';
122182 l_component_type_code := 'S';
122183 l_component_appl_id := 200;
122184 l_amb_context_code := 'DEFAULT';
122185 l_entity_code := 'AP_INVOICES';
122186 l_event_class_code := 'INVOICES';
122187 l_event_type_code := 'INVOICES_ALL';
122188 l_line_definition_owner_code := 'S';
122189 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
122190 --
122191 l_balance_type_code := 'A';
122192 l_segment := NULL;
122193 l_ccid := NULL;
122194 l_adr_transaction_coa_id := NULL;
122195 l_adr_accounting_coa_id := NULL;
122196 l_adr_flexfield_segment_code := NULL;
122197 l_adr_flex_value_set_id := NULL;
122198 l_adr_value_type_code := NULL;
122199 l_adr_value_combination_id := NULL;
122200 l_adr_value_segment_code := NULL;
122201
122202 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
122203 l_bflow_class_code := ''; -- 4219869 Business Flow
122204 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
122205 l_budgetary_control_flag := 'N';
122206
122207 l_bflow_applied_to_amt_idx := NULL; -- 5132302
122208 l_bflow_applied_to_amt := NULL; -- 5132302
122209 l_entered_amt_idx := NULL; -- 4262811
122210 l_accted_amt_idx := NULL; -- 4262811
122211 l_acc_rev_flag := NULL; -- 4262811
122212 l_accrual_line_num := NULL; -- 4262811
122213 l_tmp_amt := NULL; -- 4262811
122214 --
122215
122216 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
122217 l_balance_type_code <> 'B' THEN
122218 IF NVL(p_source_33,'
122219 ') = 'REC_TAX' AND
122220 NVL(p_source_142,'
122221 ') = 'Y'
122222 THEN
122223
122224 --
122225 XLA_AE_LINES_PKG.SetNewLine;
122226
122227 p_balance_type_code := l_balance_type_code;
122228 -- set the flag so later we will know whether the gain loss line needs to be created
122229
122230 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
122231 p_actual_flag :='A';
122232 END IF;
122233
122234 --
122235 -- bulk performance
122236 --
122237 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
122238 p_header_num => 0); -- 4262811
122239 --
122240 -- set accounting line options
122241 --
122242 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
122243 p_natural_side_code => 'D'
122244 , p_gain_or_loss_flag => 'N'
122245 , p_gl_transfer_mode_code => 'S'
122246 , p_acct_entry_type_code => 'A'
122247 , p_switch_side_flag => 'Y'
122248 , p_merge_duplicate_code => 'A'
122249 );
122250 --
122251 l_acc_rev_natural_side_code := 'C'; -- 4262811
122252 --
122253 --
122254 -- set accounting line type info
122255 --
122256 xla_ae_lines_pkg.SetAcctLineType
122257 (p_component_type => l_component_type
122258 ,p_event_type_code => l_event_type_code
122259 ,p_line_definition_owner_code => l_line_definition_owner_code
122260 ,p_line_definition_code => l_line_definition_code
122261 ,p_accounting_line_code => l_component_code
122262 ,p_accounting_line_type_code => l_component_type_code
122263 ,p_accounting_line_appl_id => l_component_appl_id
122264 ,p_amb_context_code => l_amb_context_code
122265 ,p_entity_code => l_entity_code
122266 ,p_event_class_code => l_event_class_code);
122267 --
122268 -- set accounting class
122269 --
122270 xla_ae_lines_pkg.SetAcctClass(
122271 p_accounting_class_code => 'SELF_ASSESSED_TAX'
122272 , p_ae_header_id => l_ae_header_id
122273 );
122274
122275 --
122276 -- set rounding class
122277 --
122278 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
122279 'SELF_ASSESSED_TAX';
122280
122281 --
122285 -- bulk performance
122282 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
122283 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
122284 --
122286 --
122287 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
122288
122289 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
122290 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
122291
122292 -- 4955764
122293 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
122294 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
122295
122296 -- 4458381 Public Sector Enh
122297
122298 --
122299 -- set accounting attributes for the line type
122300 --
122301 l_entered_amt_idx := 24;
122302 l_accted_amt_idx := 29;
122303 l_bflow_applied_to_amt_idx := 7; -- 5132302
122304 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
122305 l_rec_acct_attrs.array_char_value(1) := p_source_53;
122306 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
122307 l_rec_acct_attrs.array_num_value(2) :=
122308 xla_ae_sources_pkg.GetSystemSourceNum(
122309 p_source_code => 'XLA_EVENT_APPL_ID'
122310 , p_source_type_code => 'Y'
122311 , p_source_application_id => 602
122312 );
122313 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
122314 l_rec_acct_attrs.array_char_value(3) := p_source_55;
122315 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
122316 l_rec_acct_attrs.array_char_value(4) :=
122317 xla_ae_sources_pkg.GetSystemSourceChar(
122318 p_source_code => 'XLA_ENTITY_CODE'
122319 , p_source_type_code => 'Y'
122320 , p_source_application_id => 602
122321 );
122322 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
122323 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
122324 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
122325 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
122326 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
122327 l_rec_acct_attrs.array_num_value(7) := p_source_73;
122328 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
122329 l_rec_acct_attrs.array_num_value(8) := p_source_91;
122330 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
122331 l_rec_acct_attrs.array_char_value(9) := p_source_92;
122332 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
122333 l_rec_acct_attrs.array_char_value(10) := p_source_93;
122334 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
122335 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
122336 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
122337 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_95);
122338 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
122339 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_64);
122340 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
122341 l_rec_acct_attrs.array_char_value(14) := p_source_55;
122342 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
122343 l_rec_acct_attrs.array_num_value(15) := p_source_65;
122344 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
122345 l_rec_acct_attrs.array_num_value(16) := p_source_66;
122346 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
122347 l_rec_acct_attrs.array_char_value(17) := p_source_67;
122348 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
122349 l_rec_acct_attrs.array_num_value(18) := p_source_68;
122350 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
122351 l_rec_acct_attrs.array_num_value(19) := p_source_69;
122352 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
122353 l_rec_acct_attrs.array_num_value(20) := p_source_70;
122354 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
122355 l_rec_acct_attrs.array_char_value(21) := p_source_67;
122356 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
122357 l_rec_acct_attrs.array_num_value(22) := p_source_71;
122358 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
122359 l_rec_acct_attrs.array_char_value(23) := p_source_72;
122360 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
122361 l_rec_acct_attrs.array_num_value(24) := p_source_73;
122362 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
122363 l_rec_acct_attrs.array_char_value(25) := p_source_67;
122364 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
122365 l_rec_acct_attrs.array_date_value(26) := p_source_143;
122366 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
122367 l_rec_acct_attrs.array_num_value(27) := p_source_144;
122368 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
122369 l_rec_acct_attrs.array_char_value(28) := p_source_145;
122370 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
122371 l_rec_acct_attrs.array_num_value(29) := p_source_21;
122372 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
122373 l_rec_acct_attrs.array_date_value(30) := p_source_77;
122374 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
122375 l_rec_acct_attrs.array_char_value(31) := p_source_78;
122379 l_rec_acct_attrs.array_char_value(33) := p_source_80;
122376 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
122377 l_rec_acct_attrs.array_date_value(32) := p_source_79;
122378 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
122380 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
122381 l_rec_acct_attrs.array_num_value(34) := p_source_81;
122382 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
122383 l_rec_acct_attrs.array_num_value(35) := p_source_82;
122384 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
122385 l_rec_acct_attrs.array_char_value(36) := p_source_83;
122386 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
122387 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_84);
122388 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
122389 l_rec_acct_attrs.array_char_value(38) := p_source_55;
122390 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
122391 l_rec_acct_attrs.array_num_value(39) := p_source_85;
122392 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
122393 l_rec_acct_attrs.array_num_value(40) := p_source_86;
122394 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
122395 l_rec_acct_attrs.array_num_value(41) := p_source_87;
122396 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
122397 l_rec_acct_attrs.array_num_value(42) := p_source_88;
122398 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
122399 l_rec_acct_attrs.array_num_value(43) := p_source_89;
122400 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
122401 l_rec_acct_attrs.array_num_value(44) := p_source_90;
122402
122403 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
122404 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
122405
122406 ---------------------------------------------------------------------------------------------------------------
122407 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
122408 ---------------------------------------------------------------------------------------------------------------
122409 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
122410
122411 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
122412 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
122413
122414 IF xla_accounting_cache_pkg.GetValueChar
122415 (p_source_code => 'LEDGER_CATEGORY_CODE'
122416 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
122417 AND l_bflow_method_code = 'PRIOR_ENTRY'
122418 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
122419 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
122420 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
122421 )
122422 THEN
122423 xla_ae_lines_pkg.BflowUpgEntry
122424 (p_business_method_code => l_bflow_method_code
122425 ,p_business_class_code => l_bflow_class_code
122426 ,p_balance_type => l_balance_type_code);
122427 ELSE
122428 NULL;
122429 -- No business flow processing for business flow method of NONE.
122430 END IF;
122431
122432 --
122433 -- call analytical criteria
122434 --
122435
122436 --
122437 -- call description
122438 --
122439
122440 xla_ae_lines_pkg.SetLineDescription(
122441 p_ae_header_id => l_ae_header_id
122442 ,p_description => Description_1 (
122443 p_application_id => p_application_id
122444 , p_ae_header_id => l_ae_header_id
122445 , p_source_1 => p_source_1
122446 )
122447 );
122448
122449
122450 --
122451 -- call ADRs
122452 -- Bug 4922099
122453 --
122454 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
122455 (NVL(l_actual_upg_option, 'N') = 'O') OR
122456 (NVL(l_enc_upg_option, 'N') = 'O')
122457 )
122458 THEN
122459 NULL;
122460 --
122461 --
122462
122463 l_ccid := AcctDerRule_42(
122464 p_application_id => p_application_id
122465 , p_ae_header_id => l_ae_header_id
122466 , p_source_50 => p_source_50
122467 , x_transaction_coa_id => l_adr_transaction_coa_id
122468 , x_accounting_coa_id => l_adr_accounting_coa_id
122469 , x_value_type_code => l_adr_value_type_code
122470 , p_side => 'NA'
122471 );
122472
122473 xla_ae_lines_pkg.set_ccid(
122474 p_code_combination_id => l_ccid
122475 , p_value_type_code => l_adr_value_type_code
122476 , p_transaction_coa_id => l_adr_transaction_coa_id
122477 , p_accounting_coa_id => l_adr_accounting_coa_id
122478 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
122479 , p_adr_type_code => 'S'
122480 , p_component_type => l_component_type
122481 , p_component_code => l_component_code
122482 , p_component_type_code => l_component_type_code
122483 , p_component_appl_id => l_component_appl_id
122484 , p_amb_context_code => l_amb_context_code
122485 , p_side => 'NA'
122489 --
122486 );
122487
122488
122490 --
122491 END IF;
122492 --
122493 -- Bug 4922099
122494 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
122495 (NVL(l_enc_upg_option, 'N') = 'O')
122496 ) AND
122497 (l_bflow_method_code = 'PRIOR_ENTRY')
122498 )
122499 THEN
122500 IF
122501 --
122502 1 = 2
122503 --
122504 THEN
122505 xla_accounting_err_pkg.build_message
122506 (p_appli_s_name => 'XLA'
122507 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
122508 ,p_token_1 => 'LINE_NUMBER'
122509 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
122510 ,p_token_2 => 'LINE_TYPE_NAME'
122511 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
122512 l_component_type
122513 ,l_component_code
122514 ,l_component_type_code
122515 ,l_component_appl_id
122516 ,l_amb_context_code
122517 ,l_entity_code
122518 ,l_event_class_code
122519 )
122520 ,p_token_3 => 'OWNER'
122521 ,p_value_3 => xla_lookups_pkg.get_meaning(
122522 p_lookup_type => 'XLA_OWNER_TYPE'
122523 ,p_lookup_code => l_component_type_code
122524 )
122525 ,p_token_4 => 'PRODUCT_NAME'
122526 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
122527 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
122528 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
122529 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
122530 ,p_ae_header_id => NULL
122531 );
122532
122533 IF (C_LEVEL_ERROR>= g_log_level) THEN
122534 trace
122535 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
122536 ,p_level => C_LEVEL_ERROR
122537 ,p_module => l_log_module);
122538 END IF;
122539 END IF;
122540 END IF;
122541 --
122542 --
122543 ------------------------------------------------------------------------------------------------
122544 -- 4219869 Business Flow
122545 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
122546 -- Prior Entry. Currently, the following code is always generated.
122547 ------------------------------------------------------------------------------------------------
122548 XLA_AE_LINES_PKG.ValidateCurrentLine;
122549
122550 ------------------------------------------------------------------------------------
122551 -- 4219869 Business Flow
122552 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
122553 ------------------------------------------------------------------------------------
122554 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
122555
122556 ----------------------------------------------------------------------------------
122557 -- 4219869 Business Flow
122558 -- Update journal entry status -- Need to generate this within IF <condition>
122559 ----------------------------------------------------------------------------------
122560 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
122561 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
122562 ,p_balance_type_code => l_balance_type_code
122563 );
122564
122565 -------------------------------------------------------------------------------------------
122566 -- 4262811 - Generate the Accrual Reversal lines
122567 -------------------------------------------------------------------------------------------
122568 BEGIN
122569 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
122570 (g_array_event(p_event_id).array_value_num('header_index'));
122571 IF l_acc_rev_flag IS NULL THEN
122572 l_acc_rev_flag := 'N';
122573 END IF;
122574 EXCEPTION
122575 WHEN OTHERS THEN
122576 l_acc_rev_flag := 'N';
122577 END;
122578 --
122579 IF (l_acc_rev_flag = 'Y') THEN
122580
122581 -- 4645092 ------------------------------------------------------------------------------
122582 -- To allow MPA report to determine if it should generate report process
122586 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
122583 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
122584 ------------------------------------------------------------------------------------------
122585
122587 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
122588 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
122589 -- call ADRs
122590 -- Bug 4922099
122591 --
122592 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
122593 (NVL(l_actual_upg_option, 'N') = 'O') OR
122594 (NVL(l_enc_upg_option, 'N') = 'O')
122595 )
122596 THEN
122597 NULL;
122598 --
122599 --
122600
122601 l_ccid := AcctDerRule_42(
122602 p_application_id => p_application_id
122603 , p_ae_header_id => l_ae_header_id
122604 , p_source_50 => p_source_50
122605 , x_transaction_coa_id => l_adr_transaction_coa_id
122606 , x_accounting_coa_id => l_adr_accounting_coa_id
122607 , x_value_type_code => l_adr_value_type_code
122608 , p_side => 'NA'
122609 );
122610
122611 xla_ae_lines_pkg.set_ccid(
122612 p_code_combination_id => l_ccid
122613 , p_value_type_code => l_adr_value_type_code
122614 , p_transaction_coa_id => l_adr_transaction_coa_id
122615 , p_accounting_coa_id => l_adr_accounting_coa_id
122616 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
122617 , p_adr_type_code => 'S'
122618 , p_component_type => l_component_type
122619 , p_component_code => l_component_code
122620 , p_component_type_code => l_component_type_code
122621 , p_component_appl_id => l_component_appl_id
122622 , p_amb_context_code => l_amb_context_code
122623 , p_side => 'NA'
122624 );
122625
122626
122627 --
122628 --
122629 END IF;
122630
122631 --
122632 -- Update the line information that should be overwritten
122633 --
122634 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
122635 p_header_num => 1);
122636 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
122637
122638 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
122639
122640 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
122641 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
122642 END IF;
122643
122644 --
122645 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
122646 --
122647 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
122648 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
122649 ELSE
122650 ---------------------------------------------------------------------------------------------------
122651 -- 4262811a Switch Sign
122652 ---------------------------------------------------------------------------------------------------
122653 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
122654 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
122655 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
122656 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
122657 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
122658 -- 5132302
122659 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
122660 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
122661
122662 END IF;
122663
122664 -- 4955764
122665 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
122666 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
122667
122668
122669 XLA_AE_LINES_PKG.ValidateCurrentLine;
122670 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
122671
122672 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
122673 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
122674 ,p_balance_type_code => l_balance_type_code);
122675
122676 END IF;
122677
122678 -----------------------------------------------------------------------------------------
122679 -- 4262811 Multiperiod Accounting
122680 -----------------------------------------------------------------------------------------
122681 -- No MPA option is assigned.
122682
122683
122684 END IF;
122685 END IF;
122686 --
122687
122688 --
122689 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
122690 trace
122691 (p_msg => 'END of AcctLineType_202'
122692 ,p_level => C_LEVEL_PROCEDURE
122693 ,p_module => l_log_module);
122694 END IF;
122695 --
122696 EXCEPTION
122697 WHEN xla_exceptions_pkg.application_exception THEN
122698 RAISE;
122699 WHEN OTHERS THEN
122700 xla_exceptions_pkg.raise_message
122704
122701 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_202');
122702 END AcctLineType_202;
122703 --
122705 ---------------------------------------
122706 --
122707 -- PRIVATE FUNCTION
122708 -- AcctLineType_203
122709 --
122710 ---------------------------------------
122711 PROCEDURE AcctLineType_203 (
122712 p_application_id IN NUMBER
122713 ,p_event_id IN NUMBER
122714 ,p_calculate_acctd_flag IN VARCHAR2
122715 ,p_calculate_g_l_flag IN VARCHAR2
122716 ,p_actual_flag IN OUT VARCHAR2
122717 ,p_balance_type_code OUT VARCHAR2
122718 ,p_gain_or_loss_ref OUT VARCHAR2
122719
122720 --Invoice Distribution Description
122721 , p_source_1 IN VARCHAR2
122722 --Invoice Distribution Ledger Amount
122723 , p_source_21 IN NUMBER
122724 --Invoice Distribution Type
122725 , p_source_33 IN VARCHAR2
122726 , p_source_33_meaning IN VARCHAR2
122727 --Self-Assessed Tax Liability Account
122728 , p_source_51 IN NUMBER
122729 --Accounting Reversal Indicator
122730 , p_source_53 IN VARCHAR2
122731 --Distribution Link Type
122732 , p_source_55 IN VARCHAR2
122733 --Allocation to Main Distribution Identifier
122734 , p_source_57 IN NUMBER
122735 --Invoice Identifier
122736 , p_source_58 IN NUMBER
122737 --Invoice Distribution Identifier
122738 , p_source_64 IN NUMBER
122739 --Payables Encumbrance Upgrade Credit Account
122740 , p_source_65 IN NUMBER
122741 --Payables Encumbrance Upgrade Credit Amount
122742 , p_source_66 IN NUMBER
122743 --Invoice Currency Code
122744 , p_source_67 IN VARCHAR2
122745 --Payables Encumbrance Upgrade Credit Base Amount
122746 , p_source_68 IN NUMBER
122747 --Payables Encumbrance Upgrade Debit Account
122748 , p_source_69 IN NUMBER
122749 --Payables Encumbrance Upgrade Debit Amount
122750 , p_source_70 IN NUMBER
122751 --Payables Encumbrance Upgrade Debit Base Amount
122752 , p_source_71 IN NUMBER
122753 --Payables Encumbrance Upgrade Option
122754 , p_source_72 IN VARCHAR2
122755 --Invoice Distribution Amount
122756 , p_source_73 IN NUMBER
122757 --Deferred Accounting End Date
122758 , p_source_77 IN DATE
122759 --Deferred Accounting Option
122760 , p_source_78 IN VARCHAR2
122761 --Deferred Accounting Start Date
122762 , p_source_79 IN DATE
122763 --Override Accounted Amount Indicator
122764 , p_source_80 IN VARCHAR2
122765 , p_source_80_meaning IN VARCHAR2
122766 --Invoice Supplier Identifier
122767 , p_source_81 IN NUMBER
122768 --Invoice Supplier Site Identifier
122769 , p_source_82 IN NUMBER
122770 --Third Party Type
122771 , p_source_83 IN VARCHAR2
122772 --Parent Reversal Identifier
122773 , p_source_84 IN NUMBER
122774 --Invoice Distribution Statistical Amount
122775 , p_source_85 IN NUMBER
122776 --Invoice Distribution Tax Line Identifier
122777 , p_source_86 IN NUMBER
122778 --Invoice Distribution Tax Distribution Identifier from Tax
122779 , p_source_87 IN NUMBER
122780 --Invoice Distribution Summary Tax Line Identifier
122781 , p_source_88 IN NUMBER
122782 --Payables Upgrade Credit Encumbrance Type Identifier
122783 , p_source_89 IN NUMBER
122784 --Payables Upgrade Debit Encumbrance Type Identifier
122785 , p_source_90 IN NUMBER
122786 --Business Flow Accounts Payable Application Identifier
122787 , p_source_91 IN NUMBER
122788 --Business Flow Invoice Distribution Type
122789 , p_source_92 IN VARCHAR2
122790 --Business Flow Invoice Entity Code
122791 , p_source_93 IN VARCHAR2
122792 --Business Flow Invoice Distribution Identifier
122793 , p_source_94 IN NUMBER
122794 --Business Flow Invoice Identifier
122795 , p_source_95 IN NUMBER
122796 --Self-Assessed Tax Flag
122797 , p_source_142 IN VARCHAR2
122798 , p_source_142_meaning IN VARCHAR2
122799 --Invoice Exchange Date
122800 , p_source_143 IN DATE
122801 --Invoice Exchange Rate
122802 , p_source_144 IN NUMBER
122803 --Invoice Exchange Rate Type
122804 , p_source_145 IN VARCHAR2
122805 )
122806 IS
122807
122808 l_component_type VARCHAR2(80);
122809 l_component_code VARCHAR2(30);
122810 l_component_type_code VARCHAR2(1);
122811 l_component_appl_id INTEGER;
122812 l_amb_context_code VARCHAR2(30);
122813 l_entity_code VARCHAR2(30);
122814 l_event_class_code VARCHAR2(30);
122815 l_ae_header_id NUMBER;
122816 l_event_type_code VARCHAR2(30);
122817 l_line_definition_code VARCHAR2(30);
122818 l_line_definition_owner_code VARCHAR2(1);
122819 --
122820 -- adr variables
122821 l_segment VARCHAR2(30);
122822 l_ccid NUMBER;
122823 l_adr_transaction_coa_id NUMBER;
122824 l_adr_accounting_coa_id NUMBER;
122825 l_adr_flexfield_segment_code VARCHAR2(30);
122826 l_adr_flex_value_set_id NUMBER;
122827 l_adr_value_type_code VARCHAR2(30);
122828 l_adr_value_combination_id NUMBER;
122829 l_adr_value_segment_code VARCHAR2(30);
122830
122831 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
122832 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
122833 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
122837 l_entered_amt_idx NUMBER;
122834 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
122835
122836 -- 4262811 Variables ------------------------------------------------------------------------------------------
122838 l_accted_amt_idx NUMBER;
122839 l_acc_rev_flag VARCHAR2(1);
122840 l_accrual_line_num NUMBER;
122841 l_tmp_amt NUMBER;
122842 l_acc_rev_natural_side_code VARCHAR2(1);
122843
122844 l_num_entries NUMBER;
122845 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
122846 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
122847 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
122848 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
122849 l_recog_line_1 NUMBER;
122850 l_recog_line_2 NUMBER;
122851
122852 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
122853 l_bflow_applied_to_amt NUMBER; -- 5132302
122854 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
122855
122856 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
122857
122858 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
122859 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
122860
122861 ---------------------------------------------------------------------------------------------------------------
122862
122863
122864 --
122865 -- bulk performance
122866 --
122867 l_balance_type_code VARCHAR2(1);
122868 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
122869 l_log_module VARCHAR2(240);
122870
122871 --
122872 -- Upgrade strategy
122873 --
122874 l_actual_upg_option VARCHAR2(1);
122875 l_enc_upg_option VARCHAR2(1);
122876
122877 --
122878 BEGIN
122879 --
122880 IF g_log_enabled THEN
122881 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_203';
122882 END IF;
122883 --
122884 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
122885
122886 trace
122887 (p_msg => 'BEGIN of AcctLineType_203'
122888 ,p_level => C_LEVEL_PROCEDURE
122889 ,p_module => l_log_module);
122890
122891 END IF;
122892 --
122893 l_component_type := 'AMB_JLT';
122894 l_component_code := 'AP_SELF_ASSESSED_TAX_CLR_CM';
122895 l_component_type_code := 'S';
122896 l_component_appl_id := 200;
122897 l_amb_context_code := 'DEFAULT';
122898 l_entity_code := 'AP_INVOICES';
122899 l_event_class_code := 'CREDIT MEMOS';
122900 l_event_type_code := 'CREDIT MEMOS_ALL';
122901 l_line_definition_owner_code := 'S';
122902 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
122903 --
122904 l_balance_type_code := 'A';
122905 l_segment := NULL;
122906 l_ccid := NULL;
122907 l_adr_transaction_coa_id := NULL;
122908 l_adr_accounting_coa_id := NULL;
122909 l_adr_flexfield_segment_code := NULL;
122910 l_adr_flex_value_set_id := NULL;
122911 l_adr_value_type_code := NULL;
122912 l_adr_value_combination_id := NULL;
122913 l_adr_value_segment_code := NULL;
122914
122915 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
122916 l_bflow_class_code := ''; -- 4219869 Business Flow
122917 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
122918 l_budgetary_control_flag := 'N';
122919
122920 l_bflow_applied_to_amt_idx := NULL; -- 5132302
122921 l_bflow_applied_to_amt := NULL; -- 5132302
122922 l_entered_amt_idx := NULL; -- 4262811
122923 l_accted_amt_idx := NULL; -- 4262811
122924 l_acc_rev_flag := NULL; -- 4262811
122925 l_accrual_line_num := NULL; -- 4262811
122926 l_tmp_amt := NULL; -- 4262811
122927 --
122928
122929 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
122930 l_balance_type_code <> 'B' THEN
122931 IF (NVL(p_source_33,'
122932 ') = 'REC_TAX' OR
122933 NVL(p_source_33,'
122934 ') = 'NONREC_TAX') AND
122935 NVL(p_source_142,'
122936 ') = 'Y'
122937 THEN
122938
122939 --
122940 XLA_AE_LINES_PKG.SetNewLine;
122941
122942 p_balance_type_code := l_balance_type_code;
122943 -- set the flag so later we will know whether the gain loss line needs to be created
122944
122945 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
122946 p_actual_flag :='A';
122947 END IF;
122948
122949 --
122950 -- bulk performance
122951 --
122952 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
122953 p_header_num => 0); -- 4262811
122954 --
122955 -- set accounting line options
122956 --
122957 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
122958 p_natural_side_code => 'C'
122959 , p_gain_or_loss_flag => 'N'
122960 , p_gl_transfer_mode_code => 'S'
122961 , p_acct_entry_type_code => 'A'
122962 , p_switch_side_flag => 'Y'
122963 , p_merge_duplicate_code => 'A'
122964 );
122965 --
122966 l_acc_rev_natural_side_code := 'D'; -- 4262811
122967 --
122971 xla_ae_lines_pkg.SetAcctLineType
122968 --
122969 -- set accounting line type info
122970 --
122972 (p_component_type => l_component_type
122973 ,p_event_type_code => l_event_type_code
122974 ,p_line_definition_owner_code => l_line_definition_owner_code
122975 ,p_line_definition_code => l_line_definition_code
122976 ,p_accounting_line_code => l_component_code
122977 ,p_accounting_line_type_code => l_component_type_code
122978 ,p_accounting_line_appl_id => l_component_appl_id
122979 ,p_amb_context_code => l_amb_context_code
122980 ,p_entity_code => l_entity_code
122981 ,p_event_class_code => l_event_class_code);
122982 --
122983 -- set accounting class
122984 --
122985 xla_ae_lines_pkg.SetAcctClass(
122986 p_accounting_class_code => 'SELF_ASSESSED_TAX'
122987 , p_ae_header_id => l_ae_header_id
122988 );
122989
122990 --
122991 -- set rounding class
122992 --
122993 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
122994 'SELF_ASSESSED_TAX';
122995
122996 --
122997 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
122998 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
122999 --
123000 -- bulk performance
123001 --
123002 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
123003
123004 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
123005 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
123006
123007 -- 4955764
123008 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
123009 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
123010
123011 -- 4458381 Public Sector Enh
123012
123013 --
123014 -- set accounting attributes for the line type
123015 --
123016 l_entered_amt_idx := 23;
123017 l_accted_amt_idx := 28;
123018 l_bflow_applied_to_amt_idx := NULL; -- 5132302
123019 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
123020 l_rec_acct_attrs.array_char_value(1) := p_source_53;
123021 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
123022 l_rec_acct_attrs.array_num_value(2) :=
123023 xla_ae_sources_pkg.GetSystemSourceNum(
123024 p_source_code => 'XLA_EVENT_APPL_ID'
123025 , p_source_type_code => 'Y'
123026 , p_source_application_id => 602
123027 );
123028 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
123029 l_rec_acct_attrs.array_char_value(3) := p_source_55;
123030 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
123031 l_rec_acct_attrs.array_char_value(4) :=
123032 xla_ae_sources_pkg.GetSystemSourceChar(
123033 p_source_code => 'XLA_ENTITY_CODE'
123034 , p_source_type_code => 'Y'
123035 , p_source_application_id => 602
123036 );
123037 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
123038 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
123039 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
123040 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
123041 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
123042 l_rec_acct_attrs.array_num_value(7) := p_source_91;
123043 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
123044 l_rec_acct_attrs.array_char_value(8) := p_source_92;
123045 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
123046 l_rec_acct_attrs.array_char_value(9) := p_source_93;
123047 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
123048 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
123049 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
123050 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
123051 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
123052 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
123053 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
123054 l_rec_acct_attrs.array_char_value(13) := p_source_55;
123055 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
123056 l_rec_acct_attrs.array_num_value(14) := p_source_65;
123057 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
123058 l_rec_acct_attrs.array_num_value(15) := p_source_66;
123059 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
123060 l_rec_acct_attrs.array_char_value(16) := p_source_67;
123061 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
123062 l_rec_acct_attrs.array_num_value(17) := p_source_68;
123063 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
123064 l_rec_acct_attrs.array_num_value(18) := p_source_69;
123065 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
123066 l_rec_acct_attrs.array_num_value(19) := p_source_70;
123067 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
123068 l_rec_acct_attrs.array_char_value(20) := p_source_67;
123069 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
123070 l_rec_acct_attrs.array_num_value(21) := p_source_71;
123071 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
123072 l_rec_acct_attrs.array_char_value(22) := p_source_72;
123076 l_rec_acct_attrs.array_char_value(24) := p_source_67;
123073 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
123074 l_rec_acct_attrs.array_num_value(23) := p_source_73;
123075 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
123077 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
123078 l_rec_acct_attrs.array_date_value(25) := p_source_143;
123079 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
123080 l_rec_acct_attrs.array_num_value(26) := p_source_144;
123081 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
123082 l_rec_acct_attrs.array_char_value(27) := p_source_145;
123083 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
123084 l_rec_acct_attrs.array_num_value(28) := p_source_21;
123085 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
123086 l_rec_acct_attrs.array_date_value(29) := p_source_77;
123087 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
123088 l_rec_acct_attrs.array_char_value(30) := p_source_78;
123089 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
123090 l_rec_acct_attrs.array_date_value(31) := p_source_79;
123091 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
123092 l_rec_acct_attrs.array_char_value(32) := p_source_80;
123093 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
123094 l_rec_acct_attrs.array_num_value(33) := p_source_81;
123095 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
123096 l_rec_acct_attrs.array_num_value(34) := p_source_82;
123097 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
123098 l_rec_acct_attrs.array_char_value(35) := p_source_83;
123099 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
123100 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
123101 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
123102 l_rec_acct_attrs.array_char_value(37) := p_source_55;
123103 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
123104 l_rec_acct_attrs.array_num_value(38) := p_source_85;
123105 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
123106 l_rec_acct_attrs.array_num_value(39) := p_source_86;
123107 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
123108 l_rec_acct_attrs.array_num_value(40) := p_source_87;
123109 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
123110 l_rec_acct_attrs.array_num_value(41) := p_source_88;
123111 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
123112 l_rec_acct_attrs.array_num_value(42) := p_source_89;
123113 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
123114 l_rec_acct_attrs.array_num_value(43) := p_source_90;
123115
123116 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
123117 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
123118
123119 ---------------------------------------------------------------------------------------------------------------
123120 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
123121 ---------------------------------------------------------------------------------------------------------------
123122 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
123123
123124 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
123125 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
123126
123127 IF xla_accounting_cache_pkg.GetValueChar
123128 (p_source_code => 'LEDGER_CATEGORY_CODE'
123129 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
123130 AND l_bflow_method_code = 'PRIOR_ENTRY'
123131 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
123132 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
123133 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
123134 )
123135 THEN
123136 xla_ae_lines_pkg.BflowUpgEntry
123137 (p_business_method_code => l_bflow_method_code
123138 ,p_business_class_code => l_bflow_class_code
123139 ,p_balance_type => l_balance_type_code);
123140 ELSE
123141 NULL;
123142 -- No business flow processing for business flow method of NONE.
123143 END IF;
123144
123145 --
123146 -- call analytical criteria
123147 --
123148
123149 --
123150 -- call description
123151 --
123152
123153 xla_ae_lines_pkg.SetLineDescription(
123154 p_ae_header_id => l_ae_header_id
123155 ,p_description => Description_1 (
123156 p_application_id => p_application_id
123157 , p_ae_header_id => l_ae_header_id
123158 , p_source_1 => p_source_1
123159 )
123160 );
123161
123162
123163 --
123164 -- call ADRs
123165 -- Bug 4922099
123166 --
123167 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
123168 (NVL(l_actual_upg_option, 'N') = 'O') OR
123169 (NVL(l_enc_upg_option, 'N') = 'O')
123170 )
123171 THEN
123172 NULL;
123173 --
123174 --
123175
123176 l_ccid := AcctDerRule_43(
123177 p_application_id => p_application_id
123181 , x_accounting_coa_id => l_adr_accounting_coa_id
123178 , p_ae_header_id => l_ae_header_id
123179 , p_source_51 => p_source_51
123180 , x_transaction_coa_id => l_adr_transaction_coa_id
123182 , x_value_type_code => l_adr_value_type_code
123183 , p_side => 'NA'
123184 );
123185
123186 xla_ae_lines_pkg.set_ccid(
123187 p_code_combination_id => l_ccid
123188 , p_value_type_code => l_adr_value_type_code
123189 , p_transaction_coa_id => l_adr_transaction_coa_id
123190 , p_accounting_coa_id => l_adr_accounting_coa_id
123191 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
123192 , p_adr_type_code => 'S'
123193 , p_component_type => l_component_type
123194 , p_component_code => l_component_code
123195 , p_component_type_code => l_component_type_code
123196 , p_component_appl_id => l_component_appl_id
123197 , p_amb_context_code => l_amb_context_code
123198 , p_side => 'NA'
123199 );
123200
123201
123202 --
123203 --
123204 END IF;
123205 --
123206 -- Bug 4922099
123207 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
123208 (NVL(l_enc_upg_option, 'N') = 'O')
123209 ) AND
123210 (l_bflow_method_code = 'PRIOR_ENTRY')
123211 )
123212 THEN
123213 IF
123214 --
123215 1 = 2
123216 --
123217 THEN
123218 xla_accounting_err_pkg.build_message
123219 (p_appli_s_name => 'XLA'
123220 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
123221 ,p_token_1 => 'LINE_NUMBER'
123222 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
123223 ,p_token_2 => 'LINE_TYPE_NAME'
123224 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
123225 l_component_type
123226 ,l_component_code
123227 ,l_component_type_code
123228 ,l_component_appl_id
123229 ,l_amb_context_code
123230 ,l_entity_code
123231 ,l_event_class_code
123232 )
123233 ,p_token_3 => 'OWNER'
123234 ,p_value_3 => xla_lookups_pkg.get_meaning(
123235 p_lookup_type => 'XLA_OWNER_TYPE'
123236 ,p_lookup_code => l_component_type_code
123237 )
123238 ,p_token_4 => 'PRODUCT_NAME'
123239 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
123240 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
123241 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
123242 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
123243 ,p_ae_header_id => NULL
123244 );
123245
123246 IF (C_LEVEL_ERROR>= g_log_level) THEN
123247 trace
123248 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
123249 ,p_level => C_LEVEL_ERROR
123250 ,p_module => l_log_module);
123251 END IF;
123252 END IF;
123253 END IF;
123254 --
123255 --
123256 ------------------------------------------------------------------------------------------------
123257 -- 4219869 Business Flow
123258 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
123259 -- Prior Entry. Currently, the following code is always generated.
123260 ------------------------------------------------------------------------------------------------
123261 XLA_AE_LINES_PKG.ValidateCurrentLine;
123262
123263 ------------------------------------------------------------------------------------
123264 -- 4219869 Business Flow
123265 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
123266 ------------------------------------------------------------------------------------
123267 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
123268
123269 ----------------------------------------------------------------------------------
123270 -- 4219869 Business Flow
123271 -- Update journal entry status -- Need to generate this within IF <condition>
123272 ----------------------------------------------------------------------------------
123276 );
123273 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
123274 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
123275 ,p_balance_type_code => l_balance_type_code
123277
123278 -------------------------------------------------------------------------------------------
123279 -- 4262811 - Generate the Accrual Reversal lines
123280 -------------------------------------------------------------------------------------------
123281 BEGIN
123282 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
123283 (g_array_event(p_event_id).array_value_num('header_index'));
123284 IF l_acc_rev_flag IS NULL THEN
123285 l_acc_rev_flag := 'N';
123286 END IF;
123287 EXCEPTION
123288 WHEN OTHERS THEN
123289 l_acc_rev_flag := 'N';
123290 END;
123291 --
123292 IF (l_acc_rev_flag = 'Y') THEN
123293
123294 -- 4645092 ------------------------------------------------------------------------------
123295 -- To allow MPA report to determine if it should generate report process
123296 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
123297 ------------------------------------------------------------------------------------------
123298
123299 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
123300 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
123301 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
123302 -- call ADRs
123303 -- Bug 4922099
123304 --
123305 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
123306 (NVL(l_actual_upg_option, 'N') = 'O') OR
123307 (NVL(l_enc_upg_option, 'N') = 'O')
123308 )
123309 THEN
123310 NULL;
123311 --
123312 --
123313
123314 l_ccid := AcctDerRule_43(
123315 p_application_id => p_application_id
123316 , p_ae_header_id => l_ae_header_id
123317 , p_source_51 => p_source_51
123318 , x_transaction_coa_id => l_adr_transaction_coa_id
123319 , x_accounting_coa_id => l_adr_accounting_coa_id
123320 , x_value_type_code => l_adr_value_type_code
123321 , p_side => 'NA'
123322 );
123323
123324 xla_ae_lines_pkg.set_ccid(
123325 p_code_combination_id => l_ccid
123326 , p_value_type_code => l_adr_value_type_code
123327 , p_transaction_coa_id => l_adr_transaction_coa_id
123328 , p_accounting_coa_id => l_adr_accounting_coa_id
123329 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
123330 , p_adr_type_code => 'S'
123331 , p_component_type => l_component_type
123332 , p_component_code => l_component_code
123333 , p_component_type_code => l_component_type_code
123334 , p_component_appl_id => l_component_appl_id
123335 , p_amb_context_code => l_amb_context_code
123336 , p_side => 'NA'
123337 );
123338
123339
123340 --
123341 --
123342 END IF;
123343
123344 --
123345 -- Update the line information that should be overwritten
123346 --
123347 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
123348 p_header_num => 1);
123349 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
123350
123351 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
123352
123353 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
123354 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
123355 END IF;
123356
123357 --
123358 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
123359 --
123360 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
123361 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
123362 ELSE
123363 ---------------------------------------------------------------------------------------------------
123364 -- 4262811a Switch Sign
123365 ---------------------------------------------------------------------------------------------------
123366 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
123367 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
123368 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
123369 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
123370 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
123371 -- 5132302
123372 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
123373 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
123374
123375 END IF;
123376
123377 -- 4955764
123378 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
123379 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
123380
123381
123382 XLA_AE_LINES_PKG.ValidateCurrentLine;
123386 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
123383 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
123384
123385 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
123387 ,p_balance_type_code => l_balance_type_code);
123388
123389 END IF;
123390
123391 -----------------------------------------------------------------------------------------
123392 -- 4262811 Multiperiod Accounting
123393 -----------------------------------------------------------------------------------------
123394 -- No MPA option is assigned.
123395
123396
123397 END IF;
123398 END IF;
123399 --
123400
123401 --
123402 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
123403 trace
123404 (p_msg => 'END of AcctLineType_203'
123405 ,p_level => C_LEVEL_PROCEDURE
123406 ,p_module => l_log_module);
123407 END IF;
123408 --
123409 EXCEPTION
123410 WHEN xla_exceptions_pkg.application_exception THEN
123411 RAISE;
123412 WHEN OTHERS THEN
123413 xla_exceptions_pkg.raise_message
123414 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_203');
123415 END AcctLineType_203;
123416 --
123417
123418 ---------------------------------------
123419 --
123420 -- PRIVATE FUNCTION
123421 -- AcctLineType_204
123422 --
123423 ---------------------------------------
123424 PROCEDURE AcctLineType_204 (
123425 p_application_id IN NUMBER
123426 ,p_event_id IN NUMBER
123427 ,p_calculate_acctd_flag IN VARCHAR2
123428 ,p_calculate_g_l_flag IN VARCHAR2
123429 ,p_actual_flag IN OUT VARCHAR2
123430 ,p_balance_type_code OUT VARCHAR2
123431 ,p_gain_or_loss_ref OUT VARCHAR2
123432
123433 --Invoice Distribution Description
123434 , p_source_1 IN VARCHAR2
123435 --Invoice Distribution Ledger Amount
123436 , p_source_21 IN NUMBER
123437 --Invoice Distribution Type
123438 , p_source_33 IN VARCHAR2
123439 , p_source_33_meaning IN VARCHAR2
123440 --Self-Assessed Tax Liability Account
123441 , p_source_51 IN NUMBER
123442 --Accounting Reversal Indicator
123443 , p_source_53 IN VARCHAR2
123444 --Distribution Link Type
123445 , p_source_55 IN VARCHAR2
123446 --Allocation to Main Distribution Identifier
123447 , p_source_57 IN NUMBER
123448 --Invoice Identifier
123449 , p_source_58 IN NUMBER
123450 --Invoice Distribution Identifier
123451 , p_source_64 IN NUMBER
123452 --Payables Encumbrance Upgrade Credit Account
123453 , p_source_65 IN NUMBER
123454 --Payables Encumbrance Upgrade Credit Amount
123455 , p_source_66 IN NUMBER
123456 --Invoice Currency Code
123457 , p_source_67 IN VARCHAR2
123458 --Payables Encumbrance Upgrade Credit Base Amount
123459 , p_source_68 IN NUMBER
123460 --Payables Encumbrance Upgrade Debit Account
123461 , p_source_69 IN NUMBER
123462 --Payables Encumbrance Upgrade Debit Amount
123463 , p_source_70 IN NUMBER
123464 --Payables Encumbrance Upgrade Debit Base Amount
123465 , p_source_71 IN NUMBER
123466 --Payables Encumbrance Upgrade Option
123467 , p_source_72 IN VARCHAR2
123468 --Invoice Distribution Amount
123469 , p_source_73 IN NUMBER
123470 --Deferred Accounting End Date
123471 , p_source_77 IN DATE
123472 --Deferred Accounting Option
123473 , p_source_78 IN VARCHAR2
123474 --Deferred Accounting Start Date
123475 , p_source_79 IN DATE
123476 --Override Accounted Amount Indicator
123477 , p_source_80 IN VARCHAR2
123478 , p_source_80_meaning IN VARCHAR2
123479 --Invoice Supplier Identifier
123480 , p_source_81 IN NUMBER
123481 --Invoice Supplier Site Identifier
123482 , p_source_82 IN NUMBER
123483 --Third Party Type
123484 , p_source_83 IN VARCHAR2
123485 --Parent Reversal Identifier
123486 , p_source_84 IN NUMBER
123487 --Invoice Distribution Tax Line Identifier
123488 , p_source_86 IN NUMBER
123489 --Invoice Distribution Tax Distribution Identifier from Tax
123490 , p_source_87 IN NUMBER
123491 --Invoice Distribution Summary Tax Line Identifier
123492 , p_source_88 IN NUMBER
123493 --Payables Upgrade Credit Encumbrance Type Identifier
123494 , p_source_89 IN NUMBER
123495 --Payables Upgrade Debit Encumbrance Type Identifier
123496 , p_source_90 IN NUMBER
123497 --Business Flow Accounts Payable Application Identifier
123498 , p_source_91 IN NUMBER
123499 --Business Flow Invoice Distribution Type
123500 , p_source_92 IN VARCHAR2
123501 --Business Flow Invoice Entity Code
123502 , p_source_93 IN VARCHAR2
123503 --Business Flow Invoice Distribution Identifier
123504 , p_source_94 IN NUMBER
123505 --Business Flow Invoice Identifier
123506 , p_source_95 IN NUMBER
123507 --Self-Assessed Tax Flag
123508 , p_source_142 IN VARCHAR2
123509 , p_source_142_meaning IN VARCHAR2
123510 --Invoice Exchange Date
123511 , p_source_143 IN DATE
123512 --Invoice Exchange Rate
123513 , p_source_144 IN NUMBER
123514 --Invoice Exchange Rate Type
123515 , p_source_145 IN VARCHAR2
123516 )
123517 IS
123518
123519 l_component_type VARCHAR2(80);
123520 l_component_code VARCHAR2(30);
123521 l_component_type_code VARCHAR2(1);
123525 l_event_class_code VARCHAR2(30);
123522 l_component_appl_id INTEGER;
123523 l_amb_context_code VARCHAR2(30);
123524 l_entity_code VARCHAR2(30);
123526 l_ae_header_id NUMBER;
123527 l_event_type_code VARCHAR2(30);
123528 l_line_definition_code VARCHAR2(30);
123529 l_line_definition_owner_code VARCHAR2(1);
123530 --
123531 -- adr variables
123532 l_segment VARCHAR2(30);
123533 l_ccid NUMBER;
123534 l_adr_transaction_coa_id NUMBER;
123535 l_adr_accounting_coa_id NUMBER;
123536 l_adr_flexfield_segment_code VARCHAR2(30);
123537 l_adr_flex_value_set_id NUMBER;
123538 l_adr_value_type_code VARCHAR2(30);
123539 l_adr_value_combination_id NUMBER;
123540 l_adr_value_segment_code VARCHAR2(30);
123541
123542 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
123543 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
123544 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
123545 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
123546
123547 -- 4262811 Variables ------------------------------------------------------------------------------------------
123548 l_entered_amt_idx NUMBER;
123549 l_accted_amt_idx NUMBER;
123550 l_acc_rev_flag VARCHAR2(1);
123551 l_accrual_line_num NUMBER;
123552 l_tmp_amt NUMBER;
123553 l_acc_rev_natural_side_code VARCHAR2(1);
123554
123555 l_num_entries NUMBER;
123556 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
123557 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
123558 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
123559 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
123560 l_recog_line_1 NUMBER;
123561 l_recog_line_2 NUMBER;
123562
123563 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
123564 l_bflow_applied_to_amt NUMBER; -- 5132302
123565 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
123566
123567 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
123568
123569 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
123570 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
123571
123572 ---------------------------------------------------------------------------------------------------------------
123573
123574
123575 --
123576 -- bulk performance
123577 --
123578 l_balance_type_code VARCHAR2(1);
123579 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
123580 l_log_module VARCHAR2(240);
123581
123582 --
123583 -- Upgrade strategy
123584 --
123585 l_actual_upg_option VARCHAR2(1);
123586 l_enc_upg_option VARCHAR2(1);
123587
123588 --
123589 BEGIN
123590 --
123591 IF g_log_enabled THEN
123592 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_204';
123593 END IF;
123594 --
123595 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
123596
123597 trace
123598 (p_msg => 'BEGIN of AcctLineType_204'
123599 ,p_level => C_LEVEL_PROCEDURE
123600 ,p_module => l_log_module);
123601
123602 END IF;
123603 --
123604 l_component_type := 'AMB_JLT';
123605 l_component_code := 'AP_SELF_ASSESSED_TAX_CLR_DM';
123606 l_component_type_code := 'S';
123607 l_component_appl_id := 200;
123608 l_amb_context_code := 'DEFAULT';
123609 l_entity_code := 'AP_INVOICES';
123610 l_event_class_code := 'DEBIT MEMOS';
123611 l_event_type_code := 'DEBIT MEMOS_ALL';
123612 l_line_definition_owner_code := 'S';
123613 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
123614 --
123615 l_balance_type_code := 'A';
123616 l_segment := NULL;
123617 l_ccid := NULL;
123618 l_adr_transaction_coa_id := NULL;
123619 l_adr_accounting_coa_id := NULL;
123620 l_adr_flexfield_segment_code := NULL;
123621 l_adr_flex_value_set_id := NULL;
123622 l_adr_value_type_code := NULL;
123623 l_adr_value_combination_id := NULL;
123624 l_adr_value_segment_code := NULL;
123625
123626 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
123627 l_bflow_class_code := ''; -- 4219869 Business Flow
123628 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
123629 l_budgetary_control_flag := 'N';
123630
123631 l_bflow_applied_to_amt_idx := NULL; -- 5132302
123632 l_bflow_applied_to_amt := NULL; -- 5132302
123633 l_entered_amt_idx := NULL; -- 4262811
123634 l_accted_amt_idx := NULL; -- 4262811
123635 l_acc_rev_flag := NULL; -- 4262811
123636 l_accrual_line_num := NULL; -- 4262811
123637 l_tmp_amt := NULL; -- 4262811
123638 --
123639
123640 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
123641 l_balance_type_code <> 'B' THEN
123642 IF (NVL(p_source_33,'
123643 ') = 'REC_TAX' OR
123644 NVL(p_source_33,'
123645 ') = 'NONREC_TAX') AND
123646 NVL(p_source_142,'
123647 ') = 'Y'
123648 THEN
123649
123650 --
123651 XLA_AE_LINES_PKG.SetNewLine;
123652
123656 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
123653 p_balance_type_code := l_balance_type_code;
123654 -- set the flag so later we will know whether the gain loss line needs to be created
123655
123657 p_actual_flag :='A';
123658 END IF;
123659
123660 --
123661 -- bulk performance
123662 --
123663 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
123664 p_header_num => 0); -- 4262811
123665 --
123666 -- set accounting line options
123667 --
123668 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
123669 p_natural_side_code => 'C'
123670 , p_gain_or_loss_flag => 'N'
123671 , p_gl_transfer_mode_code => 'S'
123672 , p_acct_entry_type_code => 'A'
123673 , p_switch_side_flag => 'Y'
123674 , p_merge_duplicate_code => 'A'
123675 );
123676 --
123677 l_acc_rev_natural_side_code := 'D'; -- 4262811
123678 --
123679 --
123680 -- set accounting line type info
123681 --
123682 xla_ae_lines_pkg.SetAcctLineType
123683 (p_component_type => l_component_type
123684 ,p_event_type_code => l_event_type_code
123685 ,p_line_definition_owner_code => l_line_definition_owner_code
123686 ,p_line_definition_code => l_line_definition_code
123687 ,p_accounting_line_code => l_component_code
123688 ,p_accounting_line_type_code => l_component_type_code
123689 ,p_accounting_line_appl_id => l_component_appl_id
123690 ,p_amb_context_code => l_amb_context_code
123691 ,p_entity_code => l_entity_code
123692 ,p_event_class_code => l_event_class_code);
123693 --
123694 -- set accounting class
123695 --
123696 xla_ae_lines_pkg.SetAcctClass(
123697 p_accounting_class_code => 'SELF_ASSESSED_TAX'
123698 , p_ae_header_id => l_ae_header_id
123699 );
123700
123701 --
123702 -- set rounding class
123703 --
123704 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
123705 'SELF_ASSESSED_TAX';
123706
123707 --
123708 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
123709 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
123710 --
123711 -- bulk performance
123712 --
123713 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
123714
123715 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
123716 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
123717
123718 -- 4955764
123719 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
123720 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
123721
123722 -- 4458381 Public Sector Enh
123723
123724 --
123725 -- set accounting attributes for the line type
123726 --
123727 l_entered_amt_idx := 23;
123728 l_accted_amt_idx := 28;
123729 l_bflow_applied_to_amt_idx := NULL; -- 5132302
123730 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
123731 l_rec_acct_attrs.array_char_value(1) := p_source_53;
123732 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
123733 l_rec_acct_attrs.array_num_value(2) :=
123734 xla_ae_sources_pkg.GetSystemSourceNum(
123735 p_source_code => 'XLA_EVENT_APPL_ID'
123736 , p_source_type_code => 'Y'
123737 , p_source_application_id => 602
123738 );
123739 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
123740 l_rec_acct_attrs.array_char_value(3) := p_source_55;
123741 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
123742 l_rec_acct_attrs.array_char_value(4) :=
123743 xla_ae_sources_pkg.GetSystemSourceChar(
123744 p_source_code => 'XLA_ENTITY_CODE'
123745 , p_source_type_code => 'Y'
123746 , p_source_application_id => 602
123747 );
123748 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
123749 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
123750 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
123751 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
123752 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
123753 l_rec_acct_attrs.array_num_value(7) := p_source_91;
123754 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
123755 l_rec_acct_attrs.array_char_value(8) := p_source_92;
123756 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
123757 l_rec_acct_attrs.array_char_value(9) := p_source_93;
123758 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
123759 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
123760 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
123761 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
123762 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
123763 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
123764 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
123765 l_rec_acct_attrs.array_char_value(13) := p_source_55;
123769 l_rec_acct_attrs.array_num_value(15) := p_source_66;
123766 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
123767 l_rec_acct_attrs.array_num_value(14) := p_source_65;
123768 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
123770 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
123771 l_rec_acct_attrs.array_char_value(16) := p_source_67;
123772 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
123773 l_rec_acct_attrs.array_num_value(17) := p_source_68;
123774 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
123775 l_rec_acct_attrs.array_num_value(18) := p_source_69;
123776 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
123777 l_rec_acct_attrs.array_num_value(19) := p_source_70;
123778 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
123779 l_rec_acct_attrs.array_char_value(20) := p_source_67;
123780 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
123781 l_rec_acct_attrs.array_num_value(21) := p_source_71;
123782 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
123783 l_rec_acct_attrs.array_char_value(22) := p_source_72;
123784 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
123785 l_rec_acct_attrs.array_num_value(23) := p_source_73;
123786 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
123787 l_rec_acct_attrs.array_char_value(24) := p_source_67;
123788 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
123789 l_rec_acct_attrs.array_date_value(25) := p_source_143;
123790 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
123791 l_rec_acct_attrs.array_num_value(26) := p_source_144;
123792 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
123793 l_rec_acct_attrs.array_char_value(27) := p_source_145;
123794 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
123795 l_rec_acct_attrs.array_num_value(28) := p_source_21;
123796 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
123797 l_rec_acct_attrs.array_date_value(29) := p_source_77;
123798 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
123799 l_rec_acct_attrs.array_char_value(30) := p_source_78;
123800 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
123801 l_rec_acct_attrs.array_date_value(31) := p_source_79;
123802 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
123803 l_rec_acct_attrs.array_char_value(32) := p_source_80;
123804 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
123805 l_rec_acct_attrs.array_num_value(33) := p_source_81;
123806 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
123807 l_rec_acct_attrs.array_num_value(34) := p_source_82;
123808 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
123809 l_rec_acct_attrs.array_char_value(35) := p_source_83;
123810 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
123811 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
123812 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
123813 l_rec_acct_attrs.array_char_value(37) := p_source_55;
123814 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
123815 l_rec_acct_attrs.array_num_value(38) := p_source_86;
123816 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
123817 l_rec_acct_attrs.array_num_value(39) := p_source_87;
123818 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
123819 l_rec_acct_attrs.array_num_value(40) := p_source_88;
123820 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
123821 l_rec_acct_attrs.array_num_value(41) := p_source_89;
123822 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
123823 l_rec_acct_attrs.array_num_value(42) := p_source_90;
123824
123825 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
123826 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
123827
123828 ---------------------------------------------------------------------------------------------------------------
123829 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
123830 ---------------------------------------------------------------------------------------------------------------
123831 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
123832
123833 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
123834 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
123835
123836 IF xla_accounting_cache_pkg.GetValueChar
123837 (p_source_code => 'LEDGER_CATEGORY_CODE'
123838 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
123839 AND l_bflow_method_code = 'PRIOR_ENTRY'
123840 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
123841 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
123842 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
123843 )
123844 THEN
123845 xla_ae_lines_pkg.BflowUpgEntry
123846 (p_business_method_code => l_bflow_method_code
123847 ,p_business_class_code => l_bflow_class_code
123848 ,p_balance_type => l_balance_type_code);
123849 ELSE
123850 NULL;
123854 --
123851 -- No business flow processing for business flow method of NONE.
123852 END IF;
123853
123855 -- call analytical criteria
123856 --
123857
123858 --
123859 -- call description
123860 --
123861
123862 xla_ae_lines_pkg.SetLineDescription(
123863 p_ae_header_id => l_ae_header_id
123864 ,p_description => Description_1 (
123865 p_application_id => p_application_id
123866 , p_ae_header_id => l_ae_header_id
123867 , p_source_1 => p_source_1
123868 )
123869 );
123870
123871
123872 --
123873 -- call ADRs
123874 -- Bug 4922099
123875 --
123876 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
123877 (NVL(l_actual_upg_option, 'N') = 'O') OR
123878 (NVL(l_enc_upg_option, 'N') = 'O')
123879 )
123880 THEN
123881 NULL;
123882 --
123883 --
123884
123885 l_ccid := AcctDerRule_43(
123886 p_application_id => p_application_id
123887 , p_ae_header_id => l_ae_header_id
123888 , p_source_51 => p_source_51
123889 , x_transaction_coa_id => l_adr_transaction_coa_id
123890 , x_accounting_coa_id => l_adr_accounting_coa_id
123891 , x_value_type_code => l_adr_value_type_code
123892 , p_side => 'NA'
123893 );
123894
123895 xla_ae_lines_pkg.set_ccid(
123896 p_code_combination_id => l_ccid
123897 , p_value_type_code => l_adr_value_type_code
123898 , p_transaction_coa_id => l_adr_transaction_coa_id
123899 , p_accounting_coa_id => l_adr_accounting_coa_id
123900 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
123901 , p_adr_type_code => 'S'
123902 , p_component_type => l_component_type
123903 , p_component_code => l_component_code
123904 , p_component_type_code => l_component_type_code
123905 , p_component_appl_id => l_component_appl_id
123906 , p_amb_context_code => l_amb_context_code
123907 , p_side => 'NA'
123908 );
123909
123910
123911 --
123912 --
123913 END IF;
123914 --
123915 -- Bug 4922099
123916 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
123917 (NVL(l_enc_upg_option, 'N') = 'O')
123918 ) AND
123919 (l_bflow_method_code = 'PRIOR_ENTRY')
123920 )
123921 THEN
123922 IF
123923 --
123924 1 = 2
123925 --
123926 THEN
123927 xla_accounting_err_pkg.build_message
123928 (p_appli_s_name => 'XLA'
123929 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
123930 ,p_token_1 => 'LINE_NUMBER'
123931 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
123932 ,p_token_2 => 'LINE_TYPE_NAME'
123933 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
123934 l_component_type
123935 ,l_component_code
123936 ,l_component_type_code
123937 ,l_component_appl_id
123938 ,l_amb_context_code
123939 ,l_entity_code
123940 ,l_event_class_code
123941 )
123942 ,p_token_3 => 'OWNER'
123943 ,p_value_3 => xla_lookups_pkg.get_meaning(
123944 p_lookup_type => 'XLA_OWNER_TYPE'
123945 ,p_lookup_code => l_component_type_code
123946 )
123947 ,p_token_4 => 'PRODUCT_NAME'
123948 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
123949 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
123950 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
123951 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
123952 ,p_ae_header_id => NULL
123953 );
123954
123955 IF (C_LEVEL_ERROR>= g_log_level) THEN
123956 trace
123957 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
123958 ,p_level => C_LEVEL_ERROR
123959 ,p_module => l_log_module);
123960 END IF;
123961 END IF;
123962 END IF;
123963 --
123964 --
123965 ------------------------------------------------------------------------------------------------
123969 ------------------------------------------------------------------------------------------------
123966 -- 4219869 Business Flow
123967 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
123968 -- Prior Entry. Currently, the following code is always generated.
123970 XLA_AE_LINES_PKG.ValidateCurrentLine;
123971
123972 ------------------------------------------------------------------------------------
123973 -- 4219869 Business Flow
123974 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
123975 ------------------------------------------------------------------------------------
123976 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
123977
123978 ----------------------------------------------------------------------------------
123979 -- 4219869 Business Flow
123980 -- Update journal entry status -- Need to generate this within IF <condition>
123981 ----------------------------------------------------------------------------------
123982 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
123983 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
123984 ,p_balance_type_code => l_balance_type_code
123985 );
123986
123987 -------------------------------------------------------------------------------------------
123988 -- 4262811 - Generate the Accrual Reversal lines
123989 -------------------------------------------------------------------------------------------
123990 BEGIN
123991 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
123992 (g_array_event(p_event_id).array_value_num('header_index'));
123993 IF l_acc_rev_flag IS NULL THEN
123994 l_acc_rev_flag := 'N';
123995 END IF;
123996 EXCEPTION
123997 WHEN OTHERS THEN
123998 l_acc_rev_flag := 'N';
123999 END;
124000 --
124001 IF (l_acc_rev_flag = 'Y') THEN
124002
124003 -- 4645092 ------------------------------------------------------------------------------
124004 -- To allow MPA report to determine if it should generate report process
124005 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
124006 ------------------------------------------------------------------------------------------
124007
124008 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
124009 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
124010 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
124011 -- call ADRs
124012 -- Bug 4922099
124013 --
124014 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
124015 (NVL(l_actual_upg_option, 'N') = 'O') OR
124016 (NVL(l_enc_upg_option, 'N') = 'O')
124017 )
124018 THEN
124019 NULL;
124020 --
124021 --
124022
124023 l_ccid := AcctDerRule_43(
124024 p_application_id => p_application_id
124025 , p_ae_header_id => l_ae_header_id
124026 , p_source_51 => p_source_51
124027 , x_transaction_coa_id => l_adr_transaction_coa_id
124028 , x_accounting_coa_id => l_adr_accounting_coa_id
124029 , x_value_type_code => l_adr_value_type_code
124030 , p_side => 'NA'
124031 );
124032
124033 xla_ae_lines_pkg.set_ccid(
124034 p_code_combination_id => l_ccid
124035 , p_value_type_code => l_adr_value_type_code
124036 , p_transaction_coa_id => l_adr_transaction_coa_id
124037 , p_accounting_coa_id => l_adr_accounting_coa_id
124038 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
124039 , p_adr_type_code => 'S'
124040 , p_component_type => l_component_type
124041 , p_component_code => l_component_code
124042 , p_component_type_code => l_component_type_code
124043 , p_component_appl_id => l_component_appl_id
124044 , p_amb_context_code => l_amb_context_code
124045 , p_side => 'NA'
124046 );
124047
124048
124049 --
124050 --
124051 END IF;
124052
124053 --
124054 -- Update the line information that should be overwritten
124055 --
124056 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
124057 p_header_num => 1);
124058 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
124059
124060 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
124061
124062 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
124063 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
124064 END IF;
124065
124066 --
124067 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
124068 --
124069 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
124070 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
124071 ELSE
124072 ---------------------------------------------------------------------------------------------------
124073 -- 4262811a Switch Sign
124074 ---------------------------------------------------------------------------------------------------
124075 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
124076 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
124080 -- 5132302
124077 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
124078 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
124079 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
124081 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
124082 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
124083
124084 END IF;
124085
124086 -- 4955764
124087 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
124088 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
124089
124090
124091 XLA_AE_LINES_PKG.ValidateCurrentLine;
124092 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
124093
124094 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
124095 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
124096 ,p_balance_type_code => l_balance_type_code);
124097
124098 END IF;
124099
124100 -----------------------------------------------------------------------------------------
124101 -- 4262811 Multiperiod Accounting
124102 -----------------------------------------------------------------------------------------
124103 -- No MPA option is assigned.
124104
124105
124106 END IF;
124107 END IF;
124108 --
124109
124110 --
124111 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
124112 trace
124113 (p_msg => 'END of AcctLineType_204'
124114 ,p_level => C_LEVEL_PROCEDURE
124115 ,p_module => l_log_module);
124116 END IF;
124117 --
124118 EXCEPTION
124119 WHEN xla_exceptions_pkg.application_exception THEN
124120 RAISE;
124121 WHEN OTHERS THEN
124122 xla_exceptions_pkg.raise_message
124123 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_204');
124124 END AcctLineType_204;
124125 --
124126
124127 ---------------------------------------
124128 --
124129 -- PRIVATE FUNCTION
124130 -- AcctLineType_205
124131 --
124132 ---------------------------------------
124133 PROCEDURE AcctLineType_205 (
124134 p_application_id IN NUMBER
124135 ,p_event_id IN NUMBER
124136 ,p_calculate_acctd_flag IN VARCHAR2
124137 ,p_calculate_g_l_flag IN VARCHAR2
124138 ,p_actual_flag IN OUT VARCHAR2
124139 ,p_balance_type_code OUT VARCHAR2
124140 ,p_gain_or_loss_ref OUT VARCHAR2
124141
124142 --Invoice Distribution Description
124143 , p_source_1 IN VARCHAR2
124144 --Invoice Distribution Ledger Amount
124145 , p_source_21 IN NUMBER
124146 --Invoice Distribution Type
124147 , p_source_33 IN VARCHAR2
124148 , p_source_33_meaning IN VARCHAR2
124149 --Self-Assessed Tax Liability Account
124150 , p_source_51 IN NUMBER
124151 --Accounting Reversal Indicator
124152 , p_source_53 IN VARCHAR2
124153 --Distribution Link Type
124154 , p_source_55 IN VARCHAR2
124155 --Allocation to Main Distribution Identifier
124156 , p_source_57 IN NUMBER
124157 --Invoice Identifier
124158 , p_source_58 IN NUMBER
124159 --Invoice Distribution Identifier
124160 , p_source_64 IN NUMBER
124161 --Payables Encumbrance Upgrade Credit Account
124162 , p_source_65 IN NUMBER
124163 --Payables Encumbrance Upgrade Credit Amount
124164 , p_source_66 IN NUMBER
124165 --Invoice Currency Code
124166 , p_source_67 IN VARCHAR2
124167 --Payables Encumbrance Upgrade Credit Base Amount
124168 , p_source_68 IN NUMBER
124169 --Payables Encumbrance Upgrade Debit Account
124170 , p_source_69 IN NUMBER
124171 --Payables Encumbrance Upgrade Debit Amount
124172 , p_source_70 IN NUMBER
124173 --Payables Encumbrance Upgrade Debit Base Amount
124174 , p_source_71 IN NUMBER
124175 --Payables Encumbrance Upgrade Option
124176 , p_source_72 IN VARCHAR2
124177 --Invoice Distribution Amount
124178 , p_source_73 IN NUMBER
124179 --Deferred Accounting End Date
124180 , p_source_77 IN DATE
124181 --Deferred Accounting Option
124182 , p_source_78 IN VARCHAR2
124183 --Deferred Accounting Start Date
124184 , p_source_79 IN DATE
124185 --Override Accounted Amount Indicator
124186 , p_source_80 IN VARCHAR2
124187 , p_source_80_meaning IN VARCHAR2
124188 --Invoice Supplier Identifier
124189 , p_source_81 IN NUMBER
124190 --Invoice Supplier Site Identifier
124191 , p_source_82 IN NUMBER
124192 --Third Party Type
124193 , p_source_83 IN VARCHAR2
124194 --Parent Reversal Identifier
124195 , p_source_84 IN NUMBER
124196 --Invoice Distribution Statistical Amount
124197 , p_source_85 IN NUMBER
124198 --Invoice Distribution Tax Line Identifier
124199 , p_source_86 IN NUMBER
124200 --Invoice Distribution Tax Distribution Identifier from Tax
124201 , p_source_87 IN NUMBER
124202 --Invoice Distribution Summary Tax Line Identifier
124203 , p_source_88 IN NUMBER
124204 --Payables Upgrade Credit Encumbrance Type Identifier
124205 , p_source_89 IN NUMBER
124206 --Payables Upgrade Debit Encumbrance Type Identifier
124207 , p_source_90 IN NUMBER
124208 --Business Flow Accounts Payable Application Identifier
124212 --Business Flow Invoice Entity Code
124209 , p_source_91 IN NUMBER
124210 --Business Flow Invoice Distribution Type
124211 , p_source_92 IN VARCHAR2
124213 , p_source_93 IN VARCHAR2
124214 --Business Flow Invoice Distribution Identifier
124215 , p_source_94 IN NUMBER
124216 --Business Flow Invoice Identifier
124217 , p_source_95 IN NUMBER
124218 --Self-Assessed Tax Flag
124219 , p_source_142 IN VARCHAR2
124220 , p_source_142_meaning IN VARCHAR2
124221 --Invoice Exchange Date
124222 , p_source_143 IN DATE
124223 --Invoice Exchange Rate
124224 , p_source_144 IN NUMBER
124225 --Invoice Exchange Rate Type
124226 , p_source_145 IN VARCHAR2
124227 )
124228 IS
124229
124230 l_component_type VARCHAR2(80);
124231 l_component_code VARCHAR2(30);
124232 l_component_type_code VARCHAR2(1);
124233 l_component_appl_id INTEGER;
124234 l_amb_context_code VARCHAR2(30);
124235 l_entity_code VARCHAR2(30);
124236 l_event_class_code VARCHAR2(30);
124237 l_ae_header_id NUMBER;
124238 l_event_type_code VARCHAR2(30);
124239 l_line_definition_code VARCHAR2(30);
124240 l_line_definition_owner_code VARCHAR2(1);
124241 --
124242 -- adr variables
124243 l_segment VARCHAR2(30);
124244 l_ccid NUMBER;
124245 l_adr_transaction_coa_id NUMBER;
124246 l_adr_accounting_coa_id NUMBER;
124247 l_adr_flexfield_segment_code VARCHAR2(30);
124248 l_adr_flex_value_set_id NUMBER;
124249 l_adr_value_type_code VARCHAR2(30);
124250 l_adr_value_combination_id NUMBER;
124251 l_adr_value_segment_code VARCHAR2(30);
124252
124253 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
124254 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
124255 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
124256 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
124257
124258 -- 4262811 Variables ------------------------------------------------------------------------------------------
124259 l_entered_amt_idx NUMBER;
124260 l_accted_amt_idx NUMBER;
124261 l_acc_rev_flag VARCHAR2(1);
124262 l_accrual_line_num NUMBER;
124263 l_tmp_amt NUMBER;
124264 l_acc_rev_natural_side_code VARCHAR2(1);
124265
124266 l_num_entries NUMBER;
124267 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
124268 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
124269 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
124270 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
124271 l_recog_line_1 NUMBER;
124272 l_recog_line_2 NUMBER;
124273
124274 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
124275 l_bflow_applied_to_amt NUMBER; -- 5132302
124276 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
124277
124278 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
124279
124280 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
124281 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
124282
124283 ---------------------------------------------------------------------------------------------------------------
124284
124285
124286 --
124287 -- bulk performance
124288 --
124289 l_balance_type_code VARCHAR2(1);
124290 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
124291 l_log_module VARCHAR2(240);
124292
124293 --
124294 -- Upgrade strategy
124295 --
124296 l_actual_upg_option VARCHAR2(1);
124297 l_enc_upg_option VARCHAR2(1);
124298
124299 --
124300 BEGIN
124301 --
124302 IF g_log_enabled THEN
124303 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_205';
124304 END IF;
124305 --
124306 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
124307
124308 trace
124309 (p_msg => 'BEGIN of AcctLineType_205'
124310 ,p_level => C_LEVEL_PROCEDURE
124311 ,p_module => l_log_module);
124312
124313 END IF;
124314 --
124315 l_component_type := 'AMB_JLT';
124316 l_component_code := 'AP_SELF_ASSESSED_TAX_CRL_INV';
124317 l_component_type_code := 'S';
124318 l_component_appl_id := 200;
124319 l_amb_context_code := 'DEFAULT';
124320 l_entity_code := 'AP_INVOICES';
124321 l_event_class_code := 'INVOICES';
124322 l_event_type_code := 'INVOICES_ALL';
124323 l_line_definition_owner_code := 'S';
124324 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
124325 --
124326 l_balance_type_code := 'A';
124327 l_segment := NULL;
124328 l_ccid := NULL;
124329 l_adr_transaction_coa_id := NULL;
124330 l_adr_accounting_coa_id := NULL;
124331 l_adr_flexfield_segment_code := NULL;
124332 l_adr_flex_value_set_id := NULL;
124333 l_adr_value_type_code := NULL;
124334 l_adr_value_combination_id := NULL;
124335 l_adr_value_segment_code := NULL;
124336
124337 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
124338 l_bflow_class_code := ''; -- 4219869 Business Flow
124342 l_bflow_applied_to_amt_idx := NULL; -- 5132302
124339 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
124340 l_budgetary_control_flag := 'N';
124341
124343 l_bflow_applied_to_amt := NULL; -- 5132302
124344 l_entered_amt_idx := NULL; -- 4262811
124345 l_accted_amt_idx := NULL; -- 4262811
124346 l_acc_rev_flag := NULL; -- 4262811
124347 l_accrual_line_num := NULL; -- 4262811
124348 l_tmp_amt := NULL; -- 4262811
124349 --
124350
124351 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
124352 l_balance_type_code <> 'B' THEN
124353 IF (NVL(p_source_33,'
124354 ') = 'REC_TAX' OR
124355 NVL(p_source_33,'
124356 ') = 'NONREC_TAX') AND
124357 NVL(p_source_142,'
124358 ') = 'Y'
124359 THEN
124360
124361 --
124362 XLA_AE_LINES_PKG.SetNewLine;
124363
124364 p_balance_type_code := l_balance_type_code;
124365 -- set the flag so later we will know whether the gain loss line needs to be created
124366
124367 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
124368 p_actual_flag :='A';
124369 END IF;
124370
124371 --
124372 -- bulk performance
124373 --
124374 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
124375 p_header_num => 0); -- 4262811
124376 --
124377 -- set accounting line options
124378 --
124379 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
124380 p_natural_side_code => 'C'
124381 , p_gain_or_loss_flag => 'N'
124382 , p_gl_transfer_mode_code => 'S'
124383 , p_acct_entry_type_code => 'A'
124384 , p_switch_side_flag => 'Y'
124385 , p_merge_duplicate_code => 'A'
124386 );
124387 --
124388 l_acc_rev_natural_side_code := 'D'; -- 4262811
124389 --
124390 --
124391 -- set accounting line type info
124392 --
124393 xla_ae_lines_pkg.SetAcctLineType
124394 (p_component_type => l_component_type
124395 ,p_event_type_code => l_event_type_code
124396 ,p_line_definition_owner_code => l_line_definition_owner_code
124397 ,p_line_definition_code => l_line_definition_code
124398 ,p_accounting_line_code => l_component_code
124399 ,p_accounting_line_type_code => l_component_type_code
124400 ,p_accounting_line_appl_id => l_component_appl_id
124401 ,p_amb_context_code => l_amb_context_code
124402 ,p_entity_code => l_entity_code
124403 ,p_event_class_code => l_event_class_code);
124404 --
124405 -- set accounting class
124406 --
124407 xla_ae_lines_pkg.SetAcctClass(
124408 p_accounting_class_code => 'SELF_ASSESSED_TAX'
124409 , p_ae_header_id => l_ae_header_id
124410 );
124411
124412 --
124413 -- set rounding class
124414 --
124415 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
124416 'SELF_ASSESSED_TAX';
124417
124418 --
124419 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
124420 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
124421 --
124422 -- bulk performance
124423 --
124424 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
124425
124426 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
124427 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
124428
124429 -- 4955764
124430 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
124431 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
124432
124433 -- 4458381 Public Sector Enh
124434
124435 --
124436 -- set accounting attributes for the line type
124437 --
124438 l_entered_amt_idx := 24;
124439 l_accted_amt_idx := 29;
124440 l_bflow_applied_to_amt_idx := 7; -- 5132302
124441 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
124442 l_rec_acct_attrs.array_char_value(1) := p_source_53;
124443 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
124444 l_rec_acct_attrs.array_num_value(2) :=
124445 xla_ae_sources_pkg.GetSystemSourceNum(
124446 p_source_code => 'XLA_EVENT_APPL_ID'
124447 , p_source_type_code => 'Y'
124448 , p_source_application_id => 602
124449 );
124450 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
124451 l_rec_acct_attrs.array_char_value(3) := p_source_55;
124452 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
124453 l_rec_acct_attrs.array_char_value(4) :=
124454 xla_ae_sources_pkg.GetSystemSourceChar(
124455 p_source_code => 'XLA_ENTITY_CODE'
124456 , p_source_type_code => 'Y'
124457 , p_source_application_id => 602
124458 );
124459 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
124460 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
124461 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
124462 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
124466 l_rec_acct_attrs.array_num_value(8) := p_source_91;
124463 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
124464 l_rec_acct_attrs.array_num_value(7) := p_source_73;
124465 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
124467 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
124468 l_rec_acct_attrs.array_char_value(9) := p_source_92;
124469 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
124470 l_rec_acct_attrs.array_char_value(10) := p_source_93;
124471 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
124472 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
124473 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
124474 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_95);
124475 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
124476 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_64);
124477 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
124478 l_rec_acct_attrs.array_char_value(14) := p_source_55;
124479 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
124480 l_rec_acct_attrs.array_num_value(15) := p_source_65;
124481 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
124482 l_rec_acct_attrs.array_num_value(16) := p_source_66;
124483 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
124484 l_rec_acct_attrs.array_char_value(17) := p_source_67;
124485 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
124486 l_rec_acct_attrs.array_num_value(18) := p_source_68;
124487 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
124488 l_rec_acct_attrs.array_num_value(19) := p_source_69;
124489 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
124490 l_rec_acct_attrs.array_num_value(20) := p_source_70;
124491 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
124492 l_rec_acct_attrs.array_char_value(21) := p_source_67;
124493 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
124494 l_rec_acct_attrs.array_num_value(22) := p_source_71;
124495 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
124496 l_rec_acct_attrs.array_char_value(23) := p_source_72;
124497 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
124498 l_rec_acct_attrs.array_num_value(24) := p_source_73;
124499 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
124500 l_rec_acct_attrs.array_char_value(25) := p_source_67;
124501 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
124502 l_rec_acct_attrs.array_date_value(26) := p_source_143;
124503 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
124504 l_rec_acct_attrs.array_num_value(27) := p_source_144;
124505 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
124506 l_rec_acct_attrs.array_char_value(28) := p_source_145;
124507 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
124508 l_rec_acct_attrs.array_num_value(29) := p_source_21;
124509 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
124510 l_rec_acct_attrs.array_date_value(30) := p_source_77;
124511 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
124512 l_rec_acct_attrs.array_char_value(31) := p_source_78;
124513 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
124514 l_rec_acct_attrs.array_date_value(32) := p_source_79;
124515 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
124516 l_rec_acct_attrs.array_char_value(33) := p_source_80;
124517 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
124518 l_rec_acct_attrs.array_num_value(34) := p_source_81;
124519 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
124520 l_rec_acct_attrs.array_num_value(35) := p_source_82;
124521 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
124522 l_rec_acct_attrs.array_char_value(36) := p_source_83;
124523 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
124524 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_84);
124525 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
124526 l_rec_acct_attrs.array_char_value(38) := p_source_55;
124527 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
124528 l_rec_acct_attrs.array_num_value(39) := p_source_85;
124529 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
124530 l_rec_acct_attrs.array_num_value(40) := p_source_86;
124531 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
124532 l_rec_acct_attrs.array_num_value(41) := p_source_87;
124533 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
124534 l_rec_acct_attrs.array_num_value(42) := p_source_88;
124535 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
124536 l_rec_acct_attrs.array_num_value(43) := p_source_89;
124537 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
124538 l_rec_acct_attrs.array_num_value(44) := p_source_90;
124539
124540 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
124541 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
124542
124543 ---------------------------------------------------------------------------------------------------------------
124544 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
124548 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
124545 ---------------------------------------------------------------------------------------------------------------
124546 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
124547
124549 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
124550
124551 IF xla_accounting_cache_pkg.GetValueChar
124552 (p_source_code => 'LEDGER_CATEGORY_CODE'
124553 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
124554 AND l_bflow_method_code = 'PRIOR_ENTRY'
124555 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
124556 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
124557 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
124558 )
124559 THEN
124560 xla_ae_lines_pkg.BflowUpgEntry
124561 (p_business_method_code => l_bflow_method_code
124562 ,p_business_class_code => l_bflow_class_code
124563 ,p_balance_type => l_balance_type_code);
124564 ELSE
124565 NULL;
124566 -- No business flow processing for business flow method of NONE.
124567 END IF;
124568
124569 --
124570 -- call analytical criteria
124571 --
124572
124573 --
124574 -- call description
124575 --
124576
124577 xla_ae_lines_pkg.SetLineDescription(
124578 p_ae_header_id => l_ae_header_id
124579 ,p_description => Description_1 (
124580 p_application_id => p_application_id
124581 , p_ae_header_id => l_ae_header_id
124582 , p_source_1 => p_source_1
124583 )
124584 );
124585
124586
124587 --
124588 -- call ADRs
124589 -- Bug 4922099
124590 --
124591 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
124592 (NVL(l_actual_upg_option, 'N') = 'O') OR
124593 (NVL(l_enc_upg_option, 'N') = 'O')
124594 )
124595 THEN
124596 NULL;
124597 --
124598 --
124599
124600 l_ccid := AcctDerRule_43(
124601 p_application_id => p_application_id
124602 , p_ae_header_id => l_ae_header_id
124603 , p_source_51 => p_source_51
124604 , x_transaction_coa_id => l_adr_transaction_coa_id
124605 , x_accounting_coa_id => l_adr_accounting_coa_id
124606 , x_value_type_code => l_adr_value_type_code
124607 , p_side => 'NA'
124608 );
124609
124610 xla_ae_lines_pkg.set_ccid(
124611 p_code_combination_id => l_ccid
124612 , p_value_type_code => l_adr_value_type_code
124613 , p_transaction_coa_id => l_adr_transaction_coa_id
124614 , p_accounting_coa_id => l_adr_accounting_coa_id
124615 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
124616 , p_adr_type_code => 'S'
124617 , p_component_type => l_component_type
124618 , p_component_code => l_component_code
124619 , p_component_type_code => l_component_type_code
124620 , p_component_appl_id => l_component_appl_id
124621 , p_amb_context_code => l_amb_context_code
124622 , p_side => 'NA'
124623 );
124624
124625
124626 --
124627 --
124628 END IF;
124629 --
124630 -- Bug 4922099
124631 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
124632 (NVL(l_enc_upg_option, 'N') = 'O')
124633 ) AND
124634 (l_bflow_method_code = 'PRIOR_ENTRY')
124635 )
124636 THEN
124637 IF
124638 --
124639 1 = 2
124640 --
124641 THEN
124642 xla_accounting_err_pkg.build_message
124643 (p_appli_s_name => 'XLA'
124644 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
124645 ,p_token_1 => 'LINE_NUMBER'
124646 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
124647 ,p_token_2 => 'LINE_TYPE_NAME'
124648 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
124649 l_component_type
124650 ,l_component_code
124651 ,l_component_type_code
124652 ,l_component_appl_id
124653 ,l_amb_context_code
124654 ,l_entity_code
124655 ,l_event_class_code
124656 )
124657 ,p_token_3 => 'OWNER'
124658 ,p_value_3 => xla_lookups_pkg.get_meaning(
124659 p_lookup_type => 'XLA_OWNER_TYPE'
124660 ,p_lookup_code => l_component_type_code
124664 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
124661 )
124662 ,p_token_4 => 'PRODUCT_NAME'
124663 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
124665 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
124666 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
124667 ,p_ae_header_id => NULL
124668 );
124669
124670 IF (C_LEVEL_ERROR>= g_log_level) THEN
124671 trace
124672 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
124673 ,p_level => C_LEVEL_ERROR
124674 ,p_module => l_log_module);
124675 END IF;
124676 END IF;
124677 END IF;
124678 --
124679 --
124680 ------------------------------------------------------------------------------------------------
124681 -- 4219869 Business Flow
124682 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
124683 -- Prior Entry. Currently, the following code is always generated.
124684 ------------------------------------------------------------------------------------------------
124685 XLA_AE_LINES_PKG.ValidateCurrentLine;
124686
124687 ------------------------------------------------------------------------------------
124688 -- 4219869 Business Flow
124689 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
124690 ------------------------------------------------------------------------------------
124691 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
124692
124693 ----------------------------------------------------------------------------------
124694 -- 4219869 Business Flow
124695 -- Update journal entry status -- Need to generate this within IF <condition>
124696 ----------------------------------------------------------------------------------
124697 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
124698 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
124699 ,p_balance_type_code => l_balance_type_code
124700 );
124701
124702 -------------------------------------------------------------------------------------------
124703 -- 4262811 - Generate the Accrual Reversal lines
124704 -------------------------------------------------------------------------------------------
124705 BEGIN
124706 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
124707 (g_array_event(p_event_id).array_value_num('header_index'));
124708 IF l_acc_rev_flag IS NULL THEN
124709 l_acc_rev_flag := 'N';
124710 END IF;
124711 EXCEPTION
124712 WHEN OTHERS THEN
124713 l_acc_rev_flag := 'N';
124714 END;
124715 --
124716 IF (l_acc_rev_flag = 'Y') THEN
124717
124718 -- 4645092 ------------------------------------------------------------------------------
124719 -- To allow MPA report to determine if it should generate report process
124720 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
124721 ------------------------------------------------------------------------------------------
124722
124723 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
124724 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
124725 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
124726 -- call ADRs
124727 -- Bug 4922099
124728 --
124729 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
124730 (NVL(l_actual_upg_option, 'N') = 'O') OR
124731 (NVL(l_enc_upg_option, 'N') = 'O')
124732 )
124733 THEN
124734 NULL;
124735 --
124736 --
124737
124738 l_ccid := AcctDerRule_43(
124739 p_application_id => p_application_id
124740 , p_ae_header_id => l_ae_header_id
124741 , p_source_51 => p_source_51
124742 , x_transaction_coa_id => l_adr_transaction_coa_id
124743 , x_accounting_coa_id => l_adr_accounting_coa_id
124744 , x_value_type_code => l_adr_value_type_code
124745 , p_side => 'NA'
124746 );
124747
124748 xla_ae_lines_pkg.set_ccid(
124749 p_code_combination_id => l_ccid
124750 , p_value_type_code => l_adr_value_type_code
124751 , p_transaction_coa_id => l_adr_transaction_coa_id
124752 , p_accounting_coa_id => l_adr_accounting_coa_id
124753 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
124754 , p_adr_type_code => 'S'
124755 , p_component_type => l_component_type
124756 , p_component_code => l_component_code
124757 , p_component_type_code => l_component_type_code
124758 , p_component_appl_id => l_component_appl_id
124759 , p_amb_context_code => l_amb_context_code
124760 , p_side => 'NA'
124761 );
124762
124763
124764 --
124765 --
124766 END IF;
124767
124768 --
124769 -- Update the line information that should be overwritten
124770 --
124771 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
124772 p_header_num => 1);
124776
124773 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
124774
124775 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
124777 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
124778 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
124779 END IF;
124780
124781 --
124782 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
124783 --
124784 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
124785 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
124786 ELSE
124787 ---------------------------------------------------------------------------------------------------
124788 -- 4262811a Switch Sign
124789 ---------------------------------------------------------------------------------------------------
124790 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
124791 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
124792 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
124793 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
124794 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
124795 -- 5132302
124796 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
124797 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
124798
124799 END IF;
124800
124801 -- 4955764
124802 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
124803 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
124804
124805
124806 XLA_AE_LINES_PKG.ValidateCurrentLine;
124807 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
124808
124809 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
124810 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
124811 ,p_balance_type_code => l_balance_type_code);
124812
124813 END IF;
124814
124815 -----------------------------------------------------------------------------------------
124816 -- 4262811 Multiperiod Accounting
124817 -----------------------------------------------------------------------------------------
124818 -- No MPA option is assigned.
124819
124820
124821 END IF;
124822 END IF;
124823 --
124824
124825 --
124826 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
124827 trace
124828 (p_msg => 'END of AcctLineType_205'
124829 ,p_level => C_LEVEL_PROCEDURE
124830 ,p_module => l_log_module);
124831 END IF;
124832 --
124833 EXCEPTION
124834 WHEN xla_exceptions_pkg.application_exception THEN
124835 RAISE;
124836 WHEN OTHERS THEN
124837 xla_exceptions_pkg.raise_message
124838 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_205');
124839 END AcctLineType_205;
124840 --
124841
124842 ---------------------------------------
124843 --
124844 -- PRIVATE FUNCTION
124845 -- AcctLineType_206
124846 --
124847 ---------------------------------------
124848 PROCEDURE AcctLineType_206 (
124849 p_application_id IN NUMBER
124850 ,p_event_id IN NUMBER
124851 ,p_calculate_acctd_flag IN VARCHAR2
124852 ,p_calculate_g_l_flag IN VARCHAR2
124853 ,p_actual_flag IN OUT VARCHAR2
124854 ,p_balance_type_code OUT VARCHAR2
124855 ,p_gain_or_loss_ref OUT VARCHAR2
124856
124857 --Invoice Distribution Description
124858 , p_source_1 IN VARCHAR2
124859 --Invoice Distribution Ledger Amount
124860 , p_source_21 IN NUMBER
124861 --Invoice Distribution Type
124862 , p_source_33 IN VARCHAR2
124863 , p_source_33_meaning IN VARCHAR2
124864 --Self-Assessed Tax Liability Account
124865 , p_source_51 IN NUMBER
124866 --Accounting Reversal Indicator
124867 , p_source_53 IN VARCHAR2
124868 --Distribution Link Type
124869 , p_source_55 IN VARCHAR2
124870 --Allocation to Main Distribution Identifier
124871 , p_source_57 IN NUMBER
124872 --Invoice Identifier
124873 , p_source_58 IN NUMBER
124874 --Invoice Distribution Identifier
124875 , p_source_64 IN NUMBER
124876 --Payables Encumbrance Upgrade Credit Account
124877 , p_source_65 IN NUMBER
124878 --Payables Encumbrance Upgrade Credit Amount
124879 , p_source_66 IN NUMBER
124880 --Invoice Currency Code
124881 , p_source_67 IN VARCHAR2
124882 --Payables Encumbrance Upgrade Credit Base Amount
124883 , p_source_68 IN NUMBER
124884 --Payables Encumbrance Upgrade Debit Account
124885 , p_source_69 IN NUMBER
124886 --Payables Encumbrance Upgrade Debit Amount
124887 , p_source_70 IN NUMBER
124888 --Payables Encumbrance Upgrade Debit Base Amount
124889 , p_source_71 IN NUMBER
124890 --Payables Encumbrance Upgrade Option
124891 , p_source_72 IN VARCHAR2
124892 --Invoice Distribution Amount
124893 , p_source_73 IN NUMBER
124894 --Deferred Accounting End Date
124898 --Deferred Accounting Start Date
124895 , p_source_77 IN DATE
124896 --Deferred Accounting Option
124897 , p_source_78 IN VARCHAR2
124899 , p_source_79 IN DATE
124900 --Override Accounted Amount Indicator
124901 , p_source_80 IN VARCHAR2
124902 , p_source_80_meaning IN VARCHAR2
124903 --Invoice Supplier Identifier
124904 , p_source_81 IN NUMBER
124905 --Invoice Supplier Site Identifier
124906 , p_source_82 IN NUMBER
124907 --Third Party Type
124908 , p_source_83 IN VARCHAR2
124909 --Parent Reversal Identifier
124910 , p_source_84 IN NUMBER
124911 --Invoice Distribution Statistical Amount
124912 , p_source_85 IN NUMBER
124913 --Invoice Distribution Tax Line Identifier
124914 , p_source_86 IN NUMBER
124915 --Invoice Distribution Tax Distribution Identifier from Tax
124916 , p_source_87 IN NUMBER
124917 --Invoice Distribution Summary Tax Line Identifier
124918 , p_source_88 IN NUMBER
124919 --Payables Upgrade Credit Encumbrance Type Identifier
124920 , p_source_89 IN NUMBER
124921 --Payables Upgrade Debit Encumbrance Type Identifier
124922 , p_source_90 IN NUMBER
124923 --Business Flow Accounts Payable Application Identifier
124924 , p_source_91 IN NUMBER
124925 --Business Flow Invoice Distribution Type
124926 , p_source_92 IN VARCHAR2
124927 --Business Flow Invoice Entity Code
124928 , p_source_93 IN VARCHAR2
124929 --Business Flow Invoice Distribution Identifier
124930 , p_source_94 IN NUMBER
124931 --Business Flow Invoice Identifier
124932 , p_source_95 IN NUMBER
124933 --Self-Assessed Tax Flag
124934 , p_source_142 IN VARCHAR2
124935 , p_source_142_meaning IN VARCHAR2
124936 --Invoice Exchange Date
124937 , p_source_143 IN DATE
124938 --Invoice Exchange Rate
124939 , p_source_144 IN NUMBER
124940 --Invoice Exchange Rate Type
124941 , p_source_145 IN VARCHAR2
124942 )
124943 IS
124944
124945 l_component_type VARCHAR2(80);
124946 l_component_code VARCHAR2(30);
124947 l_component_type_code VARCHAR2(1);
124948 l_component_appl_id INTEGER;
124949 l_amb_context_code VARCHAR2(30);
124950 l_entity_code VARCHAR2(30);
124951 l_event_class_code VARCHAR2(30);
124952 l_ae_header_id NUMBER;
124953 l_event_type_code VARCHAR2(30);
124954 l_line_definition_code VARCHAR2(30);
124955 l_line_definition_owner_code VARCHAR2(1);
124956 --
124957 -- adr variables
124958 l_segment VARCHAR2(30);
124959 l_ccid NUMBER;
124960 l_adr_transaction_coa_id NUMBER;
124961 l_adr_accounting_coa_id NUMBER;
124962 l_adr_flexfield_segment_code VARCHAR2(30);
124963 l_adr_flex_value_set_id NUMBER;
124964 l_adr_value_type_code VARCHAR2(30);
124965 l_adr_value_combination_id NUMBER;
124966 l_adr_value_segment_code VARCHAR2(30);
124967
124968 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
124969 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
124970 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
124971 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
124972
124973 -- 4262811 Variables ------------------------------------------------------------------------------------------
124974 l_entered_amt_idx NUMBER;
124975 l_accted_amt_idx NUMBER;
124976 l_acc_rev_flag VARCHAR2(1);
124977 l_accrual_line_num NUMBER;
124978 l_tmp_amt NUMBER;
124979 l_acc_rev_natural_side_code VARCHAR2(1);
124980
124981 l_num_entries NUMBER;
124982 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
124983 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
124984 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
124985 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
124986 l_recog_line_1 NUMBER;
124987 l_recog_line_2 NUMBER;
124988
124989 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
124990 l_bflow_applied_to_amt NUMBER; -- 5132302
124991 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
124992
124993 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
124994
124995 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
124996 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
124997
124998 ---------------------------------------------------------------------------------------------------------------
124999
125000
125001 --
125002 -- bulk performance
125003 --
125004 l_balance_type_code VARCHAR2(1);
125005 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
125006 l_log_module VARCHAR2(240);
125007
125008 --
125009 -- Upgrade strategy
125010 --
125011 l_actual_upg_option VARCHAR2(1);
125012 l_enc_upg_option VARCHAR2(1);
125013
125014 --
125015 BEGIN
125016 --
125017 IF g_log_enabled THEN
125018 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_206';
125019 END IF;
125020 --
125021 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
125022
125026 ,p_module => l_log_module);
125023 trace
125024 (p_msg => 'BEGIN of AcctLineType_206'
125025 ,p_level => C_LEVEL_PROCEDURE
125027
125028 END IF;
125029 --
125030 l_component_type := 'AMB_JLT';
125031 l_component_code := 'AP_SELF_ASSESSED_TAX_LIB_PP';
125032 l_component_type_code := 'S';
125033 l_component_appl_id := 200;
125034 l_amb_context_code := 'DEFAULT';
125035 l_entity_code := 'AP_INVOICES';
125036 l_event_class_code := 'PREPAYMENTS';
125037 l_event_type_code := 'PREPAYMENTS_ALL';
125038 l_line_definition_owner_code := 'S';
125039 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
125040 --
125041 l_balance_type_code := 'A';
125042 l_segment := NULL;
125043 l_ccid := NULL;
125044 l_adr_transaction_coa_id := NULL;
125045 l_adr_accounting_coa_id := NULL;
125046 l_adr_flexfield_segment_code := NULL;
125047 l_adr_flex_value_set_id := NULL;
125048 l_adr_value_type_code := NULL;
125049 l_adr_value_combination_id := NULL;
125050 l_adr_value_segment_code := NULL;
125051
125052 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
125053 l_bflow_class_code := ''; -- 4219869 Business Flow
125054 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
125055 l_budgetary_control_flag := 'N';
125056
125057 l_bflow_applied_to_amt_idx := NULL; -- 5132302
125058 l_bflow_applied_to_amt := NULL; -- 5132302
125059 l_entered_amt_idx := NULL; -- 4262811
125060 l_accted_amt_idx := NULL; -- 4262811
125061 l_acc_rev_flag := NULL; -- 4262811
125062 l_accrual_line_num := NULL; -- 4262811
125063 l_tmp_amt := NULL; -- 4262811
125064 --
125065
125066 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
125067 l_balance_type_code <> 'B' THEN
125068 IF (NVL(p_source_33,'
125069 ') = 'REC_TAX' OR
125070 NVL(p_source_33,'
125071 ') = 'NONREC_TAX') AND
125072 NVL(p_source_142,'
125073 ') = 'Y'
125074 THEN
125075
125076 --
125077 XLA_AE_LINES_PKG.SetNewLine;
125078
125079 p_balance_type_code := l_balance_type_code;
125080 -- set the flag so later we will know whether the gain loss line needs to be created
125081
125082 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
125083 p_actual_flag :='A';
125084 END IF;
125085
125086 --
125087 -- bulk performance
125088 --
125089 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
125090 p_header_num => 0); -- 4262811
125091 --
125092 -- set accounting line options
125093 --
125094 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
125095 p_natural_side_code => 'C'
125096 , p_gain_or_loss_flag => 'N'
125097 , p_gl_transfer_mode_code => 'S'
125098 , p_acct_entry_type_code => 'A'
125099 , p_switch_side_flag => 'Y'
125100 , p_merge_duplicate_code => 'A'
125101 );
125102 --
125103 l_acc_rev_natural_side_code := 'D'; -- 4262811
125104 --
125105 --
125106 -- set accounting line type info
125107 --
125108 xla_ae_lines_pkg.SetAcctLineType
125109 (p_component_type => l_component_type
125110 ,p_event_type_code => l_event_type_code
125111 ,p_line_definition_owner_code => l_line_definition_owner_code
125112 ,p_line_definition_code => l_line_definition_code
125113 ,p_accounting_line_code => l_component_code
125114 ,p_accounting_line_type_code => l_component_type_code
125115 ,p_accounting_line_appl_id => l_component_appl_id
125116 ,p_amb_context_code => l_amb_context_code
125117 ,p_entity_code => l_entity_code
125118 ,p_event_class_code => l_event_class_code);
125119 --
125120 -- set accounting class
125121 --
125122 xla_ae_lines_pkg.SetAcctClass(
125123 p_accounting_class_code => 'SELF_ASSESSED_TAX'
125124 , p_ae_header_id => l_ae_header_id
125125 );
125126
125127 --
125128 -- set rounding class
125129 --
125130 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
125131 'SELF_ASSESSED_TAX';
125132
125133 --
125134 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
125135 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
125136 --
125137 -- bulk performance
125138 --
125139 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
125140
125141 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
125142 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
125143
125144 -- 4955764
125145 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
125146 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
125147
125148 -- 4458381 Public Sector Enh
125149
125150 --
125154 l_accted_amt_idx := 28;
125151 -- set accounting attributes for the line type
125152 --
125153 l_entered_amt_idx := 23;
125155 l_bflow_applied_to_amt_idx := NULL; -- 5132302
125156 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
125157 l_rec_acct_attrs.array_char_value(1) := p_source_53;
125158 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
125159 l_rec_acct_attrs.array_num_value(2) :=
125160 xla_ae_sources_pkg.GetSystemSourceNum(
125161 p_source_code => 'XLA_EVENT_APPL_ID'
125162 , p_source_type_code => 'Y'
125163 , p_source_application_id => 602
125164 );
125165 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
125166 l_rec_acct_attrs.array_char_value(3) := p_source_55;
125167 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
125168 l_rec_acct_attrs.array_char_value(4) :=
125169 xla_ae_sources_pkg.GetSystemSourceChar(
125170 p_source_code => 'XLA_ENTITY_CODE'
125171 , p_source_type_code => 'Y'
125172 , p_source_application_id => 602
125173 );
125174 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
125175 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
125176 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
125177 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
125178 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
125179 l_rec_acct_attrs.array_num_value(7) := p_source_91;
125180 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
125181 l_rec_acct_attrs.array_char_value(8) := p_source_92;
125182 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
125183 l_rec_acct_attrs.array_char_value(9) := p_source_93;
125184 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
125185 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
125186 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
125187 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
125188 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
125189 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
125190 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
125191 l_rec_acct_attrs.array_char_value(13) := p_source_55;
125192 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
125193 l_rec_acct_attrs.array_num_value(14) := p_source_65;
125194 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
125195 l_rec_acct_attrs.array_num_value(15) := p_source_66;
125196 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
125197 l_rec_acct_attrs.array_char_value(16) := p_source_67;
125198 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
125199 l_rec_acct_attrs.array_num_value(17) := p_source_68;
125200 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
125201 l_rec_acct_attrs.array_num_value(18) := p_source_69;
125202 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
125203 l_rec_acct_attrs.array_num_value(19) := p_source_70;
125204 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
125205 l_rec_acct_attrs.array_char_value(20) := p_source_67;
125206 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
125207 l_rec_acct_attrs.array_num_value(21) := p_source_71;
125208 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
125209 l_rec_acct_attrs.array_char_value(22) := p_source_72;
125210 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
125211 l_rec_acct_attrs.array_num_value(23) := p_source_73;
125212 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
125213 l_rec_acct_attrs.array_char_value(24) := p_source_67;
125214 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
125215 l_rec_acct_attrs.array_date_value(25) := p_source_143;
125216 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
125217 l_rec_acct_attrs.array_num_value(26) := p_source_144;
125218 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
125219 l_rec_acct_attrs.array_char_value(27) := p_source_145;
125220 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
125221 l_rec_acct_attrs.array_num_value(28) := p_source_21;
125222 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
125223 l_rec_acct_attrs.array_date_value(29) := p_source_77;
125224 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
125225 l_rec_acct_attrs.array_char_value(30) := p_source_78;
125226 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
125227 l_rec_acct_attrs.array_date_value(31) := p_source_79;
125228 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
125229 l_rec_acct_attrs.array_char_value(32) := p_source_80;
125230 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
125231 l_rec_acct_attrs.array_num_value(33) := p_source_81;
125232 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
125233 l_rec_acct_attrs.array_num_value(34) := p_source_82;
125234 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
125235 l_rec_acct_attrs.array_char_value(35) := p_source_83;
125236 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
125237 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
125238 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
125239 l_rec_acct_attrs.array_char_value(37) := p_source_55;
125243 l_rec_acct_attrs.array_num_value(39) := p_source_86;
125240 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
125241 l_rec_acct_attrs.array_num_value(38) := p_source_85;
125242 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
125244 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
125245 l_rec_acct_attrs.array_num_value(40) := p_source_87;
125246 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
125247 l_rec_acct_attrs.array_num_value(41) := p_source_88;
125248 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
125249 l_rec_acct_attrs.array_num_value(42) := p_source_89;
125250 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
125251 l_rec_acct_attrs.array_num_value(43) := p_source_90;
125252
125253 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
125254 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
125255
125256 ---------------------------------------------------------------------------------------------------------------
125257 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
125258 ---------------------------------------------------------------------------------------------------------------
125259 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
125260
125261 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
125262 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
125263
125264 IF xla_accounting_cache_pkg.GetValueChar
125265 (p_source_code => 'LEDGER_CATEGORY_CODE'
125266 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
125267 AND l_bflow_method_code = 'PRIOR_ENTRY'
125268 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
125269 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
125270 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
125271 )
125272 THEN
125273 xla_ae_lines_pkg.BflowUpgEntry
125274 (p_business_method_code => l_bflow_method_code
125275 ,p_business_class_code => l_bflow_class_code
125276 ,p_balance_type => l_balance_type_code);
125277 ELSE
125278 NULL;
125279 -- No business flow processing for business flow method of NONE.
125280 END IF;
125281
125282 --
125283 -- call analytical criteria
125284 --
125285
125286 --
125287 -- call description
125288 --
125289
125290 xla_ae_lines_pkg.SetLineDescription(
125291 p_ae_header_id => l_ae_header_id
125292 ,p_description => Description_1 (
125293 p_application_id => p_application_id
125294 , p_ae_header_id => l_ae_header_id
125295 , p_source_1 => p_source_1
125296 )
125297 );
125298
125299
125300 --
125301 -- call ADRs
125302 -- Bug 4922099
125303 --
125304 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
125305 (NVL(l_actual_upg_option, 'N') = 'O') OR
125306 (NVL(l_enc_upg_option, 'N') = 'O')
125307 )
125308 THEN
125309 NULL;
125310 --
125311 --
125312
125313 l_ccid := AcctDerRule_43(
125314 p_application_id => p_application_id
125315 , p_ae_header_id => l_ae_header_id
125316 , p_source_51 => p_source_51
125317 , x_transaction_coa_id => l_adr_transaction_coa_id
125318 , x_accounting_coa_id => l_adr_accounting_coa_id
125319 , x_value_type_code => l_adr_value_type_code
125320 , p_side => 'NA'
125321 );
125322
125323 xla_ae_lines_pkg.set_ccid(
125324 p_code_combination_id => l_ccid
125325 , p_value_type_code => l_adr_value_type_code
125326 , p_transaction_coa_id => l_adr_transaction_coa_id
125327 , p_accounting_coa_id => l_adr_accounting_coa_id
125328 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
125329 , p_adr_type_code => 'S'
125330 , p_component_type => l_component_type
125331 , p_component_code => l_component_code
125332 , p_component_type_code => l_component_type_code
125333 , p_component_appl_id => l_component_appl_id
125334 , p_amb_context_code => l_amb_context_code
125335 , p_side => 'NA'
125336 );
125337
125338
125339 --
125340 --
125341 END IF;
125342 --
125343 -- Bug 4922099
125344 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
125345 (NVL(l_enc_upg_option, 'N') = 'O')
125346 ) AND
125347 (l_bflow_method_code = 'PRIOR_ENTRY')
125348 )
125349 THEN
125350 IF
125351 --
125352 1 = 2
125353 --
125354 THEN
125355 xla_accounting_err_pkg.build_message
125356 (p_appli_s_name => 'XLA'
125357 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
125358 ,p_token_1 => 'LINE_NUMBER'
125359 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
125360 ,p_token_2 => 'LINE_TYPE_NAME'
125361 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
125365 ,l_component_appl_id
125362 l_component_type
125363 ,l_component_code
125364 ,l_component_type_code
125366 ,l_amb_context_code
125367 ,l_entity_code
125368 ,l_event_class_code
125369 )
125370 ,p_token_3 => 'OWNER'
125371 ,p_value_3 => xla_lookups_pkg.get_meaning(
125372 p_lookup_type => 'XLA_OWNER_TYPE'
125373 ,p_lookup_code => l_component_type_code
125374 )
125375 ,p_token_4 => 'PRODUCT_NAME'
125376 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
125377 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
125378 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
125379 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
125380 ,p_ae_header_id => NULL
125381 );
125382
125383 IF (C_LEVEL_ERROR>= g_log_level) THEN
125384 trace
125385 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
125386 ,p_level => C_LEVEL_ERROR
125387 ,p_module => l_log_module);
125388 END IF;
125389 END IF;
125390 END IF;
125391 --
125392 --
125393 ------------------------------------------------------------------------------------------------
125394 -- 4219869 Business Flow
125395 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
125396 -- Prior Entry. Currently, the following code is always generated.
125397 ------------------------------------------------------------------------------------------------
125398 XLA_AE_LINES_PKG.ValidateCurrentLine;
125399
125400 ------------------------------------------------------------------------------------
125401 -- 4219869 Business Flow
125402 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
125403 ------------------------------------------------------------------------------------
125404 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
125405
125406 ----------------------------------------------------------------------------------
125407 -- 4219869 Business Flow
125408 -- Update journal entry status -- Need to generate this within IF <condition>
125409 ----------------------------------------------------------------------------------
125410 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
125411 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
125412 ,p_balance_type_code => l_balance_type_code
125413 );
125414
125415 -------------------------------------------------------------------------------------------
125416 -- 4262811 - Generate the Accrual Reversal lines
125417 -------------------------------------------------------------------------------------------
125418 BEGIN
125419 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
125420 (g_array_event(p_event_id).array_value_num('header_index'));
125421 IF l_acc_rev_flag IS NULL THEN
125422 l_acc_rev_flag := 'N';
125423 END IF;
125424 EXCEPTION
125425 WHEN OTHERS THEN
125426 l_acc_rev_flag := 'N';
125427 END;
125428 --
125429 IF (l_acc_rev_flag = 'Y') THEN
125430
125431 -- 4645092 ------------------------------------------------------------------------------
125432 -- To allow MPA report to determine if it should generate report process
125433 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
125434 ------------------------------------------------------------------------------------------
125435
125436 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
125437 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
125438 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
125439 -- call ADRs
125440 -- Bug 4922099
125441 --
125442 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
125443 (NVL(l_actual_upg_option, 'N') = 'O') OR
125444 (NVL(l_enc_upg_option, 'N') = 'O')
125445 )
125446 THEN
125447 NULL;
125448 --
125449 --
125450
125451 l_ccid := AcctDerRule_43(
125452 p_application_id => p_application_id
125453 , p_ae_header_id => l_ae_header_id
125454 , p_source_51 => p_source_51
125455 , x_transaction_coa_id => l_adr_transaction_coa_id
125456 , x_accounting_coa_id => l_adr_accounting_coa_id
125457 , x_value_type_code => l_adr_value_type_code
125458 , p_side => 'NA'
125462 p_code_combination_id => l_ccid
125459 );
125460
125461 xla_ae_lines_pkg.set_ccid(
125463 , p_value_type_code => l_adr_value_type_code
125464 , p_transaction_coa_id => l_adr_transaction_coa_id
125465 , p_accounting_coa_id => l_adr_accounting_coa_id
125466 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
125467 , p_adr_type_code => 'S'
125468 , p_component_type => l_component_type
125469 , p_component_code => l_component_code
125470 , p_component_type_code => l_component_type_code
125471 , p_component_appl_id => l_component_appl_id
125472 , p_amb_context_code => l_amb_context_code
125473 , p_side => 'NA'
125474 );
125475
125476
125477 --
125478 --
125479 END IF;
125480
125481 --
125482 -- Update the line information that should be overwritten
125483 --
125484 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
125485 p_header_num => 1);
125486 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
125487
125488 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
125489
125490 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
125491 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
125492 END IF;
125493
125494 --
125495 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
125496 --
125497 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
125498 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
125499 ELSE
125500 ---------------------------------------------------------------------------------------------------
125501 -- 4262811a Switch Sign
125502 ---------------------------------------------------------------------------------------------------
125503 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
125504 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
125505 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
125506 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
125507 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
125508 -- 5132302
125509 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
125510 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
125511
125512 END IF;
125513
125514 -- 4955764
125515 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
125516 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
125517
125518
125519 XLA_AE_LINES_PKG.ValidateCurrentLine;
125520 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
125521
125522 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
125523 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
125524 ,p_balance_type_code => l_balance_type_code);
125525
125526 END IF;
125527
125528 -----------------------------------------------------------------------------------------
125529 -- 4262811 Multiperiod Accounting
125530 -----------------------------------------------------------------------------------------
125531 -- No MPA option is assigned.
125532
125533
125534 END IF;
125535 END IF;
125536 --
125537
125538 --
125539 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
125540 trace
125541 (p_msg => 'END of AcctLineType_206'
125542 ,p_level => C_LEVEL_PROCEDURE
125543 ,p_module => l_log_module);
125544 END IF;
125545 --
125546 EXCEPTION
125547 WHEN xla_exceptions_pkg.application_exception THEN
125548 RAISE;
125549 WHEN OTHERS THEN
125550 xla_exceptions_pkg.raise_message
125551 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_206');
125552 END AcctLineType_206;
125553 --
125554
125555 ---------------------------------------
125556 --
125557 -- PRIVATE FUNCTION
125558 -- AcctLineType_207
125559 --
125560 ---------------------------------------
125561 PROCEDURE AcctLineType_207 (
125562 p_application_id IN NUMBER
125563 ,p_event_id IN NUMBER
125564 ,p_calculate_acctd_flag IN VARCHAR2
125565 ,p_calculate_g_l_flag IN VARCHAR2
125566 ,p_actual_flag IN OUT VARCHAR2
125567 ,p_balance_type_code OUT VARCHAR2
125568 ,p_gain_or_loss_ref OUT VARCHAR2
125569
125570 --Invoice Distribution Description
125571 , p_source_1 IN VARCHAR2
125572 --Invoice Distribution Ledger Amount
125573 , p_source_21 IN NUMBER
125574 --Invoice Distribution Type
125575 , p_source_33 IN VARCHAR2
125576 , p_source_33_meaning IN VARCHAR2
125577 --Self-Assessed Tax Account
125578 , p_source_50 IN NUMBER
125579 --Accounting Reversal Indicator
125580 , p_source_53 IN VARCHAR2
125581 --Distribution Link Type
125585 --Invoice Identifier
125582 , p_source_55 IN VARCHAR2
125583 --Allocation to Main Distribution Identifier
125584 , p_source_57 IN NUMBER
125586 , p_source_58 IN NUMBER
125587 --Invoice Distribution Identifier
125588 , p_source_64 IN NUMBER
125589 --Payables Encumbrance Upgrade Credit Account
125590 , p_source_65 IN NUMBER
125591 --Payables Encumbrance Upgrade Credit Amount
125592 , p_source_66 IN NUMBER
125593 --Invoice Currency Code
125594 , p_source_67 IN VARCHAR2
125595 --Payables Encumbrance Upgrade Credit Base Amount
125596 , p_source_68 IN NUMBER
125597 --Payables Encumbrance Upgrade Debit Account
125598 , p_source_69 IN NUMBER
125599 --Payables Encumbrance Upgrade Debit Amount
125600 , p_source_70 IN NUMBER
125601 --Payables Encumbrance Upgrade Debit Base Amount
125602 , p_source_71 IN NUMBER
125603 --Payables Encumbrance Upgrade Option
125604 , p_source_72 IN VARCHAR2
125605 --Invoice Distribution Amount
125606 , p_source_73 IN NUMBER
125607 --Purchase Order Exchange Rate Date
125608 , p_source_74 IN DATE
125609 --Purchase Order Exchange Rate
125610 , p_source_75 IN NUMBER
125611 --Purchase Order Exchange Rate Type
125612 , p_source_76 IN VARCHAR2
125613 --Deferred Accounting End Date
125614 , p_source_77 IN DATE
125615 --Deferred Accounting Option
125616 , p_source_78 IN VARCHAR2
125617 --Deferred Accounting Start Date
125618 , p_source_79 IN DATE
125619 --Override Accounted Amount Indicator
125620 , p_source_80 IN VARCHAR2
125621 , p_source_80_meaning IN VARCHAR2
125622 --Invoice Supplier Identifier
125623 , p_source_81 IN NUMBER
125624 --Invoice Supplier Site Identifier
125625 , p_source_82 IN NUMBER
125626 --Third Party Type
125627 , p_source_83 IN VARCHAR2
125628 --Parent Reversal Identifier
125629 , p_source_84 IN NUMBER
125630 --Invoice Distribution Statistical Amount
125631 , p_source_85 IN NUMBER
125632 --Invoice Distribution Tax Line Identifier
125633 , p_source_86 IN NUMBER
125634 --Invoice Distribution Tax Distribution Identifier from Tax
125635 , p_source_87 IN NUMBER
125636 --Invoice Distribution Summary Tax Line Identifier
125637 , p_source_88 IN NUMBER
125638 --Payables Upgrade Credit Encumbrance Type Identifier
125639 , p_source_89 IN NUMBER
125640 --Payables Upgrade Debit Encumbrance Type Identifier
125641 , p_source_90 IN NUMBER
125642 --Business Flow Accounts Payable Application Identifier
125643 , p_source_91 IN NUMBER
125644 --Business Flow Invoice Distribution Type
125645 , p_source_92 IN VARCHAR2
125646 --Business Flow Invoice Entity Code
125647 , p_source_93 IN VARCHAR2
125648 --Business Flow Invoice Distribution Identifier
125649 , p_source_94 IN NUMBER
125650 --Business Flow Invoice Identifier
125651 , p_source_95 IN NUMBER
125652 --Accrue on Receipt Option
125653 , p_source_96 IN VARCHAR2
125654 , p_source_96_meaning IN VARCHAR2
125655 --Self-Assessed Tax Flag
125656 , p_source_142 IN VARCHAR2
125657 , p_source_142_meaning IN VARCHAR2
125658 )
125659 IS
125660
125661 l_component_type VARCHAR2(80);
125662 l_component_code VARCHAR2(30);
125663 l_component_type_code VARCHAR2(1);
125664 l_component_appl_id INTEGER;
125665 l_amb_context_code VARCHAR2(30);
125666 l_entity_code VARCHAR2(30);
125667 l_event_class_code VARCHAR2(30);
125668 l_ae_header_id NUMBER;
125669 l_event_type_code VARCHAR2(30);
125670 l_line_definition_code VARCHAR2(30);
125671 l_line_definition_owner_code VARCHAR2(1);
125672 --
125673 -- adr variables
125674 l_segment VARCHAR2(30);
125675 l_ccid NUMBER;
125676 l_adr_transaction_coa_id NUMBER;
125677 l_adr_accounting_coa_id NUMBER;
125678 l_adr_flexfield_segment_code VARCHAR2(30);
125679 l_adr_flex_value_set_id NUMBER;
125680 l_adr_value_type_code VARCHAR2(30);
125681 l_adr_value_combination_id NUMBER;
125682 l_adr_value_segment_code VARCHAR2(30);
125683
125684 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
125685 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
125686 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
125687 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
125688
125689 -- 4262811 Variables ------------------------------------------------------------------------------------------
125690 l_entered_amt_idx NUMBER;
125691 l_accted_amt_idx NUMBER;
125692 l_acc_rev_flag VARCHAR2(1);
125693 l_accrual_line_num NUMBER;
125694 l_tmp_amt NUMBER;
125695 l_acc_rev_natural_side_code VARCHAR2(1);
125696
125697 l_num_entries NUMBER;
125698 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
125699 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
125700 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
125701 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
125702 l_recog_line_1 NUMBER;
125703 l_recog_line_2 NUMBER;
125704
125708
125705 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
125706 l_bflow_applied_to_amt NUMBER; -- 5132302
125707 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
125709 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
125710
125711 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
125712 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
125713
125714 ---------------------------------------------------------------------------------------------------------------
125715
125716
125717 --
125718 -- bulk performance
125719 --
125720 l_balance_type_code VARCHAR2(1);
125721 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
125722 l_log_module VARCHAR2(240);
125723
125724 --
125725 -- Upgrade strategy
125726 --
125727 l_actual_upg_option VARCHAR2(1);
125728 l_enc_upg_option VARCHAR2(1);
125729
125730 --
125731 BEGIN
125732 --
125733 IF g_log_enabled THEN
125734 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_207';
125735 END IF;
125736 --
125737 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
125738
125739 trace
125740 (p_msg => 'BEGIN of AcctLineType_207'
125741 ,p_level => C_LEVEL_PROCEDURE
125742 ,p_module => l_log_module);
125743
125744 END IF;
125745 --
125746 l_component_type := 'AMB_JLT';
125747 l_component_code := 'AP_SELF_NONREC_ACCRUAL_PREPAY';
125748 l_component_type_code := 'S';
125749 l_component_appl_id := 200;
125750 l_amb_context_code := 'DEFAULT';
125751 l_entity_code := 'AP_INVOICES';
125752 l_event_class_code := 'PREPAYMENTS';
125753 l_event_type_code := 'PREPAYMENTS_ALL';
125754 l_line_definition_owner_code := 'S';
125755 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
125756 --
125757 l_balance_type_code := 'A';
125758 l_segment := NULL;
125759 l_ccid := NULL;
125760 l_adr_transaction_coa_id := NULL;
125761 l_adr_accounting_coa_id := NULL;
125762 l_adr_flexfield_segment_code := NULL;
125763 l_adr_flex_value_set_id := NULL;
125764 l_adr_value_type_code := NULL;
125765 l_adr_value_combination_id := NULL;
125766 l_adr_value_segment_code := NULL;
125767
125768 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
125769 l_bflow_class_code := ''; -- 4219869 Business Flow
125770 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
125771 l_budgetary_control_flag := 'N';
125772
125773 l_bflow_applied_to_amt_idx := NULL; -- 5132302
125774 l_bflow_applied_to_amt := NULL; -- 5132302
125775 l_entered_amt_idx := NULL; -- 4262811
125776 l_accted_amt_idx := NULL; -- 4262811
125777 l_acc_rev_flag := NULL; -- 4262811
125778 l_accrual_line_num := NULL; -- 4262811
125779 l_tmp_amt := NULL; -- 4262811
125780 --
125781
125782 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
125783 l_balance_type_code <> 'B' THEN
125784 IF NVL(p_source_33,'
125785 ') = 'NONREC_TAX' AND
125786 NVL(p_source_142,'
125787 ') = 'Y' AND
125788 NVL(p_source_96,'
125789 ') = 'Y'
125790 THEN
125791
125792 --
125793 XLA_AE_LINES_PKG.SetNewLine;
125794
125795 p_balance_type_code := l_balance_type_code;
125796 -- set the flag so later we will know whether the gain loss line needs to be created
125797
125798 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
125799 p_actual_flag :='A';
125800 END IF;
125801
125802 --
125803 -- bulk performance
125804 --
125805 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
125806 p_header_num => 0); -- 4262811
125807 --
125808 -- set accounting line options
125809 --
125810 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
125811 p_natural_side_code => 'D'
125812 , p_gain_or_loss_flag => 'N'
125813 , p_gl_transfer_mode_code => 'S'
125814 , p_acct_entry_type_code => 'A'
125815 , p_switch_side_flag => 'Y'
125816 , p_merge_duplicate_code => 'A'
125817 );
125818 --
125819 l_acc_rev_natural_side_code := 'C'; -- 4262811
125820 --
125821 --
125822 -- set accounting line type info
125823 --
125824 xla_ae_lines_pkg.SetAcctLineType
125825 (p_component_type => l_component_type
125826 ,p_event_type_code => l_event_type_code
125827 ,p_line_definition_owner_code => l_line_definition_owner_code
125828 ,p_line_definition_code => l_line_definition_code
125829 ,p_accounting_line_code => l_component_code
125830 ,p_accounting_line_type_code => l_component_type_code
125831 ,p_accounting_line_appl_id => l_component_appl_id
125832 ,p_amb_context_code => l_amb_context_code
125833 ,p_entity_code => l_entity_code
125834 ,p_event_class_code => l_event_class_code);
125835 --
125836 -- set accounting class
125837 --
125841 );
125838 xla_ae_lines_pkg.SetAcctClass(
125839 p_accounting_class_code => 'SELF_ASSESSED_TAX'
125840 , p_ae_header_id => l_ae_header_id
125842
125843 --
125844 -- set rounding class
125845 --
125846 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
125847 'SELF_ASSESSED_TAX';
125848
125849 --
125850 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
125851 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
125852 --
125853 -- bulk performance
125854 --
125855 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
125856
125857 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
125858 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
125859
125860 -- 4955764
125861 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
125862 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
125863
125864 -- 4458381 Public Sector Enh
125865
125866 --
125867 -- set accounting attributes for the line type
125868 --
125869 l_entered_amt_idx := 23;
125870 l_accted_amt_idx := 28;
125871 l_bflow_applied_to_amt_idx := NULL; -- 5132302
125872 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
125873 l_rec_acct_attrs.array_char_value(1) := p_source_53;
125874 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
125875 l_rec_acct_attrs.array_num_value(2) :=
125876 xla_ae_sources_pkg.GetSystemSourceNum(
125877 p_source_code => 'XLA_EVENT_APPL_ID'
125878 , p_source_type_code => 'Y'
125879 , p_source_application_id => 602
125880 );
125881 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
125882 l_rec_acct_attrs.array_char_value(3) := p_source_55;
125883 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
125884 l_rec_acct_attrs.array_char_value(4) :=
125885 xla_ae_sources_pkg.GetSystemSourceChar(
125886 p_source_code => 'XLA_ENTITY_CODE'
125887 , p_source_type_code => 'Y'
125888 , p_source_application_id => 602
125889 );
125890 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
125891 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
125892 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
125893 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
125894 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
125895 l_rec_acct_attrs.array_num_value(7) := p_source_91;
125896 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
125897 l_rec_acct_attrs.array_char_value(8) := p_source_92;
125898 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
125899 l_rec_acct_attrs.array_char_value(9) := p_source_93;
125900 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
125901 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
125902 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
125903 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
125904 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
125905 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
125906 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
125907 l_rec_acct_attrs.array_char_value(13) := p_source_55;
125908 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
125909 l_rec_acct_attrs.array_num_value(14) := p_source_65;
125910 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
125911 l_rec_acct_attrs.array_num_value(15) := p_source_66;
125912 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
125913 l_rec_acct_attrs.array_char_value(16) := p_source_67;
125914 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
125915 l_rec_acct_attrs.array_num_value(17) := p_source_68;
125916 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
125917 l_rec_acct_attrs.array_num_value(18) := p_source_69;
125918 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
125919 l_rec_acct_attrs.array_num_value(19) := p_source_70;
125920 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
125921 l_rec_acct_attrs.array_char_value(20) := p_source_67;
125922 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
125923 l_rec_acct_attrs.array_num_value(21) := p_source_71;
125924 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
125925 l_rec_acct_attrs.array_char_value(22) := p_source_72;
125926 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
125927 l_rec_acct_attrs.array_num_value(23) := p_source_73;
125928 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
125929 l_rec_acct_attrs.array_char_value(24) := p_source_67;
125930 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
125931 l_rec_acct_attrs.array_date_value(25) := p_source_74;
125932 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
125933 l_rec_acct_attrs.array_num_value(26) := p_source_75;
125934 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
125935 l_rec_acct_attrs.array_char_value(27) := p_source_76;
125936 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
125937 l_rec_acct_attrs.array_num_value(28) := p_source_21;
125941 l_rec_acct_attrs.array_char_value(30) := p_source_78;
125938 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
125939 l_rec_acct_attrs.array_date_value(29) := p_source_77;
125940 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
125942 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
125943 l_rec_acct_attrs.array_date_value(31) := p_source_79;
125944 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
125945 l_rec_acct_attrs.array_char_value(32) := p_source_80;
125946 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
125947 l_rec_acct_attrs.array_num_value(33) := p_source_81;
125948 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
125949 l_rec_acct_attrs.array_num_value(34) := p_source_82;
125950 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
125951 l_rec_acct_attrs.array_char_value(35) := p_source_83;
125952 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
125953 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
125954 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
125955 l_rec_acct_attrs.array_char_value(37) := p_source_55;
125956 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
125957 l_rec_acct_attrs.array_num_value(38) := p_source_85;
125958 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
125959 l_rec_acct_attrs.array_num_value(39) := p_source_86;
125960 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
125961 l_rec_acct_attrs.array_num_value(40) := p_source_87;
125962 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
125963 l_rec_acct_attrs.array_num_value(41) := p_source_88;
125964 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
125965 l_rec_acct_attrs.array_num_value(42) := p_source_89;
125966 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
125967 l_rec_acct_attrs.array_num_value(43) := p_source_90;
125968
125969 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
125970 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
125971
125972 ---------------------------------------------------------------------------------------------------------------
125973 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
125974 ---------------------------------------------------------------------------------------------------------------
125975 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
125976
125977 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
125978 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
125979
125980 IF xla_accounting_cache_pkg.GetValueChar
125981 (p_source_code => 'LEDGER_CATEGORY_CODE'
125982 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
125983 AND l_bflow_method_code = 'PRIOR_ENTRY'
125984 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
125985 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
125986 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
125987 )
125988 THEN
125989 xla_ae_lines_pkg.BflowUpgEntry
125990 (p_business_method_code => l_bflow_method_code
125991 ,p_business_class_code => l_bflow_class_code
125992 ,p_balance_type => l_balance_type_code);
125993 ELSE
125994 NULL;
125995 -- No business flow processing for business flow method of NONE.
125996 END IF;
125997
125998 --
125999 -- call analytical criteria
126000 --
126001
126002 --
126003 -- call description
126004 --
126005
126006 xla_ae_lines_pkg.SetLineDescription(
126007 p_ae_header_id => l_ae_header_id
126008 ,p_description => Description_1 (
126009 p_application_id => p_application_id
126010 , p_ae_header_id => l_ae_header_id
126011 , p_source_1 => p_source_1
126012 )
126013 );
126014
126015
126016 --
126017 -- call ADRs
126018 -- Bug 4922099
126019 --
126020 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
126021 (NVL(l_actual_upg_option, 'N') = 'O') OR
126022 (NVL(l_enc_upg_option, 'N') = 'O')
126023 )
126024 THEN
126025 NULL;
126026 --
126027 --
126028
126029 l_ccid := AcctDerRule_42(
126030 p_application_id => p_application_id
126031 , p_ae_header_id => l_ae_header_id
126032 , p_source_50 => p_source_50
126033 , x_transaction_coa_id => l_adr_transaction_coa_id
126034 , x_accounting_coa_id => l_adr_accounting_coa_id
126035 , x_value_type_code => l_adr_value_type_code
126036 , p_side => 'NA'
126037 );
126038
126039 xla_ae_lines_pkg.set_ccid(
126040 p_code_combination_id => l_ccid
126041 , p_value_type_code => l_adr_value_type_code
126042 , p_transaction_coa_id => l_adr_transaction_coa_id
126043 , p_accounting_coa_id => l_adr_accounting_coa_id
126044 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
126045 , p_adr_type_code => 'S'
126046 , p_component_type => l_component_type
126047 , p_component_code => l_component_code
126051 , p_side => 'NA'
126048 , p_component_type_code => l_component_type_code
126049 , p_component_appl_id => l_component_appl_id
126050 , p_amb_context_code => l_amb_context_code
126052 );
126053
126054
126055 --
126056 --
126057 END IF;
126058 --
126059 -- Bug 4922099
126060 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
126061 (NVL(l_enc_upg_option, 'N') = 'O')
126062 ) AND
126063 (l_bflow_method_code = 'PRIOR_ENTRY')
126064 )
126065 THEN
126066 IF
126067 --
126068 1 = 2
126069 --
126070 THEN
126071 xla_accounting_err_pkg.build_message
126072 (p_appli_s_name => 'XLA'
126073 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
126074 ,p_token_1 => 'LINE_NUMBER'
126075 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
126076 ,p_token_2 => 'LINE_TYPE_NAME'
126077 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
126078 l_component_type
126079 ,l_component_code
126080 ,l_component_type_code
126081 ,l_component_appl_id
126082 ,l_amb_context_code
126083 ,l_entity_code
126084 ,l_event_class_code
126085 )
126086 ,p_token_3 => 'OWNER'
126087 ,p_value_3 => xla_lookups_pkg.get_meaning(
126088 p_lookup_type => 'XLA_OWNER_TYPE'
126089 ,p_lookup_code => l_component_type_code
126090 )
126091 ,p_token_4 => 'PRODUCT_NAME'
126092 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
126093 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
126094 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
126095 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
126096 ,p_ae_header_id => NULL
126097 );
126098
126099 IF (C_LEVEL_ERROR>= g_log_level) THEN
126100 trace
126101 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
126102 ,p_level => C_LEVEL_ERROR
126103 ,p_module => l_log_module);
126104 END IF;
126105 END IF;
126106 END IF;
126107 --
126108 --
126109 ------------------------------------------------------------------------------------------------
126110 -- 4219869 Business Flow
126111 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
126112 -- Prior Entry. Currently, the following code is always generated.
126113 ------------------------------------------------------------------------------------------------
126114 XLA_AE_LINES_PKG.ValidateCurrentLine;
126115
126116 ------------------------------------------------------------------------------------
126117 -- 4219869 Business Flow
126118 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
126119 ------------------------------------------------------------------------------------
126120 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
126121
126122 ----------------------------------------------------------------------------------
126123 -- 4219869 Business Flow
126124 -- Update journal entry status -- Need to generate this within IF <condition>
126125 ----------------------------------------------------------------------------------
126126 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
126127 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
126128 ,p_balance_type_code => l_balance_type_code
126129 );
126130
126131 -------------------------------------------------------------------------------------------
126132 -- 4262811 - Generate the Accrual Reversal lines
126133 -------------------------------------------------------------------------------------------
126134 BEGIN
126135 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
126136 (g_array_event(p_event_id).array_value_num('header_index'));
126137 IF l_acc_rev_flag IS NULL THEN
126138 l_acc_rev_flag := 'N';
126139 END IF;
126140 EXCEPTION
126141 WHEN OTHERS THEN
126142 l_acc_rev_flag := 'N';
126143 END;
126144 --
126145 IF (l_acc_rev_flag = 'Y') THEN
126146
126147 -- 4645092 ------------------------------------------------------------------------------
126151
126148 -- To allow MPA report to determine if it should generate report process
126149 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
126150 ------------------------------------------------------------------------------------------
126152 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
126153 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
126154 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
126155 -- call ADRs
126156 -- Bug 4922099
126157 --
126158 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
126159 (NVL(l_actual_upg_option, 'N') = 'O') OR
126160 (NVL(l_enc_upg_option, 'N') = 'O')
126161 )
126162 THEN
126163 NULL;
126164 --
126165 --
126166
126167 l_ccid := AcctDerRule_42(
126168 p_application_id => p_application_id
126169 , p_ae_header_id => l_ae_header_id
126170 , p_source_50 => p_source_50
126171 , x_transaction_coa_id => l_adr_transaction_coa_id
126172 , x_accounting_coa_id => l_adr_accounting_coa_id
126173 , x_value_type_code => l_adr_value_type_code
126174 , p_side => 'NA'
126175 );
126176
126177 xla_ae_lines_pkg.set_ccid(
126178 p_code_combination_id => l_ccid
126179 , p_value_type_code => l_adr_value_type_code
126180 , p_transaction_coa_id => l_adr_transaction_coa_id
126181 , p_accounting_coa_id => l_adr_accounting_coa_id
126182 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
126183 , p_adr_type_code => 'S'
126184 , p_component_type => l_component_type
126185 , p_component_code => l_component_code
126186 , p_component_type_code => l_component_type_code
126187 , p_component_appl_id => l_component_appl_id
126188 , p_amb_context_code => l_amb_context_code
126189 , p_side => 'NA'
126190 );
126191
126192
126193 --
126194 --
126195 END IF;
126196
126197 --
126198 -- Update the line information that should be overwritten
126199 --
126200 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
126201 p_header_num => 1);
126202 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
126203
126204 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
126205
126206 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
126207 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
126208 END IF;
126209
126210 --
126211 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
126212 --
126213 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
126214 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
126215 ELSE
126216 ---------------------------------------------------------------------------------------------------
126217 -- 4262811a Switch Sign
126218 ---------------------------------------------------------------------------------------------------
126219 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
126220 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
126221 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
126222 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
126223 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
126224 -- 5132302
126225 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
126226 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
126227
126228 END IF;
126229
126230 -- 4955764
126231 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
126232 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
126233
126234
126235 XLA_AE_LINES_PKG.ValidateCurrentLine;
126236 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
126237
126238 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
126239 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
126240 ,p_balance_type_code => l_balance_type_code);
126241
126242 END IF;
126243
126244 -----------------------------------------------------------------------------------------
126245 -- 4262811 Multiperiod Accounting
126246 -----------------------------------------------------------------------------------------
126247 -- No MPA option is assigned.
126248
126249
126250 END IF;
126251 END IF;
126252 --
126253
126254 --
126255 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
126256 trace
126257 (p_msg => 'END of AcctLineType_207'
126258 ,p_level => C_LEVEL_PROCEDURE
126259 ,p_module => l_log_module);
126260 END IF;
126261 --
126262 EXCEPTION
126266 xla_exceptions_pkg.raise_message
126263 WHEN xla_exceptions_pkg.application_exception THEN
126264 RAISE;
126265 WHEN OTHERS THEN
126267 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_207');
126268 END AcctLineType_207;
126269 --
126270
126271 ---------------------------------------
126272 --
126273 -- PRIVATE FUNCTION
126274 -- AcctLineType_208
126275 --
126276 ---------------------------------------
126277 PROCEDURE AcctLineType_208 (
126278 p_application_id IN NUMBER
126279 ,p_event_id IN NUMBER
126280 ,p_calculate_acctd_flag IN VARCHAR2
126281 ,p_calculate_g_l_flag IN VARCHAR2
126282 ,p_actual_flag IN OUT VARCHAR2
126283 ,p_balance_type_code OUT VARCHAR2
126284 ,p_gain_or_loss_ref OUT VARCHAR2
126285
126286 --Invoice Distribution Description
126287 , p_source_1 IN VARCHAR2
126288 --Invoice Distribution Ledger Amount
126289 , p_source_21 IN NUMBER
126290 --Invoice Distribution Type
126291 , p_source_33 IN VARCHAR2
126292 , p_source_33_meaning IN VARCHAR2
126293 --Self-Assessed Tax Account
126294 , p_source_50 IN NUMBER
126295 --Accounting Reversal Indicator
126296 , p_source_53 IN VARCHAR2
126297 --Distribution Link Type
126298 , p_source_55 IN VARCHAR2
126299 --Allocation to Main Distribution Identifier
126300 , p_source_57 IN NUMBER
126301 --Invoice Identifier
126302 , p_source_58 IN NUMBER
126303 --Invoice Distribution Identifier
126304 , p_source_64 IN NUMBER
126305 --Payables Encumbrance Upgrade Credit Account
126306 , p_source_65 IN NUMBER
126307 --Payables Encumbrance Upgrade Credit Amount
126308 , p_source_66 IN NUMBER
126309 --Invoice Currency Code
126310 , p_source_67 IN VARCHAR2
126311 --Payables Encumbrance Upgrade Credit Base Amount
126312 , p_source_68 IN NUMBER
126313 --Payables Encumbrance Upgrade Debit Account
126314 , p_source_69 IN NUMBER
126315 --Payables Encumbrance Upgrade Debit Amount
126316 , p_source_70 IN NUMBER
126317 --Payables Encumbrance Upgrade Debit Base Amount
126318 , p_source_71 IN NUMBER
126319 --Payables Encumbrance Upgrade Option
126320 , p_source_72 IN VARCHAR2
126321 --Invoice Distribution Amount
126322 , p_source_73 IN NUMBER
126323 --Purchase Order Exchange Rate Date
126324 , p_source_74 IN DATE
126325 --Purchase Order Exchange Rate
126326 , p_source_75 IN NUMBER
126327 --Purchase Order Exchange Rate Type
126328 , p_source_76 IN VARCHAR2
126329 --Deferred Accounting End Date
126330 , p_source_77 IN DATE
126331 --Deferred Accounting Option
126332 , p_source_78 IN VARCHAR2
126333 --Deferred Accounting Start Date
126334 , p_source_79 IN DATE
126335 --Override Accounted Amount Indicator
126336 , p_source_80 IN VARCHAR2
126337 , p_source_80_meaning IN VARCHAR2
126338 --Invoice Supplier Identifier
126339 , p_source_81 IN NUMBER
126340 --Invoice Supplier Site Identifier
126341 , p_source_82 IN NUMBER
126342 --Third Party Type
126343 , p_source_83 IN VARCHAR2
126344 --Parent Reversal Identifier
126345 , p_source_84 IN NUMBER
126346 --Invoice Distribution Statistical Amount
126347 , p_source_85 IN NUMBER
126348 --Invoice Distribution Tax Line Identifier
126349 , p_source_86 IN NUMBER
126350 --Invoice Distribution Tax Distribution Identifier from Tax
126351 , p_source_87 IN NUMBER
126352 --Invoice Distribution Summary Tax Line Identifier
126353 , p_source_88 IN NUMBER
126354 --Payables Upgrade Credit Encumbrance Type Identifier
126355 , p_source_89 IN NUMBER
126356 --Payables Upgrade Debit Encumbrance Type Identifier
126357 , p_source_90 IN NUMBER
126358 --Business Flow Accounts Payable Application Identifier
126359 , p_source_91 IN NUMBER
126360 --Business Flow Invoice Distribution Type
126361 , p_source_92 IN VARCHAR2
126362 --Business Flow Invoice Entity Code
126363 , p_source_93 IN VARCHAR2
126364 --Business Flow Invoice Distribution Identifier
126365 , p_source_94 IN NUMBER
126366 --Business Flow Invoice Identifier
126367 , p_source_95 IN NUMBER
126368 --Accrue on Receipt Option
126369 , p_source_96 IN VARCHAR2
126370 , p_source_96_meaning IN VARCHAR2
126371 --Self-Assessed Tax Flag
126372 , p_source_142 IN VARCHAR2
126373 , p_source_142_meaning IN VARCHAR2
126374 )
126375 IS
126376
126377 l_component_type VARCHAR2(80);
126378 l_component_code VARCHAR2(30);
126379 l_component_type_code VARCHAR2(1);
126380 l_component_appl_id INTEGER;
126381 l_amb_context_code VARCHAR2(30);
126382 l_entity_code VARCHAR2(30);
126383 l_event_class_code VARCHAR2(30);
126384 l_ae_header_id NUMBER;
126385 l_event_type_code VARCHAR2(30);
126386 l_line_definition_code VARCHAR2(30);
126387 l_line_definition_owner_code VARCHAR2(1);
126388 --
126389 -- adr variables
126390 l_segment VARCHAR2(30);
126391 l_ccid NUMBER;
126392 l_adr_transaction_coa_id NUMBER;
126393 l_adr_accounting_coa_id NUMBER;
126394 l_adr_flexfield_segment_code VARCHAR2(30);
126398 l_adr_value_segment_code VARCHAR2(30);
126395 l_adr_flex_value_set_id NUMBER;
126396 l_adr_value_type_code VARCHAR2(30);
126397 l_adr_value_combination_id NUMBER;
126399
126400 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
126401 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
126402 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
126403 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
126404
126405 -- 4262811 Variables ------------------------------------------------------------------------------------------
126406 l_entered_amt_idx NUMBER;
126407 l_accted_amt_idx NUMBER;
126408 l_acc_rev_flag VARCHAR2(1);
126409 l_accrual_line_num NUMBER;
126410 l_tmp_amt NUMBER;
126411 l_acc_rev_natural_side_code VARCHAR2(1);
126412
126413 l_num_entries NUMBER;
126414 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
126415 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
126416 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
126417 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
126418 l_recog_line_1 NUMBER;
126419 l_recog_line_2 NUMBER;
126420
126421 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
126422 l_bflow_applied_to_amt NUMBER; -- 5132302
126423 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
126424
126425 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
126426
126427 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
126428 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
126429
126430 ---------------------------------------------------------------------------------------------------------------
126431
126432
126433 --
126434 -- bulk performance
126435 --
126436 l_balance_type_code VARCHAR2(1);
126437 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
126438 l_log_module VARCHAR2(240);
126439
126440 --
126441 -- Upgrade strategy
126442 --
126443 l_actual_upg_option VARCHAR2(1);
126444 l_enc_upg_option VARCHAR2(1);
126445
126446 --
126447 BEGIN
126448 --
126449 IF g_log_enabled THEN
126450 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_208';
126451 END IF;
126452 --
126453 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
126454
126455 trace
126456 (p_msg => 'BEGIN of AcctLineType_208'
126457 ,p_level => C_LEVEL_PROCEDURE
126458 ,p_module => l_log_module);
126459
126460 END IF;
126461 --
126462 l_component_type := 'AMB_JLT';
126463 l_component_code := 'AP_SELF_NON_REC_ACCRUAL_CM';
126464 l_component_type_code := 'S';
126465 l_component_appl_id := 200;
126466 l_amb_context_code := 'DEFAULT';
126467 l_entity_code := 'AP_INVOICES';
126468 l_event_class_code := 'CREDIT MEMOS';
126469 l_event_type_code := 'CREDIT MEMOS_ALL';
126470 l_line_definition_owner_code := 'S';
126471 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
126472 --
126473 l_balance_type_code := 'A';
126474 l_segment := NULL;
126475 l_ccid := NULL;
126476 l_adr_transaction_coa_id := NULL;
126477 l_adr_accounting_coa_id := NULL;
126478 l_adr_flexfield_segment_code := NULL;
126479 l_adr_flex_value_set_id := NULL;
126480 l_adr_value_type_code := NULL;
126481 l_adr_value_combination_id := NULL;
126482 l_adr_value_segment_code := NULL;
126483
126484 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
126485 l_bflow_class_code := ''; -- 4219869 Business Flow
126486 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
126487 l_budgetary_control_flag := 'N';
126488
126489 l_bflow_applied_to_amt_idx := NULL; -- 5132302
126490 l_bflow_applied_to_amt := NULL; -- 5132302
126491 l_entered_amt_idx := NULL; -- 4262811
126492 l_accted_amt_idx := NULL; -- 4262811
126493 l_acc_rev_flag := NULL; -- 4262811
126494 l_accrual_line_num := NULL; -- 4262811
126495 l_tmp_amt := NULL; -- 4262811
126496 --
126497
126498 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
126499 l_balance_type_code <> 'B' THEN
126500 IF NVL(p_source_33,'
126501 ') = 'NONREC_TAX' AND
126502 NVL(p_source_142,'
126503 ') = 'Y' AND
126504 NVL(p_source_96,'
126505 ') = 'Y'
126506 THEN
126507
126508 --
126509 XLA_AE_LINES_PKG.SetNewLine;
126510
126511 p_balance_type_code := l_balance_type_code;
126512 -- set the flag so later we will know whether the gain loss line needs to be created
126513
126514 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
126515 p_actual_flag :='A';
126516 END IF;
126517
126518 --
126519 -- bulk performance
126520 --
126521 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
126522 p_header_num => 0); -- 4262811
126523 --
126524 -- set accounting line options
126525 --
126526 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
126530 , p_acct_entry_type_code => 'A'
126527 p_natural_side_code => 'D'
126528 , p_gain_or_loss_flag => 'N'
126529 , p_gl_transfer_mode_code => 'S'
126531 , p_switch_side_flag => 'Y'
126532 , p_merge_duplicate_code => 'A'
126533 );
126534 --
126535 l_acc_rev_natural_side_code := 'C'; -- 4262811
126536 --
126537 --
126538 -- set accounting line type info
126539 --
126540 xla_ae_lines_pkg.SetAcctLineType
126541 (p_component_type => l_component_type
126542 ,p_event_type_code => l_event_type_code
126543 ,p_line_definition_owner_code => l_line_definition_owner_code
126544 ,p_line_definition_code => l_line_definition_code
126545 ,p_accounting_line_code => l_component_code
126546 ,p_accounting_line_type_code => l_component_type_code
126547 ,p_accounting_line_appl_id => l_component_appl_id
126548 ,p_amb_context_code => l_amb_context_code
126549 ,p_entity_code => l_entity_code
126550 ,p_event_class_code => l_event_class_code);
126551 --
126552 -- set accounting class
126553 --
126554 xla_ae_lines_pkg.SetAcctClass(
126555 p_accounting_class_code => 'SELF_ASSESSED_TAX'
126556 , p_ae_header_id => l_ae_header_id
126557 );
126558
126559 --
126560 -- set rounding class
126561 --
126562 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
126563 'SELF_ASSESSED_TAX';
126564
126565 --
126566 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
126567 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
126568 --
126569 -- bulk performance
126570 --
126571 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
126572
126573 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
126574 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
126575
126576 -- 4955764
126577 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
126578 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
126579
126580 -- 4458381 Public Sector Enh
126581
126582 --
126583 -- set accounting attributes for the line type
126584 --
126585 l_entered_amt_idx := 23;
126586 l_accted_amt_idx := 28;
126587 l_bflow_applied_to_amt_idx := NULL; -- 5132302
126588 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
126589 l_rec_acct_attrs.array_char_value(1) := p_source_53;
126590 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
126591 l_rec_acct_attrs.array_num_value(2) :=
126592 xla_ae_sources_pkg.GetSystemSourceNum(
126593 p_source_code => 'XLA_EVENT_APPL_ID'
126594 , p_source_type_code => 'Y'
126595 , p_source_application_id => 602
126596 );
126597 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
126598 l_rec_acct_attrs.array_char_value(3) := p_source_55;
126599 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
126600 l_rec_acct_attrs.array_char_value(4) :=
126601 xla_ae_sources_pkg.GetSystemSourceChar(
126602 p_source_code => 'XLA_ENTITY_CODE'
126603 , p_source_type_code => 'Y'
126604 , p_source_application_id => 602
126605 );
126606 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
126607 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
126608 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
126609 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
126610 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
126611 l_rec_acct_attrs.array_num_value(7) := p_source_91;
126612 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
126613 l_rec_acct_attrs.array_char_value(8) := p_source_92;
126614 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
126615 l_rec_acct_attrs.array_char_value(9) := p_source_93;
126616 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
126617 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
126618 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
126619 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
126620 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
126621 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
126622 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
126623 l_rec_acct_attrs.array_char_value(13) := p_source_55;
126624 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
126625 l_rec_acct_attrs.array_num_value(14) := p_source_65;
126626 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
126627 l_rec_acct_attrs.array_num_value(15) := p_source_66;
126628 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
126629 l_rec_acct_attrs.array_char_value(16) := p_source_67;
126630 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
126631 l_rec_acct_attrs.array_num_value(17) := p_source_68;
126632 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
126633 l_rec_acct_attrs.array_num_value(18) := p_source_69;
126634 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
126638 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
126635 l_rec_acct_attrs.array_num_value(19) := p_source_70;
126636 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
126637 l_rec_acct_attrs.array_char_value(20) := p_source_67;
126639 l_rec_acct_attrs.array_num_value(21) := p_source_71;
126640 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
126641 l_rec_acct_attrs.array_char_value(22) := p_source_72;
126642 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
126643 l_rec_acct_attrs.array_num_value(23) := p_source_73;
126644 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
126645 l_rec_acct_attrs.array_char_value(24) := p_source_67;
126646 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
126647 l_rec_acct_attrs.array_date_value(25) := p_source_74;
126648 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
126649 l_rec_acct_attrs.array_num_value(26) := p_source_75;
126650 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
126651 l_rec_acct_attrs.array_char_value(27) := p_source_76;
126652 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
126653 l_rec_acct_attrs.array_num_value(28) := p_source_21;
126654 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
126655 l_rec_acct_attrs.array_date_value(29) := p_source_77;
126656 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
126657 l_rec_acct_attrs.array_char_value(30) := p_source_78;
126658 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
126659 l_rec_acct_attrs.array_date_value(31) := p_source_79;
126660 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
126661 l_rec_acct_attrs.array_char_value(32) := p_source_80;
126662 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
126663 l_rec_acct_attrs.array_num_value(33) := p_source_81;
126664 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
126665 l_rec_acct_attrs.array_num_value(34) := p_source_82;
126666 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
126667 l_rec_acct_attrs.array_char_value(35) := p_source_83;
126668 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
126669 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
126670 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
126671 l_rec_acct_attrs.array_char_value(37) := p_source_55;
126672 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
126673 l_rec_acct_attrs.array_num_value(38) := p_source_85;
126674 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
126675 l_rec_acct_attrs.array_num_value(39) := p_source_86;
126676 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
126677 l_rec_acct_attrs.array_num_value(40) := p_source_87;
126678 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
126679 l_rec_acct_attrs.array_num_value(41) := p_source_88;
126680 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
126681 l_rec_acct_attrs.array_num_value(42) := p_source_89;
126682 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
126683 l_rec_acct_attrs.array_num_value(43) := p_source_90;
126684
126685 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
126686 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
126687
126688 ---------------------------------------------------------------------------------------------------------------
126689 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
126690 ---------------------------------------------------------------------------------------------------------------
126691 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
126692
126693 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
126694 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
126695
126696 IF xla_accounting_cache_pkg.GetValueChar
126697 (p_source_code => 'LEDGER_CATEGORY_CODE'
126698 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
126699 AND l_bflow_method_code = 'PRIOR_ENTRY'
126700 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
126701 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
126702 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
126703 )
126704 THEN
126705 xla_ae_lines_pkg.BflowUpgEntry
126706 (p_business_method_code => l_bflow_method_code
126707 ,p_business_class_code => l_bflow_class_code
126708 ,p_balance_type => l_balance_type_code);
126709 ELSE
126710 NULL;
126711 -- No business flow processing for business flow method of NONE.
126712 END IF;
126713
126714 --
126715 -- call analytical criteria
126716 --
126717
126718 --
126719 -- call description
126720 --
126721
126722 xla_ae_lines_pkg.SetLineDescription(
126723 p_ae_header_id => l_ae_header_id
126724 ,p_description => Description_1 (
126725 p_application_id => p_application_id
126726 , p_ae_header_id => l_ae_header_id
126727 , p_source_1 => p_source_1
126728 )
126729 );
126730
126731
126732 --
126733 -- call ADRs
126734 -- Bug 4922099
126735 --
126736 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
126740 THEN
126737 (NVL(l_actual_upg_option, 'N') = 'O') OR
126738 (NVL(l_enc_upg_option, 'N') = 'O')
126739 )
126741 NULL;
126742 --
126743 --
126744
126745 l_ccid := AcctDerRule_42(
126746 p_application_id => p_application_id
126747 , p_ae_header_id => l_ae_header_id
126748 , p_source_50 => p_source_50
126749 , x_transaction_coa_id => l_adr_transaction_coa_id
126750 , x_accounting_coa_id => l_adr_accounting_coa_id
126751 , x_value_type_code => l_adr_value_type_code
126752 , p_side => 'NA'
126753 );
126754
126755 xla_ae_lines_pkg.set_ccid(
126756 p_code_combination_id => l_ccid
126757 , p_value_type_code => l_adr_value_type_code
126758 , p_transaction_coa_id => l_adr_transaction_coa_id
126759 , p_accounting_coa_id => l_adr_accounting_coa_id
126760 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
126761 , p_adr_type_code => 'S'
126762 , p_component_type => l_component_type
126763 , p_component_code => l_component_code
126764 , p_component_type_code => l_component_type_code
126765 , p_component_appl_id => l_component_appl_id
126766 , p_amb_context_code => l_amb_context_code
126767 , p_side => 'NA'
126768 );
126769
126770
126771 --
126772 --
126773 END IF;
126774 --
126775 -- Bug 4922099
126776 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
126777 (NVL(l_enc_upg_option, 'N') = 'O')
126778 ) AND
126779 (l_bflow_method_code = 'PRIOR_ENTRY')
126780 )
126781 THEN
126782 IF
126783 --
126784 1 = 2
126785 --
126786 THEN
126787 xla_accounting_err_pkg.build_message
126788 (p_appli_s_name => 'XLA'
126789 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
126790 ,p_token_1 => 'LINE_NUMBER'
126791 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
126792 ,p_token_2 => 'LINE_TYPE_NAME'
126793 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
126794 l_component_type
126795 ,l_component_code
126796 ,l_component_type_code
126797 ,l_component_appl_id
126798 ,l_amb_context_code
126799 ,l_entity_code
126800 ,l_event_class_code
126801 )
126802 ,p_token_3 => 'OWNER'
126803 ,p_value_3 => xla_lookups_pkg.get_meaning(
126804 p_lookup_type => 'XLA_OWNER_TYPE'
126805 ,p_lookup_code => l_component_type_code
126806 )
126807 ,p_token_4 => 'PRODUCT_NAME'
126808 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
126809 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
126810 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
126811 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
126812 ,p_ae_header_id => NULL
126813 );
126814
126815 IF (C_LEVEL_ERROR>= g_log_level) THEN
126816 trace
126817 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
126818 ,p_level => C_LEVEL_ERROR
126819 ,p_module => l_log_module);
126820 END IF;
126821 END IF;
126822 END IF;
126823 --
126824 --
126825 ------------------------------------------------------------------------------------------------
126826 -- 4219869 Business Flow
126827 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
126828 -- Prior Entry. Currently, the following code is always generated.
126829 ------------------------------------------------------------------------------------------------
126830 XLA_AE_LINES_PKG.ValidateCurrentLine;
126831
126832 ------------------------------------------------------------------------------------
126833 -- 4219869 Business Flow
126834 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
126835 ------------------------------------------------------------------------------------
126836 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
126837
126838 ----------------------------------------------------------------------------------
126839 -- 4219869 Business Flow
126843 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
126840 -- Update journal entry status -- Need to generate this within IF <condition>
126841 ----------------------------------------------------------------------------------
126842 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
126844 ,p_balance_type_code => l_balance_type_code
126845 );
126846
126847 -------------------------------------------------------------------------------------------
126848 -- 4262811 - Generate the Accrual Reversal lines
126849 -------------------------------------------------------------------------------------------
126850 BEGIN
126851 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
126852 (g_array_event(p_event_id).array_value_num('header_index'));
126853 IF l_acc_rev_flag IS NULL THEN
126854 l_acc_rev_flag := 'N';
126855 END IF;
126856 EXCEPTION
126857 WHEN OTHERS THEN
126858 l_acc_rev_flag := 'N';
126859 END;
126860 --
126861 IF (l_acc_rev_flag = 'Y') THEN
126862
126863 -- 4645092 ------------------------------------------------------------------------------
126864 -- To allow MPA report to determine if it should generate report process
126865 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
126866 ------------------------------------------------------------------------------------------
126867
126868 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
126869 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
126870 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
126871 -- call ADRs
126872 -- Bug 4922099
126873 --
126874 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
126875 (NVL(l_actual_upg_option, 'N') = 'O') OR
126876 (NVL(l_enc_upg_option, 'N') = 'O')
126877 )
126878 THEN
126879 NULL;
126880 --
126881 --
126882
126883 l_ccid := AcctDerRule_42(
126884 p_application_id => p_application_id
126885 , p_ae_header_id => l_ae_header_id
126886 , p_source_50 => p_source_50
126887 , x_transaction_coa_id => l_adr_transaction_coa_id
126888 , x_accounting_coa_id => l_adr_accounting_coa_id
126889 , x_value_type_code => l_adr_value_type_code
126890 , p_side => 'NA'
126891 );
126892
126893 xla_ae_lines_pkg.set_ccid(
126894 p_code_combination_id => l_ccid
126895 , p_value_type_code => l_adr_value_type_code
126896 , p_transaction_coa_id => l_adr_transaction_coa_id
126897 , p_accounting_coa_id => l_adr_accounting_coa_id
126898 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
126899 , p_adr_type_code => 'S'
126900 , p_component_type => l_component_type
126901 , p_component_code => l_component_code
126902 , p_component_type_code => l_component_type_code
126903 , p_component_appl_id => l_component_appl_id
126904 , p_amb_context_code => l_amb_context_code
126905 , p_side => 'NA'
126906 );
126907
126908
126909 --
126910 --
126911 END IF;
126912
126913 --
126914 -- Update the line information that should be overwritten
126915 --
126916 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
126917 p_header_num => 1);
126918 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
126919
126920 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
126921
126922 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
126923 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
126924 END IF;
126925
126926 --
126927 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
126928 --
126929 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
126930 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
126931 ELSE
126932 ---------------------------------------------------------------------------------------------------
126933 -- 4262811a Switch Sign
126934 ---------------------------------------------------------------------------------------------------
126935 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
126936 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
126937 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
126938 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
126939 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
126940 -- 5132302
126941 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
126942 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
126943
126944 END IF;
126945
126946 -- 4955764
126950
126947 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
126948 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
126949
126951 XLA_AE_LINES_PKG.ValidateCurrentLine;
126952 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
126953
126954 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
126955 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
126956 ,p_balance_type_code => l_balance_type_code);
126957
126958 END IF;
126959
126960 -----------------------------------------------------------------------------------------
126961 -- 4262811 Multiperiod Accounting
126962 -----------------------------------------------------------------------------------------
126963 -- No MPA option is assigned.
126964
126965
126966 END IF;
126967 END IF;
126968 --
126969
126970 --
126971 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
126972 trace
126973 (p_msg => 'END of AcctLineType_208'
126974 ,p_level => C_LEVEL_PROCEDURE
126975 ,p_module => l_log_module);
126976 END IF;
126977 --
126978 EXCEPTION
126979 WHEN xla_exceptions_pkg.application_exception THEN
126980 RAISE;
126981 WHEN OTHERS THEN
126982 xla_exceptions_pkg.raise_message
126983 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_208');
126984 END AcctLineType_208;
126985 --
126986
126987 ---------------------------------------
126988 --
126989 -- PRIVATE FUNCTION
126990 -- AcctLineType_209
126991 --
126992 ---------------------------------------
126993 PROCEDURE AcctLineType_209 (
126994 p_application_id IN NUMBER
126995 ,p_event_id IN NUMBER
126996 ,p_calculate_acctd_flag IN VARCHAR2
126997 ,p_calculate_g_l_flag IN VARCHAR2
126998 ,p_actual_flag IN OUT VARCHAR2
126999 ,p_balance_type_code OUT VARCHAR2
127000 ,p_gain_or_loss_ref OUT VARCHAR2
127001
127002 --Invoice Distribution Description
127003 , p_source_1 IN VARCHAR2
127004 --Invoice Distribution Ledger Amount
127005 , p_source_21 IN NUMBER
127006 --Invoice Distribution Type
127007 , p_source_33 IN VARCHAR2
127008 , p_source_33_meaning IN VARCHAR2
127009 --Self-Assessed Tax Account
127010 , p_source_50 IN NUMBER
127011 --Accounting Reversal Indicator
127012 , p_source_53 IN VARCHAR2
127013 --Distribution Link Type
127014 , p_source_55 IN VARCHAR2
127015 --Allocation to Main Distribution Identifier
127016 , p_source_57 IN NUMBER
127017 --Invoice Identifier
127018 , p_source_58 IN NUMBER
127019 --Invoice Distribution Identifier
127020 , p_source_64 IN NUMBER
127021 --Payables Encumbrance Upgrade Credit Account
127022 , p_source_65 IN NUMBER
127023 --Payables Encumbrance Upgrade Credit Amount
127024 , p_source_66 IN NUMBER
127025 --Invoice Currency Code
127026 , p_source_67 IN VARCHAR2
127027 --Payables Encumbrance Upgrade Credit Base Amount
127028 , p_source_68 IN NUMBER
127029 --Payables Encumbrance Upgrade Debit Account
127030 , p_source_69 IN NUMBER
127031 --Payables Encumbrance Upgrade Debit Amount
127032 , p_source_70 IN NUMBER
127033 --Payables Encumbrance Upgrade Debit Base Amount
127034 , p_source_71 IN NUMBER
127035 --Payables Encumbrance Upgrade Option
127036 , p_source_72 IN VARCHAR2
127037 --Invoice Distribution Amount
127038 , p_source_73 IN NUMBER
127039 --Purchase Order Exchange Rate Date
127040 , p_source_74 IN DATE
127041 --Purchase Order Exchange Rate
127042 , p_source_75 IN NUMBER
127043 --Purchase Order Exchange Rate Type
127044 , p_source_76 IN VARCHAR2
127045 --Deferred Accounting End Date
127046 , p_source_77 IN DATE
127047 --Deferred Accounting Option
127048 , p_source_78 IN VARCHAR2
127049 --Deferred Accounting Start Date
127050 , p_source_79 IN DATE
127051 --Override Accounted Amount Indicator
127052 , p_source_80 IN VARCHAR2
127053 , p_source_80_meaning IN VARCHAR2
127054 --Invoice Supplier Identifier
127055 , p_source_81 IN NUMBER
127056 --Invoice Supplier Site Identifier
127057 , p_source_82 IN NUMBER
127058 --Third Party Type
127059 , p_source_83 IN VARCHAR2
127060 --Parent Reversal Identifier
127061 , p_source_84 IN NUMBER
127062 --Invoice Distribution Tax Line Identifier
127063 , p_source_86 IN NUMBER
127064 --Invoice Distribution Tax Distribution Identifier from Tax
127065 , p_source_87 IN NUMBER
127066 --Invoice Distribution Summary Tax Line Identifier
127067 , p_source_88 IN NUMBER
127068 --Payables Upgrade Credit Encumbrance Type Identifier
127069 , p_source_89 IN NUMBER
127070 --Payables Upgrade Debit Encumbrance Type Identifier
127071 , p_source_90 IN NUMBER
127072 --Business Flow Accounts Payable Application Identifier
127073 , p_source_91 IN NUMBER
127074 --Business Flow Invoice Distribution Type
127075 , p_source_92 IN VARCHAR2
127076 --Business Flow Invoice Entity Code
127077 , p_source_93 IN VARCHAR2
127078 --Business Flow Invoice Distribution Identifier
127079 , p_source_94 IN NUMBER
127080 --Business Flow Invoice Identifier
127084 , p_source_96_meaning IN VARCHAR2
127081 , p_source_95 IN NUMBER
127082 --Accrue on Receipt Option
127083 , p_source_96 IN VARCHAR2
127085 --Self-Assessed Tax Flag
127086 , p_source_142 IN VARCHAR2
127087 , p_source_142_meaning IN VARCHAR2
127088 )
127089 IS
127090
127091 l_component_type VARCHAR2(80);
127092 l_component_code VARCHAR2(30);
127093 l_component_type_code VARCHAR2(1);
127094 l_component_appl_id INTEGER;
127095 l_amb_context_code VARCHAR2(30);
127096 l_entity_code VARCHAR2(30);
127097 l_event_class_code VARCHAR2(30);
127098 l_ae_header_id NUMBER;
127099 l_event_type_code VARCHAR2(30);
127100 l_line_definition_code VARCHAR2(30);
127101 l_line_definition_owner_code VARCHAR2(1);
127102 --
127103 -- adr variables
127104 l_segment VARCHAR2(30);
127105 l_ccid NUMBER;
127106 l_adr_transaction_coa_id NUMBER;
127107 l_adr_accounting_coa_id NUMBER;
127108 l_adr_flexfield_segment_code VARCHAR2(30);
127109 l_adr_flex_value_set_id NUMBER;
127110 l_adr_value_type_code VARCHAR2(30);
127111 l_adr_value_combination_id NUMBER;
127112 l_adr_value_segment_code VARCHAR2(30);
127113
127114 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
127115 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
127116 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
127117 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
127118
127119 -- 4262811 Variables ------------------------------------------------------------------------------------------
127120 l_entered_amt_idx NUMBER;
127121 l_accted_amt_idx NUMBER;
127122 l_acc_rev_flag VARCHAR2(1);
127123 l_accrual_line_num NUMBER;
127124 l_tmp_amt NUMBER;
127125 l_acc_rev_natural_side_code VARCHAR2(1);
127126
127127 l_num_entries NUMBER;
127128 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
127129 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
127130 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
127131 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
127132 l_recog_line_1 NUMBER;
127133 l_recog_line_2 NUMBER;
127134
127135 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
127136 l_bflow_applied_to_amt NUMBER; -- 5132302
127137 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
127138
127139 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
127140
127141 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
127142 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
127143
127144 ---------------------------------------------------------------------------------------------------------------
127145
127146
127147 --
127148 -- bulk performance
127149 --
127150 l_balance_type_code VARCHAR2(1);
127151 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
127152 l_log_module VARCHAR2(240);
127153
127154 --
127155 -- Upgrade strategy
127156 --
127157 l_actual_upg_option VARCHAR2(1);
127158 l_enc_upg_option VARCHAR2(1);
127159
127160 --
127161 BEGIN
127162 --
127163 IF g_log_enabled THEN
127164 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_209';
127165 END IF;
127166 --
127167 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
127168
127169 trace
127170 (p_msg => 'BEGIN of AcctLineType_209'
127171 ,p_level => C_LEVEL_PROCEDURE
127172 ,p_module => l_log_module);
127173
127174 END IF;
127175 --
127176 l_component_type := 'AMB_JLT';
127177 l_component_code := 'AP_SELF_NON_REC_ACCRUAL_DM';
127178 l_component_type_code := 'S';
127179 l_component_appl_id := 200;
127180 l_amb_context_code := 'DEFAULT';
127181 l_entity_code := 'AP_INVOICES';
127182 l_event_class_code := 'DEBIT MEMOS';
127183 l_event_type_code := 'DEBIT MEMOS_ALL';
127184 l_line_definition_owner_code := 'S';
127185 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
127186 --
127187 l_balance_type_code := 'A';
127188 l_segment := NULL;
127189 l_ccid := NULL;
127190 l_adr_transaction_coa_id := NULL;
127191 l_adr_accounting_coa_id := NULL;
127192 l_adr_flexfield_segment_code := NULL;
127193 l_adr_flex_value_set_id := NULL;
127194 l_adr_value_type_code := NULL;
127195 l_adr_value_combination_id := NULL;
127196 l_adr_value_segment_code := NULL;
127197
127198 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
127199 l_bflow_class_code := ''; -- 4219869 Business Flow
127200 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
127201 l_budgetary_control_flag := 'N';
127202
127203 l_bflow_applied_to_amt_idx := NULL; -- 5132302
127204 l_bflow_applied_to_amt := NULL; -- 5132302
127205 l_entered_amt_idx := NULL; -- 4262811
127206 l_accted_amt_idx := NULL; -- 4262811
127207 l_acc_rev_flag := NULL; -- 4262811
127208 l_accrual_line_num := NULL; -- 4262811
127209 l_tmp_amt := NULL; -- 4262811
127213 l_balance_type_code <> 'B' THEN
127210 --
127211
127212 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
127214 IF NVL(p_source_33,'
127215 ') = 'NONREC_TAX' AND
127216 NVL(p_source_142,'
127217 ') = 'Y' AND
127218 NVL(p_source_96,'
127219 ') = 'Y'
127220 THEN
127221
127222 --
127223 XLA_AE_LINES_PKG.SetNewLine;
127224
127225 p_balance_type_code := l_balance_type_code;
127226 -- set the flag so later we will know whether the gain loss line needs to be created
127227
127228 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
127229 p_actual_flag :='A';
127230 END IF;
127231
127232 --
127233 -- bulk performance
127234 --
127235 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
127236 p_header_num => 0); -- 4262811
127237 --
127238 -- set accounting line options
127239 --
127240 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
127241 p_natural_side_code => 'D'
127242 , p_gain_or_loss_flag => 'N'
127243 , p_gl_transfer_mode_code => 'S'
127244 , p_acct_entry_type_code => 'A'
127245 , p_switch_side_flag => 'Y'
127246 , p_merge_duplicate_code => 'A'
127247 );
127248 --
127249 l_acc_rev_natural_side_code := 'C'; -- 4262811
127250 --
127251 --
127252 -- set accounting line type info
127253 --
127254 xla_ae_lines_pkg.SetAcctLineType
127255 (p_component_type => l_component_type
127256 ,p_event_type_code => l_event_type_code
127257 ,p_line_definition_owner_code => l_line_definition_owner_code
127258 ,p_line_definition_code => l_line_definition_code
127259 ,p_accounting_line_code => l_component_code
127260 ,p_accounting_line_type_code => l_component_type_code
127261 ,p_accounting_line_appl_id => l_component_appl_id
127262 ,p_amb_context_code => l_amb_context_code
127263 ,p_entity_code => l_entity_code
127264 ,p_event_class_code => l_event_class_code);
127265 --
127266 -- set accounting class
127267 --
127268 xla_ae_lines_pkg.SetAcctClass(
127269 p_accounting_class_code => 'SELF_ASSESSED_TAX'
127270 , p_ae_header_id => l_ae_header_id
127271 );
127272
127273 --
127274 -- set rounding class
127275 --
127276 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
127277 'SELF_ASSESSED_TAX';
127278
127279 --
127280 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
127281 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
127282 --
127283 -- bulk performance
127284 --
127285 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
127286
127287 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
127288 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
127289
127290 -- 4955764
127291 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
127292 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
127293
127294 -- 4458381 Public Sector Enh
127295
127296 --
127297 -- set accounting attributes for the line type
127298 --
127299 l_entered_amt_idx := 23;
127300 l_accted_amt_idx := 28;
127301 l_bflow_applied_to_amt_idx := NULL; -- 5132302
127302 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
127303 l_rec_acct_attrs.array_char_value(1) := p_source_53;
127304 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
127305 l_rec_acct_attrs.array_num_value(2) :=
127306 xla_ae_sources_pkg.GetSystemSourceNum(
127307 p_source_code => 'XLA_EVENT_APPL_ID'
127308 , p_source_type_code => 'Y'
127309 , p_source_application_id => 602
127310 );
127311 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
127312 l_rec_acct_attrs.array_char_value(3) := p_source_55;
127313 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
127314 l_rec_acct_attrs.array_char_value(4) :=
127315 xla_ae_sources_pkg.GetSystemSourceChar(
127316 p_source_code => 'XLA_ENTITY_CODE'
127317 , p_source_type_code => 'Y'
127318 , p_source_application_id => 602
127319 );
127320 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
127321 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
127322 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
127323 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
127324 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
127325 l_rec_acct_attrs.array_num_value(7) := p_source_91;
127326 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
127327 l_rec_acct_attrs.array_char_value(8) := p_source_92;
127328 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
127329 l_rec_acct_attrs.array_char_value(9) := p_source_93;
127330 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
127331 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
127335 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
127332 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
127333 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
127334 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
127336 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
127337 l_rec_acct_attrs.array_char_value(13) := p_source_55;
127338 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
127339 l_rec_acct_attrs.array_num_value(14) := p_source_65;
127340 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
127341 l_rec_acct_attrs.array_num_value(15) := p_source_66;
127342 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
127343 l_rec_acct_attrs.array_char_value(16) := p_source_67;
127344 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
127345 l_rec_acct_attrs.array_num_value(17) := p_source_68;
127346 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
127347 l_rec_acct_attrs.array_num_value(18) := p_source_69;
127348 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
127349 l_rec_acct_attrs.array_num_value(19) := p_source_70;
127350 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
127351 l_rec_acct_attrs.array_char_value(20) := p_source_67;
127352 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
127353 l_rec_acct_attrs.array_num_value(21) := p_source_71;
127354 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
127355 l_rec_acct_attrs.array_char_value(22) := p_source_72;
127356 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
127357 l_rec_acct_attrs.array_num_value(23) := p_source_73;
127358 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
127359 l_rec_acct_attrs.array_char_value(24) := p_source_67;
127360 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
127361 l_rec_acct_attrs.array_date_value(25) := p_source_74;
127362 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
127363 l_rec_acct_attrs.array_num_value(26) := p_source_75;
127364 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
127365 l_rec_acct_attrs.array_char_value(27) := p_source_76;
127366 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
127367 l_rec_acct_attrs.array_num_value(28) := p_source_21;
127368 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
127369 l_rec_acct_attrs.array_date_value(29) := p_source_77;
127370 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
127371 l_rec_acct_attrs.array_char_value(30) := p_source_78;
127372 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
127373 l_rec_acct_attrs.array_date_value(31) := p_source_79;
127374 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
127375 l_rec_acct_attrs.array_char_value(32) := p_source_80;
127376 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
127377 l_rec_acct_attrs.array_num_value(33) := p_source_81;
127378 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
127379 l_rec_acct_attrs.array_num_value(34) := p_source_82;
127380 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
127381 l_rec_acct_attrs.array_char_value(35) := p_source_83;
127382 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
127383 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
127384 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
127385 l_rec_acct_attrs.array_char_value(37) := p_source_55;
127386 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
127387 l_rec_acct_attrs.array_num_value(38) := p_source_86;
127388 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
127389 l_rec_acct_attrs.array_num_value(39) := p_source_87;
127390 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
127391 l_rec_acct_attrs.array_num_value(40) := p_source_88;
127392 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
127393 l_rec_acct_attrs.array_num_value(41) := p_source_89;
127394 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
127395 l_rec_acct_attrs.array_num_value(42) := p_source_90;
127396
127397 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
127398 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
127399
127400 ---------------------------------------------------------------------------------------------------------------
127401 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
127402 ---------------------------------------------------------------------------------------------------------------
127403 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
127404
127405 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
127406 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
127407
127408 IF xla_accounting_cache_pkg.GetValueChar
127409 (p_source_code => 'LEDGER_CATEGORY_CODE'
127410 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
127411 AND l_bflow_method_code = 'PRIOR_ENTRY'
127412 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
127413 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
127414 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
127415 )
127419 ,p_business_class_code => l_bflow_class_code
127416 THEN
127417 xla_ae_lines_pkg.BflowUpgEntry
127418 (p_business_method_code => l_bflow_method_code
127420 ,p_balance_type => l_balance_type_code);
127421 ELSE
127422 NULL;
127423 -- No business flow processing for business flow method of NONE.
127424 END IF;
127425
127426 --
127427 -- call analytical criteria
127428 --
127429
127430 --
127431 -- call description
127432 --
127433
127434 xla_ae_lines_pkg.SetLineDescription(
127435 p_ae_header_id => l_ae_header_id
127436 ,p_description => Description_1 (
127437 p_application_id => p_application_id
127438 , p_ae_header_id => l_ae_header_id
127439 , p_source_1 => p_source_1
127440 )
127441 );
127442
127443
127444 --
127445 -- call ADRs
127446 -- Bug 4922099
127447 --
127448 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
127449 (NVL(l_actual_upg_option, 'N') = 'O') OR
127450 (NVL(l_enc_upg_option, 'N') = 'O')
127451 )
127452 THEN
127453 NULL;
127454 --
127455 --
127456
127457 l_ccid := AcctDerRule_42(
127458 p_application_id => p_application_id
127459 , p_ae_header_id => l_ae_header_id
127460 , p_source_50 => p_source_50
127461 , x_transaction_coa_id => l_adr_transaction_coa_id
127462 , x_accounting_coa_id => l_adr_accounting_coa_id
127463 , x_value_type_code => l_adr_value_type_code
127464 , p_side => 'NA'
127465 );
127466
127467 xla_ae_lines_pkg.set_ccid(
127468 p_code_combination_id => l_ccid
127469 , p_value_type_code => l_adr_value_type_code
127470 , p_transaction_coa_id => l_adr_transaction_coa_id
127471 , p_accounting_coa_id => l_adr_accounting_coa_id
127472 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
127473 , p_adr_type_code => 'S'
127474 , p_component_type => l_component_type
127475 , p_component_code => l_component_code
127476 , p_component_type_code => l_component_type_code
127477 , p_component_appl_id => l_component_appl_id
127478 , p_amb_context_code => l_amb_context_code
127479 , p_side => 'NA'
127480 );
127481
127482
127483 --
127484 --
127485 END IF;
127486 --
127487 -- Bug 4922099
127488 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
127489 (NVL(l_enc_upg_option, 'N') = 'O')
127490 ) AND
127491 (l_bflow_method_code = 'PRIOR_ENTRY')
127492 )
127493 THEN
127494 IF
127495 --
127496 1 = 2
127497 --
127498 THEN
127499 xla_accounting_err_pkg.build_message
127500 (p_appli_s_name => 'XLA'
127501 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
127502 ,p_token_1 => 'LINE_NUMBER'
127503 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
127504 ,p_token_2 => 'LINE_TYPE_NAME'
127505 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
127506 l_component_type
127507 ,l_component_code
127508 ,l_component_type_code
127509 ,l_component_appl_id
127510 ,l_amb_context_code
127511 ,l_entity_code
127512 ,l_event_class_code
127513 )
127514 ,p_token_3 => 'OWNER'
127515 ,p_value_3 => xla_lookups_pkg.get_meaning(
127516 p_lookup_type => 'XLA_OWNER_TYPE'
127517 ,p_lookup_code => l_component_type_code
127518 )
127519 ,p_token_4 => 'PRODUCT_NAME'
127520 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
127521 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
127522 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
127523 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
127524 ,p_ae_header_id => NULL
127525 );
127526
127527 IF (C_LEVEL_ERROR>= g_log_level) THEN
127528 trace
127529 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
127533 END IF;
127530 ,p_level => C_LEVEL_ERROR
127531 ,p_module => l_log_module);
127532 END IF;
127534 END IF;
127535 --
127536 --
127537 ------------------------------------------------------------------------------------------------
127538 -- 4219869 Business Flow
127539 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
127540 -- Prior Entry. Currently, the following code is always generated.
127541 ------------------------------------------------------------------------------------------------
127542 XLA_AE_LINES_PKG.ValidateCurrentLine;
127543
127544 ------------------------------------------------------------------------------------
127545 -- 4219869 Business Flow
127546 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
127547 ------------------------------------------------------------------------------------
127548 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
127549
127550 ----------------------------------------------------------------------------------
127551 -- 4219869 Business Flow
127552 -- Update journal entry status -- Need to generate this within IF <condition>
127553 ----------------------------------------------------------------------------------
127554 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
127555 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
127556 ,p_balance_type_code => l_balance_type_code
127557 );
127558
127559 -------------------------------------------------------------------------------------------
127560 -- 4262811 - Generate the Accrual Reversal lines
127561 -------------------------------------------------------------------------------------------
127562 BEGIN
127563 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
127564 (g_array_event(p_event_id).array_value_num('header_index'));
127565 IF l_acc_rev_flag IS NULL THEN
127566 l_acc_rev_flag := 'N';
127567 END IF;
127568 EXCEPTION
127569 WHEN OTHERS THEN
127570 l_acc_rev_flag := 'N';
127571 END;
127572 --
127573 IF (l_acc_rev_flag = 'Y') THEN
127574
127575 -- 4645092 ------------------------------------------------------------------------------
127576 -- To allow MPA report to determine if it should generate report process
127577 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
127578 ------------------------------------------------------------------------------------------
127579
127580 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
127581 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
127582 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
127583 -- call ADRs
127584 -- Bug 4922099
127585 --
127586 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
127587 (NVL(l_actual_upg_option, 'N') = 'O') OR
127588 (NVL(l_enc_upg_option, 'N') = 'O')
127589 )
127590 THEN
127591 NULL;
127592 --
127593 --
127594
127595 l_ccid := AcctDerRule_42(
127596 p_application_id => p_application_id
127597 , p_ae_header_id => l_ae_header_id
127598 , p_source_50 => p_source_50
127599 , x_transaction_coa_id => l_adr_transaction_coa_id
127600 , x_accounting_coa_id => l_adr_accounting_coa_id
127601 , x_value_type_code => l_adr_value_type_code
127602 , p_side => 'NA'
127603 );
127604
127605 xla_ae_lines_pkg.set_ccid(
127606 p_code_combination_id => l_ccid
127607 , p_value_type_code => l_adr_value_type_code
127608 , p_transaction_coa_id => l_adr_transaction_coa_id
127609 , p_accounting_coa_id => l_adr_accounting_coa_id
127610 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
127611 , p_adr_type_code => 'S'
127612 , p_component_type => l_component_type
127613 , p_component_code => l_component_code
127614 , p_component_type_code => l_component_type_code
127615 , p_component_appl_id => l_component_appl_id
127616 , p_amb_context_code => l_amb_context_code
127617 , p_side => 'NA'
127618 );
127619
127620
127621 --
127622 --
127623 END IF;
127624
127625 --
127626 -- Update the line information that should be overwritten
127627 --
127628 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
127629 p_header_num => 1);
127630 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
127631
127632 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
127633
127634 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
127635 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
127636 END IF;
127637
127638 --
127639 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
127640 --
127641 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
127645 -- 4262811a Switch Sign
127642 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
127643 ELSE
127644 ---------------------------------------------------------------------------------------------------
127646 ---------------------------------------------------------------------------------------------------
127647 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
127648 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
127649 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
127650 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
127651 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
127652 -- 5132302
127653 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
127654 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
127655
127656 END IF;
127657
127658 -- 4955764
127659 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
127660 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
127661
127662
127663 XLA_AE_LINES_PKG.ValidateCurrentLine;
127664 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
127665
127666 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
127667 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
127668 ,p_balance_type_code => l_balance_type_code);
127669
127670 END IF;
127671
127672 -----------------------------------------------------------------------------------------
127673 -- 4262811 Multiperiod Accounting
127674 -----------------------------------------------------------------------------------------
127675 -- No MPA option is assigned.
127676
127677
127678 END IF;
127679 END IF;
127680 --
127681
127682 --
127683 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
127684 trace
127685 (p_msg => 'END of AcctLineType_209'
127686 ,p_level => C_LEVEL_PROCEDURE
127687 ,p_module => l_log_module);
127688 END IF;
127689 --
127690 EXCEPTION
127691 WHEN xla_exceptions_pkg.application_exception THEN
127692 RAISE;
127693 WHEN OTHERS THEN
127694 xla_exceptions_pkg.raise_message
127695 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_209');
127696 END AcctLineType_209;
127697 --
127698
127699 ---------------------------------------
127700 --
127701 -- PRIVATE FUNCTION
127702 -- AcctLineType_210
127703 --
127704 ---------------------------------------
127705 PROCEDURE AcctLineType_210 (
127706 p_application_id IN NUMBER
127707 ,p_event_id IN NUMBER
127708 ,p_calculate_acctd_flag IN VARCHAR2
127709 ,p_calculate_g_l_flag IN VARCHAR2
127710 ,p_actual_flag IN OUT VARCHAR2
127711 ,p_balance_type_code OUT VARCHAR2
127712 ,p_gain_or_loss_ref OUT VARCHAR2
127713
127714 --Invoice Distribution Description
127715 , p_source_1 IN VARCHAR2
127716 --Invoice Distribution Ledger Amount
127717 , p_source_21 IN NUMBER
127718 --Invoice Distribution Type
127719 , p_source_33 IN VARCHAR2
127720 , p_source_33_meaning IN VARCHAR2
127721 --Self-Assessed Tax Account
127722 , p_source_50 IN NUMBER
127723 --Accounting Reversal Indicator
127724 , p_source_53 IN VARCHAR2
127725 --Distribution Link Type
127726 , p_source_55 IN VARCHAR2
127727 --Allocation to Main Distribution Identifier
127728 , p_source_57 IN NUMBER
127729 --Invoice Identifier
127730 , p_source_58 IN NUMBER
127731 --Invoice Distribution Identifier
127732 , p_source_64 IN NUMBER
127733 --Payables Encumbrance Upgrade Credit Account
127734 , p_source_65 IN NUMBER
127735 --Payables Encumbrance Upgrade Credit Amount
127736 , p_source_66 IN NUMBER
127737 --Invoice Currency Code
127738 , p_source_67 IN VARCHAR2
127739 --Payables Encumbrance Upgrade Credit Base Amount
127740 , p_source_68 IN NUMBER
127741 --Payables Encumbrance Upgrade Debit Account
127742 , p_source_69 IN NUMBER
127743 --Payables Encumbrance Upgrade Debit Amount
127744 , p_source_70 IN NUMBER
127745 --Payables Encumbrance Upgrade Debit Base Amount
127746 , p_source_71 IN NUMBER
127747 --Payables Encumbrance Upgrade Option
127748 , p_source_72 IN VARCHAR2
127749 --Invoice Distribution Amount
127750 , p_source_73 IN NUMBER
127751 --Purchase Order Exchange Rate Date
127752 , p_source_74 IN DATE
127753 --Purchase Order Exchange Rate
127754 , p_source_75 IN NUMBER
127755 --Purchase Order Exchange Rate Type
127756 , p_source_76 IN VARCHAR2
127757 --Deferred Accounting End Date
127758 , p_source_77 IN DATE
127759 --Deferred Accounting Option
127760 , p_source_78 IN VARCHAR2
127761 --Deferred Accounting Start Date
127762 , p_source_79 IN DATE
127763 --Override Accounted Amount Indicator
127764 , p_source_80 IN VARCHAR2
127765 , p_source_80_meaning IN VARCHAR2
127766 --Invoice Supplier Identifier
127767 , p_source_81 IN NUMBER
127768 --Invoice Supplier Site Identifier
127772 --Parent Reversal Identifier
127769 , p_source_82 IN NUMBER
127770 --Third Party Type
127771 , p_source_83 IN VARCHAR2
127773 , p_source_84 IN NUMBER
127774 --Invoice Distribution Statistical Amount
127775 , p_source_85 IN NUMBER
127776 --Invoice Distribution Tax Line Identifier
127777 , p_source_86 IN NUMBER
127778 --Invoice Distribution Tax Distribution Identifier from Tax
127779 , p_source_87 IN NUMBER
127780 --Invoice Distribution Summary Tax Line Identifier
127781 , p_source_88 IN NUMBER
127782 --Payables Upgrade Credit Encumbrance Type Identifier
127783 , p_source_89 IN NUMBER
127784 --Payables Upgrade Debit Encumbrance Type Identifier
127785 , p_source_90 IN NUMBER
127786 --Business Flow Accounts Payable Application Identifier
127787 , p_source_91 IN NUMBER
127788 --Business Flow Invoice Distribution Type
127789 , p_source_92 IN VARCHAR2
127790 --Business Flow Invoice Entity Code
127791 , p_source_93 IN VARCHAR2
127792 --Business Flow Invoice Distribution Identifier
127793 , p_source_94 IN NUMBER
127794 --Business Flow Invoice Identifier
127795 , p_source_95 IN NUMBER
127796 --Accrue on Receipt Option
127797 , p_source_96 IN VARCHAR2
127798 , p_source_96_meaning IN VARCHAR2
127799 --Self-Assessed Tax Flag
127800 , p_source_142 IN VARCHAR2
127801 , p_source_142_meaning IN VARCHAR2
127802 )
127803 IS
127804
127805 l_component_type VARCHAR2(80);
127806 l_component_code VARCHAR2(30);
127807 l_component_type_code VARCHAR2(1);
127808 l_component_appl_id INTEGER;
127809 l_amb_context_code VARCHAR2(30);
127810 l_entity_code VARCHAR2(30);
127811 l_event_class_code VARCHAR2(30);
127812 l_ae_header_id NUMBER;
127813 l_event_type_code VARCHAR2(30);
127814 l_line_definition_code VARCHAR2(30);
127815 l_line_definition_owner_code VARCHAR2(1);
127816 --
127817 -- adr variables
127818 l_segment VARCHAR2(30);
127819 l_ccid NUMBER;
127820 l_adr_transaction_coa_id NUMBER;
127821 l_adr_accounting_coa_id NUMBER;
127822 l_adr_flexfield_segment_code VARCHAR2(30);
127823 l_adr_flex_value_set_id NUMBER;
127824 l_adr_value_type_code VARCHAR2(30);
127825 l_adr_value_combination_id NUMBER;
127826 l_adr_value_segment_code VARCHAR2(30);
127827
127828 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
127829 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
127830 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
127831 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
127832
127833 -- 4262811 Variables ------------------------------------------------------------------------------------------
127834 l_entered_amt_idx NUMBER;
127835 l_accted_amt_idx NUMBER;
127836 l_acc_rev_flag VARCHAR2(1);
127837 l_accrual_line_num NUMBER;
127838 l_tmp_amt NUMBER;
127839 l_acc_rev_natural_side_code VARCHAR2(1);
127840
127841 l_num_entries NUMBER;
127842 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
127843 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
127844 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
127845 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
127846 l_recog_line_1 NUMBER;
127847 l_recog_line_2 NUMBER;
127848
127849 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
127850 l_bflow_applied_to_amt NUMBER; -- 5132302
127851 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
127852
127853 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
127854
127855 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
127856 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
127857
127858 ---------------------------------------------------------------------------------------------------------------
127859
127860
127861 --
127862 -- bulk performance
127863 --
127864 l_balance_type_code VARCHAR2(1);
127865 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
127866 l_log_module VARCHAR2(240);
127867
127868 --
127869 -- Upgrade strategy
127870 --
127871 l_actual_upg_option VARCHAR2(1);
127872 l_enc_upg_option VARCHAR2(1);
127873
127874 --
127875 BEGIN
127876 --
127877 IF g_log_enabled THEN
127878 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_210';
127879 END IF;
127880 --
127881 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
127882
127883 trace
127884 (p_msg => 'BEGIN of AcctLineType_210'
127885 ,p_level => C_LEVEL_PROCEDURE
127886 ,p_module => l_log_module);
127887
127888 END IF;
127889 --
127890 l_component_type := 'AMB_JLT';
127891 l_component_code := 'AP_SELF_NON_REC_ACCRUAL_INV';
127892 l_component_type_code := 'S';
127893 l_component_appl_id := 200;
127894 l_amb_context_code := 'DEFAULT';
127895 l_entity_code := 'AP_INVOICES';
127896 l_event_class_code := 'INVOICES';
127897 l_event_type_code := 'INVOICES_ALL';
127901 l_balance_type_code := 'A';
127898 l_line_definition_owner_code := 'S';
127899 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
127900 --
127902 l_segment := NULL;
127903 l_ccid := NULL;
127904 l_adr_transaction_coa_id := NULL;
127905 l_adr_accounting_coa_id := NULL;
127906 l_adr_flexfield_segment_code := NULL;
127907 l_adr_flex_value_set_id := NULL;
127908 l_adr_value_type_code := NULL;
127909 l_adr_value_combination_id := NULL;
127910 l_adr_value_segment_code := NULL;
127911
127912 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
127913 l_bflow_class_code := ''; -- 4219869 Business Flow
127914 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
127915 l_budgetary_control_flag := 'N';
127916
127917 l_bflow_applied_to_amt_idx := NULL; -- 5132302
127918 l_bflow_applied_to_amt := NULL; -- 5132302
127919 l_entered_amt_idx := NULL; -- 4262811
127920 l_accted_amt_idx := NULL; -- 4262811
127921 l_acc_rev_flag := NULL; -- 4262811
127922 l_accrual_line_num := NULL; -- 4262811
127923 l_tmp_amt := NULL; -- 4262811
127924 --
127925
127926 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
127927 l_balance_type_code <> 'B' THEN
127928 IF NVL(p_source_33,'
127929 ') = 'NONREC_TAX' AND
127930 NVL(p_source_142,'
127931 ') = 'Y' AND
127932 NVL(p_source_96,'
127933 ') = 'Y'
127934 THEN
127935
127936 --
127937 XLA_AE_LINES_PKG.SetNewLine;
127938
127939 p_balance_type_code := l_balance_type_code;
127940 -- set the flag so later we will know whether the gain loss line needs to be created
127941
127942 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
127943 p_actual_flag :='A';
127944 END IF;
127945
127946 --
127947 -- bulk performance
127948 --
127949 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
127950 p_header_num => 0); -- 4262811
127951 --
127952 -- set accounting line options
127953 --
127954 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
127955 p_natural_side_code => 'D'
127956 , p_gain_or_loss_flag => 'N'
127957 , p_gl_transfer_mode_code => 'S'
127958 , p_acct_entry_type_code => 'A'
127959 , p_switch_side_flag => 'Y'
127960 , p_merge_duplicate_code => 'A'
127961 );
127962 --
127963 l_acc_rev_natural_side_code := 'C'; -- 4262811
127964 --
127965 --
127966 -- set accounting line type info
127967 --
127968 xla_ae_lines_pkg.SetAcctLineType
127969 (p_component_type => l_component_type
127970 ,p_event_type_code => l_event_type_code
127971 ,p_line_definition_owner_code => l_line_definition_owner_code
127972 ,p_line_definition_code => l_line_definition_code
127973 ,p_accounting_line_code => l_component_code
127974 ,p_accounting_line_type_code => l_component_type_code
127975 ,p_accounting_line_appl_id => l_component_appl_id
127976 ,p_amb_context_code => l_amb_context_code
127977 ,p_entity_code => l_entity_code
127978 ,p_event_class_code => l_event_class_code);
127979 --
127980 -- set accounting class
127981 --
127982 xla_ae_lines_pkg.SetAcctClass(
127983 p_accounting_class_code => 'SELF_ASSESSED_TAX'
127984 , p_ae_header_id => l_ae_header_id
127985 );
127986
127987 --
127988 -- set rounding class
127989 --
127990 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
127991 'SELF_ASSESSED_TAX';
127992
127993 --
127994 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
127995 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
127996 --
127997 -- bulk performance
127998 --
127999 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
128000
128001 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
128002 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
128003
128004 -- 4955764
128005 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
128006 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
128007
128008 -- 4458381 Public Sector Enh
128009
128010 --
128011 -- set accounting attributes for the line type
128012 --
128013 l_entered_amt_idx := 24;
128014 l_accted_amt_idx := 29;
128015 l_bflow_applied_to_amt_idx := 7; -- 5132302
128016 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
128017 l_rec_acct_attrs.array_char_value(1) := p_source_53;
128018 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
128019 l_rec_acct_attrs.array_num_value(2) :=
128020 xla_ae_sources_pkg.GetSystemSourceNum(
128021 p_source_code => 'XLA_EVENT_APPL_ID'
128022 , p_source_type_code => 'Y'
128023 , p_source_application_id => 602
128024 );
128025 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
128029 xla_ae_sources_pkg.GetSystemSourceChar(
128026 l_rec_acct_attrs.array_char_value(3) := p_source_55;
128027 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
128028 l_rec_acct_attrs.array_char_value(4) :=
128030 p_source_code => 'XLA_ENTITY_CODE'
128031 , p_source_type_code => 'Y'
128032 , p_source_application_id => 602
128033 );
128034 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
128035 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
128036 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
128037 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
128038 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
128039 l_rec_acct_attrs.array_num_value(7) := p_source_73;
128040 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
128041 l_rec_acct_attrs.array_num_value(8) := p_source_91;
128042 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
128043 l_rec_acct_attrs.array_char_value(9) := p_source_92;
128044 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
128045 l_rec_acct_attrs.array_char_value(10) := p_source_93;
128046 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
128047 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
128048 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
128049 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_95);
128050 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
128051 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_64);
128052 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
128053 l_rec_acct_attrs.array_char_value(14) := p_source_55;
128054 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
128055 l_rec_acct_attrs.array_num_value(15) := p_source_65;
128056 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
128057 l_rec_acct_attrs.array_num_value(16) := p_source_66;
128058 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
128059 l_rec_acct_attrs.array_char_value(17) := p_source_67;
128060 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
128061 l_rec_acct_attrs.array_num_value(18) := p_source_68;
128062 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
128063 l_rec_acct_attrs.array_num_value(19) := p_source_69;
128064 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
128065 l_rec_acct_attrs.array_num_value(20) := p_source_70;
128066 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
128067 l_rec_acct_attrs.array_char_value(21) := p_source_67;
128068 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
128069 l_rec_acct_attrs.array_num_value(22) := p_source_71;
128070 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
128071 l_rec_acct_attrs.array_char_value(23) := p_source_72;
128072 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
128073 l_rec_acct_attrs.array_num_value(24) := p_source_73;
128074 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
128075 l_rec_acct_attrs.array_char_value(25) := p_source_67;
128076 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
128077 l_rec_acct_attrs.array_date_value(26) := p_source_74;
128078 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
128079 l_rec_acct_attrs.array_num_value(27) := p_source_75;
128080 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
128081 l_rec_acct_attrs.array_char_value(28) := p_source_76;
128082 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
128083 l_rec_acct_attrs.array_num_value(29) := p_source_21;
128084 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
128085 l_rec_acct_attrs.array_date_value(30) := p_source_77;
128086 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
128087 l_rec_acct_attrs.array_char_value(31) := p_source_78;
128088 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
128089 l_rec_acct_attrs.array_date_value(32) := p_source_79;
128090 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
128091 l_rec_acct_attrs.array_char_value(33) := p_source_80;
128092 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
128093 l_rec_acct_attrs.array_num_value(34) := p_source_81;
128094 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
128095 l_rec_acct_attrs.array_num_value(35) := p_source_82;
128096 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
128097 l_rec_acct_attrs.array_char_value(36) := p_source_83;
128098 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
128099 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_84);
128100 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
128101 l_rec_acct_attrs.array_char_value(38) := p_source_55;
128102 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
128103 l_rec_acct_attrs.array_num_value(39) := p_source_85;
128104 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
128105 l_rec_acct_attrs.array_num_value(40) := p_source_86;
128106 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
128107 l_rec_acct_attrs.array_num_value(41) := p_source_87;
128108 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
128109 l_rec_acct_attrs.array_num_value(42) := p_source_88;
128113 l_rec_acct_attrs.array_num_value(44) := p_source_90;
128110 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
128111 l_rec_acct_attrs.array_num_value(43) := p_source_89;
128112 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
128114
128115 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
128116 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
128117
128118 ---------------------------------------------------------------------------------------------------------------
128119 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
128120 ---------------------------------------------------------------------------------------------------------------
128121 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
128122
128123 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
128124 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
128125
128126 IF xla_accounting_cache_pkg.GetValueChar
128127 (p_source_code => 'LEDGER_CATEGORY_CODE'
128128 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
128129 AND l_bflow_method_code = 'PRIOR_ENTRY'
128130 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
128131 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
128132 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
128133 )
128134 THEN
128135 xla_ae_lines_pkg.BflowUpgEntry
128136 (p_business_method_code => l_bflow_method_code
128137 ,p_business_class_code => l_bflow_class_code
128138 ,p_balance_type => l_balance_type_code);
128139 ELSE
128140 NULL;
128141 -- No business flow processing for business flow method of NONE.
128142 END IF;
128143
128144 --
128145 -- call analytical criteria
128146 --
128147
128148 --
128149 -- call description
128150 --
128151
128152 xla_ae_lines_pkg.SetLineDescription(
128153 p_ae_header_id => l_ae_header_id
128154 ,p_description => Description_1 (
128155 p_application_id => p_application_id
128156 , p_ae_header_id => l_ae_header_id
128157 , p_source_1 => p_source_1
128158 )
128159 );
128160
128161
128162 --
128163 -- call ADRs
128164 -- Bug 4922099
128165 --
128166 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
128167 (NVL(l_actual_upg_option, 'N') = 'O') OR
128168 (NVL(l_enc_upg_option, 'N') = 'O')
128169 )
128170 THEN
128171 NULL;
128172 --
128173 --
128174
128175 l_ccid := AcctDerRule_42(
128176 p_application_id => p_application_id
128177 , p_ae_header_id => l_ae_header_id
128178 , p_source_50 => p_source_50
128179 , x_transaction_coa_id => l_adr_transaction_coa_id
128180 , x_accounting_coa_id => l_adr_accounting_coa_id
128181 , x_value_type_code => l_adr_value_type_code
128182 , p_side => 'NA'
128183 );
128184
128185 xla_ae_lines_pkg.set_ccid(
128186 p_code_combination_id => l_ccid
128187 , p_value_type_code => l_adr_value_type_code
128188 , p_transaction_coa_id => l_adr_transaction_coa_id
128189 , p_accounting_coa_id => l_adr_accounting_coa_id
128190 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
128191 , p_adr_type_code => 'S'
128192 , p_component_type => l_component_type
128193 , p_component_code => l_component_code
128194 , p_component_type_code => l_component_type_code
128195 , p_component_appl_id => l_component_appl_id
128196 , p_amb_context_code => l_amb_context_code
128197 , p_side => 'NA'
128198 );
128199
128200
128201 --
128202 --
128203 END IF;
128204 --
128205 -- Bug 4922099
128206 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
128207 (NVL(l_enc_upg_option, 'N') = 'O')
128208 ) AND
128209 (l_bflow_method_code = 'PRIOR_ENTRY')
128210 )
128211 THEN
128212 IF
128213 --
128214 1 = 2
128215 --
128216 THEN
128217 xla_accounting_err_pkg.build_message
128218 (p_appli_s_name => 'XLA'
128219 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
128220 ,p_token_1 => 'LINE_NUMBER'
128221 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
128222 ,p_token_2 => 'LINE_TYPE_NAME'
128223 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
128224 l_component_type
128225 ,l_component_code
128226 ,l_component_type_code
128227 ,l_component_appl_id
128231 )
128228 ,l_amb_context_code
128229 ,l_entity_code
128230 ,l_event_class_code
128232 ,p_token_3 => 'OWNER'
128233 ,p_value_3 => xla_lookups_pkg.get_meaning(
128234 p_lookup_type => 'XLA_OWNER_TYPE'
128235 ,p_lookup_code => l_component_type_code
128236 )
128237 ,p_token_4 => 'PRODUCT_NAME'
128238 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
128239 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
128240 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
128241 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
128242 ,p_ae_header_id => NULL
128243 );
128244
128245 IF (C_LEVEL_ERROR>= g_log_level) THEN
128246 trace
128247 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
128248 ,p_level => C_LEVEL_ERROR
128249 ,p_module => l_log_module);
128250 END IF;
128251 END IF;
128252 END IF;
128253 --
128254 --
128255 ------------------------------------------------------------------------------------------------
128256 -- 4219869 Business Flow
128257 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
128258 -- Prior Entry. Currently, the following code is always generated.
128259 ------------------------------------------------------------------------------------------------
128260 XLA_AE_LINES_PKG.ValidateCurrentLine;
128261
128262 ------------------------------------------------------------------------------------
128263 -- 4219869 Business Flow
128264 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
128265 ------------------------------------------------------------------------------------
128266 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
128267
128268 ----------------------------------------------------------------------------------
128269 -- 4219869 Business Flow
128270 -- Update journal entry status -- Need to generate this within IF <condition>
128271 ----------------------------------------------------------------------------------
128272 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
128273 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
128274 ,p_balance_type_code => l_balance_type_code
128275 );
128276
128277 -------------------------------------------------------------------------------------------
128278 -- 4262811 - Generate the Accrual Reversal lines
128279 -------------------------------------------------------------------------------------------
128280 BEGIN
128281 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
128282 (g_array_event(p_event_id).array_value_num('header_index'));
128283 IF l_acc_rev_flag IS NULL THEN
128284 l_acc_rev_flag := 'N';
128285 END IF;
128286 EXCEPTION
128287 WHEN OTHERS THEN
128288 l_acc_rev_flag := 'N';
128289 END;
128290 --
128291 IF (l_acc_rev_flag = 'Y') THEN
128292
128293 -- 4645092 ------------------------------------------------------------------------------
128294 -- To allow MPA report to determine if it should generate report process
128295 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
128296 ------------------------------------------------------------------------------------------
128297
128298 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
128299 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
128300 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
128301 -- call ADRs
128302 -- Bug 4922099
128303 --
128304 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
128305 (NVL(l_actual_upg_option, 'N') = 'O') OR
128306 (NVL(l_enc_upg_option, 'N') = 'O')
128307 )
128308 THEN
128309 NULL;
128310 --
128311 --
128312
128313 l_ccid := AcctDerRule_42(
128314 p_application_id => p_application_id
128315 , p_ae_header_id => l_ae_header_id
128316 , p_source_50 => p_source_50
128317 , x_transaction_coa_id => l_adr_transaction_coa_id
128318 , x_accounting_coa_id => l_adr_accounting_coa_id
128319 , x_value_type_code => l_adr_value_type_code
128320 , p_side => 'NA'
128321 );
128322
128323 xla_ae_lines_pkg.set_ccid(
128324 p_code_combination_id => l_ccid
128325 , p_value_type_code => l_adr_value_type_code
128326 , p_transaction_coa_id => l_adr_transaction_coa_id
128327 , p_accounting_coa_id => l_adr_accounting_coa_id
128328 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
128332 , p_component_type_code => l_component_type_code
128329 , p_adr_type_code => 'S'
128330 , p_component_type => l_component_type
128331 , p_component_code => l_component_code
128333 , p_component_appl_id => l_component_appl_id
128334 , p_amb_context_code => l_amb_context_code
128335 , p_side => 'NA'
128336 );
128337
128338
128339 --
128340 --
128341 END IF;
128342
128343 --
128344 -- Update the line information that should be overwritten
128345 --
128346 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
128347 p_header_num => 1);
128348 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
128349
128350 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
128351
128352 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
128353 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
128354 END IF;
128355
128356 --
128357 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
128358 --
128359 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
128360 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
128361 ELSE
128362 ---------------------------------------------------------------------------------------------------
128363 -- 4262811a Switch Sign
128364 ---------------------------------------------------------------------------------------------------
128365 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
128366 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
128367 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
128368 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
128369 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
128370 -- 5132302
128371 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
128372 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
128373
128374 END IF;
128375
128376 -- 4955764
128377 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
128378 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
128379
128380
128381 XLA_AE_LINES_PKG.ValidateCurrentLine;
128382 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
128383
128384 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
128385 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
128386 ,p_balance_type_code => l_balance_type_code);
128387
128388 END IF;
128389
128390 -----------------------------------------------------------------------------------------
128391 -- 4262811 Multiperiod Accounting
128392 -----------------------------------------------------------------------------------------
128393 -- No MPA option is assigned.
128394
128395
128396 END IF;
128397 END IF;
128398 --
128399
128400 --
128401 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
128402 trace
128403 (p_msg => 'END of AcctLineType_210'
128404 ,p_level => C_LEVEL_PROCEDURE
128405 ,p_module => l_log_module);
128406 END IF;
128407 --
128408 EXCEPTION
128409 WHEN xla_exceptions_pkg.application_exception THEN
128410 RAISE;
128411 WHEN OTHERS THEN
128412 xla_exceptions_pkg.raise_message
128413 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_210');
128414 END AcctLineType_210;
128415 --
128416
128417 ---------------------------------------
128418 --
128419 -- PRIVATE FUNCTION
128420 -- AcctLineType_211
128421 --
128422 ---------------------------------------
128423 PROCEDURE AcctLineType_211 (
128424 p_application_id IN NUMBER
128425 ,p_event_id IN NUMBER
128426 ,p_calculate_acctd_flag IN VARCHAR2
128427 ,p_calculate_g_l_flag IN VARCHAR2
128428 ,p_actual_flag IN OUT VARCHAR2
128429 ,p_balance_type_code OUT VARCHAR2
128430 ,p_gain_or_loss_ref OUT VARCHAR2
128431
128432 --Automatic Offsets Value
128433 , p_source_15 IN VARCHAR2
128434 , p_source_15_meaning IN VARCHAR2
128435 --Invoice Distribution Account
128436 , p_source_30 IN NUMBER
128437 --Payables Options Tax Difference Account
128438 , p_source_41 IN NUMBER
128439 --Accounting Reversal Indicator
128440 , p_source_53 IN VARCHAR2
128441 --Distribution Link Type
128442 , p_source_55 IN VARCHAR2
128443 --Invoice Identifier
128444 , p_source_58 IN NUMBER
128445 --Payables Encumbrance Upgrade Credit Account
128446 , p_source_65 IN NUMBER
128447 --Payables Encumbrance Upgrade Credit Amount
128448 , p_source_66 IN NUMBER
128449 --Invoice Currency Code
128450 , p_source_67 IN VARCHAR2
128451 --Payables Encumbrance Upgrade Credit Base Amount
128452 , p_source_68 IN NUMBER
128456 , p_source_70 IN NUMBER
128453 --Payables Encumbrance Upgrade Debit Account
128454 , p_source_69 IN NUMBER
128455 --Payables Encumbrance Upgrade Debit Amount
128457 --Payables Encumbrance Upgrade Debit Base Amount
128458 , p_source_71 IN NUMBER
128459 --Payables Encumbrance Upgrade Option
128460 , p_source_72 IN VARCHAR2
128461 --Deferred Accounting End Date
128462 , p_source_77 IN DATE
128463 --Deferred Accounting Option
128464 , p_source_78 IN VARCHAR2
128465 --Deferred Accounting Start Date
128466 , p_source_79 IN DATE
128467 --Override Accounted Amount Indicator
128468 , p_source_80 IN VARCHAR2
128469 , p_source_80_meaning IN VARCHAR2
128470 --Invoice Supplier Identifier
128471 , p_source_81 IN NUMBER
128472 --Invoice Supplier Site Identifier
128473 , p_source_82 IN NUMBER
128474 --Third Party Type
128475 , p_source_83 IN VARCHAR2
128476 --Invoice Distribution Tax Line Identifier
128477 , p_source_86 IN NUMBER
128478 --Invoice Distribution Tax Distribution Identifier from Tax
128479 , p_source_87 IN NUMBER
128480 --Invoice Distribution Summary Tax Line Identifier
128481 , p_source_88 IN NUMBER
128482 --Payables Upgrade Credit Encumbrance Type Identifier
128483 , p_source_89 IN NUMBER
128484 --Payables Upgrade Debit Encumbrance Type Identifier
128485 , p_source_90 IN NUMBER
128486 --Business Flow Accounts Payable Application Identifier
128487 , p_source_91 IN NUMBER
128488 --Prepayment Distribution Type
128489 , p_source_125 IN VARCHAR2
128490 --Prepayment Application Distribution Identifier
128491 , p_source_127 IN NUMBER
128492 --Upgrade Encumbrance Credit Account Class
128493 , p_source_132 IN VARCHAR2
128494 --Upgrade Encumbrance Debit Account Class
128495 , p_source_133 IN VARCHAR2
128496 --Prepayment Distribution Amount
128497 , p_source_134 IN NUMBER
128498 --Identifier of the Prepayment Application Reversed
128499 , p_source_136 IN NUMBER
128500 --Prepayment Distribution (Invoice Rate) Ledger Amount
128501 , p_source_141 IN NUMBER
128502 --Invoice Exchange Date
128503 , p_source_143 IN DATE
128504 --Invoice Exchange Rate
128505 , p_source_144 IN NUMBER
128506 --Invoice Exchange Rate Type
128507 , p_source_145 IN VARCHAR2
128508 --Business Flow Prepayment Invoice Distribution Type
128509 , p_source_146 IN VARCHAR2
128510 --Business Flow Prepayment Invoice Entity Code
128511 , p_source_147 IN VARCHAR2
128512 --Business Flow Prepayment Invoice Distribution Identifier
128513 , p_source_148 IN NUMBER
128514 --Business Flow Prepayment Invoice Identifier
128515 , p_source_149 IN NUMBER
128516 )
128517 IS
128518
128519 l_component_type VARCHAR2(80);
128520 l_component_code VARCHAR2(30);
128521 l_component_type_code VARCHAR2(1);
128522 l_component_appl_id INTEGER;
128523 l_amb_context_code VARCHAR2(30);
128524 l_entity_code VARCHAR2(30);
128525 l_event_class_code VARCHAR2(30);
128526 l_ae_header_id NUMBER;
128527 l_event_type_code VARCHAR2(30);
128528 l_line_definition_code VARCHAR2(30);
128529 l_line_definition_owner_code VARCHAR2(1);
128530 --
128531 -- adr variables
128532 l_segment VARCHAR2(30);
128533 l_ccid NUMBER;
128534 l_adr_transaction_coa_id NUMBER;
128535 l_adr_accounting_coa_id NUMBER;
128536 l_adr_flexfield_segment_code VARCHAR2(30);
128537 l_adr_flex_value_set_id NUMBER;
128538 l_adr_value_type_code VARCHAR2(30);
128539 l_adr_value_combination_id NUMBER;
128540 l_adr_value_segment_code VARCHAR2(30);
128541
128542 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
128543 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
128544 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
128545 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
128546
128547 -- 4262811 Variables ------------------------------------------------------------------------------------------
128548 l_entered_amt_idx NUMBER;
128549 l_accted_amt_idx NUMBER;
128550 l_acc_rev_flag VARCHAR2(1);
128551 l_accrual_line_num NUMBER;
128552 l_tmp_amt NUMBER;
128553 l_acc_rev_natural_side_code VARCHAR2(1);
128554
128555 l_num_entries NUMBER;
128556 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
128557 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
128558 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
128559 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
128560 l_recog_line_1 NUMBER;
128561 l_recog_line_2 NUMBER;
128562
128563 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
128564 l_bflow_applied_to_amt NUMBER; -- 5132302
128565 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
128566
128567 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
128568
128569 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
128570 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
128571
128575 --
128572 ---------------------------------------------------------------------------------------------------------------
128573
128574
128576 -- bulk performance
128577 --
128578 l_balance_type_code VARCHAR2(1);
128579 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
128580 l_log_module VARCHAR2(240);
128581
128582 --
128583 -- Upgrade strategy
128584 --
128585 l_actual_upg_option VARCHAR2(1);
128586 l_enc_upg_option VARCHAR2(1);
128587
128588 --
128589 BEGIN
128590 --
128591 IF g_log_enabled THEN
128592 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_211';
128593 END IF;
128594 --
128595 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
128596
128597 trace
128598 (p_msg => 'BEGIN of AcctLineType_211'
128599 ,p_level => C_LEVEL_PROCEDURE
128600 ,p_module => l_log_module);
128601
128602 END IF;
128603 --
128604 l_component_type := 'AMB_JLT';
128605 l_component_code := 'AP_TAX_DIFF_PREPAY_APP';
128606 l_component_type_code := 'S';
128607 l_component_appl_id := 200;
128608 l_amb_context_code := 'DEFAULT';
128609 l_entity_code := 'AP_INVOICES';
128610 l_event_class_code := 'PREPAYMENT APPLICATIONS';
128611 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
128612 l_line_definition_owner_code := 'S';
128613 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
128614 --
128615 l_balance_type_code := 'A';
128616 l_segment := NULL;
128617 l_ccid := NULL;
128618 l_adr_transaction_coa_id := NULL;
128619 l_adr_accounting_coa_id := NULL;
128620 l_adr_flexfield_segment_code := NULL;
128621 l_adr_flex_value_set_id := NULL;
128622 l_adr_value_type_code := NULL;
128623 l_adr_value_combination_id := NULL;
128624 l_adr_value_segment_code := NULL;
128625
128626 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
128627 l_bflow_class_code := ''; -- 4219869 Business Flow
128628 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
128629 l_budgetary_control_flag := 'N';
128630
128631 l_bflow_applied_to_amt_idx := NULL; -- 5132302
128632 l_bflow_applied_to_amt := NULL; -- 5132302
128633 l_entered_amt_idx := NULL; -- 4262811
128634 l_accted_amt_idx := NULL; -- 4262811
128635 l_acc_rev_flag := NULL; -- 4262811
128636 l_accrual_line_num := NULL; -- 4262811
128637 l_tmp_amt := NULL; -- 4262811
128638 --
128639
128640 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
128641 l_balance_type_code <> 'B' THEN
128642 IF NVL(p_source_125,'
128643 ') = 'TAX DIFF'
128644 THEN
128645
128646 --
128647 XLA_AE_LINES_PKG.SetNewLine;
128648
128649 p_balance_type_code := l_balance_type_code;
128650 -- set the flag so later we will know whether the gain loss line needs to be created
128651
128652 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
128653 p_actual_flag :='A';
128654 END IF;
128655
128656 --
128657 -- bulk performance
128658 --
128659 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
128660 p_header_num => 0); -- 4262811
128661 --
128662 -- set accounting line options
128663 --
128664 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
128665 p_natural_side_code => 'C'
128666 , p_gain_or_loss_flag => 'N'
128667 , p_gl_transfer_mode_code => 'S'
128668 , p_acct_entry_type_code => 'A'
128669 , p_switch_side_flag => 'Y'
128670 , p_merge_duplicate_code => 'A'
128671 );
128672 --
128673 l_acc_rev_natural_side_code := 'D'; -- 4262811
128674 --
128675 --
128676 -- set accounting line type info
128677 --
128678 xla_ae_lines_pkg.SetAcctLineType
128679 (p_component_type => l_component_type
128680 ,p_event_type_code => l_event_type_code
128681 ,p_line_definition_owner_code => l_line_definition_owner_code
128682 ,p_line_definition_code => l_line_definition_code
128683 ,p_accounting_line_code => l_component_code
128684 ,p_accounting_line_type_code => l_component_type_code
128685 ,p_accounting_line_appl_id => l_component_appl_id
128686 ,p_amb_context_code => l_amb_context_code
128687 ,p_entity_code => l_entity_code
128688 ,p_event_class_code => l_event_class_code);
128689 --
128690 -- set accounting class
128691 --
128692 xla_ae_lines_pkg.SetAcctClass(
128693 p_accounting_class_code => 'TAX_DIFF'
128694 , p_ae_header_id => l_ae_header_id
128695 );
128696
128697 --
128698 -- set rounding class
128699 --
128700 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
128701 'TAX_DIFF';
128702
128703 --
128704 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
128705 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
128706 --
128710
128707 -- bulk performance
128708 --
128709 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
128711 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
128712 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
128713
128714 -- 4955764
128715 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
128716 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
128717
128718 -- 4458381 Public Sector Enh
128719
128720 --
128721 -- set accounting attributes for the line type
128722 --
128723 l_entered_amt_idx := 25;
128724 l_accted_amt_idx := 30;
128725 l_bflow_applied_to_amt_idx := NULL; -- 5132302
128726 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
128727 l_rec_acct_attrs.array_char_value(1) := p_source_53;
128728 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
128729 l_rec_acct_attrs.array_num_value(2) :=
128730 xla_ae_sources_pkg.GetSystemSourceNum(
128731 p_source_code => 'XLA_EVENT_APPL_ID'
128732 , p_source_type_code => 'Y'
128733 , p_source_application_id => 602
128734 );
128735 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
128736 l_rec_acct_attrs.array_char_value(3) := p_source_55;
128737 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
128738 l_rec_acct_attrs.array_char_value(4) :=
128739 xla_ae_sources_pkg.GetSystemSourceChar(
128740 p_source_code => 'XLA_ENTITY_CODE'
128741 , p_source_type_code => 'Y'
128742 , p_source_application_id => 602
128743 );
128744 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
128745 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_127);
128746 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
128747 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
128748 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
128749 l_rec_acct_attrs.array_num_value(7) := p_source_91;
128750 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
128751 l_rec_acct_attrs.array_char_value(8) := p_source_146;
128752 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
128753 l_rec_acct_attrs.array_char_value(9) := p_source_147;
128754 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
128755 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_148);
128756 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
128757 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_149);
128758 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
128759 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_127);
128760 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
128761 l_rec_acct_attrs.array_char_value(13) := p_source_55;
128762 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
128763 l_rec_acct_attrs.array_char_value(14) := p_source_132;
128764 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
128765 l_rec_acct_attrs.array_num_value(15) := p_source_65;
128766 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
128767 l_rec_acct_attrs.array_num_value(16) := p_source_66;
128768 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
128769 l_rec_acct_attrs.array_char_value(17) := p_source_67;
128770 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
128771 l_rec_acct_attrs.array_num_value(18) := p_source_68;
128772 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
128773 l_rec_acct_attrs.array_char_value(19) := p_source_133;
128774 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
128775 l_rec_acct_attrs.array_num_value(20) := p_source_69;
128776 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
128777 l_rec_acct_attrs.array_num_value(21) := p_source_70;
128778 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
128779 l_rec_acct_attrs.array_char_value(22) := p_source_67;
128780 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
128781 l_rec_acct_attrs.array_num_value(23) := p_source_71;
128782 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
128783 l_rec_acct_attrs.array_char_value(24) := p_source_72;
128784 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
128785 l_rec_acct_attrs.array_num_value(25) := p_source_134;
128786 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
128787 l_rec_acct_attrs.array_char_value(26) := p_source_67;
128788 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_DATE';
128789 l_rec_acct_attrs.array_date_value(27) := p_source_143;
128790 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE';
128791 l_rec_acct_attrs.array_num_value(28) := p_source_144;
128792 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_RATE_TYPE';
128793 l_rec_acct_attrs.array_char_value(29) := p_source_145;
128794 l_rec_acct_attrs.array_acct_attr_code(30) := 'LEDGER_AMOUNT';
128795 l_rec_acct_attrs.array_num_value(30) := p_source_141;
128796 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_END_DATE';
128797 l_rec_acct_attrs.array_date_value(31) := p_source_77;
128798 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_OPTION';
128799 l_rec_acct_attrs.array_char_value(32) := p_source_78;
128803 l_rec_acct_attrs.array_char_value(34) := p_source_80;
128800 l_rec_acct_attrs.array_acct_attr_code(33) := 'MULTIPERIOD_START_DATE';
128801 l_rec_acct_attrs.array_date_value(33) := p_source_79;
128802 l_rec_acct_attrs.array_acct_attr_code(34) := 'OVERRIDE_ACCTD_AMT_FLAG';
128804 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_ID';
128805 l_rec_acct_attrs.array_num_value(35) := p_source_81;
128806 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_SITE_ID';
128807 l_rec_acct_attrs.array_num_value(36) := p_source_82;
128808 l_rec_acct_attrs.array_acct_attr_code(37) := 'PARTY_TYPE';
128809 l_rec_acct_attrs.array_char_value(37) := p_source_83;
128810 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_ID1';
128811 l_rec_acct_attrs.array_num_value(38) := to_char(p_source_136);
128812 l_rec_acct_attrs.array_acct_attr_code(39) := 'REVERSED_DISTRIBUTION_TYPE';
128813 l_rec_acct_attrs.array_char_value(39) := p_source_55;
128814 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
128815 l_rec_acct_attrs.array_num_value(40) := p_source_86;
128816 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
128817 l_rec_acct_attrs.array_num_value(41) := p_source_87;
128818 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
128819 l_rec_acct_attrs.array_num_value(42) := p_source_88;
128820 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
128821 l_rec_acct_attrs.array_num_value(43) := p_source_89;
128822 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
128823 l_rec_acct_attrs.array_num_value(44) := p_source_90;
128824
128825 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
128826 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
128827
128828 ---------------------------------------------------------------------------------------------------------------
128829 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
128830 ---------------------------------------------------------------------------------------------------------------
128831 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
128832
128833 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
128834 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
128835
128836 IF xla_accounting_cache_pkg.GetValueChar
128837 (p_source_code => 'LEDGER_CATEGORY_CODE'
128838 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
128839 AND l_bflow_method_code = 'PRIOR_ENTRY'
128840 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
128841 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
128842 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
128843 )
128844 THEN
128845 xla_ae_lines_pkg.BflowUpgEntry
128846 (p_business_method_code => l_bflow_method_code
128847 ,p_business_class_code => l_bflow_class_code
128848 ,p_balance_type => l_balance_type_code);
128849 ELSE
128850 NULL;
128851 -- No business flow processing for business flow method of NONE.
128852 END IF;
128853
128854 --
128855 -- call analytical criteria
128856 --
128857
128858 --
128859 -- call description
128860 --
128861 -- No description or it is inherited.
128862 --
128863 -- call ADRs
128864 -- Bug 4922099
128865 --
128866 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
128867 (NVL(l_actual_upg_option, 'N') = 'O') OR
128868 (NVL(l_enc_upg_option, 'N') = 'O')
128869 )
128870 THEN
128871 NULL;
128872 --
128873 --
128874
128875 l_ccid := AcctDerRule_45(
128876 p_application_id => p_application_id
128877 , p_ae_header_id => l_ae_header_id
128878 , p_source_15 => p_source_15
128879 , p_source_15_meaning => p_source_15_meaning
128880 , p_source_30 => p_source_30
128881 , p_source_41 => p_source_41
128882 , x_transaction_coa_id => l_adr_transaction_coa_id
128883 , x_accounting_coa_id => l_adr_accounting_coa_id
128884 , x_value_type_code => l_adr_value_type_code
128885 , p_side => 'NA'
128886 );
128887
128888 xla_ae_lines_pkg.set_ccid(
128889 p_code_combination_id => l_ccid
128890 , p_value_type_code => l_adr_value_type_code
128891 , p_transaction_coa_id => l_adr_transaction_coa_id
128892 , p_accounting_coa_id => l_adr_accounting_coa_id
128893 , p_adr_code => 'AP_TAX_DIFFERENCE'
128894 , p_adr_type_code => 'S'
128895 , p_component_type => l_component_type
128896 , p_component_code => l_component_code
128897 , p_component_type_code => l_component_type_code
128898 , p_component_appl_id => l_component_appl_id
128899 , p_amb_context_code => l_amb_context_code
128900 , p_side => 'NA'
128901 );
128902
128903
128904 l_segment := AcctDerRule_22(
128905 p_application_id => p_application_id
128906 , p_ae_header_id => l_ae_header_id
128907 , p_source_15 => p_source_15
128908 , p_source_15_meaning => p_source_15_meaning
128909 , p_source_30 => p_source_30
128913 , x_flex_value_set_id => l_adr_flex_value_set_id
128910 , x_transaction_coa_id => l_adr_transaction_coa_id
128911 , x_accounting_coa_id => l_adr_accounting_coa_id
128912 , x_flexfield_segment_code => l_adr_flexfield_segment_code
128914 , x_value_type_code => l_adr_value_type_code
128915 , x_value_combination_id => l_adr_value_combination_id
128916 , x_value_segment_code => l_adr_value_segment_code
128917 , p_side => 'NA'
128918 , p_override_seg_flag => 'Y'
128919 );
128920
128921 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
128922
128923 xla_ae_lines_pkg.set_segment(
128924 p_to_segment_code => 'GL_BALANCING'
128925 , p_segment_value => l_segment
128926 , p_from_segment_code => l_adr_value_segment_code
128927 , p_from_combination_id => l_adr_value_combination_id
128928 , p_value_type_code => l_adr_value_type_code
128929 , p_transaction_coa_id => l_adr_transaction_coa_id
128930 , p_accounting_coa_id => l_adr_accounting_coa_id
128931 , p_flexfield_segment_code => l_adr_flexfield_segment_code
128932 , p_flex_value_set_id => l_adr_flex_value_set_id
128933 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
128934 , p_adr_type_code => 'S'
128935 , p_component_type => l_component_type
128936 , p_component_code => l_component_code
128937 , p_component_type_code => l_component_type_code
128938 , p_component_appl_id => l_component_appl_id
128939 , p_amb_context_code => l_amb_context_code
128940 , p_entity_code => 'AP_INVOICES'
128941 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
128942 , p_side => 'NA'
128943 );
128944
128945 END IF;
128946
128947 l_segment := AcctDerRule_20(
128948 p_application_id => p_application_id
128949 , p_ae_header_id => l_ae_header_id
128950 , p_source_41 => p_source_41
128951 , x_transaction_coa_id => l_adr_transaction_coa_id
128952 , x_accounting_coa_id => l_adr_accounting_coa_id
128953 , x_flexfield_segment_code => l_adr_flexfield_segment_code
128954 , x_flex_value_set_id => l_adr_flex_value_set_id
128955 , x_value_type_code => l_adr_value_type_code
128956 , x_value_combination_id => l_adr_value_combination_id
128957 , x_value_segment_code => l_adr_value_segment_code
128958 , p_side => 'NA'
128959 , p_override_seg_flag => 'Y'
128960 );
128961
128962 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
128963
128964 xla_ae_lines_pkg.set_segment(
128965 p_to_segment_code => 'GL_ACCOUNT'
128966 , p_segment_value => l_segment
128967 , p_from_segment_code => l_adr_value_segment_code
128968 , p_from_combination_id => l_adr_value_combination_id
128969 , p_value_type_code => l_adr_value_type_code
128970 , p_transaction_coa_id => l_adr_transaction_coa_id
128971 , p_accounting_coa_id => l_adr_accounting_coa_id
128972 , p_flexfield_segment_code => l_adr_flexfield_segment_code
128973 , p_flex_value_set_id => l_adr_flex_value_set_id
128974 , p_adr_code => 'AP_TAX_DIFFERENCE_NAT_ACCT'
128975 , p_adr_type_code => 'S'
128976 , p_component_type => l_component_type
128977 , p_component_code => l_component_code
128978 , p_component_type_code => l_component_type_code
128979 , p_component_appl_id => l_component_appl_id
128980 , p_amb_context_code => l_amb_context_code
128981 , p_entity_code => 'AP_INVOICES'
128982 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
128983 , p_side => 'NA'
128984 );
128985
128986 END IF;
128987
128988 --
128989 --
128990 END IF;
128991 --
128992 -- Bug 4922099
128993 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
128994 (NVL(l_enc_upg_option, 'N') = 'O')
128995 ) AND
128996 (l_bflow_method_code = 'PRIOR_ENTRY')
128997 )
128998 THEN
128999 IF
129000 --
129001 1 = 2
129002 --
129003 THEN
129004 xla_accounting_err_pkg.build_message
129005 (p_appli_s_name => 'XLA'
129006 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
129007 ,p_token_1 => 'LINE_NUMBER'
129008 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
129009 ,p_token_2 => 'LINE_TYPE_NAME'
129010 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
129011 l_component_type
129012 ,l_component_code
129013 ,l_component_type_code
129014 ,l_component_appl_id
129015 ,l_amb_context_code
129019 ,p_token_3 => 'OWNER'
129016 ,l_entity_code
129017 ,l_event_class_code
129018 )
129020 ,p_value_3 => xla_lookups_pkg.get_meaning(
129021 p_lookup_type => 'XLA_OWNER_TYPE'
129022 ,p_lookup_code => l_component_type_code
129023 )
129024 ,p_token_4 => 'PRODUCT_NAME'
129025 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
129026 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
129027 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
129028 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
129029 ,p_ae_header_id => NULL
129030 );
129031
129032 IF (C_LEVEL_ERROR>= g_log_level) THEN
129033 trace
129034 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
129035 ,p_level => C_LEVEL_ERROR
129036 ,p_module => l_log_module);
129037 END IF;
129038 END IF;
129039 END IF;
129040 --
129041 --
129042 ------------------------------------------------------------------------------------------------
129043 -- 4219869 Business Flow
129044 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
129045 -- Prior Entry. Currently, the following code is always generated.
129046 ------------------------------------------------------------------------------------------------
129047 XLA_AE_LINES_PKG.ValidateCurrentLine;
129048
129049 ------------------------------------------------------------------------------------
129050 -- 4219869 Business Flow
129051 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
129052 ------------------------------------------------------------------------------------
129053 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
129054
129055 ----------------------------------------------------------------------------------
129056 -- 4219869 Business Flow
129057 -- Update journal entry status -- Need to generate this within IF <condition>
129058 ----------------------------------------------------------------------------------
129059 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
129060 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
129061 ,p_balance_type_code => l_balance_type_code
129062 );
129063
129064 -------------------------------------------------------------------------------------------
129065 -- 4262811 - Generate the Accrual Reversal lines
129066 -------------------------------------------------------------------------------------------
129067 BEGIN
129068 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
129069 (g_array_event(p_event_id).array_value_num('header_index'));
129070 IF l_acc_rev_flag IS NULL THEN
129071 l_acc_rev_flag := 'N';
129072 END IF;
129073 EXCEPTION
129074 WHEN OTHERS THEN
129075 l_acc_rev_flag := 'N';
129076 END;
129077 --
129078 IF (l_acc_rev_flag = 'Y') THEN
129079
129080 -- 4645092 ------------------------------------------------------------------------------
129081 -- To allow MPA report to determine if it should generate report process
129082 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
129083 ------------------------------------------------------------------------------------------
129084
129085 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
129086 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
129087 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
129088 -- call ADRs
129089 -- Bug 4922099
129090 --
129091 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
129092 (NVL(l_actual_upg_option, 'N') = 'O') OR
129093 (NVL(l_enc_upg_option, 'N') = 'O')
129094 )
129095 THEN
129096 NULL;
129097 --
129098 --
129099
129100 l_ccid := AcctDerRule_45(
129101 p_application_id => p_application_id
129102 , p_ae_header_id => l_ae_header_id
129103 , p_source_15 => p_source_15
129104 , p_source_15_meaning => p_source_15_meaning
129105 , p_source_30 => p_source_30
129106 , p_source_41 => p_source_41
129107 , x_transaction_coa_id => l_adr_transaction_coa_id
129108 , x_accounting_coa_id => l_adr_accounting_coa_id
129109 , x_value_type_code => l_adr_value_type_code
129110 , p_side => 'NA'
129111 );
129112
129113 xla_ae_lines_pkg.set_ccid(
129114 p_code_combination_id => l_ccid
129115 , p_value_type_code => l_adr_value_type_code
129116 , p_transaction_coa_id => l_adr_transaction_coa_id
129117 , p_accounting_coa_id => l_adr_accounting_coa_id
129121 , p_component_code => l_component_code
129118 , p_adr_code => 'AP_TAX_DIFFERENCE'
129119 , p_adr_type_code => 'S'
129120 , p_component_type => l_component_type
129122 , p_component_type_code => l_component_type_code
129123 , p_component_appl_id => l_component_appl_id
129124 , p_amb_context_code => l_amb_context_code
129125 , p_side => 'NA'
129126 );
129127
129128
129129 l_segment := AcctDerRule_22(
129130 p_application_id => p_application_id
129131 , p_ae_header_id => l_ae_header_id
129132 , p_source_15 => p_source_15
129133 , p_source_15_meaning => p_source_15_meaning
129134 , p_source_30 => p_source_30
129135 , x_transaction_coa_id => l_adr_transaction_coa_id
129136 , x_accounting_coa_id => l_adr_accounting_coa_id
129137 , x_flexfield_segment_code => l_adr_flexfield_segment_code
129138 , x_flex_value_set_id => l_adr_flex_value_set_id
129139 , x_value_type_code => l_adr_value_type_code
129140 , x_value_combination_id => l_adr_value_combination_id
129141 , x_value_segment_code => l_adr_value_segment_code
129142 , p_side => 'NA'
129143 , p_override_seg_flag => 'Y'
129144 );
129145
129146 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
129147
129148 xla_ae_lines_pkg.set_segment(
129149 p_to_segment_code => 'GL_BALANCING'
129150 , p_segment_value => l_segment
129151 , p_from_segment_code => l_adr_value_segment_code
129152 , p_from_combination_id => l_adr_value_combination_id
129153 , p_value_type_code => l_adr_value_type_code
129154 , p_transaction_coa_id => l_adr_transaction_coa_id
129155 , p_accounting_coa_id => l_adr_accounting_coa_id
129156 , p_flexfield_segment_code => l_adr_flexfield_segment_code
129157 , p_flex_value_set_id => l_adr_flex_value_set_id
129158 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
129159 , p_adr_type_code => 'S'
129160 , p_component_type => l_component_type
129161 , p_component_code => l_component_code
129162 , p_component_type_code => l_component_type_code
129163 , p_component_appl_id => l_component_appl_id
129164 , p_amb_context_code => l_amb_context_code
129165 , p_entity_code => 'AP_INVOICES'
129166 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
129167 , p_side => 'NA'
129168 );
129169
129170 END IF;
129171
129172 l_segment := AcctDerRule_20(
129173 p_application_id => p_application_id
129174 , p_ae_header_id => l_ae_header_id
129175 , p_source_41 => p_source_41
129176 , x_transaction_coa_id => l_adr_transaction_coa_id
129177 , x_accounting_coa_id => l_adr_accounting_coa_id
129178 , x_flexfield_segment_code => l_adr_flexfield_segment_code
129179 , x_flex_value_set_id => l_adr_flex_value_set_id
129180 , x_value_type_code => l_adr_value_type_code
129181 , x_value_combination_id => l_adr_value_combination_id
129182 , x_value_segment_code => l_adr_value_segment_code
129183 , p_side => 'NA'
129184 , p_override_seg_flag => 'Y'
129185 );
129186
129187 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
129188
129189 xla_ae_lines_pkg.set_segment(
129190 p_to_segment_code => 'GL_ACCOUNT'
129191 , p_segment_value => l_segment
129192 , p_from_segment_code => l_adr_value_segment_code
129193 , p_from_combination_id => l_adr_value_combination_id
129194 , p_value_type_code => l_adr_value_type_code
129195 , p_transaction_coa_id => l_adr_transaction_coa_id
129196 , p_accounting_coa_id => l_adr_accounting_coa_id
129197 , p_flexfield_segment_code => l_adr_flexfield_segment_code
129198 , p_flex_value_set_id => l_adr_flex_value_set_id
129199 , p_adr_code => 'AP_TAX_DIFFERENCE_NAT_ACCT'
129200 , p_adr_type_code => 'S'
129201 , p_component_type => l_component_type
129202 , p_component_code => l_component_code
129203 , p_component_type_code => l_component_type_code
129204 , p_component_appl_id => l_component_appl_id
129205 , p_amb_context_code => l_amb_context_code
129206 , p_entity_code => 'AP_INVOICES'
129207 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
129208 , p_side => 'NA'
129209 );
129210
129211 END IF;
129212
129213 --
129214 --
129215 END IF;
129216
129217 --
129218 -- Update the line information that should be overwritten
129219 --
129220 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
129221 p_header_num => 1);
129222 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
129223
129224 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
129225
129226 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
129227 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
129231 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
129228 END IF;
129229
129230 --
129232 --
129233 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
129234 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
129235 ELSE
129236 ---------------------------------------------------------------------------------------------------
129237 -- 4262811a Switch Sign
129238 ---------------------------------------------------------------------------------------------------
129239 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
129240 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
129241 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
129242 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
129243 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
129244 -- 5132302
129245 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
129246 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
129247
129248 END IF;
129249
129250 -- 4955764
129251 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
129252 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
129253
129254
129255 XLA_AE_LINES_PKG.ValidateCurrentLine;
129256 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
129257
129258 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
129259 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
129260 ,p_balance_type_code => l_balance_type_code);
129261
129262 END IF;
129263
129264 -----------------------------------------------------------------------------------------
129265 -- 4262811 Multiperiod Accounting
129266 -----------------------------------------------------------------------------------------
129267 -- No MPA option is assigned.
129268
129269
129270 END IF;
129271 END IF;
129272 --
129273
129274 --
129275 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
129276 trace
129277 (p_msg => 'END of AcctLineType_211'
129278 ,p_level => C_LEVEL_PROCEDURE
129279 ,p_module => l_log_module);
129280 END IF;
129281 --
129282 EXCEPTION
129283 WHEN xla_exceptions_pkg.application_exception THEN
129284 RAISE;
129285 WHEN OTHERS THEN
129286 xla_exceptions_pkg.raise_message
129287 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_211');
129288 END AcctLineType_211;
129289 --
129290
129291 ---------------------------------------
129292 --
129293 -- PRIVATE FUNCTION
129294 -- AcctLineType_212
129295 --
129296 ---------------------------------------
129297 PROCEDURE AcctLineType_212 (
129298 p_application_id IN NUMBER
129299 ,p_event_id IN NUMBER
129300 ,p_calculate_acctd_flag IN VARCHAR2
129301 ,p_calculate_g_l_flag IN VARCHAR2
129302 ,p_actual_flag IN OUT VARCHAR2
129303 ,p_balance_type_code OUT VARCHAR2
129304 ,p_gain_or_loss_ref OUT VARCHAR2
129305
129306 --Invoice Distribution Description
129307 , p_source_1 IN VARCHAR2
129308 --Automatic Offsets Value
129309 , p_source_15 IN VARCHAR2
129310 , p_source_15_meaning IN VARCHAR2
129311 --Purchase Order Rate Variance Gain Account
129312 , p_source_20 IN NUMBER
129313 --Invoice Distribution Ledger Amount
129314 , p_source_21 IN NUMBER
129315 --Destination Type of the PO Distribution
129316 , p_source_22 IN VARCHAR2
129317 , p_source_22_meaning IN VARCHAR2
129318 --Purchase Order Rate Variance Loss Account
129319 , p_source_23 IN NUMBER
129320 --Invoice Distribution Account
129321 , p_source_30 IN NUMBER
129322 --Invoice Distribution Type
129323 , p_source_33 IN VARCHAR2
129324 , p_source_33_meaning IN VARCHAR2
129325 --Automatic Offsets Flag
129326 , p_source_47 IN VARCHAR2
129327 , p_source_47_meaning IN VARCHAR2
129328 --Accounting Reversal Indicator
129329 , p_source_53 IN VARCHAR2
129330 --Distribution Link Type
129331 , p_source_55 IN VARCHAR2
129332 --Allocation to Main Distribution Identifier
129333 , p_source_57 IN NUMBER
129334 --Invoice Identifier
129335 , p_source_58 IN NUMBER
129336 --Invoice Distribution Identifier
129337 , p_source_64 IN NUMBER
129338 --Payables Encumbrance Upgrade Credit Account
129339 , p_source_65 IN NUMBER
129340 --Payables Encumbrance Upgrade Credit Amount
129341 , p_source_66 IN NUMBER
129342 --Invoice Currency Code
129343 , p_source_67 IN VARCHAR2
129344 --Payables Encumbrance Upgrade Credit Base Amount
129345 , p_source_68 IN NUMBER
129346 --Payables Encumbrance Upgrade Debit Account
129347 , p_source_69 IN NUMBER
129348 --Payables Encumbrance Upgrade Debit Amount
129349 , p_source_70 IN NUMBER
129350 --Payables Encumbrance Upgrade Debit Base Amount
129351 , p_source_71 IN NUMBER
129355 , p_source_73 IN NUMBER
129352 --Payables Encumbrance Upgrade Option
129353 , p_source_72 IN VARCHAR2
129354 --Invoice Distribution Amount
129356 --Deferred Accounting End Date
129357 , p_source_77 IN DATE
129358 --Deferred Accounting Option
129359 , p_source_78 IN VARCHAR2
129360 --Deferred Accounting Start Date
129361 , p_source_79 IN DATE
129362 --Override Accounted Amount Indicator
129363 , p_source_80 IN VARCHAR2
129364 , p_source_80_meaning IN VARCHAR2
129365 --Invoice Supplier Identifier
129366 , p_source_81 IN NUMBER
129367 --Invoice Supplier Site Identifier
129368 , p_source_82 IN NUMBER
129369 --Third Party Type
129370 , p_source_83 IN VARCHAR2
129371 --Parent Reversal Identifier
129372 , p_source_84 IN NUMBER
129373 --Invoice Distribution Statistical Amount
129374 , p_source_85 IN NUMBER
129375 --Invoice Distribution Tax Line Identifier
129376 , p_source_86 IN NUMBER
129377 --Invoice Distribution Tax Distribution Identifier from Tax
129378 , p_source_87 IN NUMBER
129379 --Invoice Distribution Summary Tax Line Identifier
129380 , p_source_88 IN NUMBER
129381 --Payables Upgrade Credit Encumbrance Type Identifier
129382 , p_source_89 IN NUMBER
129383 --Payables Upgrade Debit Encumbrance Type Identifier
129384 , p_source_90 IN NUMBER
129385 --Business Flow Accounts Payable Application Identifier
129386 , p_source_91 IN NUMBER
129387 --Business Flow Invoice Distribution Type
129388 , p_source_92 IN VARCHAR2
129389 --Business Flow Invoice Entity Code
129390 , p_source_93 IN VARCHAR2
129391 --Business Flow Invoice Distribution Identifier
129392 , p_source_94 IN NUMBER
129393 --Business Flow Invoice Identifier
129394 , p_source_95 IN NUMBER
129395 --Accrue on Receipt Option
129396 , p_source_96 IN VARCHAR2
129397 , p_source_96_meaning IN VARCHAR2
129398 --Invoice Exchange Date
129399 , p_source_143 IN DATE
129400 --Invoice Exchange Rate
129401 , p_source_144 IN NUMBER
129402 --Invoice Exchange Rate Type
129403 , p_source_145 IN VARCHAR2
129404 )
129405 IS
129406
129407 l_component_type VARCHAR2(80);
129408 l_component_code VARCHAR2(30);
129409 l_component_type_code VARCHAR2(1);
129410 l_component_appl_id INTEGER;
129411 l_amb_context_code VARCHAR2(30);
129412 l_entity_code VARCHAR2(30);
129413 l_event_class_code VARCHAR2(30);
129414 l_ae_header_id NUMBER;
129415 l_event_type_code VARCHAR2(30);
129416 l_line_definition_code VARCHAR2(30);
129417 l_line_definition_owner_code VARCHAR2(1);
129418 --
129419 -- adr variables
129420 l_segment VARCHAR2(30);
129421 l_ccid NUMBER;
129422 l_adr_transaction_coa_id NUMBER;
129423 l_adr_accounting_coa_id NUMBER;
129424 l_adr_flexfield_segment_code VARCHAR2(30);
129425 l_adr_flex_value_set_id NUMBER;
129426 l_adr_value_type_code VARCHAR2(30);
129427 l_adr_value_combination_id NUMBER;
129428 l_adr_value_segment_code VARCHAR2(30);
129429
129430 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
129431 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
129432 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
129433 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
129434
129435 -- 4262811 Variables ------------------------------------------------------------------------------------------
129436 l_entered_amt_idx NUMBER;
129437 l_accted_amt_idx NUMBER;
129438 l_acc_rev_flag VARCHAR2(1);
129439 l_accrual_line_num NUMBER;
129440 l_tmp_amt NUMBER;
129441 l_acc_rev_natural_side_code VARCHAR2(1);
129442
129443 l_num_entries NUMBER;
129444 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
129445 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
129446 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
129447 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
129448 l_recog_line_1 NUMBER;
129449 l_recog_line_2 NUMBER;
129450
129451 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
129452 l_bflow_applied_to_amt NUMBER; -- 5132302
129453 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
129454
129455 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
129456
129457 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
129458 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
129459
129460 ---------------------------------------------------------------------------------------------------------------
129461
129462
129463 --
129464 -- bulk performance
129465 --
129466 l_balance_type_code VARCHAR2(1);
129467 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
129468 l_log_module VARCHAR2(240);
129469
129470 --
129471 -- Upgrade strategy
129472 --
129473 l_actual_upg_option VARCHAR2(1);
129474 l_enc_upg_option VARCHAR2(1);
129475
129476 --
129477 BEGIN
129481 END IF;
129478 --
129479 IF g_log_enabled THEN
129480 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_212';
129482 --
129483 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
129484
129485 trace
129486 (p_msg => 'BEGIN of AcctLineType_212'
129487 ,p_level => C_LEVEL_PROCEDURE
129488 ,p_module => l_log_module);
129489
129490 END IF;
129491 --
129492 l_component_type := 'AMB_JLT';
129493 l_component_code := 'AP_TAX_EX_RATE_VAR_CM';
129494 l_component_type_code := 'S';
129495 l_component_appl_id := 200;
129496 l_amb_context_code := 'DEFAULT';
129497 l_entity_code := 'AP_INVOICES';
129498 l_event_class_code := 'CREDIT MEMOS';
129499 l_event_type_code := 'CREDIT MEMOS_ALL';
129500 l_line_definition_owner_code := 'S';
129501 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
129502 --
129503 l_balance_type_code := 'A';
129504 l_segment := NULL;
129505 l_ccid := NULL;
129506 l_adr_transaction_coa_id := NULL;
129507 l_adr_accounting_coa_id := NULL;
129508 l_adr_flexfield_segment_code := NULL;
129509 l_adr_flex_value_set_id := NULL;
129510 l_adr_value_type_code := NULL;
129511 l_adr_value_combination_id := NULL;
129512 l_adr_value_segment_code := NULL;
129513
129514 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
129515 l_bflow_class_code := ''; -- 4219869 Business Flow
129516 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
129517 l_budgetary_control_flag := 'N';
129518
129519 l_bflow_applied_to_amt_idx := NULL; -- 5132302
129520 l_bflow_applied_to_amt := NULL; -- 5132302
129521 l_entered_amt_idx := NULL; -- 4262811
129522 l_accted_amt_idx := NULL; -- 4262811
129523 l_acc_rev_flag := NULL; -- 4262811
129524 l_accrual_line_num := NULL; -- 4262811
129525 l_tmp_amt := NULL; -- 4262811
129526 --
129527 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
129528 (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
129529 return;
129530 END IF;
129531
129532 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
129533 l_balance_type_code <> 'B' THEN
129534 IF NVL(p_source_33,'
129535 ') = 'TERV' AND
129536 NVL(p_source_96,'
129537 ') = 'Y'
129538 THEN
129539
129540 --
129541 XLA_AE_LINES_PKG.SetNewLine;
129542
129543 p_balance_type_code := l_balance_type_code;
129544 -- set the flag so later we will know whether the gain loss line needs to be created
129545
129546 IF(l_balance_type_code = 'A' ) THEN
129547 p_actual_flag :='G';
129548 END IF;
129549
129550 --
129551 -- bulk performance
129552 --
129553 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
129554 p_header_num => 0); -- 4262811
129555 --
129556 -- set accounting line options
129557 --
129558 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
129559 p_natural_side_code => 'D'
129560 , p_gain_or_loss_flag => 'Y'
129561 , p_gl_transfer_mode_code => 'S'
129562 , p_acct_entry_type_code => 'A'
129563 , p_switch_side_flag => 'Y'
129564 , p_merge_duplicate_code => 'A'
129565 );
129566 --
129567 l_acc_rev_natural_side_code := 'C'; -- 4262811
129568 --
129569 --
129570 -- set accounting line type info
129571 --
129572 xla_ae_lines_pkg.SetAcctLineType
129573 (p_component_type => l_component_type
129574 ,p_event_type_code => l_event_type_code
129575 ,p_line_definition_owner_code => l_line_definition_owner_code
129576 ,p_line_definition_code => l_line_definition_code
129577 ,p_accounting_line_code => l_component_code
129578 ,p_accounting_line_type_code => l_component_type_code
129579 ,p_accounting_line_appl_id => l_component_appl_id
129580 ,p_amb_context_code => l_amb_context_code
129581 ,p_entity_code => l_entity_code
129582 ,p_event_class_code => l_event_class_code);
129583 --
129584 -- set accounting class
129585 --
129586 xla_ae_lines_pkg.SetAcctClass(
129587 p_accounting_class_code => 'TERV'
129588 , p_ae_header_id => l_ae_header_id
129589 );
129590
129591 --
129592 -- set rounding class
129593 --
129594 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
129595 'TERV';
129596
129597 --
129598 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
129599 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
129600 --
129601 -- bulk performance
129602 --
129603 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
129604
129605 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
129609 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
129606 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
129607
129608 -- 4955764
129610 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
129611
129612 -- 4458381 Public Sector Enh
129613
129614 --
129615 -- set accounting attributes for the line type
129616 --
129617 l_entered_amt_idx := 23;
129618 l_accted_amt_idx := 28;
129619 l_bflow_applied_to_amt_idx := NULL; -- 5132302
129620 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
129621 l_rec_acct_attrs.array_char_value(1) := p_source_53;
129622 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
129623 l_rec_acct_attrs.array_num_value(2) :=
129624 xla_ae_sources_pkg.GetSystemSourceNum(
129625 p_source_code => 'XLA_EVENT_APPL_ID'
129626 , p_source_type_code => 'Y'
129627 , p_source_application_id => 602
129628 );
129629 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
129630 l_rec_acct_attrs.array_char_value(3) := p_source_55;
129631 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
129632 l_rec_acct_attrs.array_char_value(4) :=
129633 xla_ae_sources_pkg.GetSystemSourceChar(
129634 p_source_code => 'XLA_ENTITY_CODE'
129635 , p_source_type_code => 'Y'
129636 , p_source_application_id => 602
129637 );
129638 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
129639 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
129640 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
129641 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
129642 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
129643 l_rec_acct_attrs.array_num_value(7) := p_source_91;
129644 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
129645 l_rec_acct_attrs.array_char_value(8) := p_source_92;
129646 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
129647 l_rec_acct_attrs.array_char_value(9) := p_source_93;
129648 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
129649 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
129650 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
129651 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
129652 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
129653 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
129654 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
129655 l_rec_acct_attrs.array_char_value(13) := p_source_55;
129656 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
129657 l_rec_acct_attrs.array_num_value(14) := p_source_65;
129658 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
129659 l_rec_acct_attrs.array_num_value(15) := p_source_66;
129660 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
129661 l_rec_acct_attrs.array_char_value(16) := p_source_67;
129662 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
129663 l_rec_acct_attrs.array_num_value(17) := p_source_68;
129664 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
129665 l_rec_acct_attrs.array_num_value(18) := p_source_69;
129666 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
129667 l_rec_acct_attrs.array_num_value(19) := p_source_70;
129668 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
129669 l_rec_acct_attrs.array_char_value(20) := p_source_67;
129670 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
129671 l_rec_acct_attrs.array_num_value(21) := p_source_71;
129672 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
129673 l_rec_acct_attrs.array_char_value(22) := p_source_72;
129674 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
129675 l_rec_acct_attrs.array_num_value(23) := p_source_73;
129676 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
129677 l_rec_acct_attrs.array_char_value(24) := p_source_67;
129678 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
129679 l_rec_acct_attrs.array_date_value(25) := p_source_143;
129680 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
129681 l_rec_acct_attrs.array_num_value(26) := p_source_144;
129682 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
129683 l_rec_acct_attrs.array_char_value(27) := p_source_145;
129684 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
129685 l_rec_acct_attrs.array_num_value(28) := p_source_21;
129686 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
129687 l_rec_acct_attrs.array_date_value(29) := p_source_77;
129688 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
129689 l_rec_acct_attrs.array_char_value(30) := p_source_78;
129690 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
129691 l_rec_acct_attrs.array_date_value(31) := p_source_79;
129692 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
129693 l_rec_acct_attrs.array_char_value(32) := p_source_80;
129694 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
129695 l_rec_acct_attrs.array_num_value(33) := p_source_81;
129696 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
129697 l_rec_acct_attrs.array_num_value(34) := p_source_82;
129698 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
129699 l_rec_acct_attrs.array_char_value(35) := p_source_83;
129703 l_rec_acct_attrs.array_char_value(37) := p_source_55;
129700 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
129701 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
129702 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
129704 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
129705 l_rec_acct_attrs.array_num_value(38) := p_source_85;
129706 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
129707 l_rec_acct_attrs.array_num_value(39) := p_source_86;
129708 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
129709 l_rec_acct_attrs.array_num_value(40) := p_source_87;
129710 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
129711 l_rec_acct_attrs.array_num_value(41) := p_source_88;
129712 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
129713 l_rec_acct_attrs.array_num_value(42) := p_source_89;
129714 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
129715 l_rec_acct_attrs.array_num_value(43) := p_source_90;
129716
129717 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
129718 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
129719
129720 ---------------------------------------------------------------------------------------------------------------
129721 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
129722 ---------------------------------------------------------------------------------------------------------------
129723 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
129724
129725 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
129726 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
129727
129728 IF xla_accounting_cache_pkg.GetValueChar
129729 (p_source_code => 'LEDGER_CATEGORY_CODE'
129730 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
129731 AND l_bflow_method_code = 'PRIOR_ENTRY'
129732 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
129733 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
129734 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
129735 )
129736 THEN
129737 xla_ae_lines_pkg.BflowUpgEntry
129738 (p_business_method_code => l_bflow_method_code
129739 ,p_business_class_code => l_bflow_class_code
129740 ,p_balance_type => l_balance_type_code);
129741 ELSE
129742 NULL;
129743 -- No business flow processing for business flow method of NONE.
129744 END IF;
129745
129746 --
129747 -- call analytical criteria
129748 --
129749
129750 --
129751 -- call description
129752 --
129753
129754 xla_ae_lines_pkg.SetLineDescription(
129755 p_ae_header_id => l_ae_header_id
129756 ,p_description => Description_1 (
129757 p_application_id => p_application_id
129758 , p_ae_header_id => l_ae_header_id
129759 , p_source_1 => p_source_1
129760 )
129761 );
129762
129763
129764 --
129765 -- call ADRs
129766 -- Bug 4922099
129767 --
129768 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
129769 (NVL(l_actual_upg_option, 'N') = 'O') OR
129770 (NVL(l_enc_upg_option, 'N') = 'O')
129771 )
129772 THEN
129773 NULL;
129774 --
129775 --
129776
129777 l_ccid := AcctDerRule_30(
129778 p_application_id => p_application_id
129779 , p_ae_header_id => l_ae_header_id
129780 , p_source_15 => p_source_15
129781 , p_source_15_meaning => p_source_15_meaning
129782 , p_source_20 => p_source_20
129783 , p_source_21 => p_source_21
129784 , p_source_22 => p_source_22
129785 , p_source_22_meaning => p_source_22_meaning
129786 , p_source_23 => p_source_23
129787 , p_source_30 => p_source_30
129788 , p_source_47 => p_source_47
129789 , p_source_47_meaning => p_source_47_meaning
129790 , x_transaction_coa_id => l_adr_transaction_coa_id
129791 , x_accounting_coa_id => l_adr_accounting_coa_id
129792 , x_value_type_code => l_adr_value_type_code
129793 , p_side => 'NA'
129794 );
129795
129796 xla_ae_lines_pkg.set_ccid(
129797 p_code_combination_id => l_ccid
129798 , p_value_type_code => l_adr_value_type_code
129799 , p_transaction_coa_id => l_adr_transaction_coa_id
129800 , p_accounting_coa_id => l_adr_accounting_coa_id
129801 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
129802 , p_adr_type_code => 'S'
129803 , p_component_type => l_component_type
129804 , p_component_code => l_component_code
129805 , p_component_type_code => l_component_type_code
129806 , p_component_appl_id => l_component_appl_id
129807 , p_amb_context_code => l_amb_context_code
129808 , p_side => 'NA'
129809 );
129810
129811
129812 l_segment := AcctDerRule_8(
129813 p_application_id => p_application_id
129814 , p_ae_header_id => l_ae_header_id
129815 , p_source_15 => p_source_15
129816 , p_source_15_meaning => p_source_15_meaning
129817 , p_source_20 => p_source_20
129818 , p_source_21 => p_source_21
129822 , x_transaction_coa_id => l_adr_transaction_coa_id
129819 , p_source_22 => p_source_22
129820 , p_source_22_meaning => p_source_22_meaning
129821 , p_source_23 => p_source_23
129823 , x_accounting_coa_id => l_adr_accounting_coa_id
129824 , x_flexfield_segment_code => l_adr_flexfield_segment_code
129825 , x_flex_value_set_id => l_adr_flex_value_set_id
129826 , x_value_type_code => l_adr_value_type_code
129827 , x_value_combination_id => l_adr_value_combination_id
129828 , x_value_segment_code => l_adr_value_segment_code
129829 , p_side => 'NA'
129830 , p_override_seg_flag => 'Y'
129831 );
129832
129833 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
129834
129835 xla_ae_lines_pkg.set_segment(
129836 p_to_segment_code => 'GL_ACCOUNT'
129837 , p_segment_value => l_segment
129838 , p_from_segment_code => l_adr_value_segment_code
129839 , p_from_combination_id => l_adr_value_combination_id
129840 , p_value_type_code => l_adr_value_type_code
129841 , p_transaction_coa_id => l_adr_transaction_coa_id
129842 , p_accounting_coa_id => l_adr_accounting_coa_id
129843 , p_flexfield_segment_code => l_adr_flexfield_segment_code
129844 , p_flex_value_set_id => l_adr_flex_value_set_id
129845 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
129846 , p_adr_type_code => 'S'
129847 , p_component_type => l_component_type
129848 , p_component_code => l_component_code
129849 , p_component_type_code => l_component_type_code
129850 , p_component_appl_id => l_component_appl_id
129851 , p_amb_context_code => l_amb_context_code
129852 , p_entity_code => 'AP_INVOICES'
129853 , p_event_class_code => 'CREDIT MEMOS'
129854 , p_side => 'NA'
129855 );
129856
129857 END IF;
129858
129859 l_segment := AcctDerRule_23(
129860 p_application_id => p_application_id
129861 , p_ae_header_id => l_ae_header_id
129862 , p_source_15 => p_source_15
129863 , p_source_15_meaning => p_source_15_meaning
129864 , p_source_22 => p_source_22
129865 , p_source_22_meaning => p_source_22_meaning
129866 , p_source_30 => p_source_30
129867 , x_transaction_coa_id => l_adr_transaction_coa_id
129868 , x_accounting_coa_id => l_adr_accounting_coa_id
129869 , x_flexfield_segment_code => l_adr_flexfield_segment_code
129870 , x_flex_value_set_id => l_adr_flex_value_set_id
129871 , x_value_type_code => l_adr_value_type_code
129872 , x_value_combination_id => l_adr_value_combination_id
129873 , x_value_segment_code => l_adr_value_segment_code
129874 , p_side => 'NA'
129875 , p_override_seg_flag => 'Y'
129876 );
129877
129878 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
129879
129880 xla_ae_lines_pkg.set_segment(
129881 p_to_segment_code => 'GL_BALANCING'
129882 , p_segment_value => l_segment
129883 , p_from_segment_code => l_adr_value_segment_code
129884 , p_from_combination_id => l_adr_value_combination_id
129885 , p_value_type_code => l_adr_value_type_code
129886 , p_transaction_coa_id => l_adr_transaction_coa_id
129887 , p_accounting_coa_id => l_adr_accounting_coa_id
129888 , p_flexfield_segment_code => l_adr_flexfield_segment_code
129889 , p_flex_value_set_id => l_adr_flex_value_set_id
129890 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
129891 , p_adr_type_code => 'S'
129892 , p_component_type => l_component_type
129893 , p_component_code => l_component_code
129894 , p_component_type_code => l_component_type_code
129895 , p_component_appl_id => l_component_appl_id
129896 , p_amb_context_code => l_amb_context_code
129897 , p_entity_code => 'AP_INVOICES'
129898 , p_event_class_code => 'CREDIT MEMOS'
129899 , p_side => 'NA'
129900 );
129901
129902 END IF;
129903
129904 --
129905 --
129906 END IF;
129907 --
129908 -- Bug 4922099
129909 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
129910 (NVL(l_enc_upg_option, 'N') = 'O')
129911 ) AND
129912 (l_bflow_method_code = 'PRIOR_ENTRY')
129913 )
129914 THEN
129915 IF
129916 --
129917 1 = 2
129918 --
129919 THEN
129920 xla_accounting_err_pkg.build_message
129921 (p_appli_s_name => 'XLA'
129922 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
129923 ,p_token_1 => 'LINE_NUMBER'
129924 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
129925 ,p_token_2 => 'LINE_TYPE_NAME'
129926 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
129927 l_component_type
129931 ,l_amb_context_code
129928 ,l_component_code
129929 ,l_component_type_code
129930 ,l_component_appl_id
129932 ,l_entity_code
129933 ,l_event_class_code
129934 )
129935 ,p_token_3 => 'OWNER'
129936 ,p_value_3 => xla_lookups_pkg.get_meaning(
129937 p_lookup_type => 'XLA_OWNER_TYPE'
129938 ,p_lookup_code => l_component_type_code
129939 )
129940 ,p_token_4 => 'PRODUCT_NAME'
129941 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
129942 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
129943 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
129944 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
129945 ,p_ae_header_id => NULL
129946 );
129947
129948 IF (C_LEVEL_ERROR>= g_log_level) THEN
129949 trace
129950 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
129951 ,p_level => C_LEVEL_ERROR
129952 ,p_module => l_log_module);
129953 END IF;
129954 END IF;
129955 END IF;
129956 --
129957 --
129958 ------------------------------------------------------------------------------------------------
129959 -- 4219869 Business Flow
129960 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
129961 -- Prior Entry. Currently, the following code is always generated.
129962 ------------------------------------------------------------------------------------------------
129963 XLA_AE_LINES_PKG.ValidateCurrentLine;
129964
129965 ------------------------------------------------------------------------------------
129966 -- 4219869 Business Flow
129967 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
129968 ------------------------------------------------------------------------------------
129969 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
129970
129971 ----------------------------------------------------------------------------------
129972 -- 4219869 Business Flow
129973 -- Update journal entry status -- Need to generate this within IF <condition>
129974 ----------------------------------------------------------------------------------
129975 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
129976 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
129977 ,p_balance_type_code => l_balance_type_code
129978 );
129979
129980 -------------------------------------------------------------------------------------------
129981 -- 4262811 - Generate the Accrual Reversal lines
129982 -------------------------------------------------------------------------------------------
129983 BEGIN
129984 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
129985 (g_array_event(p_event_id).array_value_num('header_index'));
129986 IF l_acc_rev_flag IS NULL THEN
129987 l_acc_rev_flag := 'N';
129988 END IF;
129989 EXCEPTION
129990 WHEN OTHERS THEN
129991 l_acc_rev_flag := 'N';
129992 END;
129993 --
129994 IF (l_acc_rev_flag = 'Y') THEN
129995
129996 -- 4645092 ------------------------------------------------------------------------------
129997 -- To allow MPA report to determine if it should generate report process
129998 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
129999 ------------------------------------------------------------------------------------------
130000
130001 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
130002 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
130003 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
130004 -- call ADRs
130005 -- Bug 4922099
130006 --
130007 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
130008 (NVL(l_actual_upg_option, 'N') = 'O') OR
130009 (NVL(l_enc_upg_option, 'N') = 'O')
130010 )
130011 THEN
130012 NULL;
130013 --
130014 --
130015
130016 l_ccid := AcctDerRule_30(
130017 p_application_id => p_application_id
130018 , p_ae_header_id => l_ae_header_id
130019 , p_source_15 => p_source_15
130020 , p_source_15_meaning => p_source_15_meaning
130021 , p_source_20 => p_source_20
130022 , p_source_21 => p_source_21
130023 , p_source_22 => p_source_22
130024 , p_source_22_meaning => p_source_22_meaning
130025 , p_source_23 => p_source_23
130029 , x_transaction_coa_id => l_adr_transaction_coa_id
130026 , p_source_30 => p_source_30
130027 , p_source_47 => p_source_47
130028 , p_source_47_meaning => p_source_47_meaning
130030 , x_accounting_coa_id => l_adr_accounting_coa_id
130031 , x_value_type_code => l_adr_value_type_code
130032 , p_side => 'NA'
130033 );
130034
130035 xla_ae_lines_pkg.set_ccid(
130036 p_code_combination_id => l_ccid
130037 , p_value_type_code => l_adr_value_type_code
130038 , p_transaction_coa_id => l_adr_transaction_coa_id
130039 , p_accounting_coa_id => l_adr_accounting_coa_id
130040 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
130041 , p_adr_type_code => 'S'
130042 , p_component_type => l_component_type
130043 , p_component_code => l_component_code
130044 , p_component_type_code => l_component_type_code
130045 , p_component_appl_id => l_component_appl_id
130046 , p_amb_context_code => l_amb_context_code
130047 , p_side => 'NA'
130048 );
130049
130050
130051 l_segment := AcctDerRule_8(
130052 p_application_id => p_application_id
130053 , p_ae_header_id => l_ae_header_id
130054 , p_source_15 => p_source_15
130055 , p_source_15_meaning => p_source_15_meaning
130056 , p_source_20 => p_source_20
130057 , p_source_21 => p_source_21
130058 , p_source_22 => p_source_22
130059 , p_source_22_meaning => p_source_22_meaning
130060 , p_source_23 => p_source_23
130061 , x_transaction_coa_id => l_adr_transaction_coa_id
130062 , x_accounting_coa_id => l_adr_accounting_coa_id
130063 , x_flexfield_segment_code => l_adr_flexfield_segment_code
130064 , x_flex_value_set_id => l_adr_flex_value_set_id
130065 , x_value_type_code => l_adr_value_type_code
130066 , x_value_combination_id => l_adr_value_combination_id
130067 , x_value_segment_code => l_adr_value_segment_code
130068 , p_side => 'NA'
130069 , p_override_seg_flag => 'Y'
130070 );
130071
130072 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
130073
130074 xla_ae_lines_pkg.set_segment(
130075 p_to_segment_code => 'GL_ACCOUNT'
130076 , p_segment_value => l_segment
130077 , p_from_segment_code => l_adr_value_segment_code
130078 , p_from_combination_id => l_adr_value_combination_id
130079 , p_value_type_code => l_adr_value_type_code
130080 , p_transaction_coa_id => l_adr_transaction_coa_id
130081 , p_accounting_coa_id => l_adr_accounting_coa_id
130082 , p_flexfield_segment_code => l_adr_flexfield_segment_code
130083 , p_flex_value_set_id => l_adr_flex_value_set_id
130084 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
130085 , p_adr_type_code => 'S'
130086 , p_component_type => l_component_type
130087 , p_component_code => l_component_code
130088 , p_component_type_code => l_component_type_code
130089 , p_component_appl_id => l_component_appl_id
130090 , p_amb_context_code => l_amb_context_code
130091 , p_entity_code => 'AP_INVOICES'
130092 , p_event_class_code => 'CREDIT MEMOS'
130093 , p_side => 'NA'
130094 );
130095
130096 END IF;
130097
130098 l_segment := AcctDerRule_23(
130099 p_application_id => p_application_id
130100 , p_ae_header_id => l_ae_header_id
130101 , p_source_15 => p_source_15
130102 , p_source_15_meaning => p_source_15_meaning
130103 , p_source_22 => p_source_22
130104 , p_source_22_meaning => p_source_22_meaning
130105 , p_source_30 => p_source_30
130106 , x_transaction_coa_id => l_adr_transaction_coa_id
130107 , x_accounting_coa_id => l_adr_accounting_coa_id
130108 , x_flexfield_segment_code => l_adr_flexfield_segment_code
130109 , x_flex_value_set_id => l_adr_flex_value_set_id
130110 , x_value_type_code => l_adr_value_type_code
130111 , x_value_combination_id => l_adr_value_combination_id
130112 , x_value_segment_code => l_adr_value_segment_code
130113 , p_side => 'NA'
130114 , p_override_seg_flag => 'Y'
130115 );
130116
130117 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
130118
130119 xla_ae_lines_pkg.set_segment(
130120 p_to_segment_code => 'GL_BALANCING'
130121 , p_segment_value => l_segment
130122 , p_from_segment_code => l_adr_value_segment_code
130123 , p_from_combination_id => l_adr_value_combination_id
130124 , p_value_type_code => l_adr_value_type_code
130125 , p_transaction_coa_id => l_adr_transaction_coa_id
130126 , p_accounting_coa_id => l_adr_accounting_coa_id
130127 , p_flexfield_segment_code => l_adr_flexfield_segment_code
130128 , p_flex_value_set_id => l_adr_flex_value_set_id
130129 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
130130 , p_adr_type_code => 'S'
130131 , p_component_type => l_component_type
130132 , p_component_code => l_component_code
130136 , p_entity_code => 'AP_INVOICES'
130133 , p_component_type_code => l_component_type_code
130134 , p_component_appl_id => l_component_appl_id
130135 , p_amb_context_code => l_amb_context_code
130137 , p_event_class_code => 'CREDIT MEMOS'
130138 , p_side => 'NA'
130139 );
130140
130141 END IF;
130142
130143 --
130144 --
130145 END IF;
130146
130147 --
130148 -- Update the line information that should be overwritten
130149 --
130150 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
130151 p_header_num => 1);
130152 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
130153
130154 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
130155
130156 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
130157 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
130158 END IF;
130159
130160 --
130161 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
130162 --
130163 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
130164 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
130165 ELSE
130166 ---------------------------------------------------------------------------------------------------
130167 -- 4262811a Switch Sign
130168 ---------------------------------------------------------------------------------------------------
130169 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
130170 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
130171 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
130172 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
130173 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
130174 -- 5132302
130175 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
130176 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
130177
130178 END IF;
130179
130180 -- 4955764
130181 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
130182 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
130183
130184
130185 XLA_AE_LINES_PKG.ValidateCurrentLine;
130186 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
130187
130188 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
130189 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
130190 ,p_balance_type_code => l_balance_type_code);
130191
130192 END IF;
130193
130194 -----------------------------------------------------------------------------------------
130195 -- 4262811 Multiperiod Accounting
130196 -----------------------------------------------------------------------------------------
130197 -- No MPA option is assigned.
130198
130199
130200 END IF;
130201 END IF;
130202 --
130203
130204 --
130205 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
130206 trace
130207 (p_msg => 'END of AcctLineType_212'
130208 ,p_level => C_LEVEL_PROCEDURE
130209 ,p_module => l_log_module);
130210 END IF;
130211 --
130212 EXCEPTION
130213 WHEN xla_exceptions_pkg.application_exception THEN
130214 RAISE;
130215 WHEN OTHERS THEN
130216 xla_exceptions_pkg.raise_message
130217 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_212');
130218 END AcctLineType_212;
130219 --
130220
130221 ---------------------------------------
130222 --
130223 -- PRIVATE FUNCTION
130224 -- AcctLineType_213
130225 --
130226 ---------------------------------------
130227 PROCEDURE AcctLineType_213 (
130228 p_application_id IN NUMBER
130229 ,p_event_id IN NUMBER
130230 ,p_calculate_acctd_flag IN VARCHAR2
130231 ,p_calculate_g_l_flag IN VARCHAR2
130232 ,p_actual_flag IN OUT VARCHAR2
130233 ,p_balance_type_code OUT VARCHAR2
130234 ,p_gain_or_loss_ref OUT VARCHAR2
130235
130236 --Invoice Distribution Description
130237 , p_source_1 IN VARCHAR2
130238 --Automatic Offsets Value
130239 , p_source_15 IN VARCHAR2
130240 , p_source_15_meaning IN VARCHAR2
130241 --Purchase Order Rate Variance Gain Account
130242 , p_source_20 IN NUMBER
130243 --Invoice Distribution Ledger Amount
130244 , p_source_21 IN NUMBER
130245 --Destination Type of the PO Distribution
130246 , p_source_22 IN VARCHAR2
130247 , p_source_22_meaning IN VARCHAR2
130248 --Purchase Order Rate Variance Loss Account
130249 , p_source_23 IN NUMBER
130250 --Invoice Distribution Account
130251 , p_source_30 IN NUMBER
130252 --Invoice Distribution Type
130253 , p_source_33 IN VARCHAR2
130254 , p_source_33_meaning IN VARCHAR2
130255 --Automatic Offsets Flag
130256 , p_source_47 IN VARCHAR2
130257 , p_source_47_meaning IN VARCHAR2
130258 --Accounting Reversal Indicator
130262 --Allocation to Main Distribution Identifier
130259 , p_source_53 IN VARCHAR2
130260 --Distribution Link Type
130261 , p_source_55 IN VARCHAR2
130263 , p_source_57 IN NUMBER
130264 --Invoice Identifier
130265 , p_source_58 IN NUMBER
130266 --Invoice Distribution Identifier
130267 , p_source_64 IN NUMBER
130268 --Payables Encumbrance Upgrade Credit Account
130269 , p_source_65 IN NUMBER
130270 --Payables Encumbrance Upgrade Credit Amount
130271 , p_source_66 IN NUMBER
130272 --Invoice Currency Code
130273 , p_source_67 IN VARCHAR2
130274 --Payables Encumbrance Upgrade Credit Base Amount
130275 , p_source_68 IN NUMBER
130276 --Payables Encumbrance Upgrade Debit Account
130277 , p_source_69 IN NUMBER
130278 --Payables Encumbrance Upgrade Debit Amount
130279 , p_source_70 IN NUMBER
130280 --Payables Encumbrance Upgrade Debit Base Amount
130281 , p_source_71 IN NUMBER
130282 --Payables Encumbrance Upgrade Option
130283 , p_source_72 IN VARCHAR2
130284 --Invoice Distribution Amount
130285 , p_source_73 IN NUMBER
130286 --Deferred Accounting End Date
130287 , p_source_77 IN DATE
130288 --Deferred Accounting Option
130289 , p_source_78 IN VARCHAR2
130290 --Deferred Accounting Start Date
130291 , p_source_79 IN DATE
130292 --Override Accounted Amount Indicator
130293 , p_source_80 IN VARCHAR2
130294 , p_source_80_meaning IN VARCHAR2
130295 --Invoice Supplier Identifier
130296 , p_source_81 IN NUMBER
130297 --Invoice Supplier Site Identifier
130298 , p_source_82 IN NUMBER
130299 --Third Party Type
130300 , p_source_83 IN VARCHAR2
130301 --Parent Reversal Identifier
130302 , p_source_84 IN NUMBER
130303 --Invoice Distribution Tax Line Identifier
130304 , p_source_86 IN NUMBER
130305 --Invoice Distribution Tax Distribution Identifier from Tax
130306 , p_source_87 IN NUMBER
130307 --Invoice Distribution Summary Tax Line Identifier
130308 , p_source_88 IN NUMBER
130309 --Payables Upgrade Credit Encumbrance Type Identifier
130310 , p_source_89 IN NUMBER
130311 --Payables Upgrade Debit Encumbrance Type Identifier
130312 , p_source_90 IN NUMBER
130313 --Business Flow Accounts Payable Application Identifier
130314 , p_source_91 IN NUMBER
130315 --Business Flow Invoice Distribution Type
130316 , p_source_92 IN VARCHAR2
130317 --Business Flow Invoice Entity Code
130318 , p_source_93 IN VARCHAR2
130319 --Business Flow Invoice Distribution Identifier
130320 , p_source_94 IN NUMBER
130321 --Business Flow Invoice Identifier
130322 , p_source_95 IN NUMBER
130323 --Accrue on Receipt Option
130324 , p_source_96 IN VARCHAR2
130325 , p_source_96_meaning IN VARCHAR2
130326 --Invoice Exchange Date
130327 , p_source_143 IN DATE
130328 --Invoice Exchange Rate
130329 , p_source_144 IN NUMBER
130330 --Invoice Exchange Rate Type
130331 , p_source_145 IN VARCHAR2
130332 )
130333 IS
130334
130335 l_component_type VARCHAR2(80);
130336 l_component_code VARCHAR2(30);
130337 l_component_type_code VARCHAR2(1);
130338 l_component_appl_id INTEGER;
130339 l_amb_context_code VARCHAR2(30);
130340 l_entity_code VARCHAR2(30);
130341 l_event_class_code VARCHAR2(30);
130342 l_ae_header_id NUMBER;
130343 l_event_type_code VARCHAR2(30);
130344 l_line_definition_code VARCHAR2(30);
130345 l_line_definition_owner_code VARCHAR2(1);
130346 --
130347 -- adr variables
130348 l_segment VARCHAR2(30);
130349 l_ccid NUMBER;
130350 l_adr_transaction_coa_id NUMBER;
130351 l_adr_accounting_coa_id NUMBER;
130352 l_adr_flexfield_segment_code VARCHAR2(30);
130353 l_adr_flex_value_set_id NUMBER;
130354 l_adr_value_type_code VARCHAR2(30);
130355 l_adr_value_combination_id NUMBER;
130356 l_adr_value_segment_code VARCHAR2(30);
130357
130358 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
130359 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
130360 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
130361 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
130362
130363 -- 4262811 Variables ------------------------------------------------------------------------------------------
130364 l_entered_amt_idx NUMBER;
130365 l_accted_amt_idx NUMBER;
130366 l_acc_rev_flag VARCHAR2(1);
130367 l_accrual_line_num NUMBER;
130368 l_tmp_amt NUMBER;
130369 l_acc_rev_natural_side_code VARCHAR2(1);
130370
130371 l_num_entries NUMBER;
130372 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
130373 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
130374 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
130375 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
130376 l_recog_line_1 NUMBER;
130377 l_recog_line_2 NUMBER;
130378
130379 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
130380 l_bflow_applied_to_amt NUMBER; -- 5132302
130381 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
130382
130386 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
130383 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
130384
130385 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
130387
130388 ---------------------------------------------------------------------------------------------------------------
130389
130390
130391 --
130392 -- bulk performance
130393 --
130394 l_balance_type_code VARCHAR2(1);
130395 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
130396 l_log_module VARCHAR2(240);
130397
130398 --
130399 -- Upgrade strategy
130400 --
130401 l_actual_upg_option VARCHAR2(1);
130402 l_enc_upg_option VARCHAR2(1);
130403
130404 --
130405 BEGIN
130406 --
130407 IF g_log_enabled THEN
130408 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_213';
130409 END IF;
130410 --
130411 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
130412
130413 trace
130414 (p_msg => 'BEGIN of AcctLineType_213'
130415 ,p_level => C_LEVEL_PROCEDURE
130416 ,p_module => l_log_module);
130417
130418 END IF;
130419 --
130420 l_component_type := 'AMB_JLT';
130421 l_component_code := 'AP_TAX_EX_RATE_VAR_DM';
130422 l_component_type_code := 'S';
130423 l_component_appl_id := 200;
130424 l_amb_context_code := 'DEFAULT';
130425 l_entity_code := 'AP_INVOICES';
130426 l_event_class_code := 'DEBIT MEMOS';
130427 l_event_type_code := 'DEBIT MEMOS_ALL';
130428 l_line_definition_owner_code := 'S';
130429 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
130430 --
130431 l_balance_type_code := 'A';
130432 l_segment := NULL;
130433 l_ccid := NULL;
130434 l_adr_transaction_coa_id := NULL;
130435 l_adr_accounting_coa_id := NULL;
130436 l_adr_flexfield_segment_code := NULL;
130437 l_adr_flex_value_set_id := NULL;
130438 l_adr_value_type_code := NULL;
130439 l_adr_value_combination_id := NULL;
130440 l_adr_value_segment_code := NULL;
130441
130442 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
130443 l_bflow_class_code := ''; -- 4219869 Business Flow
130444 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
130445 l_budgetary_control_flag := 'N';
130446
130447 l_bflow_applied_to_amt_idx := NULL; -- 5132302
130448 l_bflow_applied_to_amt := NULL; -- 5132302
130449 l_entered_amt_idx := NULL; -- 4262811
130450 l_accted_amt_idx := NULL; -- 4262811
130451 l_acc_rev_flag := NULL; -- 4262811
130452 l_accrual_line_num := NULL; -- 4262811
130453 l_tmp_amt := NULL; -- 4262811
130454 --
130455 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
130456 (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
130457 return;
130458 END IF;
130459
130460 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
130461 l_balance_type_code <> 'B' THEN
130462 IF NVL(p_source_33,'
130463 ') = 'TERV' AND
130464 NVL(p_source_96,'
130465 ') = 'Y'
130466 THEN
130467
130468 --
130469 XLA_AE_LINES_PKG.SetNewLine;
130470
130471 p_balance_type_code := l_balance_type_code;
130472 -- set the flag so later we will know whether the gain loss line needs to be created
130473
130474 IF(l_balance_type_code = 'A' ) THEN
130475 p_actual_flag :='G';
130476 END IF;
130477
130478 --
130479 -- bulk performance
130480 --
130481 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
130482 p_header_num => 0); -- 4262811
130483 --
130484 -- set accounting line options
130485 --
130486 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
130487 p_natural_side_code => 'D'
130488 , p_gain_or_loss_flag => 'Y'
130489 , p_gl_transfer_mode_code => 'S'
130490 , p_acct_entry_type_code => 'A'
130491 , p_switch_side_flag => 'Y'
130492 , p_merge_duplicate_code => 'A'
130493 );
130494 --
130495 l_acc_rev_natural_side_code := 'C'; -- 4262811
130496 --
130497 --
130498 -- set accounting line type info
130499 --
130500 xla_ae_lines_pkg.SetAcctLineType
130501 (p_component_type => l_component_type
130502 ,p_event_type_code => l_event_type_code
130503 ,p_line_definition_owner_code => l_line_definition_owner_code
130504 ,p_line_definition_code => l_line_definition_code
130505 ,p_accounting_line_code => l_component_code
130506 ,p_accounting_line_type_code => l_component_type_code
130507 ,p_accounting_line_appl_id => l_component_appl_id
130508 ,p_amb_context_code => l_amb_context_code
130509 ,p_entity_code => l_entity_code
130510 ,p_event_class_code => l_event_class_code);
130511 --
130512 -- set accounting class
130513 --
130514 xla_ae_lines_pkg.SetAcctClass(
130515 p_accounting_class_code => 'TERV'
130519 --
130516 , p_ae_header_id => l_ae_header_id
130517 );
130518
130520 -- set rounding class
130521 --
130522 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
130523 'TERV';
130524
130525 --
130526 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
130527 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
130528 --
130529 -- bulk performance
130530 --
130531 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
130532
130533 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
130534 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
130535
130536 -- 4955764
130537 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
130538 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
130539
130540 -- 4458381 Public Sector Enh
130541
130542 --
130543 -- set accounting attributes for the line type
130544 --
130545 l_entered_amt_idx := 23;
130546 l_accted_amt_idx := 28;
130547 l_bflow_applied_to_amt_idx := NULL; -- 5132302
130548 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
130549 l_rec_acct_attrs.array_char_value(1) := p_source_53;
130550 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
130551 l_rec_acct_attrs.array_num_value(2) :=
130552 xla_ae_sources_pkg.GetSystemSourceNum(
130553 p_source_code => 'XLA_EVENT_APPL_ID'
130554 , p_source_type_code => 'Y'
130555 , p_source_application_id => 602
130556 );
130557 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
130558 l_rec_acct_attrs.array_char_value(3) := p_source_55;
130559 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
130560 l_rec_acct_attrs.array_char_value(4) :=
130561 xla_ae_sources_pkg.GetSystemSourceChar(
130562 p_source_code => 'XLA_ENTITY_CODE'
130563 , p_source_type_code => 'Y'
130564 , p_source_application_id => 602
130565 );
130566 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
130567 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
130568 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
130569 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
130570 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
130571 l_rec_acct_attrs.array_num_value(7) := p_source_91;
130572 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
130573 l_rec_acct_attrs.array_char_value(8) := p_source_92;
130574 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
130575 l_rec_acct_attrs.array_char_value(9) := p_source_93;
130576 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
130577 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
130578 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
130579 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
130580 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
130581 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
130582 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
130583 l_rec_acct_attrs.array_char_value(13) := p_source_55;
130584 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
130585 l_rec_acct_attrs.array_num_value(14) := p_source_65;
130586 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
130587 l_rec_acct_attrs.array_num_value(15) := p_source_66;
130588 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
130589 l_rec_acct_attrs.array_char_value(16) := p_source_67;
130590 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
130591 l_rec_acct_attrs.array_num_value(17) := p_source_68;
130592 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
130593 l_rec_acct_attrs.array_num_value(18) := p_source_69;
130594 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
130595 l_rec_acct_attrs.array_num_value(19) := p_source_70;
130596 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
130597 l_rec_acct_attrs.array_char_value(20) := p_source_67;
130598 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
130599 l_rec_acct_attrs.array_num_value(21) := p_source_71;
130600 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
130601 l_rec_acct_attrs.array_char_value(22) := p_source_72;
130602 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
130603 l_rec_acct_attrs.array_num_value(23) := p_source_73;
130604 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
130605 l_rec_acct_attrs.array_char_value(24) := p_source_67;
130606 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
130607 l_rec_acct_attrs.array_date_value(25) := p_source_143;
130608 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
130609 l_rec_acct_attrs.array_num_value(26) := p_source_144;
130610 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
130611 l_rec_acct_attrs.array_char_value(27) := p_source_145;
130612 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
130613 l_rec_acct_attrs.array_num_value(28) := p_source_21;
130617 l_rec_acct_attrs.array_char_value(30) := p_source_78;
130614 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
130615 l_rec_acct_attrs.array_date_value(29) := p_source_77;
130616 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
130618 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
130619 l_rec_acct_attrs.array_date_value(31) := p_source_79;
130620 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
130621 l_rec_acct_attrs.array_char_value(32) := p_source_80;
130622 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
130623 l_rec_acct_attrs.array_num_value(33) := p_source_81;
130624 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
130625 l_rec_acct_attrs.array_num_value(34) := p_source_82;
130626 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
130627 l_rec_acct_attrs.array_char_value(35) := p_source_83;
130628 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
130629 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
130630 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
130631 l_rec_acct_attrs.array_char_value(37) := p_source_55;
130632 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
130633 l_rec_acct_attrs.array_num_value(38) := p_source_86;
130634 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
130635 l_rec_acct_attrs.array_num_value(39) := p_source_87;
130636 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
130637 l_rec_acct_attrs.array_num_value(40) := p_source_88;
130638 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
130639 l_rec_acct_attrs.array_num_value(41) := p_source_89;
130640 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
130641 l_rec_acct_attrs.array_num_value(42) := p_source_90;
130642
130643 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
130644 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
130645
130646 ---------------------------------------------------------------------------------------------------------------
130647 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
130648 ---------------------------------------------------------------------------------------------------------------
130649 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
130650
130651 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
130652 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
130653
130654 IF xla_accounting_cache_pkg.GetValueChar
130655 (p_source_code => 'LEDGER_CATEGORY_CODE'
130656 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
130657 AND l_bflow_method_code = 'PRIOR_ENTRY'
130658 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
130659 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
130660 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
130661 )
130662 THEN
130663 xla_ae_lines_pkg.BflowUpgEntry
130664 (p_business_method_code => l_bflow_method_code
130665 ,p_business_class_code => l_bflow_class_code
130666 ,p_balance_type => l_balance_type_code);
130667 ELSE
130668 NULL;
130669 -- No business flow processing for business flow method of NONE.
130670 END IF;
130671
130672 --
130673 -- call analytical criteria
130674 --
130675
130676 --
130677 -- call description
130678 --
130679
130680 xla_ae_lines_pkg.SetLineDescription(
130681 p_ae_header_id => l_ae_header_id
130682 ,p_description => Description_1 (
130683 p_application_id => p_application_id
130684 , p_ae_header_id => l_ae_header_id
130685 , p_source_1 => p_source_1
130686 )
130687 );
130688
130689
130690 --
130691 -- call ADRs
130692 -- Bug 4922099
130693 --
130694 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
130695 (NVL(l_actual_upg_option, 'N') = 'O') OR
130696 (NVL(l_enc_upg_option, 'N') = 'O')
130697 )
130698 THEN
130699 NULL;
130700 --
130701 --
130702
130703 l_ccid := AcctDerRule_30(
130704 p_application_id => p_application_id
130705 , p_ae_header_id => l_ae_header_id
130706 , p_source_15 => p_source_15
130707 , p_source_15_meaning => p_source_15_meaning
130708 , p_source_20 => p_source_20
130709 , p_source_21 => p_source_21
130710 , p_source_22 => p_source_22
130711 , p_source_22_meaning => p_source_22_meaning
130712 , p_source_23 => p_source_23
130713 , p_source_30 => p_source_30
130714 , p_source_47 => p_source_47
130715 , p_source_47_meaning => p_source_47_meaning
130716 , x_transaction_coa_id => l_adr_transaction_coa_id
130717 , x_accounting_coa_id => l_adr_accounting_coa_id
130718 , x_value_type_code => l_adr_value_type_code
130719 , p_side => 'NA'
130720 );
130721
130722 xla_ae_lines_pkg.set_ccid(
130723 p_code_combination_id => l_ccid
130724 , p_value_type_code => l_adr_value_type_code
130725 , p_transaction_coa_id => l_adr_transaction_coa_id
130729 , p_component_type => l_component_type
130726 , p_accounting_coa_id => l_adr_accounting_coa_id
130727 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
130728 , p_adr_type_code => 'S'
130730 , p_component_code => l_component_code
130731 , p_component_type_code => l_component_type_code
130732 , p_component_appl_id => l_component_appl_id
130733 , p_amb_context_code => l_amb_context_code
130734 , p_side => 'NA'
130735 );
130736
130737
130738 l_segment := AcctDerRule_8(
130739 p_application_id => p_application_id
130740 , p_ae_header_id => l_ae_header_id
130741 , p_source_15 => p_source_15
130742 , p_source_15_meaning => p_source_15_meaning
130743 , p_source_20 => p_source_20
130744 , p_source_21 => p_source_21
130745 , p_source_22 => p_source_22
130746 , p_source_22_meaning => p_source_22_meaning
130747 , p_source_23 => p_source_23
130748 , x_transaction_coa_id => l_adr_transaction_coa_id
130749 , x_accounting_coa_id => l_adr_accounting_coa_id
130750 , x_flexfield_segment_code => l_adr_flexfield_segment_code
130751 , x_flex_value_set_id => l_adr_flex_value_set_id
130752 , x_value_type_code => l_adr_value_type_code
130753 , x_value_combination_id => l_adr_value_combination_id
130754 , x_value_segment_code => l_adr_value_segment_code
130755 , p_side => 'NA'
130756 , p_override_seg_flag => 'Y'
130757 );
130758
130759 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
130760
130761 xla_ae_lines_pkg.set_segment(
130762 p_to_segment_code => 'GL_ACCOUNT'
130763 , p_segment_value => l_segment
130764 , p_from_segment_code => l_adr_value_segment_code
130765 , p_from_combination_id => l_adr_value_combination_id
130766 , p_value_type_code => l_adr_value_type_code
130767 , p_transaction_coa_id => l_adr_transaction_coa_id
130768 , p_accounting_coa_id => l_adr_accounting_coa_id
130769 , p_flexfield_segment_code => l_adr_flexfield_segment_code
130770 , p_flex_value_set_id => l_adr_flex_value_set_id
130771 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
130772 , p_adr_type_code => 'S'
130773 , p_component_type => l_component_type
130774 , p_component_code => l_component_code
130775 , p_component_type_code => l_component_type_code
130776 , p_component_appl_id => l_component_appl_id
130777 , p_amb_context_code => l_amb_context_code
130778 , p_entity_code => 'AP_INVOICES'
130779 , p_event_class_code => 'DEBIT MEMOS'
130780 , p_side => 'NA'
130781 );
130782
130783 END IF;
130784
130785 l_segment := AcctDerRule_23(
130786 p_application_id => p_application_id
130787 , p_ae_header_id => l_ae_header_id
130788 , p_source_15 => p_source_15
130789 , p_source_15_meaning => p_source_15_meaning
130790 , p_source_22 => p_source_22
130791 , p_source_22_meaning => p_source_22_meaning
130792 , p_source_30 => p_source_30
130793 , x_transaction_coa_id => l_adr_transaction_coa_id
130794 , x_accounting_coa_id => l_adr_accounting_coa_id
130795 , x_flexfield_segment_code => l_adr_flexfield_segment_code
130796 , x_flex_value_set_id => l_adr_flex_value_set_id
130797 , x_value_type_code => l_adr_value_type_code
130798 , x_value_combination_id => l_adr_value_combination_id
130799 , x_value_segment_code => l_adr_value_segment_code
130800 , p_side => 'NA'
130801 , p_override_seg_flag => 'Y'
130802 );
130803
130804 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
130805
130806 xla_ae_lines_pkg.set_segment(
130807 p_to_segment_code => 'GL_BALANCING'
130808 , p_segment_value => l_segment
130809 , p_from_segment_code => l_adr_value_segment_code
130810 , p_from_combination_id => l_adr_value_combination_id
130811 , p_value_type_code => l_adr_value_type_code
130812 , p_transaction_coa_id => l_adr_transaction_coa_id
130813 , p_accounting_coa_id => l_adr_accounting_coa_id
130814 , p_flexfield_segment_code => l_adr_flexfield_segment_code
130815 , p_flex_value_set_id => l_adr_flex_value_set_id
130816 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
130817 , p_adr_type_code => 'S'
130818 , p_component_type => l_component_type
130819 , p_component_code => l_component_code
130820 , p_component_type_code => l_component_type_code
130821 , p_component_appl_id => l_component_appl_id
130822 , p_amb_context_code => l_amb_context_code
130823 , p_entity_code => 'AP_INVOICES'
130824 , p_event_class_code => 'DEBIT MEMOS'
130825 , p_side => 'NA'
130826 );
130827
130828 END IF;
130829
130830 --
130831 --
130832 END IF;
130833 --
130834 -- Bug 4922099
130835 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
130836 (NVL(l_enc_upg_option, 'N') = 'O')
130840 THEN
130837 ) AND
130838 (l_bflow_method_code = 'PRIOR_ENTRY')
130839 )
130841 IF
130842 --
130843 1 = 2
130844 --
130845 THEN
130846 xla_accounting_err_pkg.build_message
130847 (p_appli_s_name => 'XLA'
130848 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
130849 ,p_token_1 => 'LINE_NUMBER'
130850 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
130851 ,p_token_2 => 'LINE_TYPE_NAME'
130852 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
130853 l_component_type
130854 ,l_component_code
130855 ,l_component_type_code
130856 ,l_component_appl_id
130857 ,l_amb_context_code
130858 ,l_entity_code
130859 ,l_event_class_code
130860 )
130861 ,p_token_3 => 'OWNER'
130862 ,p_value_3 => xla_lookups_pkg.get_meaning(
130863 p_lookup_type => 'XLA_OWNER_TYPE'
130864 ,p_lookup_code => l_component_type_code
130865 )
130866 ,p_token_4 => 'PRODUCT_NAME'
130867 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
130868 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
130869 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
130870 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
130871 ,p_ae_header_id => NULL
130872 );
130873
130874 IF (C_LEVEL_ERROR>= g_log_level) THEN
130875 trace
130876 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
130877 ,p_level => C_LEVEL_ERROR
130878 ,p_module => l_log_module);
130879 END IF;
130880 END IF;
130881 END IF;
130882 --
130883 --
130884 ------------------------------------------------------------------------------------------------
130885 -- 4219869 Business Flow
130886 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
130887 -- Prior Entry. Currently, the following code is always generated.
130888 ------------------------------------------------------------------------------------------------
130889 XLA_AE_LINES_PKG.ValidateCurrentLine;
130890
130891 ------------------------------------------------------------------------------------
130892 -- 4219869 Business Flow
130893 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
130894 ------------------------------------------------------------------------------------
130895 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
130896
130897 ----------------------------------------------------------------------------------
130898 -- 4219869 Business Flow
130899 -- Update journal entry status -- Need to generate this within IF <condition>
130900 ----------------------------------------------------------------------------------
130901 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
130902 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
130903 ,p_balance_type_code => l_balance_type_code
130904 );
130905
130906 -------------------------------------------------------------------------------------------
130907 -- 4262811 - Generate the Accrual Reversal lines
130908 -------------------------------------------------------------------------------------------
130909 BEGIN
130910 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
130911 (g_array_event(p_event_id).array_value_num('header_index'));
130912 IF l_acc_rev_flag IS NULL THEN
130913 l_acc_rev_flag := 'N';
130914 END IF;
130915 EXCEPTION
130916 WHEN OTHERS THEN
130917 l_acc_rev_flag := 'N';
130918 END;
130919 --
130920 IF (l_acc_rev_flag = 'Y') THEN
130921
130922 -- 4645092 ------------------------------------------------------------------------------
130923 -- To allow MPA report to determine if it should generate report process
130924 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
130925 ------------------------------------------------------------------------------------------
130926
130927 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
130928 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
130929 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
130930 -- call ADRs
130934 (NVL(l_actual_upg_option, 'N') = 'O') OR
130931 -- Bug 4922099
130932 --
130933 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
130935 (NVL(l_enc_upg_option, 'N') = 'O')
130936 )
130937 THEN
130938 NULL;
130939 --
130940 --
130941
130942 l_ccid := AcctDerRule_30(
130943 p_application_id => p_application_id
130944 , p_ae_header_id => l_ae_header_id
130945 , p_source_15 => p_source_15
130946 , p_source_15_meaning => p_source_15_meaning
130947 , p_source_20 => p_source_20
130948 , p_source_21 => p_source_21
130949 , p_source_22 => p_source_22
130950 , p_source_22_meaning => p_source_22_meaning
130951 , p_source_23 => p_source_23
130952 , p_source_30 => p_source_30
130953 , p_source_47 => p_source_47
130954 , p_source_47_meaning => p_source_47_meaning
130955 , x_transaction_coa_id => l_adr_transaction_coa_id
130956 , x_accounting_coa_id => l_adr_accounting_coa_id
130957 , x_value_type_code => l_adr_value_type_code
130958 , p_side => 'NA'
130959 );
130960
130961 xla_ae_lines_pkg.set_ccid(
130962 p_code_combination_id => l_ccid
130963 , p_value_type_code => l_adr_value_type_code
130964 , p_transaction_coa_id => l_adr_transaction_coa_id
130965 , p_accounting_coa_id => l_adr_accounting_coa_id
130966 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
130967 , p_adr_type_code => 'S'
130968 , p_component_type => l_component_type
130969 , p_component_code => l_component_code
130970 , p_component_type_code => l_component_type_code
130971 , p_component_appl_id => l_component_appl_id
130972 , p_amb_context_code => l_amb_context_code
130973 , p_side => 'NA'
130974 );
130975
130976
130977 l_segment := AcctDerRule_8(
130978 p_application_id => p_application_id
130979 , p_ae_header_id => l_ae_header_id
130980 , p_source_15 => p_source_15
130981 , p_source_15_meaning => p_source_15_meaning
130982 , p_source_20 => p_source_20
130983 , p_source_21 => p_source_21
130984 , p_source_22 => p_source_22
130985 , p_source_22_meaning => p_source_22_meaning
130986 , p_source_23 => p_source_23
130987 , x_transaction_coa_id => l_adr_transaction_coa_id
130988 , x_accounting_coa_id => l_adr_accounting_coa_id
130989 , x_flexfield_segment_code => l_adr_flexfield_segment_code
130990 , x_flex_value_set_id => l_adr_flex_value_set_id
130991 , x_value_type_code => l_adr_value_type_code
130992 , x_value_combination_id => l_adr_value_combination_id
130993 , x_value_segment_code => l_adr_value_segment_code
130994 , p_side => 'NA'
130995 , p_override_seg_flag => 'Y'
130996 );
130997
130998 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
130999
131000 xla_ae_lines_pkg.set_segment(
131001 p_to_segment_code => 'GL_ACCOUNT'
131002 , p_segment_value => l_segment
131003 , p_from_segment_code => l_adr_value_segment_code
131004 , p_from_combination_id => l_adr_value_combination_id
131005 , p_value_type_code => l_adr_value_type_code
131006 , p_transaction_coa_id => l_adr_transaction_coa_id
131007 , p_accounting_coa_id => l_adr_accounting_coa_id
131008 , p_flexfield_segment_code => l_adr_flexfield_segment_code
131009 , p_flex_value_set_id => l_adr_flex_value_set_id
131010 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
131011 , p_adr_type_code => 'S'
131012 , p_component_type => l_component_type
131013 , p_component_code => l_component_code
131014 , p_component_type_code => l_component_type_code
131015 , p_component_appl_id => l_component_appl_id
131016 , p_amb_context_code => l_amb_context_code
131017 , p_entity_code => 'AP_INVOICES'
131018 , p_event_class_code => 'DEBIT MEMOS'
131019 , p_side => 'NA'
131020 );
131021
131022 END IF;
131023
131024 l_segment := AcctDerRule_23(
131025 p_application_id => p_application_id
131026 , p_ae_header_id => l_ae_header_id
131027 , p_source_15 => p_source_15
131028 , p_source_15_meaning => p_source_15_meaning
131029 , p_source_22 => p_source_22
131030 , p_source_22_meaning => p_source_22_meaning
131031 , p_source_30 => p_source_30
131032 , x_transaction_coa_id => l_adr_transaction_coa_id
131033 , x_accounting_coa_id => l_adr_accounting_coa_id
131034 , x_flexfield_segment_code => l_adr_flexfield_segment_code
131035 , x_flex_value_set_id => l_adr_flex_value_set_id
131036 , x_value_type_code => l_adr_value_type_code
131037 , x_value_combination_id => l_adr_value_combination_id
131038 , x_value_segment_code => l_adr_value_segment_code
131039 , p_side => 'NA'
131040 , p_override_seg_flag => 'Y'
131041 );
131042
131043 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
131044
131045 xla_ae_lines_pkg.set_segment(
131046 p_to_segment_code => 'GL_BALANCING'
131047 , p_segment_value => l_segment
131051 , p_transaction_coa_id => l_adr_transaction_coa_id
131048 , p_from_segment_code => l_adr_value_segment_code
131049 , p_from_combination_id => l_adr_value_combination_id
131050 , p_value_type_code => l_adr_value_type_code
131052 , p_accounting_coa_id => l_adr_accounting_coa_id
131053 , p_flexfield_segment_code => l_adr_flexfield_segment_code
131054 , p_flex_value_set_id => l_adr_flex_value_set_id
131055 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
131056 , p_adr_type_code => 'S'
131057 , p_component_type => l_component_type
131058 , p_component_code => l_component_code
131059 , p_component_type_code => l_component_type_code
131060 , p_component_appl_id => l_component_appl_id
131061 , p_amb_context_code => l_amb_context_code
131062 , p_entity_code => 'AP_INVOICES'
131063 , p_event_class_code => 'DEBIT MEMOS'
131064 , p_side => 'NA'
131065 );
131066
131067 END IF;
131068
131069 --
131070 --
131071 END IF;
131072
131073 --
131074 -- Update the line information that should be overwritten
131075 --
131076 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
131077 p_header_num => 1);
131078 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
131079
131080 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
131081
131082 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
131083 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
131084 END IF;
131085
131086 --
131087 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
131088 --
131089 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
131090 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
131091 ELSE
131092 ---------------------------------------------------------------------------------------------------
131093 -- 4262811a Switch Sign
131094 ---------------------------------------------------------------------------------------------------
131095 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
131096 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
131097 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
131098 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
131099 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
131100 -- 5132302
131101 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
131102 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
131103
131104 END IF;
131105
131106 -- 4955764
131107 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
131108 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
131109
131110
131111 XLA_AE_LINES_PKG.ValidateCurrentLine;
131112 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
131113
131114 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
131115 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
131116 ,p_balance_type_code => l_balance_type_code);
131117
131118 END IF;
131119
131120 -----------------------------------------------------------------------------------------
131121 -- 4262811 Multiperiod Accounting
131122 -----------------------------------------------------------------------------------------
131123 -- No MPA option is assigned.
131124
131125
131126 END IF;
131127 END IF;
131128 --
131129
131130 --
131131 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
131132 trace
131133 (p_msg => 'END of AcctLineType_213'
131134 ,p_level => C_LEVEL_PROCEDURE
131135 ,p_module => l_log_module);
131136 END IF;
131137 --
131138 EXCEPTION
131139 WHEN xla_exceptions_pkg.application_exception THEN
131140 RAISE;
131141 WHEN OTHERS THEN
131142 xla_exceptions_pkg.raise_message
131143 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_213');
131144 END AcctLineType_213;
131145 --
131146
131147 ---------------------------------------
131148 --
131149 -- PRIVATE FUNCTION
131150 -- AcctLineType_214
131151 --
131152 ---------------------------------------
131153 PROCEDURE AcctLineType_214 (
131154 p_application_id IN NUMBER
131155 ,p_event_id IN NUMBER
131156 ,p_calculate_acctd_flag IN VARCHAR2
131157 ,p_calculate_g_l_flag IN VARCHAR2
131158 ,p_actual_flag IN OUT VARCHAR2
131159 ,p_balance_type_code OUT VARCHAR2
131160 ,p_gain_or_loss_ref OUT VARCHAR2
131161
131162 --Invoice Distribution Description
131163 , p_source_1 IN VARCHAR2
131164 --Automatic Offsets Value
131165 , p_source_15 IN VARCHAR2
131166 , p_source_15_meaning IN VARCHAR2
131167 --Purchase Order Rate Variance Gain Account
131171 --Destination Type of the PO Distribution
131168 , p_source_20 IN NUMBER
131169 --Invoice Distribution Ledger Amount
131170 , p_source_21 IN NUMBER
131172 , p_source_22 IN VARCHAR2
131173 , p_source_22_meaning IN VARCHAR2
131174 --Purchase Order Rate Variance Loss Account
131175 , p_source_23 IN NUMBER
131176 --Invoice Distribution Account
131177 , p_source_30 IN NUMBER
131178 --Invoice Distribution Type
131179 , p_source_33 IN VARCHAR2
131180 , p_source_33_meaning IN VARCHAR2
131181 --Automatic Offsets Flag
131182 , p_source_47 IN VARCHAR2
131183 , p_source_47_meaning IN VARCHAR2
131184 --Accounting Reversal Indicator
131185 , p_source_53 IN VARCHAR2
131186 --Distribution Link Type
131187 , p_source_55 IN VARCHAR2
131188 --Allocation to Main Distribution Identifier
131189 , p_source_57 IN NUMBER
131190 --Invoice Identifier
131191 , p_source_58 IN NUMBER
131192 --Invoice Distribution Identifier
131193 , p_source_64 IN NUMBER
131194 --Payables Encumbrance Upgrade Credit Account
131195 , p_source_65 IN NUMBER
131196 --Payables Encumbrance Upgrade Credit Amount
131197 , p_source_66 IN NUMBER
131198 --Invoice Currency Code
131199 , p_source_67 IN VARCHAR2
131200 --Payables Encumbrance Upgrade Credit Base Amount
131201 , p_source_68 IN NUMBER
131202 --Payables Encumbrance Upgrade Debit Account
131203 , p_source_69 IN NUMBER
131204 --Payables Encumbrance Upgrade Debit Amount
131205 , p_source_70 IN NUMBER
131206 --Payables Encumbrance Upgrade Debit Base Amount
131207 , p_source_71 IN NUMBER
131208 --Payables Encumbrance Upgrade Option
131209 , p_source_72 IN VARCHAR2
131210 --Invoice Distribution Amount
131211 , p_source_73 IN NUMBER
131212 --Deferred Accounting End Date
131213 , p_source_77 IN DATE
131214 --Deferred Accounting Option
131215 , p_source_78 IN VARCHAR2
131216 --Deferred Accounting Start Date
131217 , p_source_79 IN DATE
131218 --Override Accounted Amount Indicator
131219 , p_source_80 IN VARCHAR2
131220 , p_source_80_meaning IN VARCHAR2
131221 --Invoice Supplier Identifier
131222 , p_source_81 IN NUMBER
131223 --Invoice Supplier Site Identifier
131224 , p_source_82 IN NUMBER
131225 --Third Party Type
131226 , p_source_83 IN VARCHAR2
131227 --Parent Reversal Identifier
131228 , p_source_84 IN NUMBER
131229 --Invoice Distribution Statistical Amount
131230 , p_source_85 IN NUMBER
131231 --Invoice Distribution Tax Line Identifier
131232 , p_source_86 IN NUMBER
131233 --Invoice Distribution Tax Distribution Identifier from Tax
131234 , p_source_87 IN NUMBER
131235 --Invoice Distribution Summary Tax Line Identifier
131236 , p_source_88 IN NUMBER
131237 --Payables Upgrade Credit Encumbrance Type Identifier
131238 , p_source_89 IN NUMBER
131239 --Payables Upgrade Debit Encumbrance Type Identifier
131240 , p_source_90 IN NUMBER
131241 --Business Flow Accounts Payable Application Identifier
131242 , p_source_91 IN NUMBER
131243 --Business Flow Invoice Distribution Type
131244 , p_source_92 IN VARCHAR2
131245 --Business Flow Invoice Entity Code
131246 , p_source_93 IN VARCHAR2
131247 --Business Flow Invoice Distribution Identifier
131248 , p_source_94 IN NUMBER
131249 --Business Flow Invoice Identifier
131250 , p_source_95 IN NUMBER
131251 --Accrue on Receipt Option
131252 , p_source_96 IN VARCHAR2
131253 , p_source_96_meaning IN VARCHAR2
131254 --Invoice Exchange Date
131255 , p_source_143 IN DATE
131256 --Invoice Exchange Rate
131257 , p_source_144 IN NUMBER
131258 --Invoice Exchange Rate Type
131259 , p_source_145 IN VARCHAR2
131260 )
131261 IS
131262
131263 l_component_type VARCHAR2(80);
131264 l_component_code VARCHAR2(30);
131265 l_component_type_code VARCHAR2(1);
131266 l_component_appl_id INTEGER;
131267 l_amb_context_code VARCHAR2(30);
131268 l_entity_code VARCHAR2(30);
131269 l_event_class_code VARCHAR2(30);
131270 l_ae_header_id NUMBER;
131271 l_event_type_code VARCHAR2(30);
131272 l_line_definition_code VARCHAR2(30);
131273 l_line_definition_owner_code VARCHAR2(1);
131274 --
131275 -- adr variables
131276 l_segment VARCHAR2(30);
131277 l_ccid NUMBER;
131278 l_adr_transaction_coa_id NUMBER;
131279 l_adr_accounting_coa_id NUMBER;
131280 l_adr_flexfield_segment_code VARCHAR2(30);
131281 l_adr_flex_value_set_id NUMBER;
131282 l_adr_value_type_code VARCHAR2(30);
131283 l_adr_value_combination_id NUMBER;
131284 l_adr_value_segment_code VARCHAR2(30);
131285
131286 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
131287 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
131288 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
131289 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
131290
131291 -- 4262811 Variables ------------------------------------------------------------------------------------------
131292 l_entered_amt_idx NUMBER;
131293 l_accted_amt_idx NUMBER;
131297 l_acc_rev_natural_side_code VARCHAR2(1);
131294 l_acc_rev_flag VARCHAR2(1);
131295 l_accrual_line_num NUMBER;
131296 l_tmp_amt NUMBER;
131298
131299 l_num_entries NUMBER;
131300 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
131301 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
131302 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
131303 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
131304 l_recog_line_1 NUMBER;
131305 l_recog_line_2 NUMBER;
131306
131307 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
131308 l_bflow_applied_to_amt NUMBER; -- 5132302
131309 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
131310
131311 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
131312
131313 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
131314 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
131315
131316 ---------------------------------------------------------------------------------------------------------------
131317
131318
131319 --
131320 -- bulk performance
131321 --
131322 l_balance_type_code VARCHAR2(1);
131323 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
131324 l_log_module VARCHAR2(240);
131325
131326 --
131327 -- Upgrade strategy
131328 --
131329 l_actual_upg_option VARCHAR2(1);
131330 l_enc_upg_option VARCHAR2(1);
131331
131332 --
131333 BEGIN
131334 --
131335 IF g_log_enabled THEN
131336 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_214';
131337 END IF;
131338 --
131339 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
131340
131341 trace
131342 (p_msg => 'BEGIN of AcctLineType_214'
131343 ,p_level => C_LEVEL_PROCEDURE
131344 ,p_module => l_log_module);
131345
131346 END IF;
131347 --
131348 l_component_type := 'AMB_JLT';
131349 l_component_code := 'AP_TAX_EX_RATE_VAR_INV';
131350 l_component_type_code := 'S';
131351 l_component_appl_id := 200;
131352 l_amb_context_code := 'DEFAULT';
131353 l_entity_code := 'AP_INVOICES';
131354 l_event_class_code := 'INVOICES';
131355 l_event_type_code := 'INVOICES_ALL';
131356 l_line_definition_owner_code := 'S';
131357 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
131358 --
131359 l_balance_type_code := 'A';
131360 l_segment := NULL;
131361 l_ccid := NULL;
131362 l_adr_transaction_coa_id := NULL;
131363 l_adr_accounting_coa_id := NULL;
131364 l_adr_flexfield_segment_code := NULL;
131365 l_adr_flex_value_set_id := NULL;
131366 l_adr_value_type_code := NULL;
131367 l_adr_value_combination_id := NULL;
131368 l_adr_value_segment_code := NULL;
131369
131370 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
131371 l_bflow_class_code := ''; -- 4219869 Business Flow
131372 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
131373 l_budgetary_control_flag := 'N';
131374
131375 l_bflow_applied_to_amt_idx := NULL; -- 5132302
131376 l_bflow_applied_to_amt := NULL; -- 5132302
131377 l_entered_amt_idx := NULL; -- 4262811
131378 l_accted_amt_idx := NULL; -- 4262811
131379 l_acc_rev_flag := NULL; -- 4262811
131380 l_accrual_line_num := NULL; -- 4262811
131381 l_tmp_amt := NULL; -- 4262811
131382 --
131383 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
131384 (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
131385 return;
131386 END IF;
131387
131388 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
131389 l_balance_type_code <> 'B' THEN
131390 IF NVL(p_source_33,'
131391 ') = 'TERV' AND
131392 NVL(p_source_96,'
131393 ') = 'Y'
131394 THEN
131395
131396 --
131397 XLA_AE_LINES_PKG.SetNewLine;
131398
131399 p_balance_type_code := l_balance_type_code;
131400 -- set the flag so later we will know whether the gain loss line needs to be created
131401
131402 IF(l_balance_type_code = 'A' ) THEN
131403 p_actual_flag :='G';
131404 END IF;
131405
131406 --
131407 -- bulk performance
131408 --
131409 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
131410 p_header_num => 0); -- 4262811
131411 --
131412 -- set accounting line options
131413 --
131414 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
131415 p_natural_side_code => 'D'
131416 , p_gain_or_loss_flag => 'Y'
131417 , p_gl_transfer_mode_code => 'S'
131418 , p_acct_entry_type_code => 'A'
131419 , p_switch_side_flag => 'Y'
131420 , p_merge_duplicate_code => 'A'
131421 );
131422 --
131426 -- set accounting line type info
131423 l_acc_rev_natural_side_code := 'C'; -- 4262811
131424 --
131425 --
131427 --
131428 xla_ae_lines_pkg.SetAcctLineType
131429 (p_component_type => l_component_type
131430 ,p_event_type_code => l_event_type_code
131431 ,p_line_definition_owner_code => l_line_definition_owner_code
131432 ,p_line_definition_code => l_line_definition_code
131433 ,p_accounting_line_code => l_component_code
131434 ,p_accounting_line_type_code => l_component_type_code
131435 ,p_accounting_line_appl_id => l_component_appl_id
131436 ,p_amb_context_code => l_amb_context_code
131437 ,p_entity_code => l_entity_code
131438 ,p_event_class_code => l_event_class_code);
131439 --
131440 -- set accounting class
131441 --
131442 xla_ae_lines_pkg.SetAcctClass(
131443 p_accounting_class_code => 'TERV'
131444 , p_ae_header_id => l_ae_header_id
131445 );
131446
131447 --
131448 -- set rounding class
131449 --
131450 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
131451 'TERV';
131452
131453 --
131454 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
131455 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
131456 --
131457 -- bulk performance
131458 --
131459 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
131460
131461 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
131462 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
131463
131464 -- 4955764
131465 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
131466 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
131467
131468 -- 4458381 Public Sector Enh
131469
131470 --
131471 -- set accounting attributes for the line type
131472 --
131473 l_entered_amt_idx := 24;
131474 l_accted_amt_idx := 29;
131475 l_bflow_applied_to_amt_idx := 7; -- 5132302
131476 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
131477 l_rec_acct_attrs.array_char_value(1) := p_source_53;
131478 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
131479 l_rec_acct_attrs.array_num_value(2) :=
131480 xla_ae_sources_pkg.GetSystemSourceNum(
131481 p_source_code => 'XLA_EVENT_APPL_ID'
131482 , p_source_type_code => 'Y'
131483 , p_source_application_id => 602
131484 );
131485 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
131486 l_rec_acct_attrs.array_char_value(3) := p_source_55;
131487 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
131488 l_rec_acct_attrs.array_char_value(4) :=
131489 xla_ae_sources_pkg.GetSystemSourceChar(
131490 p_source_code => 'XLA_ENTITY_CODE'
131491 , p_source_type_code => 'Y'
131492 , p_source_application_id => 602
131493 );
131494 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
131495 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
131496 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
131497 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
131498 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
131499 l_rec_acct_attrs.array_num_value(7) := p_source_73;
131500 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
131501 l_rec_acct_attrs.array_num_value(8) := p_source_91;
131502 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
131503 l_rec_acct_attrs.array_char_value(9) := p_source_92;
131504 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
131505 l_rec_acct_attrs.array_char_value(10) := p_source_93;
131506 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
131507 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
131508 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
131509 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_95);
131510 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
131511 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_64);
131512 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
131513 l_rec_acct_attrs.array_char_value(14) := p_source_55;
131514 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
131515 l_rec_acct_attrs.array_num_value(15) := p_source_65;
131516 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
131517 l_rec_acct_attrs.array_num_value(16) := p_source_66;
131518 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
131519 l_rec_acct_attrs.array_char_value(17) := p_source_67;
131520 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
131521 l_rec_acct_attrs.array_num_value(18) := p_source_68;
131522 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
131523 l_rec_acct_attrs.array_num_value(19) := p_source_69;
131524 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
131525 l_rec_acct_attrs.array_num_value(20) := p_source_70;
131526 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
131527 l_rec_acct_attrs.array_char_value(21) := p_source_67;
131531 l_rec_acct_attrs.array_char_value(23) := p_source_72;
131528 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
131529 l_rec_acct_attrs.array_num_value(22) := p_source_71;
131530 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
131532 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
131533 l_rec_acct_attrs.array_num_value(24) := p_source_73;
131534 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
131535 l_rec_acct_attrs.array_char_value(25) := p_source_67;
131536 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
131537 l_rec_acct_attrs.array_date_value(26) := p_source_143;
131538 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
131539 l_rec_acct_attrs.array_num_value(27) := p_source_144;
131540 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
131541 l_rec_acct_attrs.array_char_value(28) := p_source_145;
131542 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
131543 l_rec_acct_attrs.array_num_value(29) := p_source_21;
131544 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
131545 l_rec_acct_attrs.array_date_value(30) := p_source_77;
131546 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
131547 l_rec_acct_attrs.array_char_value(31) := p_source_78;
131548 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
131549 l_rec_acct_attrs.array_date_value(32) := p_source_79;
131550 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
131551 l_rec_acct_attrs.array_char_value(33) := p_source_80;
131552 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
131553 l_rec_acct_attrs.array_num_value(34) := p_source_81;
131554 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
131555 l_rec_acct_attrs.array_num_value(35) := p_source_82;
131556 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
131557 l_rec_acct_attrs.array_char_value(36) := p_source_83;
131558 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
131559 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_84);
131560 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
131561 l_rec_acct_attrs.array_char_value(38) := p_source_55;
131562 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
131563 l_rec_acct_attrs.array_num_value(39) := p_source_85;
131564 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
131565 l_rec_acct_attrs.array_num_value(40) := p_source_86;
131566 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
131567 l_rec_acct_attrs.array_num_value(41) := p_source_87;
131568 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
131569 l_rec_acct_attrs.array_num_value(42) := p_source_88;
131570 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
131571 l_rec_acct_attrs.array_num_value(43) := p_source_89;
131572 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
131573 l_rec_acct_attrs.array_num_value(44) := p_source_90;
131574
131575 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
131576 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
131577
131578 ---------------------------------------------------------------------------------------------------------------
131579 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
131580 ---------------------------------------------------------------------------------------------------------------
131581 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
131582
131583 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
131584 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
131585
131586 IF xla_accounting_cache_pkg.GetValueChar
131587 (p_source_code => 'LEDGER_CATEGORY_CODE'
131588 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
131589 AND l_bflow_method_code = 'PRIOR_ENTRY'
131590 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
131591 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
131592 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
131593 )
131594 THEN
131595 xla_ae_lines_pkg.BflowUpgEntry
131596 (p_business_method_code => l_bflow_method_code
131597 ,p_business_class_code => l_bflow_class_code
131598 ,p_balance_type => l_balance_type_code);
131599 ELSE
131600 NULL;
131601 -- No business flow processing for business flow method of NONE.
131602 END IF;
131603
131604 --
131605 -- call analytical criteria
131606 --
131607
131608 --
131609 -- call description
131610 --
131611
131612 xla_ae_lines_pkg.SetLineDescription(
131613 p_ae_header_id => l_ae_header_id
131614 ,p_description => Description_1 (
131615 p_application_id => p_application_id
131616 , p_ae_header_id => l_ae_header_id
131617 , p_source_1 => p_source_1
131618 )
131619 );
131620
131621
131622 --
131623 -- call ADRs
131624 -- Bug 4922099
131625 --
131626 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
131627 (NVL(l_actual_upg_option, 'N') = 'O') OR
131628 (NVL(l_enc_upg_option, 'N') = 'O')
131629 )
131630 THEN
131631 NULL;
131632 --
131633 --
131634
131638 , p_source_15 => p_source_15
131635 l_ccid := AcctDerRule_30(
131636 p_application_id => p_application_id
131637 , p_ae_header_id => l_ae_header_id
131639 , p_source_15_meaning => p_source_15_meaning
131640 , p_source_20 => p_source_20
131641 , p_source_21 => p_source_21
131642 , p_source_22 => p_source_22
131643 , p_source_22_meaning => p_source_22_meaning
131644 , p_source_23 => p_source_23
131645 , p_source_30 => p_source_30
131646 , p_source_47 => p_source_47
131647 , p_source_47_meaning => p_source_47_meaning
131648 , x_transaction_coa_id => l_adr_transaction_coa_id
131649 , x_accounting_coa_id => l_adr_accounting_coa_id
131650 , x_value_type_code => l_adr_value_type_code
131651 , p_side => 'NA'
131652 );
131653
131654 xla_ae_lines_pkg.set_ccid(
131655 p_code_combination_id => l_ccid
131656 , p_value_type_code => l_adr_value_type_code
131657 , p_transaction_coa_id => l_adr_transaction_coa_id
131658 , p_accounting_coa_id => l_adr_accounting_coa_id
131659 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
131660 , p_adr_type_code => 'S'
131661 , p_component_type => l_component_type
131662 , p_component_code => l_component_code
131663 , p_component_type_code => l_component_type_code
131664 , p_component_appl_id => l_component_appl_id
131665 , p_amb_context_code => l_amb_context_code
131666 , p_side => 'NA'
131667 );
131668
131669
131670 l_segment := AcctDerRule_8(
131671 p_application_id => p_application_id
131672 , p_ae_header_id => l_ae_header_id
131673 , p_source_15 => p_source_15
131674 , p_source_15_meaning => p_source_15_meaning
131675 , p_source_20 => p_source_20
131676 , p_source_21 => p_source_21
131677 , p_source_22 => p_source_22
131678 , p_source_22_meaning => p_source_22_meaning
131679 , p_source_23 => p_source_23
131680 , x_transaction_coa_id => l_adr_transaction_coa_id
131681 , x_accounting_coa_id => l_adr_accounting_coa_id
131682 , x_flexfield_segment_code => l_adr_flexfield_segment_code
131683 , x_flex_value_set_id => l_adr_flex_value_set_id
131684 , x_value_type_code => l_adr_value_type_code
131685 , x_value_combination_id => l_adr_value_combination_id
131686 , x_value_segment_code => l_adr_value_segment_code
131687 , p_side => 'NA'
131688 , p_override_seg_flag => 'Y'
131689 );
131690
131691 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
131692
131693 xla_ae_lines_pkg.set_segment(
131694 p_to_segment_code => 'GL_ACCOUNT'
131695 , p_segment_value => l_segment
131696 , p_from_segment_code => l_adr_value_segment_code
131697 , p_from_combination_id => l_adr_value_combination_id
131698 , p_value_type_code => l_adr_value_type_code
131699 , p_transaction_coa_id => l_adr_transaction_coa_id
131700 , p_accounting_coa_id => l_adr_accounting_coa_id
131701 , p_flexfield_segment_code => l_adr_flexfield_segment_code
131702 , p_flex_value_set_id => l_adr_flex_value_set_id
131703 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
131704 , p_adr_type_code => 'S'
131705 , p_component_type => l_component_type
131706 , p_component_code => l_component_code
131707 , p_component_type_code => l_component_type_code
131708 , p_component_appl_id => l_component_appl_id
131709 , p_amb_context_code => l_amb_context_code
131710 , p_entity_code => 'AP_INVOICES'
131711 , p_event_class_code => 'INVOICES'
131712 , p_side => 'NA'
131713 );
131714
131715 END IF;
131716
131717 l_segment := AcctDerRule_23(
131718 p_application_id => p_application_id
131719 , p_ae_header_id => l_ae_header_id
131720 , p_source_15 => p_source_15
131721 , p_source_15_meaning => p_source_15_meaning
131722 , p_source_22 => p_source_22
131723 , p_source_22_meaning => p_source_22_meaning
131724 , p_source_30 => p_source_30
131725 , x_transaction_coa_id => l_adr_transaction_coa_id
131726 , x_accounting_coa_id => l_adr_accounting_coa_id
131727 , x_flexfield_segment_code => l_adr_flexfield_segment_code
131728 , x_flex_value_set_id => l_adr_flex_value_set_id
131729 , x_value_type_code => l_adr_value_type_code
131730 , x_value_combination_id => l_adr_value_combination_id
131731 , x_value_segment_code => l_adr_value_segment_code
131732 , p_side => 'NA'
131733 , p_override_seg_flag => 'Y'
131734 );
131735
131736 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
131737
131738 xla_ae_lines_pkg.set_segment(
131739 p_to_segment_code => 'GL_BALANCING'
131740 , p_segment_value => l_segment
131741 , p_from_segment_code => l_adr_value_segment_code
131742 , p_from_combination_id => l_adr_value_combination_id
131743 , p_value_type_code => l_adr_value_type_code
131744 , p_transaction_coa_id => l_adr_transaction_coa_id
131745 , p_accounting_coa_id => l_adr_accounting_coa_id
131749 , p_adr_type_code => 'S'
131746 , p_flexfield_segment_code => l_adr_flexfield_segment_code
131747 , p_flex_value_set_id => l_adr_flex_value_set_id
131748 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
131750 , p_component_type => l_component_type
131751 , p_component_code => l_component_code
131752 , p_component_type_code => l_component_type_code
131753 , p_component_appl_id => l_component_appl_id
131754 , p_amb_context_code => l_amb_context_code
131755 , p_entity_code => 'AP_INVOICES'
131756 , p_event_class_code => 'INVOICES'
131757 , p_side => 'NA'
131758 );
131759
131760 END IF;
131761
131762 --
131763 --
131764 END IF;
131765 --
131766 -- Bug 4922099
131767 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
131768 (NVL(l_enc_upg_option, 'N') = 'O')
131769 ) AND
131770 (l_bflow_method_code = 'PRIOR_ENTRY')
131771 )
131772 THEN
131773 IF
131774 --
131775 1 = 2
131776 --
131777 THEN
131778 xla_accounting_err_pkg.build_message
131779 (p_appli_s_name => 'XLA'
131780 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
131781 ,p_token_1 => 'LINE_NUMBER'
131782 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
131783 ,p_token_2 => 'LINE_TYPE_NAME'
131784 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
131785 l_component_type
131786 ,l_component_code
131787 ,l_component_type_code
131788 ,l_component_appl_id
131789 ,l_amb_context_code
131790 ,l_entity_code
131791 ,l_event_class_code
131792 )
131793 ,p_token_3 => 'OWNER'
131794 ,p_value_3 => xla_lookups_pkg.get_meaning(
131795 p_lookup_type => 'XLA_OWNER_TYPE'
131796 ,p_lookup_code => l_component_type_code
131797 )
131798 ,p_token_4 => 'PRODUCT_NAME'
131799 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
131800 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
131801 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
131802 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
131803 ,p_ae_header_id => NULL
131804 );
131805
131806 IF (C_LEVEL_ERROR>= g_log_level) THEN
131807 trace
131808 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
131809 ,p_level => C_LEVEL_ERROR
131810 ,p_module => l_log_module);
131811 END IF;
131812 END IF;
131813 END IF;
131814 --
131815 --
131816 ------------------------------------------------------------------------------------------------
131817 -- 4219869 Business Flow
131818 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
131819 -- Prior Entry. Currently, the following code is always generated.
131820 ------------------------------------------------------------------------------------------------
131821 XLA_AE_LINES_PKG.ValidateCurrentLine;
131822
131823 ------------------------------------------------------------------------------------
131824 -- 4219869 Business Flow
131825 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
131826 ------------------------------------------------------------------------------------
131827 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
131828
131829 ----------------------------------------------------------------------------------
131830 -- 4219869 Business Flow
131831 -- Update journal entry status -- Need to generate this within IF <condition>
131832 ----------------------------------------------------------------------------------
131833 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
131834 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
131835 ,p_balance_type_code => l_balance_type_code
131836 );
131837
131838 -------------------------------------------------------------------------------------------
131839 -- 4262811 - Generate the Accrual Reversal lines
131843 (g_array_event(p_event_id).array_value_num('header_index'));
131840 -------------------------------------------------------------------------------------------
131841 BEGIN
131842 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
131844 IF l_acc_rev_flag IS NULL THEN
131845 l_acc_rev_flag := 'N';
131846 END IF;
131847 EXCEPTION
131848 WHEN OTHERS THEN
131849 l_acc_rev_flag := 'N';
131850 END;
131851 --
131852 IF (l_acc_rev_flag = 'Y') THEN
131853
131854 -- 4645092 ------------------------------------------------------------------------------
131855 -- To allow MPA report to determine if it should generate report process
131856 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
131857 ------------------------------------------------------------------------------------------
131858
131859 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
131860 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
131861 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
131862 -- call ADRs
131863 -- Bug 4922099
131864 --
131865 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
131866 (NVL(l_actual_upg_option, 'N') = 'O') OR
131867 (NVL(l_enc_upg_option, 'N') = 'O')
131868 )
131869 THEN
131870 NULL;
131871 --
131872 --
131873
131874 l_ccid := AcctDerRule_30(
131875 p_application_id => p_application_id
131876 , p_ae_header_id => l_ae_header_id
131877 , p_source_15 => p_source_15
131878 , p_source_15_meaning => p_source_15_meaning
131879 , p_source_20 => p_source_20
131880 , p_source_21 => p_source_21
131881 , p_source_22 => p_source_22
131882 , p_source_22_meaning => p_source_22_meaning
131883 , p_source_23 => p_source_23
131884 , p_source_30 => p_source_30
131885 , p_source_47 => p_source_47
131886 , p_source_47_meaning => p_source_47_meaning
131887 , x_transaction_coa_id => l_adr_transaction_coa_id
131888 , x_accounting_coa_id => l_adr_accounting_coa_id
131889 , x_value_type_code => l_adr_value_type_code
131890 , p_side => 'NA'
131891 );
131892
131893 xla_ae_lines_pkg.set_ccid(
131894 p_code_combination_id => l_ccid
131895 , p_value_type_code => l_adr_value_type_code
131896 , p_transaction_coa_id => l_adr_transaction_coa_id
131897 , p_accounting_coa_id => l_adr_accounting_coa_id
131898 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
131899 , p_adr_type_code => 'S'
131900 , p_component_type => l_component_type
131901 , p_component_code => l_component_code
131902 , p_component_type_code => l_component_type_code
131903 , p_component_appl_id => l_component_appl_id
131904 , p_amb_context_code => l_amb_context_code
131905 , p_side => 'NA'
131906 );
131907
131908
131909 l_segment := AcctDerRule_8(
131910 p_application_id => p_application_id
131911 , p_ae_header_id => l_ae_header_id
131912 , p_source_15 => p_source_15
131913 , p_source_15_meaning => p_source_15_meaning
131914 , p_source_20 => p_source_20
131915 , p_source_21 => p_source_21
131916 , p_source_22 => p_source_22
131917 , p_source_22_meaning => p_source_22_meaning
131918 , p_source_23 => p_source_23
131919 , x_transaction_coa_id => l_adr_transaction_coa_id
131920 , x_accounting_coa_id => l_adr_accounting_coa_id
131921 , x_flexfield_segment_code => l_adr_flexfield_segment_code
131922 , x_flex_value_set_id => l_adr_flex_value_set_id
131923 , x_value_type_code => l_adr_value_type_code
131924 , x_value_combination_id => l_adr_value_combination_id
131925 , x_value_segment_code => l_adr_value_segment_code
131926 , p_side => 'NA'
131927 , p_override_seg_flag => 'Y'
131928 );
131929
131930 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
131931
131932 xla_ae_lines_pkg.set_segment(
131933 p_to_segment_code => 'GL_ACCOUNT'
131934 , p_segment_value => l_segment
131935 , p_from_segment_code => l_adr_value_segment_code
131936 , p_from_combination_id => l_adr_value_combination_id
131937 , p_value_type_code => l_adr_value_type_code
131938 , p_transaction_coa_id => l_adr_transaction_coa_id
131939 , p_accounting_coa_id => l_adr_accounting_coa_id
131940 , p_flexfield_segment_code => l_adr_flexfield_segment_code
131941 , p_flex_value_set_id => l_adr_flex_value_set_id
131942 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
131943 , p_adr_type_code => 'S'
131944 , p_component_type => l_component_type
131945 , p_component_code => l_component_code
131946 , p_component_type_code => l_component_type_code
131947 , p_component_appl_id => l_component_appl_id
131948 , p_amb_context_code => l_amb_context_code
131949 , p_entity_code => 'AP_INVOICES'
131950 , p_event_class_code => 'INVOICES'
131951 , p_side => 'NA'
131952 );
131953
131954 END IF;
131955
131959 , p_source_15 => p_source_15
131956 l_segment := AcctDerRule_23(
131957 p_application_id => p_application_id
131958 , p_ae_header_id => l_ae_header_id
131960 , p_source_15_meaning => p_source_15_meaning
131961 , p_source_22 => p_source_22
131962 , p_source_22_meaning => p_source_22_meaning
131963 , p_source_30 => p_source_30
131964 , x_transaction_coa_id => l_adr_transaction_coa_id
131965 , x_accounting_coa_id => l_adr_accounting_coa_id
131966 , x_flexfield_segment_code => l_adr_flexfield_segment_code
131967 , x_flex_value_set_id => l_adr_flex_value_set_id
131968 , x_value_type_code => l_adr_value_type_code
131969 , x_value_combination_id => l_adr_value_combination_id
131970 , x_value_segment_code => l_adr_value_segment_code
131971 , p_side => 'NA'
131972 , p_override_seg_flag => 'Y'
131973 );
131974
131975 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
131976
131977 xla_ae_lines_pkg.set_segment(
131978 p_to_segment_code => 'GL_BALANCING'
131979 , p_segment_value => l_segment
131980 , p_from_segment_code => l_adr_value_segment_code
131981 , p_from_combination_id => l_adr_value_combination_id
131982 , p_value_type_code => l_adr_value_type_code
131983 , p_transaction_coa_id => l_adr_transaction_coa_id
131984 , p_accounting_coa_id => l_adr_accounting_coa_id
131985 , p_flexfield_segment_code => l_adr_flexfield_segment_code
131986 , p_flex_value_set_id => l_adr_flex_value_set_id
131987 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
131988 , p_adr_type_code => 'S'
131989 , p_component_type => l_component_type
131990 , p_component_code => l_component_code
131991 , p_component_type_code => l_component_type_code
131992 , p_component_appl_id => l_component_appl_id
131993 , p_amb_context_code => l_amb_context_code
131994 , p_entity_code => 'AP_INVOICES'
131995 , p_event_class_code => 'INVOICES'
131996 , p_side => 'NA'
131997 );
131998
131999 END IF;
132000
132001 --
132002 --
132003 END IF;
132004
132005 --
132006 -- Update the line information that should be overwritten
132007 --
132008 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
132009 p_header_num => 1);
132010 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
132011
132012 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
132013
132014 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
132015 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
132016 END IF;
132017
132018 --
132019 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
132020 --
132021 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
132022 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
132023 ELSE
132024 ---------------------------------------------------------------------------------------------------
132025 -- 4262811a Switch Sign
132026 ---------------------------------------------------------------------------------------------------
132027 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
132028 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
132029 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
132030 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
132031 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
132032 -- 5132302
132033 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
132034 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
132035
132036 END IF;
132037
132038 -- 4955764
132039 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
132040 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
132041
132042
132043 XLA_AE_LINES_PKG.ValidateCurrentLine;
132044 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
132045
132046 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
132047 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
132048 ,p_balance_type_code => l_balance_type_code);
132049
132050 END IF;
132051
132052 -----------------------------------------------------------------------------------------
132053 -- 4262811 Multiperiod Accounting
132054 -----------------------------------------------------------------------------------------
132055 -- No MPA option is assigned.
132056
132057
132058 END IF;
132059 END IF;
132060 --
132061
132062 --
132063 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
132064 trace
132065 (p_msg => 'END of AcctLineType_214'
132066 ,p_level => C_LEVEL_PROCEDURE
132070 EXCEPTION
132067 ,p_module => l_log_module);
132068 END IF;
132069 --
132071 WHEN xla_exceptions_pkg.application_exception THEN
132072 RAISE;
132073 WHEN OTHERS THEN
132074 xla_exceptions_pkg.raise_message
132075 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_214');
132076 END AcctLineType_214;
132077 --
132078
132079 ---------------------------------------
132080 --
132081 -- PRIVATE FUNCTION
132082 -- AcctLineType_215
132083 --
132084 ---------------------------------------
132085 PROCEDURE AcctLineType_215 (
132086 p_application_id IN NUMBER
132087 ,p_event_id IN NUMBER
132088 ,p_calculate_acctd_flag IN VARCHAR2
132089 ,p_calculate_g_l_flag IN VARCHAR2
132090 ,p_actual_flag IN OUT VARCHAR2
132091 ,p_balance_type_code OUT VARCHAR2
132092 ,p_gain_or_loss_ref OUT VARCHAR2
132093
132094 --Invoice Distribution Description
132095 , p_source_1 IN VARCHAR2
132096 --Automatic Offsets Value
132097 , p_source_15 IN VARCHAR2
132098 , p_source_15_meaning IN VARCHAR2
132099 --Purchase Order Rate Variance Gain Account
132100 , p_source_20 IN NUMBER
132101 --Invoice Distribution Ledger Amount
132102 , p_source_21 IN NUMBER
132103 --Destination Type of the PO Distribution
132104 , p_source_22 IN VARCHAR2
132105 , p_source_22_meaning IN VARCHAR2
132106 --Purchase Order Rate Variance Loss Account
132107 , p_source_23 IN NUMBER
132108 --Invoice Distribution Account
132109 , p_source_30 IN NUMBER
132110 --Invoice Distribution Type
132111 , p_source_33 IN VARCHAR2
132112 , p_source_33_meaning IN VARCHAR2
132113 --Automatic Offsets Flag
132114 , p_source_47 IN VARCHAR2
132115 , p_source_47_meaning IN VARCHAR2
132116 --Accounting Reversal Indicator
132117 , p_source_53 IN VARCHAR2
132118 --Distribution Link Type
132119 , p_source_55 IN VARCHAR2
132120 --Allocation to Main Distribution Identifier
132121 , p_source_57 IN NUMBER
132122 --Invoice Identifier
132123 , p_source_58 IN NUMBER
132124 --Invoice Distribution Identifier
132125 , p_source_64 IN NUMBER
132126 --Payables Encumbrance Upgrade Credit Account
132127 , p_source_65 IN NUMBER
132128 --Payables Encumbrance Upgrade Credit Amount
132129 , p_source_66 IN NUMBER
132130 --Invoice Currency Code
132131 , p_source_67 IN VARCHAR2
132132 --Payables Encumbrance Upgrade Credit Base Amount
132133 , p_source_68 IN NUMBER
132134 --Payables Encumbrance Upgrade Debit Account
132135 , p_source_69 IN NUMBER
132136 --Payables Encumbrance Upgrade Debit Amount
132137 , p_source_70 IN NUMBER
132138 --Payables Encumbrance Upgrade Debit Base Amount
132139 , p_source_71 IN NUMBER
132140 --Payables Encumbrance Upgrade Option
132141 , p_source_72 IN VARCHAR2
132142 --Invoice Distribution Amount
132143 , p_source_73 IN NUMBER
132144 --Deferred Accounting End Date
132145 , p_source_77 IN DATE
132146 --Deferred Accounting Option
132147 , p_source_78 IN VARCHAR2
132148 --Deferred Accounting Start Date
132149 , p_source_79 IN DATE
132150 --Override Accounted Amount Indicator
132151 , p_source_80 IN VARCHAR2
132152 , p_source_80_meaning IN VARCHAR2
132153 --Invoice Supplier Identifier
132154 , p_source_81 IN NUMBER
132155 --Invoice Supplier Site Identifier
132156 , p_source_82 IN NUMBER
132157 --Third Party Type
132158 , p_source_83 IN VARCHAR2
132159 --Parent Reversal Identifier
132160 , p_source_84 IN NUMBER
132161 --Invoice Distribution Statistical Amount
132162 , p_source_85 IN NUMBER
132163 --Invoice Distribution Tax Line Identifier
132164 , p_source_86 IN NUMBER
132165 --Invoice Distribution Tax Distribution Identifier from Tax
132166 , p_source_87 IN NUMBER
132167 --Invoice Distribution Summary Tax Line Identifier
132168 , p_source_88 IN NUMBER
132169 --Payables Upgrade Credit Encumbrance Type Identifier
132170 , p_source_89 IN NUMBER
132171 --Payables Upgrade Debit Encumbrance Type Identifier
132172 , p_source_90 IN NUMBER
132173 --Business Flow Accounts Payable Application Identifier
132174 , p_source_91 IN NUMBER
132175 --Business Flow Invoice Distribution Type
132176 , p_source_92 IN VARCHAR2
132177 --Business Flow Invoice Entity Code
132178 , p_source_93 IN VARCHAR2
132179 --Business Flow Invoice Distribution Identifier
132180 , p_source_94 IN NUMBER
132181 --Business Flow Invoice Identifier
132182 , p_source_95 IN NUMBER
132183 --Accrue on Receipt Option
132184 , p_source_96 IN VARCHAR2
132185 , p_source_96_meaning IN VARCHAR2
132186 --Invoice Exchange Date
132187 , p_source_143 IN DATE
132188 --Invoice Exchange Rate
132189 , p_source_144 IN NUMBER
132190 --Invoice Exchange Rate Type
132191 , p_source_145 IN VARCHAR2
132192 )
132193 IS
132194
132195 l_component_type VARCHAR2(80);
132196 l_component_code VARCHAR2(30);
132197 l_component_type_code VARCHAR2(1);
132198 l_component_appl_id INTEGER;
132199 l_amb_context_code VARCHAR2(30);
132200 l_entity_code VARCHAR2(30);
132201 l_event_class_code VARCHAR2(30);
132205 l_line_definition_owner_code VARCHAR2(1);
132202 l_ae_header_id NUMBER;
132203 l_event_type_code VARCHAR2(30);
132204 l_line_definition_code VARCHAR2(30);
132206 --
132207 -- adr variables
132208 l_segment VARCHAR2(30);
132209 l_ccid NUMBER;
132210 l_adr_transaction_coa_id NUMBER;
132211 l_adr_accounting_coa_id NUMBER;
132212 l_adr_flexfield_segment_code VARCHAR2(30);
132213 l_adr_flex_value_set_id NUMBER;
132214 l_adr_value_type_code VARCHAR2(30);
132215 l_adr_value_combination_id NUMBER;
132216 l_adr_value_segment_code VARCHAR2(30);
132217
132218 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
132219 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
132220 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
132221 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
132222
132223 -- 4262811 Variables ------------------------------------------------------------------------------------------
132224 l_entered_amt_idx NUMBER;
132225 l_accted_amt_idx NUMBER;
132226 l_acc_rev_flag VARCHAR2(1);
132227 l_accrual_line_num NUMBER;
132228 l_tmp_amt NUMBER;
132229 l_acc_rev_natural_side_code VARCHAR2(1);
132230
132231 l_num_entries NUMBER;
132232 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
132233 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
132234 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
132235 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
132236 l_recog_line_1 NUMBER;
132237 l_recog_line_2 NUMBER;
132238
132239 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
132240 l_bflow_applied_to_amt NUMBER; -- 5132302
132241 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
132242
132243 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
132244
132245 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
132246 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
132247
132248 ---------------------------------------------------------------------------------------------------------------
132249
132250
132251 --
132252 -- bulk performance
132253 --
132254 l_balance_type_code VARCHAR2(1);
132255 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
132256 l_log_module VARCHAR2(240);
132257
132258 --
132259 -- Upgrade strategy
132260 --
132261 l_actual_upg_option VARCHAR2(1);
132262 l_enc_upg_option VARCHAR2(1);
132263
132264 --
132265 BEGIN
132266 --
132267 IF g_log_enabled THEN
132268 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_215';
132269 END IF;
132270 --
132271 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
132272
132273 trace
132274 (p_msg => 'BEGIN of AcctLineType_215'
132275 ,p_level => C_LEVEL_PROCEDURE
132276 ,p_module => l_log_module);
132277
132278 END IF;
132279 --
132280 l_component_type := 'AMB_JLT';
132281 l_component_code := 'AP_TAX_EX_RATE_VAR_PREPAY';
132282 l_component_type_code := 'S';
132283 l_component_appl_id := 200;
132284 l_amb_context_code := 'DEFAULT';
132285 l_entity_code := 'AP_INVOICES';
132286 l_event_class_code := 'PREPAYMENTS';
132287 l_event_type_code := 'PREPAYMENTS_ALL';
132288 l_line_definition_owner_code := 'S';
132289 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
132290 --
132291 l_balance_type_code := 'A';
132292 l_segment := NULL;
132293 l_ccid := NULL;
132294 l_adr_transaction_coa_id := NULL;
132295 l_adr_accounting_coa_id := NULL;
132296 l_adr_flexfield_segment_code := NULL;
132297 l_adr_flex_value_set_id := NULL;
132298 l_adr_value_type_code := NULL;
132299 l_adr_value_combination_id := NULL;
132300 l_adr_value_segment_code := NULL;
132301
132302 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
132303 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
132304 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
132305 l_budgetary_control_flag := 'N';
132306
132307 l_bflow_applied_to_amt_idx := NULL; -- 5132302
132308 l_bflow_applied_to_amt := NULL; -- 5132302
132309 l_entered_amt_idx := NULL; -- 4262811
132310 l_accted_amt_idx := NULL; -- 4262811
132311 l_acc_rev_flag := NULL; -- 4262811
132312 l_accrual_line_num := NULL; -- 4262811
132313 l_tmp_amt := NULL; -- 4262811
132314 --
132315 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
132316 (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
132317 return;
132318 END IF;
132319
132320 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
132321 l_balance_type_code <> 'B' THEN
132322 IF NVL(p_source_33,'
132323 ') = 'TERV' AND
132324 NVL(p_source_96,'
132325 ') = 'Y'
132326 THEN
132327
132328 --
132332 -- set the flag so later we will know whether the gain loss line needs to be created
132329 XLA_AE_LINES_PKG.SetNewLine;
132330
132331 p_balance_type_code := l_balance_type_code;
132333
132334 IF(l_balance_type_code = 'A' ) THEN
132335 p_actual_flag :='G';
132336 END IF;
132337
132338 --
132339 -- bulk performance
132340 --
132341 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
132342 p_header_num => 0); -- 4262811
132343 --
132344 -- set accounting line options
132345 --
132346 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
132347 p_natural_side_code => 'D'
132348 , p_gain_or_loss_flag => 'Y'
132349 , p_gl_transfer_mode_code => 'S'
132350 , p_acct_entry_type_code => 'A'
132351 , p_switch_side_flag => 'Y'
132352 , p_merge_duplicate_code => 'A'
132353 );
132354 --
132355 l_acc_rev_natural_side_code := 'C'; -- 4262811
132356 --
132357 --
132358 -- set accounting line type info
132359 --
132360 xla_ae_lines_pkg.SetAcctLineType
132361 (p_component_type => l_component_type
132362 ,p_event_type_code => l_event_type_code
132363 ,p_line_definition_owner_code => l_line_definition_owner_code
132364 ,p_line_definition_code => l_line_definition_code
132365 ,p_accounting_line_code => l_component_code
132366 ,p_accounting_line_type_code => l_component_type_code
132367 ,p_accounting_line_appl_id => l_component_appl_id
132368 ,p_amb_context_code => l_amb_context_code
132369 ,p_entity_code => l_entity_code
132370 ,p_event_class_code => l_event_class_code);
132371 --
132372 -- set accounting class
132373 --
132374 xla_ae_lines_pkg.SetAcctClass(
132375 p_accounting_class_code => 'TERV'
132376 , p_ae_header_id => l_ae_header_id
132377 );
132378
132379 --
132380 -- set rounding class
132381 --
132382 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
132383 'TERV';
132384
132385 --
132386 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
132387 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
132388 --
132389 -- bulk performance
132390 --
132391 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
132392
132393 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
132394 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
132395
132396 -- 4955764
132397 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
132398 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
132399
132400 -- 4458381 Public Sector Enh
132401
132402 --
132403 -- set accounting attributes for the line type
132404 --
132405 l_entered_amt_idx := 23;
132406 l_accted_amt_idx := 28;
132407 l_bflow_applied_to_amt_idx := NULL; -- 5132302
132408 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
132409 l_rec_acct_attrs.array_char_value(1) := p_source_53;
132410 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
132411 l_rec_acct_attrs.array_num_value(2) :=
132412 xla_ae_sources_pkg.GetSystemSourceNum(
132413 p_source_code => 'XLA_EVENT_APPL_ID'
132414 , p_source_type_code => 'Y'
132415 , p_source_application_id => 602
132416 );
132417 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
132418 l_rec_acct_attrs.array_char_value(3) := p_source_55;
132419 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
132420 l_rec_acct_attrs.array_char_value(4) :=
132421 xla_ae_sources_pkg.GetSystemSourceChar(
132422 p_source_code => 'XLA_ENTITY_CODE'
132423 , p_source_type_code => 'Y'
132424 , p_source_application_id => 602
132425 );
132426 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
132427 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
132428 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
132429 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
132430 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
132431 l_rec_acct_attrs.array_num_value(7) := p_source_91;
132432 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
132433 l_rec_acct_attrs.array_char_value(8) := p_source_92;
132434 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
132435 l_rec_acct_attrs.array_char_value(9) := p_source_93;
132436 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
132437 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
132438 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
132439 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
132440 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
132441 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
132442 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
132446 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
132443 l_rec_acct_attrs.array_char_value(13) := p_source_55;
132444 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
132445 l_rec_acct_attrs.array_num_value(14) := p_source_65;
132447 l_rec_acct_attrs.array_num_value(15) := p_source_66;
132448 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
132449 l_rec_acct_attrs.array_char_value(16) := p_source_67;
132450 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
132451 l_rec_acct_attrs.array_num_value(17) := p_source_68;
132452 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
132453 l_rec_acct_attrs.array_num_value(18) := p_source_69;
132454 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
132455 l_rec_acct_attrs.array_num_value(19) := p_source_70;
132456 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
132457 l_rec_acct_attrs.array_char_value(20) := p_source_67;
132458 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
132459 l_rec_acct_attrs.array_num_value(21) := p_source_71;
132460 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
132461 l_rec_acct_attrs.array_char_value(22) := p_source_72;
132462 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
132463 l_rec_acct_attrs.array_num_value(23) := p_source_73;
132464 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
132465 l_rec_acct_attrs.array_char_value(24) := p_source_67;
132466 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
132467 l_rec_acct_attrs.array_date_value(25) := p_source_143;
132468 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
132469 l_rec_acct_attrs.array_num_value(26) := p_source_144;
132470 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
132471 l_rec_acct_attrs.array_char_value(27) := p_source_145;
132472 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
132473 l_rec_acct_attrs.array_num_value(28) := p_source_21;
132474 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
132475 l_rec_acct_attrs.array_date_value(29) := p_source_77;
132476 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
132477 l_rec_acct_attrs.array_char_value(30) := p_source_78;
132478 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
132479 l_rec_acct_attrs.array_date_value(31) := p_source_79;
132480 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
132481 l_rec_acct_attrs.array_char_value(32) := p_source_80;
132482 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
132483 l_rec_acct_attrs.array_num_value(33) := p_source_81;
132484 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
132485 l_rec_acct_attrs.array_num_value(34) := p_source_82;
132486 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
132487 l_rec_acct_attrs.array_char_value(35) := p_source_83;
132488 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
132489 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
132490 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
132491 l_rec_acct_attrs.array_char_value(37) := p_source_55;
132492 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
132493 l_rec_acct_attrs.array_num_value(38) := p_source_85;
132494 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
132495 l_rec_acct_attrs.array_num_value(39) := p_source_86;
132496 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
132497 l_rec_acct_attrs.array_num_value(40) := p_source_87;
132498 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
132499 l_rec_acct_attrs.array_num_value(41) := p_source_88;
132500 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
132501 l_rec_acct_attrs.array_num_value(42) := p_source_89;
132502 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
132503 l_rec_acct_attrs.array_num_value(43) := p_source_90;
132504
132505 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
132506 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
132507
132508 ---------------------------------------------------------------------------------------------------------------
132509 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
132510 ---------------------------------------------------------------------------------------------------------------
132511 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
132512
132513 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
132514 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
132515
132516 IF xla_accounting_cache_pkg.GetValueChar
132517 (p_source_code => 'LEDGER_CATEGORY_CODE'
132518 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
132519 AND l_bflow_method_code = 'PRIOR_ENTRY'
132520 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
132521 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
132522 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
132523 )
132524 THEN
132525 xla_ae_lines_pkg.BflowUpgEntry
132526 (p_business_method_code => l_bflow_method_code
132527 ,p_business_class_code => l_bflow_class_code
132531 -- No business flow processing for business flow method of NONE.
132528 ,p_balance_type => l_balance_type_code);
132529 ELSE
132530 NULL;
132532 END IF;
132533
132534 --
132535 -- call analytical criteria
132536 --
132537
132538 --
132539 -- call description
132540 --
132541
132542 xla_ae_lines_pkg.SetLineDescription(
132543 p_ae_header_id => l_ae_header_id
132544 ,p_description => Description_1 (
132545 p_application_id => p_application_id
132546 , p_ae_header_id => l_ae_header_id
132547 , p_source_1 => p_source_1
132548 )
132549 );
132550
132551
132552 --
132553 -- call ADRs
132554 -- Bug 4922099
132555 --
132556 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
132557 (NVL(l_actual_upg_option, 'N') = 'O') OR
132558 (NVL(l_enc_upg_option, 'N') = 'O')
132559 )
132560 THEN
132561 NULL;
132562 --
132563 --
132564
132565 l_ccid := AcctDerRule_30(
132566 p_application_id => p_application_id
132567 , p_ae_header_id => l_ae_header_id
132568 , p_source_15 => p_source_15
132569 , p_source_15_meaning => p_source_15_meaning
132570 , p_source_20 => p_source_20
132571 , p_source_21 => p_source_21
132572 , p_source_22 => p_source_22
132573 , p_source_22_meaning => p_source_22_meaning
132574 , p_source_23 => p_source_23
132575 , p_source_30 => p_source_30
132576 , p_source_47 => p_source_47
132577 , p_source_47_meaning => p_source_47_meaning
132578 , x_transaction_coa_id => l_adr_transaction_coa_id
132579 , x_accounting_coa_id => l_adr_accounting_coa_id
132580 , x_value_type_code => l_adr_value_type_code
132581 , p_side => 'NA'
132582 );
132583
132584 xla_ae_lines_pkg.set_ccid(
132585 p_code_combination_id => l_ccid
132586 , p_value_type_code => l_adr_value_type_code
132587 , p_transaction_coa_id => l_adr_transaction_coa_id
132588 , p_accounting_coa_id => l_adr_accounting_coa_id
132589 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
132590 , p_adr_type_code => 'S'
132591 , p_component_type => l_component_type
132592 , p_component_code => l_component_code
132593 , p_component_type_code => l_component_type_code
132594 , p_component_appl_id => l_component_appl_id
132595 , p_amb_context_code => l_amb_context_code
132596 , p_side => 'NA'
132597 );
132598
132599
132600 l_segment := AcctDerRule_8(
132601 p_application_id => p_application_id
132602 , p_ae_header_id => l_ae_header_id
132603 , p_source_15 => p_source_15
132604 , p_source_15_meaning => p_source_15_meaning
132605 , p_source_20 => p_source_20
132606 , p_source_21 => p_source_21
132607 , p_source_22 => p_source_22
132608 , p_source_22_meaning => p_source_22_meaning
132609 , p_source_23 => p_source_23
132610 , x_transaction_coa_id => l_adr_transaction_coa_id
132611 , x_accounting_coa_id => l_adr_accounting_coa_id
132612 , x_flexfield_segment_code => l_adr_flexfield_segment_code
132613 , x_flex_value_set_id => l_adr_flex_value_set_id
132614 , x_value_type_code => l_adr_value_type_code
132615 , x_value_combination_id => l_adr_value_combination_id
132616 , x_value_segment_code => l_adr_value_segment_code
132617 , p_side => 'NA'
132618 , p_override_seg_flag => 'Y'
132619 );
132620
132621 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
132622
132623 xla_ae_lines_pkg.set_segment(
132624 p_to_segment_code => 'GL_ACCOUNT'
132625 , p_segment_value => l_segment
132626 , p_from_segment_code => l_adr_value_segment_code
132627 , p_from_combination_id => l_adr_value_combination_id
132628 , p_value_type_code => l_adr_value_type_code
132629 , p_transaction_coa_id => l_adr_transaction_coa_id
132630 , p_accounting_coa_id => l_adr_accounting_coa_id
132631 , p_flexfield_segment_code => l_adr_flexfield_segment_code
132632 , p_flex_value_set_id => l_adr_flex_value_set_id
132633 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
132634 , p_adr_type_code => 'S'
132635 , p_component_type => l_component_type
132636 , p_component_code => l_component_code
132637 , p_component_type_code => l_component_type_code
132638 , p_component_appl_id => l_component_appl_id
132639 , p_amb_context_code => l_amb_context_code
132640 , p_entity_code => 'AP_INVOICES'
132641 , p_event_class_code => 'PREPAYMENTS'
132642 , p_side => 'NA'
132643 );
132644
132645 END IF;
132646
132647 l_segment := AcctDerRule_23(
132648 p_application_id => p_application_id
132649 , p_ae_header_id => l_ae_header_id
132650 , p_source_15 => p_source_15
132651 , p_source_15_meaning => p_source_15_meaning
132652 , p_source_22 => p_source_22
132653 , p_source_22_meaning => p_source_22_meaning
132654 , p_source_30 => p_source_30
132655 , x_transaction_coa_id => l_adr_transaction_coa_id
132656 , x_accounting_coa_id => l_adr_accounting_coa_id
132660 , x_value_combination_id => l_adr_value_combination_id
132657 , x_flexfield_segment_code => l_adr_flexfield_segment_code
132658 , x_flex_value_set_id => l_adr_flex_value_set_id
132659 , x_value_type_code => l_adr_value_type_code
132661 , x_value_segment_code => l_adr_value_segment_code
132662 , p_side => 'NA'
132663 , p_override_seg_flag => 'Y'
132664 );
132665
132666 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
132667
132668 xla_ae_lines_pkg.set_segment(
132669 p_to_segment_code => 'GL_BALANCING'
132670 , p_segment_value => l_segment
132671 , p_from_segment_code => l_adr_value_segment_code
132672 , p_from_combination_id => l_adr_value_combination_id
132673 , p_value_type_code => l_adr_value_type_code
132674 , p_transaction_coa_id => l_adr_transaction_coa_id
132675 , p_accounting_coa_id => l_adr_accounting_coa_id
132676 , p_flexfield_segment_code => l_adr_flexfield_segment_code
132677 , p_flex_value_set_id => l_adr_flex_value_set_id
132678 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
132679 , p_adr_type_code => 'S'
132680 , p_component_type => l_component_type
132681 , p_component_code => l_component_code
132682 , p_component_type_code => l_component_type_code
132683 , p_component_appl_id => l_component_appl_id
132684 , p_amb_context_code => l_amb_context_code
132685 , p_entity_code => 'AP_INVOICES'
132686 , p_event_class_code => 'PREPAYMENTS'
132687 , p_side => 'NA'
132688 );
132689
132690 END IF;
132691
132692 --
132693 --
132694 END IF;
132695 --
132696 -- Bug 4922099
132697 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
132698 (NVL(l_enc_upg_option, 'N') = 'O')
132699 ) AND
132700 (l_bflow_method_code = 'PRIOR_ENTRY')
132701 )
132702 THEN
132703 IF
132704 --
132705 1 = 2
132706 --
132707 THEN
132708 xla_accounting_err_pkg.build_message
132709 (p_appli_s_name => 'XLA'
132710 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
132711 ,p_token_1 => 'LINE_NUMBER'
132712 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
132713 ,p_token_2 => 'LINE_TYPE_NAME'
132714 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
132715 l_component_type
132716 ,l_component_code
132717 ,l_component_type_code
132718 ,l_component_appl_id
132719 ,l_amb_context_code
132720 ,l_entity_code
132721 ,l_event_class_code
132722 )
132723 ,p_token_3 => 'OWNER'
132724 ,p_value_3 => xla_lookups_pkg.get_meaning(
132725 p_lookup_type => 'XLA_OWNER_TYPE'
132726 ,p_lookup_code => l_component_type_code
132727 )
132728 ,p_token_4 => 'PRODUCT_NAME'
132729 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
132730 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
132731 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
132732 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
132733 ,p_ae_header_id => NULL
132734 );
132735
132736 IF (C_LEVEL_ERROR>= g_log_level) THEN
132737 trace
132738 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
132739 ,p_level => C_LEVEL_ERROR
132740 ,p_module => l_log_module);
132741 END IF;
132742 END IF;
132743 END IF;
132744 --
132745 --
132746 ------------------------------------------------------------------------------------------------
132747 -- 4219869 Business Flow
132748 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
132749 -- Prior Entry. Currently, the following code is always generated.
132750 ------------------------------------------------------------------------------------------------
132751 XLA_AE_LINES_PKG.ValidateCurrentLine;
132752
132753 ------------------------------------------------------------------------------------
132754 -- 4219869 Business Flow
132758
132755 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
132756 ------------------------------------------------------------------------------------
132757 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
132759 ----------------------------------------------------------------------------------
132760 -- 4219869 Business Flow
132761 -- Update journal entry status -- Need to generate this within IF <condition>
132762 ----------------------------------------------------------------------------------
132763 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
132764 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
132765 ,p_balance_type_code => l_balance_type_code
132766 );
132767
132768 -------------------------------------------------------------------------------------------
132769 -- 4262811 - Generate the Accrual Reversal lines
132770 -------------------------------------------------------------------------------------------
132771 BEGIN
132772 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
132773 (g_array_event(p_event_id).array_value_num('header_index'));
132774 IF l_acc_rev_flag IS NULL THEN
132775 l_acc_rev_flag := 'N';
132776 END IF;
132777 EXCEPTION
132778 WHEN OTHERS THEN
132779 l_acc_rev_flag := 'N';
132780 END;
132781 --
132782 IF (l_acc_rev_flag = 'Y') THEN
132783
132784 -- 4645092 ------------------------------------------------------------------------------
132785 -- To allow MPA report to determine if it should generate report process
132786 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
132787 ------------------------------------------------------------------------------------------
132788
132789 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
132790 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
132791 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
132792 -- call ADRs
132793 -- Bug 4922099
132794 --
132795 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
132796 (NVL(l_actual_upg_option, 'N') = 'O') OR
132797 (NVL(l_enc_upg_option, 'N') = 'O')
132798 )
132799 THEN
132800 NULL;
132801 --
132802 --
132803
132804 l_ccid := AcctDerRule_30(
132805 p_application_id => p_application_id
132806 , p_ae_header_id => l_ae_header_id
132807 , p_source_15 => p_source_15
132808 , p_source_15_meaning => p_source_15_meaning
132809 , p_source_20 => p_source_20
132810 , p_source_21 => p_source_21
132811 , p_source_22 => p_source_22
132812 , p_source_22_meaning => p_source_22_meaning
132813 , p_source_23 => p_source_23
132814 , p_source_30 => p_source_30
132815 , p_source_47 => p_source_47
132816 , p_source_47_meaning => p_source_47_meaning
132817 , x_transaction_coa_id => l_adr_transaction_coa_id
132818 , x_accounting_coa_id => l_adr_accounting_coa_id
132819 , x_value_type_code => l_adr_value_type_code
132820 , p_side => 'NA'
132821 );
132822
132823 xla_ae_lines_pkg.set_ccid(
132824 p_code_combination_id => l_ccid
132825 , p_value_type_code => l_adr_value_type_code
132826 , p_transaction_coa_id => l_adr_transaction_coa_id
132827 , p_accounting_coa_id => l_adr_accounting_coa_id
132828 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
132829 , p_adr_type_code => 'S'
132830 , p_component_type => l_component_type
132831 , p_component_code => l_component_code
132832 , p_component_type_code => l_component_type_code
132833 , p_component_appl_id => l_component_appl_id
132834 , p_amb_context_code => l_amb_context_code
132835 , p_side => 'NA'
132836 );
132837
132838
132839 l_segment := AcctDerRule_8(
132840 p_application_id => p_application_id
132841 , p_ae_header_id => l_ae_header_id
132842 , p_source_15 => p_source_15
132843 , p_source_15_meaning => p_source_15_meaning
132844 , p_source_20 => p_source_20
132845 , p_source_21 => p_source_21
132846 , p_source_22 => p_source_22
132847 , p_source_22_meaning => p_source_22_meaning
132848 , p_source_23 => p_source_23
132849 , x_transaction_coa_id => l_adr_transaction_coa_id
132850 , x_accounting_coa_id => l_adr_accounting_coa_id
132851 , x_flexfield_segment_code => l_adr_flexfield_segment_code
132852 , x_flex_value_set_id => l_adr_flex_value_set_id
132853 , x_value_type_code => l_adr_value_type_code
132854 , x_value_combination_id => l_adr_value_combination_id
132855 , x_value_segment_code => l_adr_value_segment_code
132856 , p_side => 'NA'
132857 , p_override_seg_flag => 'Y'
132858 );
132859
132860 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
132861
132862 xla_ae_lines_pkg.set_segment(
132863 p_to_segment_code => 'GL_ACCOUNT'
132864 , p_segment_value => l_segment
132865 , p_from_segment_code => l_adr_value_segment_code
132866 , p_from_combination_id => l_adr_value_combination_id
132867 , p_value_type_code => l_adr_value_type_code
132868 , p_transaction_coa_id => l_adr_transaction_coa_id
132869 , p_accounting_coa_id => l_adr_accounting_coa_id
132873 , p_adr_type_code => 'S'
132870 , p_flexfield_segment_code => l_adr_flexfield_segment_code
132871 , p_flex_value_set_id => l_adr_flex_value_set_id
132872 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
132874 , p_component_type => l_component_type
132875 , p_component_code => l_component_code
132876 , p_component_type_code => l_component_type_code
132877 , p_component_appl_id => l_component_appl_id
132878 , p_amb_context_code => l_amb_context_code
132879 , p_entity_code => 'AP_INVOICES'
132880 , p_event_class_code => 'PREPAYMENTS'
132881 , p_side => 'NA'
132882 );
132883
132884 END IF;
132885
132886 l_segment := AcctDerRule_23(
132887 p_application_id => p_application_id
132888 , p_ae_header_id => l_ae_header_id
132889 , p_source_15 => p_source_15
132890 , p_source_15_meaning => p_source_15_meaning
132891 , p_source_22 => p_source_22
132892 , p_source_22_meaning => p_source_22_meaning
132893 , p_source_30 => p_source_30
132894 , x_transaction_coa_id => l_adr_transaction_coa_id
132895 , x_accounting_coa_id => l_adr_accounting_coa_id
132896 , x_flexfield_segment_code => l_adr_flexfield_segment_code
132897 , x_flex_value_set_id => l_adr_flex_value_set_id
132898 , x_value_type_code => l_adr_value_type_code
132899 , x_value_combination_id => l_adr_value_combination_id
132900 , x_value_segment_code => l_adr_value_segment_code
132901 , p_side => 'NA'
132902 , p_override_seg_flag => 'Y'
132903 );
132904
132905 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
132906
132907 xla_ae_lines_pkg.set_segment(
132908 p_to_segment_code => 'GL_BALANCING'
132909 , p_segment_value => l_segment
132910 , p_from_segment_code => l_adr_value_segment_code
132911 , p_from_combination_id => l_adr_value_combination_id
132912 , p_value_type_code => l_adr_value_type_code
132913 , p_transaction_coa_id => l_adr_transaction_coa_id
132914 , p_accounting_coa_id => l_adr_accounting_coa_id
132915 , p_flexfield_segment_code => l_adr_flexfield_segment_code
132916 , p_flex_value_set_id => l_adr_flex_value_set_id
132917 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
132918 , p_adr_type_code => 'S'
132919 , p_component_type => l_component_type
132920 , p_component_code => l_component_code
132921 , p_component_type_code => l_component_type_code
132922 , p_component_appl_id => l_component_appl_id
132923 , p_amb_context_code => l_amb_context_code
132924 , p_entity_code => 'AP_INVOICES'
132925 , p_event_class_code => 'PREPAYMENTS'
132926 , p_side => 'NA'
132927 );
132928
132929 END IF;
132930
132931 --
132932 --
132933 END IF;
132934
132935 --
132936 -- Update the line information that should be overwritten
132937 --
132938 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
132939 p_header_num => 1);
132940 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
132941
132942 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
132943
132944 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
132945 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
132946 END IF;
132947
132948 --
132949 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
132950 --
132951 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
132952 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
132953 ELSE
132954 ---------------------------------------------------------------------------------------------------
132955 -- 4262811a Switch Sign
132956 ---------------------------------------------------------------------------------------------------
132957 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
132958 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
132959 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
132960 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
132961 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
132962 -- 5132302
132963 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
132964 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
132965
132966 END IF;
132967
132968 -- 4955764
132969 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
132970 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
132971
132972
132973 XLA_AE_LINES_PKG.ValidateCurrentLine;
132977 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
132974 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
132975
132976 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
132978 ,p_balance_type_code => l_balance_type_code);
132979
132980 END IF;
132981
132982 -----------------------------------------------------------------------------------------
132983 -- 4262811 Multiperiod Accounting
132984 -----------------------------------------------------------------------------------------
132985 -- No MPA option is assigned.
132986
132987
132988 END IF;
132989 END IF;
132990 --
132991
132992 --
132993 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
132994 trace
132995 (p_msg => 'END of AcctLineType_215'
132996 ,p_level => C_LEVEL_PROCEDURE
132997 ,p_module => l_log_module);
132998 END IF;
132999 --
133000 EXCEPTION
133001 WHEN xla_exceptions_pkg.application_exception THEN
133002 RAISE;
133003 WHEN OTHERS THEN
133004 xla_exceptions_pkg.raise_message
133005 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_215');
133006 END AcctLineType_215;
133007 --
133008
133009 ---------------------------------------
133010 --
133011 -- PRIVATE FUNCTION
133012 -- AcctLineType_216
133013 --
133014 ---------------------------------------
133015 PROCEDURE AcctLineType_216 (
133016 p_application_id IN NUMBER
133017 ,p_event_id IN NUMBER
133018 ,p_calculate_acctd_flag IN VARCHAR2
133019 ,p_calculate_g_l_flag IN VARCHAR2
133020 ,p_actual_flag IN OUT VARCHAR2
133021 ,p_balance_type_code OUT VARCHAR2
133022 ,p_gain_or_loss_ref OUT VARCHAR2
133023
133024 --Invoice Distribution Description
133025 , p_source_1 IN VARCHAR2
133026 --Invoice Distribution Ledger Amount
133027 , p_source_21 IN NUMBER
133028 --Invoice Distribution Account
133029 , p_source_30 IN NUMBER
133030 --Invoice Distribution Type
133031 , p_source_33 IN VARCHAR2
133032 , p_source_33_meaning IN VARCHAR2
133033 --Accounting Reversal Indicator
133034 , p_source_53 IN VARCHAR2
133035 --Distribution Link Type
133036 , p_source_55 IN VARCHAR2
133037 --Allocation to Main Distribution Identifier
133038 , p_source_57 IN NUMBER
133039 --Invoice Identifier
133040 , p_source_58 IN NUMBER
133041 --Invoice Distribution Identifier
133042 , p_source_64 IN NUMBER
133043 --Payables Encumbrance Upgrade Credit Account
133044 , p_source_65 IN NUMBER
133045 --Payables Encumbrance Upgrade Credit Amount
133046 , p_source_66 IN NUMBER
133047 --Invoice Currency Code
133048 , p_source_67 IN VARCHAR2
133049 --Payables Encumbrance Upgrade Credit Base Amount
133050 , p_source_68 IN NUMBER
133051 --Payables Encumbrance Upgrade Debit Account
133052 , p_source_69 IN NUMBER
133053 --Payables Encumbrance Upgrade Debit Amount
133054 , p_source_70 IN NUMBER
133055 --Payables Encumbrance Upgrade Debit Base Amount
133056 , p_source_71 IN NUMBER
133057 --Payables Encumbrance Upgrade Option
133058 , p_source_72 IN VARCHAR2
133059 --Invoice Distribution Amount
133060 , p_source_73 IN NUMBER
133061 --Deferred Accounting End Date
133062 , p_source_77 IN DATE
133063 --Deferred Accounting Option
133064 , p_source_78 IN VARCHAR2
133065 --Deferred Accounting Start Date
133066 , p_source_79 IN DATE
133067 --Override Accounted Amount Indicator
133068 , p_source_80 IN VARCHAR2
133069 , p_source_80_meaning IN VARCHAR2
133070 --Invoice Supplier Identifier
133071 , p_source_81 IN NUMBER
133072 --Invoice Supplier Site Identifier
133073 , p_source_82 IN NUMBER
133074 --Third Party Type
133075 , p_source_83 IN VARCHAR2
133076 --Parent Reversal Identifier
133077 , p_source_84 IN NUMBER
133078 --Invoice Distribution Statistical Amount
133079 , p_source_85 IN NUMBER
133080 --Invoice Distribution Tax Line Identifier
133081 , p_source_86 IN NUMBER
133082 --Invoice Distribution Tax Distribution Identifier from Tax
133083 , p_source_87 IN NUMBER
133084 --Invoice Distribution Summary Tax Line Identifier
133085 , p_source_88 IN NUMBER
133086 --Payables Upgrade Credit Encumbrance Type Identifier
133087 , p_source_89 IN NUMBER
133088 --Payables Upgrade Debit Encumbrance Type Identifier
133089 , p_source_90 IN NUMBER
133090 --Business Flow Accounts Payable Application Identifier
133091 , p_source_91 IN NUMBER
133092 --Business Flow Invoice Distribution Type
133093 , p_source_92 IN VARCHAR2
133094 --Business Flow Invoice Entity Code
133095 , p_source_93 IN VARCHAR2
133096 --Business Flow Invoice Distribution Identifier
133097 , p_source_94 IN NUMBER
133098 --Business Flow Invoice Identifier
133099 , p_source_95 IN NUMBER
133100 --Accrue on Receipt Option
133101 , p_source_96 IN VARCHAR2
133102 , p_source_96_meaning IN VARCHAR2
133103 --Invoice Exchange Date
133104 , p_source_143 IN DATE
133105 --Invoice Exchange Rate
133106 , p_source_144 IN NUMBER
133107 --Invoice Exchange Rate Type
133108 , p_source_145 IN VARCHAR2
133109 )
133110 IS
133111
133115 l_component_appl_id INTEGER;
133112 l_component_type VARCHAR2(80);
133113 l_component_code VARCHAR2(30);
133114 l_component_type_code VARCHAR2(1);
133116 l_amb_context_code VARCHAR2(30);
133117 l_entity_code VARCHAR2(30);
133118 l_event_class_code VARCHAR2(30);
133119 l_ae_header_id NUMBER;
133120 l_event_type_code VARCHAR2(30);
133121 l_line_definition_code VARCHAR2(30);
133122 l_line_definition_owner_code VARCHAR2(1);
133123 --
133124 -- adr variables
133125 l_segment VARCHAR2(30);
133126 l_ccid NUMBER;
133127 l_adr_transaction_coa_id NUMBER;
133128 l_adr_accounting_coa_id NUMBER;
133129 l_adr_flexfield_segment_code VARCHAR2(30);
133130 l_adr_flex_value_set_id NUMBER;
133131 l_adr_value_type_code VARCHAR2(30);
133132 l_adr_value_combination_id NUMBER;
133133 l_adr_value_segment_code VARCHAR2(30);
133134
133135 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
133136 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
133137 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
133138 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
133139
133140 -- 4262811 Variables ------------------------------------------------------------------------------------------
133141 l_entered_amt_idx NUMBER;
133142 l_accted_amt_idx NUMBER;
133143 l_acc_rev_flag VARCHAR2(1);
133144 l_accrual_line_num NUMBER;
133145 l_tmp_amt NUMBER;
133146 l_acc_rev_natural_side_code VARCHAR2(1);
133147
133148 l_num_entries NUMBER;
133149 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
133150 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
133151 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
133152 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
133153 l_recog_line_1 NUMBER;
133154 l_recog_line_2 NUMBER;
133155
133156 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
133157 l_bflow_applied_to_amt NUMBER; -- 5132302
133158 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
133159
133160 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
133161
133162 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
133163 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
133164
133165 ---------------------------------------------------------------------------------------------------------------
133166
133167
133168 --
133169 -- bulk performance
133170 --
133171 l_balance_type_code VARCHAR2(1);
133172 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
133173 l_log_module VARCHAR2(240);
133174
133175 --
133176 -- Upgrade strategy
133177 --
133178 l_actual_upg_option VARCHAR2(1);
133179 l_enc_upg_option VARCHAR2(1);
133180
133181 --
133182 BEGIN
133183 --
133184 IF g_log_enabled THEN
133185 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_216';
133186 END IF;
133187 --
133188 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
133189
133190 trace
133191 (p_msg => 'BEGIN of AcctLineType_216'
133192 ,p_level => C_LEVEL_PROCEDURE
133193 ,p_module => l_log_module);
133194
133195 END IF;
133196 --
133197 l_component_type := 'AMB_JLT';
133198 l_component_code := 'AP_TAX_INV_PRICE_VAR_CM';
133199 l_component_type_code := 'S';
133200 l_component_appl_id := 200;
133201 l_amb_context_code := 'DEFAULT';
133202 l_entity_code := 'AP_INVOICES';
133203 l_event_class_code := 'CREDIT MEMOS';
133204 l_event_type_code := 'CREDIT MEMOS_ALL';
133205 l_line_definition_owner_code := 'S';
133206 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
133207 --
133208 l_balance_type_code := 'A';
133209 l_segment := NULL;
133210 l_ccid := NULL;
133211 l_adr_transaction_coa_id := NULL;
133212 l_adr_accounting_coa_id := NULL;
133213 l_adr_flexfield_segment_code := NULL;
133214 l_adr_flex_value_set_id := NULL;
133215 l_adr_value_type_code := NULL;
133216 l_adr_value_combination_id := NULL;
133217 l_adr_value_segment_code := NULL;
133218
133219 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
133220 l_bflow_class_code := ''; -- 4219869 Business Flow
133221 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
133222 l_budgetary_control_flag := 'N';
133223
133224 l_bflow_applied_to_amt_idx := NULL; -- 5132302
133225 l_bflow_applied_to_amt := NULL; -- 5132302
133226 l_entered_amt_idx := NULL; -- 4262811
133227 l_accted_amt_idx := NULL; -- 4262811
133228 l_acc_rev_flag := NULL; -- 4262811
133229 l_accrual_line_num := NULL; -- 4262811
133230 l_tmp_amt := NULL; -- 4262811
133231 --
133232
133233 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
133234 l_balance_type_code <> 'B' THEN
133238 ') = 'Y'
133235 IF NVL(p_source_33,'
133236 ') = 'TIPV' AND
133237 NVL(p_source_96,'
133239 THEN
133240
133241 --
133242 XLA_AE_LINES_PKG.SetNewLine;
133243
133244 p_balance_type_code := l_balance_type_code;
133245 -- set the flag so later we will know whether the gain loss line needs to be created
133246
133247 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
133248 p_actual_flag :='A';
133249 END IF;
133250
133251 --
133252 -- bulk performance
133253 --
133254 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
133255 p_header_num => 0); -- 4262811
133256 --
133257 -- set accounting line options
133258 --
133259 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
133260 p_natural_side_code => 'D'
133261 , p_gain_or_loss_flag => 'N'
133262 , p_gl_transfer_mode_code => 'S'
133263 , p_acct_entry_type_code => 'A'
133264 , p_switch_side_flag => 'Y'
133265 , p_merge_duplicate_code => 'A'
133266 );
133267 --
133268 l_acc_rev_natural_side_code := 'C'; -- 4262811
133269 --
133270 --
133271 -- set accounting line type info
133272 --
133273 xla_ae_lines_pkg.SetAcctLineType
133274 (p_component_type => l_component_type
133275 ,p_event_type_code => l_event_type_code
133276 ,p_line_definition_owner_code => l_line_definition_owner_code
133277 ,p_line_definition_code => l_line_definition_code
133278 ,p_accounting_line_code => l_component_code
133279 ,p_accounting_line_type_code => l_component_type_code
133280 ,p_accounting_line_appl_id => l_component_appl_id
133281 ,p_amb_context_code => l_amb_context_code
133282 ,p_entity_code => l_entity_code
133283 ,p_event_class_code => l_event_class_code);
133284 --
133285 -- set accounting class
133286 --
133287 xla_ae_lines_pkg.SetAcctClass(
133288 p_accounting_class_code => 'TIPV'
133289 , p_ae_header_id => l_ae_header_id
133290 );
133291
133292 --
133293 -- set rounding class
133294 --
133295 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
133296 'TIPV';
133297
133298 --
133299 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
133300 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
133301 --
133302 -- bulk performance
133303 --
133304 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
133305
133306 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
133307 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
133308
133309 -- 4955764
133310 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
133311 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
133312
133313 -- 4458381 Public Sector Enh
133314
133315 --
133316 -- set accounting attributes for the line type
133317 --
133318 l_entered_amt_idx := 23;
133319 l_accted_amt_idx := 28;
133320 l_bflow_applied_to_amt_idx := NULL; -- 5132302
133321 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
133322 l_rec_acct_attrs.array_char_value(1) := p_source_53;
133323 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
133324 l_rec_acct_attrs.array_num_value(2) :=
133325 xla_ae_sources_pkg.GetSystemSourceNum(
133326 p_source_code => 'XLA_EVENT_APPL_ID'
133327 , p_source_type_code => 'Y'
133328 , p_source_application_id => 602
133329 );
133330 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
133331 l_rec_acct_attrs.array_char_value(3) := p_source_55;
133332 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
133333 l_rec_acct_attrs.array_char_value(4) :=
133334 xla_ae_sources_pkg.GetSystemSourceChar(
133335 p_source_code => 'XLA_ENTITY_CODE'
133336 , p_source_type_code => 'Y'
133337 , p_source_application_id => 602
133338 );
133339 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
133340 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
133341 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
133342 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
133343 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
133344 l_rec_acct_attrs.array_num_value(7) := p_source_91;
133345 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
133346 l_rec_acct_attrs.array_char_value(8) := p_source_92;
133347 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
133348 l_rec_acct_attrs.array_char_value(9) := p_source_93;
133349 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
133350 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
133351 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
133352 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
133353 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
133354 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
133355 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
133359 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
133356 l_rec_acct_attrs.array_char_value(13) := p_source_55;
133357 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
133358 l_rec_acct_attrs.array_num_value(14) := p_source_65;
133360 l_rec_acct_attrs.array_num_value(15) := p_source_66;
133361 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
133362 l_rec_acct_attrs.array_char_value(16) := p_source_67;
133363 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
133364 l_rec_acct_attrs.array_num_value(17) := p_source_68;
133365 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
133366 l_rec_acct_attrs.array_num_value(18) := p_source_69;
133367 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
133368 l_rec_acct_attrs.array_num_value(19) := p_source_70;
133369 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
133370 l_rec_acct_attrs.array_char_value(20) := p_source_67;
133371 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
133372 l_rec_acct_attrs.array_num_value(21) := p_source_71;
133373 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
133374 l_rec_acct_attrs.array_char_value(22) := p_source_72;
133375 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
133376 l_rec_acct_attrs.array_num_value(23) := p_source_73;
133377 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
133378 l_rec_acct_attrs.array_char_value(24) := p_source_67;
133379 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
133380 l_rec_acct_attrs.array_date_value(25) := p_source_143;
133381 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
133382 l_rec_acct_attrs.array_num_value(26) := p_source_144;
133383 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
133384 l_rec_acct_attrs.array_char_value(27) := p_source_145;
133385 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
133386 l_rec_acct_attrs.array_num_value(28) := p_source_21;
133387 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
133388 l_rec_acct_attrs.array_date_value(29) := p_source_77;
133389 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
133390 l_rec_acct_attrs.array_char_value(30) := p_source_78;
133391 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
133392 l_rec_acct_attrs.array_date_value(31) := p_source_79;
133393 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
133394 l_rec_acct_attrs.array_char_value(32) := p_source_80;
133395 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
133396 l_rec_acct_attrs.array_num_value(33) := p_source_81;
133397 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
133398 l_rec_acct_attrs.array_num_value(34) := p_source_82;
133399 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
133400 l_rec_acct_attrs.array_char_value(35) := p_source_83;
133401 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
133402 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
133403 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
133404 l_rec_acct_attrs.array_char_value(37) := p_source_55;
133405 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
133406 l_rec_acct_attrs.array_num_value(38) := p_source_85;
133407 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
133408 l_rec_acct_attrs.array_num_value(39) := p_source_86;
133409 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
133410 l_rec_acct_attrs.array_num_value(40) := p_source_87;
133411 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
133412 l_rec_acct_attrs.array_num_value(41) := p_source_88;
133413 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
133414 l_rec_acct_attrs.array_num_value(42) := p_source_89;
133415 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
133416 l_rec_acct_attrs.array_num_value(43) := p_source_90;
133417
133418 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
133419 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
133420
133421 ---------------------------------------------------------------------------------------------------------------
133422 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
133423 ---------------------------------------------------------------------------------------------------------------
133424 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
133425
133426 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
133427 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
133428
133429 IF xla_accounting_cache_pkg.GetValueChar
133430 (p_source_code => 'LEDGER_CATEGORY_CODE'
133431 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
133432 AND l_bflow_method_code = 'PRIOR_ENTRY'
133433 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
133434 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
133435 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
133436 )
133437 THEN
133438 xla_ae_lines_pkg.BflowUpgEntry
133439 (p_business_method_code => l_bflow_method_code
133440 ,p_business_class_code => l_bflow_class_code
133444 -- No business flow processing for business flow method of NONE.
133441 ,p_balance_type => l_balance_type_code);
133442 ELSE
133443 NULL;
133445 END IF;
133446
133447 --
133448 -- call analytical criteria
133449 --
133450
133451 --
133452 -- call description
133453 --
133454
133455 xla_ae_lines_pkg.SetLineDescription(
133456 p_ae_header_id => l_ae_header_id
133457 ,p_description => Description_1 (
133458 p_application_id => p_application_id
133459 , p_ae_header_id => l_ae_header_id
133460 , p_source_1 => p_source_1
133461 )
133462 );
133463
133464
133465 --
133466 -- call ADRs
133467 -- Bug 4922099
133468 --
133469 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
133470 (NVL(l_actual_upg_option, 'N') = 'O') OR
133471 (NVL(l_enc_upg_option, 'N') = 'O')
133472 )
133473 THEN
133474 NULL;
133475 --
133476 --
133477
133478 l_ccid := AcctDerRule_33(
133479 p_application_id => p_application_id
133480 , p_ae_header_id => l_ae_header_id
133481 , p_source_30 => p_source_30
133482 , x_transaction_coa_id => l_adr_transaction_coa_id
133483 , x_accounting_coa_id => l_adr_accounting_coa_id
133484 , x_value_type_code => l_adr_value_type_code
133485 , p_side => 'NA'
133486 );
133487
133488 xla_ae_lines_pkg.set_ccid(
133489 p_code_combination_id => l_ccid
133490 , p_value_type_code => l_adr_value_type_code
133491 , p_transaction_coa_id => l_adr_transaction_coa_id
133492 , p_accounting_coa_id => l_adr_accounting_coa_id
133493 , p_adr_code => 'AP_INVOICE_DIST'
133494 , p_adr_type_code => 'S'
133495 , p_component_type => l_component_type
133496 , p_component_code => l_component_code
133497 , p_component_type_code => l_component_type_code
133498 , p_component_appl_id => l_component_appl_id
133499 , p_amb_context_code => l_amb_context_code
133500 , p_side => 'NA'
133501 );
133502
133503
133504 --
133505 --
133506 END IF;
133507 --
133508 -- Bug 4922099
133509 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
133510 (NVL(l_enc_upg_option, 'N') = 'O')
133511 ) AND
133512 (l_bflow_method_code = 'PRIOR_ENTRY')
133513 )
133514 THEN
133515 IF
133516 --
133517 1 = 2
133518 --
133519 THEN
133520 xla_accounting_err_pkg.build_message
133521 (p_appli_s_name => 'XLA'
133522 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
133523 ,p_token_1 => 'LINE_NUMBER'
133524 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
133525 ,p_token_2 => 'LINE_TYPE_NAME'
133526 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
133527 l_component_type
133528 ,l_component_code
133529 ,l_component_type_code
133530 ,l_component_appl_id
133531 ,l_amb_context_code
133532 ,l_entity_code
133533 ,l_event_class_code
133534 )
133535 ,p_token_3 => 'OWNER'
133536 ,p_value_3 => xla_lookups_pkg.get_meaning(
133537 p_lookup_type => 'XLA_OWNER_TYPE'
133538 ,p_lookup_code => l_component_type_code
133539 )
133540 ,p_token_4 => 'PRODUCT_NAME'
133541 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
133542 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
133543 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
133544 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
133545 ,p_ae_header_id => NULL
133546 );
133547
133548 IF (C_LEVEL_ERROR>= g_log_level) THEN
133549 trace
133550 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
133551 ,p_level => C_LEVEL_ERROR
133552 ,p_module => l_log_module);
133553 END IF;
133554 END IF;
133555 END IF;
133556 --
133557 --
133561 -- Prior Entry. Currently, the following code is always generated.
133558 ------------------------------------------------------------------------------------------------
133559 -- 4219869 Business Flow
133560 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
133562 ------------------------------------------------------------------------------------------------
133563 XLA_AE_LINES_PKG.ValidateCurrentLine;
133564
133565 ------------------------------------------------------------------------------------
133566 -- 4219869 Business Flow
133567 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
133568 ------------------------------------------------------------------------------------
133569 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
133570
133571 ----------------------------------------------------------------------------------
133572 -- 4219869 Business Flow
133573 -- Update journal entry status -- Need to generate this within IF <condition>
133574 ----------------------------------------------------------------------------------
133575 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
133576 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
133577 ,p_balance_type_code => l_balance_type_code
133578 );
133579
133580 -------------------------------------------------------------------------------------------
133581 -- 4262811 - Generate the Accrual Reversal lines
133582 -------------------------------------------------------------------------------------------
133583 BEGIN
133584 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
133585 (g_array_event(p_event_id).array_value_num('header_index'));
133586 IF l_acc_rev_flag IS NULL THEN
133587 l_acc_rev_flag := 'N';
133588 END IF;
133589 EXCEPTION
133590 WHEN OTHERS THEN
133591 l_acc_rev_flag := 'N';
133592 END;
133593 --
133594 IF (l_acc_rev_flag = 'Y') THEN
133595
133596 -- 4645092 ------------------------------------------------------------------------------
133597 -- To allow MPA report to determine if it should generate report process
133598 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
133599 ------------------------------------------------------------------------------------------
133600
133601 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
133602 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
133603 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
133604 -- call ADRs
133605 -- Bug 4922099
133606 --
133607 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
133608 (NVL(l_actual_upg_option, 'N') = 'O') OR
133609 (NVL(l_enc_upg_option, 'N') = 'O')
133610 )
133611 THEN
133612 NULL;
133613 --
133614 --
133615
133616 l_ccid := AcctDerRule_33(
133617 p_application_id => p_application_id
133618 , p_ae_header_id => l_ae_header_id
133619 , p_source_30 => p_source_30
133620 , x_transaction_coa_id => l_adr_transaction_coa_id
133621 , x_accounting_coa_id => l_adr_accounting_coa_id
133622 , x_value_type_code => l_adr_value_type_code
133623 , p_side => 'NA'
133624 );
133625
133626 xla_ae_lines_pkg.set_ccid(
133627 p_code_combination_id => l_ccid
133628 , p_value_type_code => l_adr_value_type_code
133629 , p_transaction_coa_id => l_adr_transaction_coa_id
133630 , p_accounting_coa_id => l_adr_accounting_coa_id
133631 , p_adr_code => 'AP_INVOICE_DIST'
133632 , p_adr_type_code => 'S'
133633 , p_component_type => l_component_type
133634 , p_component_code => l_component_code
133635 , p_component_type_code => l_component_type_code
133636 , p_component_appl_id => l_component_appl_id
133637 , p_amb_context_code => l_amb_context_code
133638 , p_side => 'NA'
133639 );
133640
133641
133642 --
133643 --
133644 END IF;
133645
133646 --
133647 -- Update the line information that should be overwritten
133648 --
133649 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
133650 p_header_num => 1);
133651 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
133652
133653 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
133654
133655 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
133656 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
133657 END IF;
133658
133659 --
133660 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
133661 --
133662 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
133663 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
133664 ELSE
133665 ---------------------------------------------------------------------------------------------------
133666 -- 4262811a Switch Sign
133670 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
133667 ---------------------------------------------------------------------------------------------------
133668 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
133669 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
133671 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
133672 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
133673 -- 5132302
133674 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
133675 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
133676
133677 END IF;
133678
133679 -- 4955764
133680 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
133681 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
133682
133683
133684 XLA_AE_LINES_PKG.ValidateCurrentLine;
133685 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
133686
133687 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
133688 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
133689 ,p_balance_type_code => l_balance_type_code);
133690
133691 END IF;
133692
133693 -----------------------------------------------------------------------------------------
133694 -- 4262811 Multiperiod Accounting
133695 -----------------------------------------------------------------------------------------
133696 -- No MPA option is assigned.
133697
133698
133699 END IF;
133700 END IF;
133701 --
133702
133703 --
133704 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
133705 trace
133706 (p_msg => 'END of AcctLineType_216'
133707 ,p_level => C_LEVEL_PROCEDURE
133708 ,p_module => l_log_module);
133709 END IF;
133710 --
133711 EXCEPTION
133712 WHEN xla_exceptions_pkg.application_exception THEN
133713 RAISE;
133714 WHEN OTHERS THEN
133715 xla_exceptions_pkg.raise_message
133716 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_216');
133717 END AcctLineType_216;
133718 --
133719
133720 ---------------------------------------
133721 --
133722 -- PRIVATE FUNCTION
133723 -- AcctLineType_217
133724 --
133725 ---------------------------------------
133726 PROCEDURE AcctLineType_217 (
133727 p_application_id IN NUMBER
133728 ,p_event_id IN NUMBER
133729 ,p_calculate_acctd_flag IN VARCHAR2
133730 ,p_calculate_g_l_flag IN VARCHAR2
133731 ,p_actual_flag IN OUT VARCHAR2
133732 ,p_balance_type_code OUT VARCHAR2
133733 ,p_gain_or_loss_ref OUT VARCHAR2
133734
133735 --Invoice Distribution Description
133736 , p_source_1 IN VARCHAR2
133737 --Invoice Distribution Ledger Amount
133738 , p_source_21 IN NUMBER
133739 --Invoice Distribution Account
133740 , p_source_30 IN NUMBER
133741 --Invoice Distribution Type
133742 , p_source_33 IN VARCHAR2
133743 , p_source_33_meaning IN VARCHAR2
133744 --Accounting Reversal Indicator
133745 , p_source_53 IN VARCHAR2
133746 --Distribution Link Type
133747 , p_source_55 IN VARCHAR2
133748 --Allocation to Main Distribution Identifier
133749 , p_source_57 IN NUMBER
133750 --Invoice Identifier
133751 , p_source_58 IN NUMBER
133752 --Invoice Distribution Identifier
133753 , p_source_64 IN NUMBER
133754 --Payables Encumbrance Upgrade Credit Account
133755 , p_source_65 IN NUMBER
133756 --Payables Encumbrance Upgrade Credit Amount
133757 , p_source_66 IN NUMBER
133758 --Invoice Currency Code
133759 , p_source_67 IN VARCHAR2
133760 --Payables Encumbrance Upgrade Credit Base Amount
133761 , p_source_68 IN NUMBER
133762 --Payables Encumbrance Upgrade Debit Account
133763 , p_source_69 IN NUMBER
133764 --Payables Encumbrance Upgrade Debit Amount
133765 , p_source_70 IN NUMBER
133766 --Payables Encumbrance Upgrade Debit Base Amount
133767 , p_source_71 IN NUMBER
133768 --Payables Encumbrance Upgrade Option
133769 , p_source_72 IN VARCHAR2
133770 --Invoice Distribution Amount
133771 , p_source_73 IN NUMBER
133772 --Deferred Accounting End Date
133773 , p_source_77 IN DATE
133774 --Deferred Accounting Option
133775 , p_source_78 IN VARCHAR2
133776 --Deferred Accounting Start Date
133777 , p_source_79 IN DATE
133778 --Override Accounted Amount Indicator
133779 , p_source_80 IN VARCHAR2
133780 , p_source_80_meaning IN VARCHAR2
133781 --Invoice Supplier Identifier
133782 , p_source_81 IN NUMBER
133783 --Invoice Supplier Site Identifier
133784 , p_source_82 IN NUMBER
133785 --Third Party Type
133786 , p_source_83 IN VARCHAR2
133787 --Parent Reversal Identifier
133788 , p_source_84 IN NUMBER
133789 --Invoice Distribution Tax Line Identifier
133790 , p_source_86 IN NUMBER
133791 --Invoice Distribution Tax Distribution Identifier from Tax
133792 , p_source_87 IN NUMBER
133793 --Invoice Distribution Summary Tax Line Identifier
133794 , p_source_88 IN NUMBER
133798 , p_source_90 IN NUMBER
133795 --Payables Upgrade Credit Encumbrance Type Identifier
133796 , p_source_89 IN NUMBER
133797 --Payables Upgrade Debit Encumbrance Type Identifier
133799 --Business Flow Accounts Payable Application Identifier
133800 , p_source_91 IN NUMBER
133801 --Business Flow Invoice Distribution Type
133802 , p_source_92 IN VARCHAR2
133803 --Business Flow Invoice Entity Code
133804 , p_source_93 IN VARCHAR2
133805 --Business Flow Invoice Distribution Identifier
133806 , p_source_94 IN NUMBER
133807 --Business Flow Invoice Identifier
133808 , p_source_95 IN NUMBER
133809 --Accrue on Receipt Option
133810 , p_source_96 IN VARCHAR2
133811 , p_source_96_meaning IN VARCHAR2
133812 --Invoice Exchange Date
133813 , p_source_143 IN DATE
133814 --Invoice Exchange Rate
133815 , p_source_144 IN NUMBER
133816 --Invoice Exchange Rate Type
133817 , p_source_145 IN VARCHAR2
133818 )
133819 IS
133820
133821 l_component_type VARCHAR2(80);
133822 l_component_code VARCHAR2(30);
133823 l_component_type_code VARCHAR2(1);
133824 l_component_appl_id INTEGER;
133825 l_amb_context_code VARCHAR2(30);
133826 l_entity_code VARCHAR2(30);
133827 l_event_class_code VARCHAR2(30);
133828 l_ae_header_id NUMBER;
133829 l_event_type_code VARCHAR2(30);
133830 l_line_definition_code VARCHAR2(30);
133831 l_line_definition_owner_code VARCHAR2(1);
133832 --
133833 -- adr variables
133834 l_segment VARCHAR2(30);
133835 l_ccid NUMBER;
133836 l_adr_transaction_coa_id NUMBER;
133837 l_adr_accounting_coa_id NUMBER;
133838 l_adr_flexfield_segment_code VARCHAR2(30);
133839 l_adr_flex_value_set_id NUMBER;
133840 l_adr_value_type_code VARCHAR2(30);
133841 l_adr_value_combination_id NUMBER;
133842 l_adr_value_segment_code VARCHAR2(30);
133843
133844 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
133845 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
133846 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
133847 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
133848
133849 -- 4262811 Variables ------------------------------------------------------------------------------------------
133850 l_entered_amt_idx NUMBER;
133851 l_accted_amt_idx NUMBER;
133852 l_acc_rev_flag VARCHAR2(1);
133853 l_accrual_line_num NUMBER;
133854 l_tmp_amt NUMBER;
133855 l_acc_rev_natural_side_code VARCHAR2(1);
133856
133857 l_num_entries NUMBER;
133858 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
133859 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
133860 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
133861 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
133862 l_recog_line_1 NUMBER;
133863 l_recog_line_2 NUMBER;
133864
133865 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
133866 l_bflow_applied_to_amt NUMBER; -- 5132302
133867 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
133868
133869 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
133870
133871 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
133872 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
133873
133874 ---------------------------------------------------------------------------------------------------------------
133875
133876
133877 --
133878 -- bulk performance
133879 --
133880 l_balance_type_code VARCHAR2(1);
133881 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
133882 l_log_module VARCHAR2(240);
133883
133884 --
133885 -- Upgrade strategy
133886 --
133887 l_actual_upg_option VARCHAR2(1);
133888 l_enc_upg_option VARCHAR2(1);
133889
133890 --
133891 BEGIN
133892 --
133893 IF g_log_enabled THEN
133894 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_217';
133895 END IF;
133896 --
133897 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
133898
133899 trace
133900 (p_msg => 'BEGIN of AcctLineType_217'
133901 ,p_level => C_LEVEL_PROCEDURE
133902 ,p_module => l_log_module);
133903
133904 END IF;
133905 --
133906 l_component_type := 'AMB_JLT';
133907 l_component_code := 'AP_TAX_INV_PRICE_VAR_DM';
133908 l_component_type_code := 'S';
133909 l_component_appl_id := 200;
133910 l_amb_context_code := 'DEFAULT';
133911 l_entity_code := 'AP_INVOICES';
133912 l_event_class_code := 'DEBIT MEMOS';
133913 l_event_type_code := 'DEBIT MEMOS_ALL';
133914 l_line_definition_owner_code := 'S';
133915 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
133916 --
133917 l_balance_type_code := 'A';
133918 l_segment := NULL;
133919 l_ccid := NULL;
133920 l_adr_transaction_coa_id := NULL;
133921 l_adr_accounting_coa_id := NULL;
133922 l_adr_flexfield_segment_code := NULL;
133923 l_adr_flex_value_set_id := NULL;
133924 l_adr_value_type_code := NULL;
133925 l_adr_value_combination_id := NULL;
133929 l_bflow_class_code := ''; -- 4219869 Business Flow
133926 l_adr_value_segment_code := NULL;
133927
133928 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
133930 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
133931 l_budgetary_control_flag := 'N';
133932
133933 l_bflow_applied_to_amt_idx := NULL; -- 5132302
133934 l_bflow_applied_to_amt := NULL; -- 5132302
133935 l_entered_amt_idx := NULL; -- 4262811
133936 l_accted_amt_idx := NULL; -- 4262811
133937 l_acc_rev_flag := NULL; -- 4262811
133938 l_accrual_line_num := NULL; -- 4262811
133939 l_tmp_amt := NULL; -- 4262811
133940 --
133941
133942 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
133943 l_balance_type_code <> 'B' THEN
133944 IF NVL(p_source_33,'
133945 ') = 'TIPV' AND
133946 NVL(p_source_96,'
133947 ') = 'Y'
133948 THEN
133949
133950 --
133951 XLA_AE_LINES_PKG.SetNewLine;
133952
133953 p_balance_type_code := l_balance_type_code;
133954 -- set the flag so later we will know whether the gain loss line needs to be created
133955
133956 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
133957 p_actual_flag :='A';
133958 END IF;
133959
133960 --
133961 -- bulk performance
133962 --
133963 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
133964 p_header_num => 0); -- 4262811
133965 --
133966 -- set accounting line options
133967 --
133968 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
133969 p_natural_side_code => 'D'
133970 , p_gain_or_loss_flag => 'N'
133971 , p_gl_transfer_mode_code => 'S'
133972 , p_acct_entry_type_code => 'A'
133973 , p_switch_side_flag => 'Y'
133974 , p_merge_duplicate_code => 'A'
133975 );
133976 --
133977 l_acc_rev_natural_side_code := 'C'; -- 4262811
133978 --
133979 --
133980 -- set accounting line type info
133981 --
133982 xla_ae_lines_pkg.SetAcctLineType
133983 (p_component_type => l_component_type
133984 ,p_event_type_code => l_event_type_code
133985 ,p_line_definition_owner_code => l_line_definition_owner_code
133986 ,p_line_definition_code => l_line_definition_code
133987 ,p_accounting_line_code => l_component_code
133988 ,p_accounting_line_type_code => l_component_type_code
133989 ,p_accounting_line_appl_id => l_component_appl_id
133990 ,p_amb_context_code => l_amb_context_code
133991 ,p_entity_code => l_entity_code
133992 ,p_event_class_code => l_event_class_code);
133993 --
133994 -- set accounting class
133995 --
133996 xla_ae_lines_pkg.SetAcctClass(
133997 p_accounting_class_code => 'TIPV'
133998 , p_ae_header_id => l_ae_header_id
133999 );
134000
134001 --
134002 -- set rounding class
134003 --
134004 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
134005 'TIPV';
134006
134007 --
134008 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
134009 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
134010 --
134011 -- bulk performance
134012 --
134013 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
134014
134015 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
134016 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
134017
134018 -- 4955764
134019 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
134020 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
134021
134022 -- 4458381 Public Sector Enh
134023
134024 --
134025 -- set accounting attributes for the line type
134026 --
134027 l_entered_amt_idx := 23;
134028 l_accted_amt_idx := 28;
134029 l_bflow_applied_to_amt_idx := NULL; -- 5132302
134030 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
134031 l_rec_acct_attrs.array_char_value(1) := p_source_53;
134032 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
134033 l_rec_acct_attrs.array_num_value(2) :=
134034 xla_ae_sources_pkg.GetSystemSourceNum(
134035 p_source_code => 'XLA_EVENT_APPL_ID'
134036 , p_source_type_code => 'Y'
134037 , p_source_application_id => 602
134038 );
134039 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
134040 l_rec_acct_attrs.array_char_value(3) := p_source_55;
134041 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
134042 l_rec_acct_attrs.array_char_value(4) :=
134043 xla_ae_sources_pkg.GetSystemSourceChar(
134044 p_source_code => 'XLA_ENTITY_CODE'
134045 , p_source_type_code => 'Y'
134046 , p_source_application_id => 602
134047 );
134048 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
134049 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
134050 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
134054 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
134051 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
134052 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
134053 l_rec_acct_attrs.array_num_value(7) := p_source_91;
134055 l_rec_acct_attrs.array_char_value(8) := p_source_92;
134056 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
134057 l_rec_acct_attrs.array_char_value(9) := p_source_93;
134058 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
134059 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
134060 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
134061 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
134062 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
134063 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
134064 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
134065 l_rec_acct_attrs.array_char_value(13) := p_source_55;
134066 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
134067 l_rec_acct_attrs.array_num_value(14) := p_source_65;
134068 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
134069 l_rec_acct_attrs.array_num_value(15) := p_source_66;
134070 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
134071 l_rec_acct_attrs.array_char_value(16) := p_source_67;
134072 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
134073 l_rec_acct_attrs.array_num_value(17) := p_source_68;
134074 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
134075 l_rec_acct_attrs.array_num_value(18) := p_source_69;
134076 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
134077 l_rec_acct_attrs.array_num_value(19) := p_source_70;
134078 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
134079 l_rec_acct_attrs.array_char_value(20) := p_source_67;
134080 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
134081 l_rec_acct_attrs.array_num_value(21) := p_source_71;
134082 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
134083 l_rec_acct_attrs.array_char_value(22) := p_source_72;
134084 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
134085 l_rec_acct_attrs.array_num_value(23) := p_source_73;
134086 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
134087 l_rec_acct_attrs.array_char_value(24) := p_source_67;
134088 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
134089 l_rec_acct_attrs.array_date_value(25) := p_source_143;
134090 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
134091 l_rec_acct_attrs.array_num_value(26) := p_source_144;
134092 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
134093 l_rec_acct_attrs.array_char_value(27) := p_source_145;
134094 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
134095 l_rec_acct_attrs.array_num_value(28) := p_source_21;
134096 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
134097 l_rec_acct_attrs.array_date_value(29) := p_source_77;
134098 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
134099 l_rec_acct_attrs.array_char_value(30) := p_source_78;
134100 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
134101 l_rec_acct_attrs.array_date_value(31) := p_source_79;
134102 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
134103 l_rec_acct_attrs.array_char_value(32) := p_source_80;
134104 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
134105 l_rec_acct_attrs.array_num_value(33) := p_source_81;
134106 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
134107 l_rec_acct_attrs.array_num_value(34) := p_source_82;
134108 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
134109 l_rec_acct_attrs.array_char_value(35) := p_source_83;
134110 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
134111 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
134112 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
134113 l_rec_acct_attrs.array_char_value(37) := p_source_55;
134114 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
134115 l_rec_acct_attrs.array_num_value(38) := p_source_86;
134116 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
134117 l_rec_acct_attrs.array_num_value(39) := p_source_87;
134118 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
134119 l_rec_acct_attrs.array_num_value(40) := p_source_88;
134120 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
134121 l_rec_acct_attrs.array_num_value(41) := p_source_89;
134122 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
134123 l_rec_acct_attrs.array_num_value(42) := p_source_90;
134124
134125 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
134126 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
134127
134128 ---------------------------------------------------------------------------------------------------------------
134129 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
134130 ---------------------------------------------------------------------------------------------------------------
134131 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
134132
134136 IF xla_accounting_cache_pkg.GetValueChar
134133 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
134134 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
134135
134137 (p_source_code => 'LEDGER_CATEGORY_CODE'
134138 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
134139 AND l_bflow_method_code = 'PRIOR_ENTRY'
134140 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
134141 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
134142 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
134143 )
134144 THEN
134145 xla_ae_lines_pkg.BflowUpgEntry
134146 (p_business_method_code => l_bflow_method_code
134147 ,p_business_class_code => l_bflow_class_code
134148 ,p_balance_type => l_balance_type_code);
134149 ELSE
134150 NULL;
134151 -- No business flow processing for business flow method of NONE.
134152 END IF;
134153
134154 --
134155 -- call analytical criteria
134156 --
134157
134158 --
134159 -- call description
134160 --
134161
134162 xla_ae_lines_pkg.SetLineDescription(
134163 p_ae_header_id => l_ae_header_id
134164 ,p_description => Description_1 (
134165 p_application_id => p_application_id
134166 , p_ae_header_id => l_ae_header_id
134167 , p_source_1 => p_source_1
134168 )
134169 );
134170
134171
134172 --
134173 -- call ADRs
134174 -- Bug 4922099
134175 --
134176 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
134177 (NVL(l_actual_upg_option, 'N') = 'O') OR
134178 (NVL(l_enc_upg_option, 'N') = 'O')
134179 )
134180 THEN
134181 NULL;
134182 --
134183 --
134184
134185 l_ccid := AcctDerRule_33(
134186 p_application_id => p_application_id
134187 , p_ae_header_id => l_ae_header_id
134188 , p_source_30 => p_source_30
134189 , x_transaction_coa_id => l_adr_transaction_coa_id
134190 , x_accounting_coa_id => l_adr_accounting_coa_id
134191 , x_value_type_code => l_adr_value_type_code
134192 , p_side => 'NA'
134193 );
134194
134195 xla_ae_lines_pkg.set_ccid(
134196 p_code_combination_id => l_ccid
134197 , p_value_type_code => l_adr_value_type_code
134198 , p_transaction_coa_id => l_adr_transaction_coa_id
134199 , p_accounting_coa_id => l_adr_accounting_coa_id
134200 , p_adr_code => 'AP_INVOICE_DIST'
134201 , p_adr_type_code => 'S'
134202 , p_component_type => l_component_type
134203 , p_component_code => l_component_code
134204 , p_component_type_code => l_component_type_code
134205 , p_component_appl_id => l_component_appl_id
134206 , p_amb_context_code => l_amb_context_code
134207 , p_side => 'NA'
134208 );
134209
134210
134211 --
134212 --
134213 END IF;
134214 --
134215 -- Bug 4922099
134216 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
134217 (NVL(l_enc_upg_option, 'N') = 'O')
134218 ) AND
134219 (l_bflow_method_code = 'PRIOR_ENTRY')
134220 )
134221 THEN
134222 IF
134223 --
134224 1 = 2
134225 --
134226 THEN
134227 xla_accounting_err_pkg.build_message
134228 (p_appli_s_name => 'XLA'
134229 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
134230 ,p_token_1 => 'LINE_NUMBER'
134231 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
134232 ,p_token_2 => 'LINE_TYPE_NAME'
134233 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
134234 l_component_type
134235 ,l_component_code
134236 ,l_component_type_code
134237 ,l_component_appl_id
134238 ,l_amb_context_code
134239 ,l_entity_code
134240 ,l_event_class_code
134241 )
134242 ,p_token_3 => 'OWNER'
134243 ,p_value_3 => xla_lookups_pkg.get_meaning(
134244 p_lookup_type => 'XLA_OWNER_TYPE'
134245 ,p_lookup_code => l_component_type_code
134246 )
134247 ,p_token_4 => 'PRODUCT_NAME'
134251 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
134248 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
134249 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
134250 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
134252 ,p_ae_header_id => NULL
134253 );
134254
134255 IF (C_LEVEL_ERROR>= g_log_level) THEN
134256 trace
134257 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
134258 ,p_level => C_LEVEL_ERROR
134259 ,p_module => l_log_module);
134260 END IF;
134261 END IF;
134262 END IF;
134263 --
134264 --
134265 ------------------------------------------------------------------------------------------------
134266 -- 4219869 Business Flow
134267 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
134268 -- Prior Entry. Currently, the following code is always generated.
134269 ------------------------------------------------------------------------------------------------
134270 XLA_AE_LINES_PKG.ValidateCurrentLine;
134271
134272 ------------------------------------------------------------------------------------
134273 -- 4219869 Business Flow
134274 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
134275 ------------------------------------------------------------------------------------
134276 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
134277
134278 ----------------------------------------------------------------------------------
134279 -- 4219869 Business Flow
134280 -- Update journal entry status -- Need to generate this within IF <condition>
134281 ----------------------------------------------------------------------------------
134282 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
134283 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
134284 ,p_balance_type_code => l_balance_type_code
134285 );
134286
134287 -------------------------------------------------------------------------------------------
134288 -- 4262811 - Generate the Accrual Reversal lines
134289 -------------------------------------------------------------------------------------------
134290 BEGIN
134291 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
134292 (g_array_event(p_event_id).array_value_num('header_index'));
134293 IF l_acc_rev_flag IS NULL THEN
134294 l_acc_rev_flag := 'N';
134295 END IF;
134296 EXCEPTION
134297 WHEN OTHERS THEN
134298 l_acc_rev_flag := 'N';
134299 END;
134300 --
134301 IF (l_acc_rev_flag = 'Y') THEN
134302
134303 -- 4645092 ------------------------------------------------------------------------------
134304 -- To allow MPA report to determine if it should generate report process
134305 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
134306 ------------------------------------------------------------------------------------------
134307
134308 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
134309 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
134310 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
134311 -- call ADRs
134312 -- Bug 4922099
134313 --
134314 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
134315 (NVL(l_actual_upg_option, 'N') = 'O') OR
134316 (NVL(l_enc_upg_option, 'N') = 'O')
134317 )
134318 THEN
134319 NULL;
134320 --
134321 --
134322
134323 l_ccid := AcctDerRule_33(
134324 p_application_id => p_application_id
134325 , p_ae_header_id => l_ae_header_id
134326 , p_source_30 => p_source_30
134327 , x_transaction_coa_id => l_adr_transaction_coa_id
134328 , x_accounting_coa_id => l_adr_accounting_coa_id
134329 , x_value_type_code => l_adr_value_type_code
134330 , p_side => 'NA'
134331 );
134332
134333 xla_ae_lines_pkg.set_ccid(
134334 p_code_combination_id => l_ccid
134335 , p_value_type_code => l_adr_value_type_code
134336 , p_transaction_coa_id => l_adr_transaction_coa_id
134337 , p_accounting_coa_id => l_adr_accounting_coa_id
134338 , p_adr_code => 'AP_INVOICE_DIST'
134339 , p_adr_type_code => 'S'
134340 , p_component_type => l_component_type
134341 , p_component_code => l_component_code
134342 , p_component_type_code => l_component_type_code
134343 , p_component_appl_id => l_component_appl_id
134344 , p_amb_context_code => l_amb_context_code
134345 , p_side => 'NA'
134346 );
134347
134348
134349 --
134350 --
134351 END IF;
134352
134353 --
134354 -- Update the line information that should be overwritten
134355 --
134356 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
134357 p_header_num => 1);
134358 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
134362 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
134359
134360 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
134361
134363 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
134364 END IF;
134365
134366 --
134367 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
134368 --
134369 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
134370 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
134371 ELSE
134372 ---------------------------------------------------------------------------------------------------
134373 -- 4262811a Switch Sign
134374 ---------------------------------------------------------------------------------------------------
134375 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
134376 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
134377 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
134378 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
134379 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
134380 -- 5132302
134381 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
134382 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
134383
134384 END IF;
134385
134386 -- 4955764
134387 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
134388 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
134389
134390
134391 XLA_AE_LINES_PKG.ValidateCurrentLine;
134392 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
134393
134394 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
134395 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
134396 ,p_balance_type_code => l_balance_type_code);
134397
134398 END IF;
134399
134400 -----------------------------------------------------------------------------------------
134401 -- 4262811 Multiperiod Accounting
134402 -----------------------------------------------------------------------------------------
134403 -- No MPA option is assigned.
134404
134405
134406 END IF;
134407 END IF;
134408 --
134409
134410 --
134411 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
134412 trace
134413 (p_msg => 'END of AcctLineType_217'
134414 ,p_level => C_LEVEL_PROCEDURE
134415 ,p_module => l_log_module);
134416 END IF;
134417 --
134418 EXCEPTION
134419 WHEN xla_exceptions_pkg.application_exception THEN
134420 RAISE;
134421 WHEN OTHERS THEN
134422 xla_exceptions_pkg.raise_message
134423 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_217');
134424 END AcctLineType_217;
134425 --
134426
134427 ---------------------------------------
134428 --
134429 -- PRIVATE FUNCTION
134430 -- AcctLineType_218
134431 --
134432 ---------------------------------------
134433 PROCEDURE AcctLineType_218 (
134434 p_application_id IN NUMBER
134435 ,p_event_id IN NUMBER
134436 ,p_calculate_acctd_flag IN VARCHAR2
134437 ,p_calculate_g_l_flag IN VARCHAR2
134438 ,p_actual_flag IN OUT VARCHAR2
134439 ,p_balance_type_code OUT VARCHAR2
134440 ,p_gain_or_loss_ref OUT VARCHAR2
134441
134442 --Invoice Distribution Description
134443 , p_source_1 IN VARCHAR2
134444 --Invoice Distribution Ledger Amount
134445 , p_source_21 IN NUMBER
134446 --Invoice Distribution Account
134447 , p_source_30 IN NUMBER
134448 --Invoice Distribution Type
134449 , p_source_33 IN VARCHAR2
134450 , p_source_33_meaning IN VARCHAR2
134451 --Accounting Reversal Indicator
134452 , p_source_53 IN VARCHAR2
134453 --Distribution Link Type
134454 , p_source_55 IN VARCHAR2
134455 --Allocation to Main Distribution Identifier
134456 , p_source_57 IN NUMBER
134457 --Invoice Identifier
134458 , p_source_58 IN NUMBER
134459 --Invoice Distribution Identifier
134460 , p_source_64 IN NUMBER
134461 --Payables Encumbrance Upgrade Credit Account
134462 , p_source_65 IN NUMBER
134463 --Payables Encumbrance Upgrade Credit Amount
134464 , p_source_66 IN NUMBER
134465 --Invoice Currency Code
134466 , p_source_67 IN VARCHAR2
134467 --Payables Encumbrance Upgrade Credit Base Amount
134468 , p_source_68 IN NUMBER
134469 --Payables Encumbrance Upgrade Debit Account
134470 , p_source_69 IN NUMBER
134471 --Payables Encumbrance Upgrade Debit Amount
134472 , p_source_70 IN NUMBER
134473 --Payables Encumbrance Upgrade Debit Base Amount
134474 , p_source_71 IN NUMBER
134475 --Payables Encumbrance Upgrade Option
134476 , p_source_72 IN VARCHAR2
134477 --Invoice Distribution Amount
134478 , p_source_73 IN NUMBER
134479 --Deferred Accounting End Date
134480 , p_source_77 IN DATE
134481 --Deferred Accounting Option
134485 --Override Accounted Amount Indicator
134482 , p_source_78 IN VARCHAR2
134483 --Deferred Accounting Start Date
134484 , p_source_79 IN DATE
134486 , p_source_80 IN VARCHAR2
134487 , p_source_80_meaning IN VARCHAR2
134488 --Invoice Supplier Identifier
134489 , p_source_81 IN NUMBER
134490 --Invoice Supplier Site Identifier
134491 , p_source_82 IN NUMBER
134492 --Third Party Type
134493 , p_source_83 IN VARCHAR2
134494 --Parent Reversal Identifier
134495 , p_source_84 IN NUMBER
134496 --Invoice Distribution Statistical Amount
134497 , p_source_85 IN NUMBER
134498 --Invoice Distribution Tax Line Identifier
134499 , p_source_86 IN NUMBER
134500 --Invoice Distribution Tax Distribution Identifier from Tax
134501 , p_source_87 IN NUMBER
134502 --Invoice Distribution Summary Tax Line Identifier
134503 , p_source_88 IN NUMBER
134504 --Payables Upgrade Credit Encumbrance Type Identifier
134505 , p_source_89 IN NUMBER
134506 --Payables Upgrade Debit Encumbrance Type Identifier
134507 , p_source_90 IN NUMBER
134508 --Business Flow Accounts Payable Application Identifier
134509 , p_source_91 IN NUMBER
134510 --Business Flow Invoice Distribution Type
134511 , p_source_92 IN VARCHAR2
134512 --Business Flow Invoice Entity Code
134513 , p_source_93 IN VARCHAR2
134514 --Business Flow Invoice Distribution Identifier
134515 , p_source_94 IN NUMBER
134516 --Business Flow Invoice Identifier
134517 , p_source_95 IN NUMBER
134518 --Accrue on Receipt Option
134519 , p_source_96 IN VARCHAR2
134520 , p_source_96_meaning IN VARCHAR2
134521 --Invoice Exchange Date
134522 , p_source_143 IN DATE
134523 --Invoice Exchange Rate
134524 , p_source_144 IN NUMBER
134525 --Invoice Exchange Rate Type
134526 , p_source_145 IN VARCHAR2
134527 )
134528 IS
134529
134530 l_component_type VARCHAR2(80);
134531 l_component_code VARCHAR2(30);
134532 l_component_type_code VARCHAR2(1);
134533 l_component_appl_id INTEGER;
134534 l_amb_context_code VARCHAR2(30);
134535 l_entity_code VARCHAR2(30);
134536 l_event_class_code VARCHAR2(30);
134537 l_ae_header_id NUMBER;
134538 l_event_type_code VARCHAR2(30);
134539 l_line_definition_code VARCHAR2(30);
134540 l_line_definition_owner_code VARCHAR2(1);
134541 --
134542 -- adr variables
134543 l_segment VARCHAR2(30);
134544 l_ccid NUMBER;
134545 l_adr_transaction_coa_id NUMBER;
134546 l_adr_accounting_coa_id NUMBER;
134547 l_adr_flexfield_segment_code VARCHAR2(30);
134548 l_adr_flex_value_set_id NUMBER;
134549 l_adr_value_type_code VARCHAR2(30);
134550 l_adr_value_combination_id NUMBER;
134551 l_adr_value_segment_code VARCHAR2(30);
134552
134553 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
134554 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
134555 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
134556 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
134557
134558 -- 4262811 Variables ------------------------------------------------------------------------------------------
134559 l_entered_amt_idx NUMBER;
134560 l_accted_amt_idx NUMBER;
134561 l_acc_rev_flag VARCHAR2(1);
134562 l_accrual_line_num NUMBER;
134563 l_tmp_amt NUMBER;
134564 l_acc_rev_natural_side_code VARCHAR2(1);
134565
134566 l_num_entries NUMBER;
134567 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
134568 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
134569 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
134570 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
134571 l_recog_line_1 NUMBER;
134572 l_recog_line_2 NUMBER;
134573
134574 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
134575 l_bflow_applied_to_amt NUMBER; -- 5132302
134576 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
134577
134578 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
134579
134580 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
134581 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
134582
134583 ---------------------------------------------------------------------------------------------------------------
134584
134585
134586 --
134587 -- bulk performance
134588 --
134589 l_balance_type_code VARCHAR2(1);
134590 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
134591 l_log_module VARCHAR2(240);
134592
134593 --
134594 -- Upgrade strategy
134595 --
134596 l_actual_upg_option VARCHAR2(1);
134597 l_enc_upg_option VARCHAR2(1);
134598
134599 --
134600 BEGIN
134601 --
134602 IF g_log_enabled THEN
134603 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_218';
134604 END IF;
134605 --
134606 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
134607
134608 trace
134609 (p_msg => 'BEGIN of AcctLineType_218'
134613 END IF;
134610 ,p_level => C_LEVEL_PROCEDURE
134611 ,p_module => l_log_module);
134612
134614 --
134615 l_component_type := 'AMB_JLT';
134616 l_component_code := 'AP_TAX_INV_PRICE_VAR_INV';
134617 l_component_type_code := 'S';
134618 l_component_appl_id := 200;
134619 l_amb_context_code := 'DEFAULT';
134620 l_entity_code := 'AP_INVOICES';
134621 l_event_class_code := 'INVOICES';
134622 l_event_type_code := 'INVOICES_ALL';
134623 l_line_definition_owner_code := 'S';
134624 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
134625 --
134626 l_balance_type_code := 'A';
134627 l_segment := NULL;
134628 l_ccid := NULL;
134629 l_adr_transaction_coa_id := NULL;
134630 l_adr_accounting_coa_id := NULL;
134631 l_adr_flexfield_segment_code := NULL;
134632 l_adr_flex_value_set_id := NULL;
134633 l_adr_value_type_code := NULL;
134634 l_adr_value_combination_id := NULL;
134635 l_adr_value_segment_code := NULL;
134636
134637 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
134638 l_bflow_class_code := ''; -- 4219869 Business Flow
134639 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
134640 l_budgetary_control_flag := 'N';
134641
134642 l_bflow_applied_to_amt_idx := NULL; -- 5132302
134643 l_bflow_applied_to_amt := NULL; -- 5132302
134644 l_entered_amt_idx := NULL; -- 4262811
134645 l_accted_amt_idx := NULL; -- 4262811
134646 l_acc_rev_flag := NULL; -- 4262811
134647 l_accrual_line_num := NULL; -- 4262811
134648 l_tmp_amt := NULL; -- 4262811
134649 --
134650
134651 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
134652 l_balance_type_code <> 'B' THEN
134653 IF NVL(p_source_33,'
134654 ') = 'TIPV' AND
134655 NVL(p_source_96,'
134656 ') = 'Y'
134657 THEN
134658
134659 --
134660 XLA_AE_LINES_PKG.SetNewLine;
134661
134662 p_balance_type_code := l_balance_type_code;
134663 -- set the flag so later we will know whether the gain loss line needs to be created
134664
134665 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
134666 p_actual_flag :='A';
134667 END IF;
134668
134669 --
134670 -- bulk performance
134671 --
134672 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
134673 p_header_num => 0); -- 4262811
134674 --
134675 -- set accounting line options
134676 --
134677 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
134678 p_natural_side_code => 'D'
134679 , p_gain_or_loss_flag => 'N'
134680 , p_gl_transfer_mode_code => 'S'
134681 , p_acct_entry_type_code => 'A'
134682 , p_switch_side_flag => 'Y'
134683 , p_merge_duplicate_code => 'A'
134684 );
134685 --
134686 l_acc_rev_natural_side_code := 'C'; -- 4262811
134687 --
134688 --
134689 -- set accounting line type info
134690 --
134691 xla_ae_lines_pkg.SetAcctLineType
134692 (p_component_type => l_component_type
134693 ,p_event_type_code => l_event_type_code
134694 ,p_line_definition_owner_code => l_line_definition_owner_code
134695 ,p_line_definition_code => l_line_definition_code
134696 ,p_accounting_line_code => l_component_code
134697 ,p_accounting_line_type_code => l_component_type_code
134698 ,p_accounting_line_appl_id => l_component_appl_id
134699 ,p_amb_context_code => l_amb_context_code
134700 ,p_entity_code => l_entity_code
134701 ,p_event_class_code => l_event_class_code);
134702 --
134703 -- set accounting class
134704 --
134705 xla_ae_lines_pkg.SetAcctClass(
134706 p_accounting_class_code => 'TIPV'
134707 , p_ae_header_id => l_ae_header_id
134708 );
134709
134710 --
134711 -- set rounding class
134712 --
134713 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
134714 'TIPV';
134715
134716 --
134717 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
134718 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
134719 --
134720 -- bulk performance
134721 --
134722 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
134723
134724 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
134725 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
134726
134727 -- 4955764
134728 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
134729 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
134730
134731 -- 4458381 Public Sector Enh
134732
134733 --
134734 -- set accounting attributes for the line type
134735 --
134736 l_entered_amt_idx := 24;
134737 l_accted_amt_idx := 29;
134738 l_bflow_applied_to_amt_idx := 7; -- 5132302
134739 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
134740 l_rec_acct_attrs.array_char_value(1) := p_source_53;
134744 p_source_code => 'XLA_EVENT_APPL_ID'
134741 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
134742 l_rec_acct_attrs.array_num_value(2) :=
134743 xla_ae_sources_pkg.GetSystemSourceNum(
134745 , p_source_type_code => 'Y'
134746 , p_source_application_id => 602
134747 );
134748 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
134749 l_rec_acct_attrs.array_char_value(3) := p_source_55;
134750 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
134751 l_rec_acct_attrs.array_char_value(4) :=
134752 xla_ae_sources_pkg.GetSystemSourceChar(
134753 p_source_code => 'XLA_ENTITY_CODE'
134754 , p_source_type_code => 'Y'
134755 , p_source_application_id => 602
134756 );
134757 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
134758 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
134759 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
134760 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
134761 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
134762 l_rec_acct_attrs.array_num_value(7) := p_source_73;
134763 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
134764 l_rec_acct_attrs.array_num_value(8) := p_source_91;
134765 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
134766 l_rec_acct_attrs.array_char_value(9) := p_source_92;
134767 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
134768 l_rec_acct_attrs.array_char_value(10) := p_source_93;
134769 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
134770 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
134771 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
134772 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_95);
134773 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
134774 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_64);
134775 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
134776 l_rec_acct_attrs.array_char_value(14) := p_source_55;
134777 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
134778 l_rec_acct_attrs.array_num_value(15) := p_source_65;
134779 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
134780 l_rec_acct_attrs.array_num_value(16) := p_source_66;
134781 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
134782 l_rec_acct_attrs.array_char_value(17) := p_source_67;
134783 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
134784 l_rec_acct_attrs.array_num_value(18) := p_source_68;
134785 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
134786 l_rec_acct_attrs.array_num_value(19) := p_source_69;
134787 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
134788 l_rec_acct_attrs.array_num_value(20) := p_source_70;
134789 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
134790 l_rec_acct_attrs.array_char_value(21) := p_source_67;
134791 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
134792 l_rec_acct_attrs.array_num_value(22) := p_source_71;
134793 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
134794 l_rec_acct_attrs.array_char_value(23) := p_source_72;
134795 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
134796 l_rec_acct_attrs.array_num_value(24) := p_source_73;
134797 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
134798 l_rec_acct_attrs.array_char_value(25) := p_source_67;
134799 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
134800 l_rec_acct_attrs.array_date_value(26) := p_source_143;
134801 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
134802 l_rec_acct_attrs.array_num_value(27) := p_source_144;
134803 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
134804 l_rec_acct_attrs.array_char_value(28) := p_source_145;
134805 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
134806 l_rec_acct_attrs.array_num_value(29) := p_source_21;
134807 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
134808 l_rec_acct_attrs.array_date_value(30) := p_source_77;
134809 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
134810 l_rec_acct_attrs.array_char_value(31) := p_source_78;
134811 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
134812 l_rec_acct_attrs.array_date_value(32) := p_source_79;
134813 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
134814 l_rec_acct_attrs.array_char_value(33) := p_source_80;
134815 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
134816 l_rec_acct_attrs.array_num_value(34) := p_source_81;
134817 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
134818 l_rec_acct_attrs.array_num_value(35) := p_source_82;
134819 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
134820 l_rec_acct_attrs.array_char_value(36) := p_source_83;
134821 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
134822 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_84);
134823 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
134824 l_rec_acct_attrs.array_char_value(38) := p_source_55;
134825 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
134826 l_rec_acct_attrs.array_num_value(39) := p_source_85;
134830 l_rec_acct_attrs.array_num_value(41) := p_source_87;
134827 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
134828 l_rec_acct_attrs.array_num_value(40) := p_source_86;
134829 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
134831 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
134832 l_rec_acct_attrs.array_num_value(42) := p_source_88;
134833 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
134834 l_rec_acct_attrs.array_num_value(43) := p_source_89;
134835 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
134836 l_rec_acct_attrs.array_num_value(44) := p_source_90;
134837
134838 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
134839 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
134840
134841 ---------------------------------------------------------------------------------------------------------------
134842 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
134843 ---------------------------------------------------------------------------------------------------------------
134844 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
134845
134846 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
134847 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
134848
134849 IF xla_accounting_cache_pkg.GetValueChar
134850 (p_source_code => 'LEDGER_CATEGORY_CODE'
134851 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
134852 AND l_bflow_method_code = 'PRIOR_ENTRY'
134853 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
134854 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
134855 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
134856 )
134857 THEN
134858 xla_ae_lines_pkg.BflowUpgEntry
134859 (p_business_method_code => l_bflow_method_code
134860 ,p_business_class_code => l_bflow_class_code
134861 ,p_balance_type => l_balance_type_code);
134862 ELSE
134863 NULL;
134864 -- No business flow processing for business flow method of NONE.
134865 END IF;
134866
134867 --
134868 -- call analytical criteria
134869 --
134870
134871 --
134872 -- call description
134873 --
134874
134875 xla_ae_lines_pkg.SetLineDescription(
134876 p_ae_header_id => l_ae_header_id
134877 ,p_description => Description_1 (
134878 p_application_id => p_application_id
134879 , p_ae_header_id => l_ae_header_id
134880 , p_source_1 => p_source_1
134881 )
134882 );
134883
134884
134885 --
134886 -- call ADRs
134887 -- Bug 4922099
134888 --
134889 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
134890 (NVL(l_actual_upg_option, 'N') = 'O') OR
134891 (NVL(l_enc_upg_option, 'N') = 'O')
134892 )
134893 THEN
134894 NULL;
134895 --
134896 --
134897
134898 l_ccid := AcctDerRule_33(
134899 p_application_id => p_application_id
134900 , p_ae_header_id => l_ae_header_id
134901 , p_source_30 => p_source_30
134902 , x_transaction_coa_id => l_adr_transaction_coa_id
134903 , x_accounting_coa_id => l_adr_accounting_coa_id
134904 , x_value_type_code => l_adr_value_type_code
134905 , p_side => 'NA'
134906 );
134907
134908 xla_ae_lines_pkg.set_ccid(
134909 p_code_combination_id => l_ccid
134910 , p_value_type_code => l_adr_value_type_code
134911 , p_transaction_coa_id => l_adr_transaction_coa_id
134912 , p_accounting_coa_id => l_adr_accounting_coa_id
134913 , p_adr_code => 'AP_INVOICE_DIST'
134914 , p_adr_type_code => 'S'
134915 , p_component_type => l_component_type
134916 , p_component_code => l_component_code
134917 , p_component_type_code => l_component_type_code
134918 , p_component_appl_id => l_component_appl_id
134919 , p_amb_context_code => l_amb_context_code
134920 , p_side => 'NA'
134921 );
134922
134923
134924 --
134925 --
134926 END IF;
134927 --
134928 -- Bug 4922099
134929 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
134930 (NVL(l_enc_upg_option, 'N') = 'O')
134931 ) AND
134932 (l_bflow_method_code = 'PRIOR_ENTRY')
134933 )
134934 THEN
134935 IF
134936 --
134937 1 = 2
134938 --
134939 THEN
134940 xla_accounting_err_pkg.build_message
134941 (p_appli_s_name => 'XLA'
134942 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
134943 ,p_token_1 => 'LINE_NUMBER'
134944 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
134945 ,p_token_2 => 'LINE_TYPE_NAME'
134946 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
134950 ,l_component_appl_id
134947 l_component_type
134948 ,l_component_code
134949 ,l_component_type_code
134951 ,l_amb_context_code
134952 ,l_entity_code
134953 ,l_event_class_code
134954 )
134955 ,p_token_3 => 'OWNER'
134956 ,p_value_3 => xla_lookups_pkg.get_meaning(
134957 p_lookup_type => 'XLA_OWNER_TYPE'
134958 ,p_lookup_code => l_component_type_code
134959 )
134960 ,p_token_4 => 'PRODUCT_NAME'
134961 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
134962 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
134963 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
134964 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
134965 ,p_ae_header_id => NULL
134966 );
134967
134968 IF (C_LEVEL_ERROR>= g_log_level) THEN
134969 trace
134970 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
134971 ,p_level => C_LEVEL_ERROR
134972 ,p_module => l_log_module);
134973 END IF;
134974 END IF;
134975 END IF;
134976 --
134977 --
134978 ------------------------------------------------------------------------------------------------
134979 -- 4219869 Business Flow
134980 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
134981 -- Prior Entry. Currently, the following code is always generated.
134982 ------------------------------------------------------------------------------------------------
134983 XLA_AE_LINES_PKG.ValidateCurrentLine;
134984
134985 ------------------------------------------------------------------------------------
134986 -- 4219869 Business Flow
134987 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
134988 ------------------------------------------------------------------------------------
134989 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
134990
134991 ----------------------------------------------------------------------------------
134992 -- 4219869 Business Flow
134993 -- Update journal entry status -- Need to generate this within IF <condition>
134994 ----------------------------------------------------------------------------------
134995 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
134996 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
134997 ,p_balance_type_code => l_balance_type_code
134998 );
134999
135000 -------------------------------------------------------------------------------------------
135001 -- 4262811 - Generate the Accrual Reversal lines
135002 -------------------------------------------------------------------------------------------
135003 BEGIN
135004 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
135005 (g_array_event(p_event_id).array_value_num('header_index'));
135006 IF l_acc_rev_flag IS NULL THEN
135007 l_acc_rev_flag := 'N';
135008 END IF;
135009 EXCEPTION
135010 WHEN OTHERS THEN
135011 l_acc_rev_flag := 'N';
135012 END;
135013 --
135014 IF (l_acc_rev_flag = 'Y') THEN
135015
135016 -- 4645092 ------------------------------------------------------------------------------
135017 -- To allow MPA report to determine if it should generate report process
135018 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
135019 ------------------------------------------------------------------------------------------
135020
135021 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
135022 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
135023 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
135024 -- call ADRs
135025 -- Bug 4922099
135026 --
135027 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
135028 (NVL(l_actual_upg_option, 'N') = 'O') OR
135029 (NVL(l_enc_upg_option, 'N') = 'O')
135030 )
135031 THEN
135032 NULL;
135033 --
135034 --
135035
135036 l_ccid := AcctDerRule_33(
135037 p_application_id => p_application_id
135038 , p_ae_header_id => l_ae_header_id
135039 , p_source_30 => p_source_30
135040 , x_transaction_coa_id => l_adr_transaction_coa_id
135041 , x_accounting_coa_id => l_adr_accounting_coa_id
135042 , x_value_type_code => l_adr_value_type_code
135043 , p_side => 'NA'
135044 );
135045
135049 , p_transaction_coa_id => l_adr_transaction_coa_id
135046 xla_ae_lines_pkg.set_ccid(
135047 p_code_combination_id => l_ccid
135048 , p_value_type_code => l_adr_value_type_code
135050 , p_accounting_coa_id => l_adr_accounting_coa_id
135051 , p_adr_code => 'AP_INVOICE_DIST'
135052 , p_adr_type_code => 'S'
135053 , p_component_type => l_component_type
135054 , p_component_code => l_component_code
135055 , p_component_type_code => l_component_type_code
135056 , p_component_appl_id => l_component_appl_id
135057 , p_amb_context_code => l_amb_context_code
135058 , p_side => 'NA'
135059 );
135060
135061
135062 --
135063 --
135064 END IF;
135065
135066 --
135067 -- Update the line information that should be overwritten
135068 --
135069 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
135070 p_header_num => 1);
135071 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
135072
135073 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
135074
135075 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
135076 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
135077 END IF;
135078
135079 --
135080 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
135081 --
135082 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
135083 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
135084 ELSE
135085 ---------------------------------------------------------------------------------------------------
135086 -- 4262811a Switch Sign
135087 ---------------------------------------------------------------------------------------------------
135088 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
135089 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
135090 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
135091 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
135092 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
135093 -- 5132302
135094 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
135095 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
135096
135097 END IF;
135098
135099 -- 4955764
135100 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
135101 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
135102
135103
135104 XLA_AE_LINES_PKG.ValidateCurrentLine;
135105 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
135106
135107 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
135108 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
135109 ,p_balance_type_code => l_balance_type_code);
135110
135111 END IF;
135112
135113 -----------------------------------------------------------------------------------------
135114 -- 4262811 Multiperiod Accounting
135115 -----------------------------------------------------------------------------------------
135116 -- No MPA option is assigned.
135117
135118
135119 END IF;
135120 END IF;
135121 --
135122
135123 --
135124 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
135125 trace
135126 (p_msg => 'END of AcctLineType_218'
135127 ,p_level => C_LEVEL_PROCEDURE
135128 ,p_module => l_log_module);
135129 END IF;
135130 --
135131 EXCEPTION
135132 WHEN xla_exceptions_pkg.application_exception THEN
135133 RAISE;
135134 WHEN OTHERS THEN
135135 xla_exceptions_pkg.raise_message
135136 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_218');
135137 END AcctLineType_218;
135138 --
135139
135140 ---------------------------------------
135141 --
135142 -- PRIVATE FUNCTION
135143 -- AcctLineType_219
135144 --
135145 ---------------------------------------
135146 PROCEDURE AcctLineType_219 (
135147 p_application_id IN NUMBER
135148 ,p_event_id IN NUMBER
135149 ,p_calculate_acctd_flag IN VARCHAR2
135150 ,p_calculate_g_l_flag IN VARCHAR2
135151 ,p_actual_flag IN OUT VARCHAR2
135152 ,p_balance_type_code OUT VARCHAR2
135153 ,p_gain_or_loss_ref OUT VARCHAR2
135154
135155 --Invoice Distribution Description
135156 , p_source_1 IN VARCHAR2
135157 --Invoice Distribution Ledger Amount
135158 , p_source_21 IN NUMBER
135159 --Invoice Distribution Account
135160 , p_source_30 IN NUMBER
135161 --Invoice Distribution Type
135162 , p_source_33 IN VARCHAR2
135163 , p_source_33_meaning IN VARCHAR2
135164 --Accounting Reversal Indicator
135165 , p_source_53 IN VARCHAR2
135166 --Distribution Link Type
135167 , p_source_55 IN VARCHAR2
135168 --Allocation to Main Distribution Identifier
135172 --Invoice Distribution Identifier
135169 , p_source_57 IN NUMBER
135170 --Invoice Identifier
135171 , p_source_58 IN NUMBER
135173 , p_source_64 IN NUMBER
135174 --Payables Encumbrance Upgrade Credit Account
135175 , p_source_65 IN NUMBER
135176 --Payables Encumbrance Upgrade Credit Amount
135177 , p_source_66 IN NUMBER
135178 --Invoice Currency Code
135179 , p_source_67 IN VARCHAR2
135180 --Payables Encumbrance Upgrade Credit Base Amount
135181 , p_source_68 IN NUMBER
135182 --Payables Encumbrance Upgrade Debit Account
135183 , p_source_69 IN NUMBER
135184 --Payables Encumbrance Upgrade Debit Amount
135185 , p_source_70 IN NUMBER
135186 --Payables Encumbrance Upgrade Debit Base Amount
135187 , p_source_71 IN NUMBER
135188 --Payables Encumbrance Upgrade Option
135189 , p_source_72 IN VARCHAR2
135190 --Invoice Distribution Amount
135191 , p_source_73 IN NUMBER
135192 --Deferred Accounting End Date
135193 , p_source_77 IN DATE
135194 --Deferred Accounting Option
135195 , p_source_78 IN VARCHAR2
135196 --Deferred Accounting Start Date
135197 , p_source_79 IN DATE
135198 --Override Accounted Amount Indicator
135199 , p_source_80 IN VARCHAR2
135200 , p_source_80_meaning IN VARCHAR2
135201 --Invoice Supplier Identifier
135202 , p_source_81 IN NUMBER
135203 --Invoice Supplier Site Identifier
135204 , p_source_82 IN NUMBER
135205 --Third Party Type
135206 , p_source_83 IN VARCHAR2
135207 --Parent Reversal Identifier
135208 , p_source_84 IN NUMBER
135209 --Invoice Distribution Statistical Amount
135210 , p_source_85 IN NUMBER
135211 --Invoice Distribution Tax Line Identifier
135212 , p_source_86 IN NUMBER
135213 --Invoice Distribution Tax Distribution Identifier from Tax
135214 , p_source_87 IN NUMBER
135215 --Invoice Distribution Summary Tax Line Identifier
135216 , p_source_88 IN NUMBER
135217 --Payables Upgrade Credit Encumbrance Type Identifier
135218 , p_source_89 IN NUMBER
135219 --Payables Upgrade Debit Encumbrance Type Identifier
135220 , p_source_90 IN NUMBER
135221 --Business Flow Accounts Payable Application Identifier
135222 , p_source_91 IN NUMBER
135223 --Business Flow Invoice Distribution Type
135224 , p_source_92 IN VARCHAR2
135225 --Business Flow Invoice Entity Code
135226 , p_source_93 IN VARCHAR2
135227 --Business Flow Invoice Distribution Identifier
135228 , p_source_94 IN NUMBER
135229 --Business Flow Invoice Identifier
135230 , p_source_95 IN NUMBER
135231 --Accrue on Receipt Option
135232 , p_source_96 IN VARCHAR2
135233 , p_source_96_meaning IN VARCHAR2
135234 --Invoice Exchange Date
135235 , p_source_143 IN DATE
135236 --Invoice Exchange Rate
135237 , p_source_144 IN NUMBER
135238 --Invoice Exchange Rate Type
135239 , p_source_145 IN VARCHAR2
135240 )
135241 IS
135242
135243 l_component_type VARCHAR2(80);
135244 l_component_code VARCHAR2(30);
135245 l_component_type_code VARCHAR2(1);
135246 l_component_appl_id INTEGER;
135247 l_amb_context_code VARCHAR2(30);
135248 l_entity_code VARCHAR2(30);
135249 l_event_class_code VARCHAR2(30);
135250 l_ae_header_id NUMBER;
135251 l_event_type_code VARCHAR2(30);
135252 l_line_definition_code VARCHAR2(30);
135253 l_line_definition_owner_code VARCHAR2(1);
135254 --
135255 -- adr variables
135256 l_segment VARCHAR2(30);
135257 l_ccid NUMBER;
135258 l_adr_transaction_coa_id NUMBER;
135259 l_adr_accounting_coa_id NUMBER;
135260 l_adr_flexfield_segment_code VARCHAR2(30);
135261 l_adr_flex_value_set_id NUMBER;
135262 l_adr_value_type_code VARCHAR2(30);
135263 l_adr_value_combination_id NUMBER;
135264 l_adr_value_segment_code VARCHAR2(30);
135265
135266 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
135267 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
135268 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
135269 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
135270
135271 -- 4262811 Variables ------------------------------------------------------------------------------------------
135272 l_entered_amt_idx NUMBER;
135273 l_accted_amt_idx NUMBER;
135274 l_acc_rev_flag VARCHAR2(1);
135275 l_accrual_line_num NUMBER;
135276 l_tmp_amt NUMBER;
135277 l_acc_rev_natural_side_code VARCHAR2(1);
135278
135279 l_num_entries NUMBER;
135280 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
135281 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
135282 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
135283 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
135284 l_recog_line_1 NUMBER;
135285 l_recog_line_2 NUMBER;
135286
135287 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
135288 l_bflow_applied_to_amt NUMBER; -- 5132302
135289 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
135290
135291 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
135292
135296 ---------------------------------------------------------------------------------------------------------------
135293 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
135294 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
135295
135297
135298
135299 --
135300 -- bulk performance
135301 --
135302 l_balance_type_code VARCHAR2(1);
135303 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
135304 l_log_module VARCHAR2(240);
135305
135306 --
135307 -- Upgrade strategy
135308 --
135309 l_actual_upg_option VARCHAR2(1);
135310 l_enc_upg_option VARCHAR2(1);
135311
135312 --
135313 BEGIN
135314 --
135315 IF g_log_enabled THEN
135316 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_219';
135317 END IF;
135318 --
135319 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
135320
135321 trace
135322 (p_msg => 'BEGIN of AcctLineType_219'
135323 ,p_level => C_LEVEL_PROCEDURE
135324 ,p_module => l_log_module);
135325
135326 END IF;
135327 --
135328 l_component_type := 'AMB_JLT';
135329 l_component_code := 'AP_TAX_INV_PRICE_VAR_PREPAY';
135330 l_component_type_code := 'S';
135331 l_component_appl_id := 200;
135332 l_amb_context_code := 'DEFAULT';
135333 l_entity_code := 'AP_INVOICES';
135334 l_event_class_code := 'PREPAYMENTS';
135335 l_event_type_code := 'PREPAYMENTS_ALL';
135336 l_line_definition_owner_code := 'S';
135337 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
135338 --
135339 l_balance_type_code := 'A';
135340 l_segment := NULL;
135341 l_ccid := NULL;
135342 l_adr_transaction_coa_id := NULL;
135343 l_adr_accounting_coa_id := NULL;
135344 l_adr_flexfield_segment_code := NULL;
135345 l_adr_flex_value_set_id := NULL;
135346 l_adr_value_type_code := NULL;
135347 l_adr_value_combination_id := NULL;
135348 l_adr_value_segment_code := NULL;
135349
135350 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
135351 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
135352 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
135353 l_budgetary_control_flag := 'N';
135354
135355 l_bflow_applied_to_amt_idx := NULL; -- 5132302
135356 l_bflow_applied_to_amt := NULL; -- 5132302
135357 l_entered_amt_idx := NULL; -- 4262811
135358 l_accted_amt_idx := NULL; -- 4262811
135359 l_acc_rev_flag := NULL; -- 4262811
135360 l_accrual_line_num := NULL; -- 4262811
135361 l_tmp_amt := NULL; -- 4262811
135362 --
135363
135364 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
135365 l_balance_type_code <> 'B' THEN
135366 IF NVL(p_source_33,'
135367 ') = 'TIPV' AND
135368 NVL(p_source_96,'
135369 ') = 'Y'
135370 THEN
135371
135372 --
135373 XLA_AE_LINES_PKG.SetNewLine;
135374
135375 p_balance_type_code := l_balance_type_code;
135376 -- set the flag so later we will know whether the gain loss line needs to be created
135377
135378 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
135379 p_actual_flag :='A';
135380 END IF;
135381
135382 --
135383 -- bulk performance
135384 --
135385 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
135386 p_header_num => 0); -- 4262811
135387 --
135388 -- set accounting line options
135389 --
135390 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
135391 p_natural_side_code => 'D'
135392 , p_gain_or_loss_flag => 'N'
135393 , p_gl_transfer_mode_code => 'S'
135394 , p_acct_entry_type_code => 'A'
135395 , p_switch_side_flag => 'Y'
135396 , p_merge_duplicate_code => 'A'
135397 );
135398 --
135399 l_acc_rev_natural_side_code := 'C'; -- 4262811
135400 --
135401 --
135402 -- set accounting line type info
135403 --
135404 xla_ae_lines_pkg.SetAcctLineType
135405 (p_component_type => l_component_type
135406 ,p_event_type_code => l_event_type_code
135407 ,p_line_definition_owner_code => l_line_definition_owner_code
135408 ,p_line_definition_code => l_line_definition_code
135409 ,p_accounting_line_code => l_component_code
135410 ,p_accounting_line_type_code => l_component_type_code
135411 ,p_accounting_line_appl_id => l_component_appl_id
135412 ,p_amb_context_code => l_amb_context_code
135413 ,p_entity_code => l_entity_code
135414 ,p_event_class_code => l_event_class_code);
135415 --
135416 -- set accounting class
135417 --
135418 xla_ae_lines_pkg.SetAcctClass(
135419 p_accounting_class_code => 'TIPV'
135420 , p_ae_header_id => l_ae_header_id
135421 );
135422
135423 --
135424 -- set rounding class
135425 --
135426 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
135427 'TIPV';
135428
135429 --
135430 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
135434 --
135431 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
135432 --
135433 -- bulk performance
135435 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
135436
135437 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
135438 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
135439
135440 -- 4955764
135441 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
135442 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
135443
135444 -- 4458381 Public Sector Enh
135445
135446 --
135447 -- set accounting attributes for the line type
135448 --
135449 l_entered_amt_idx := 23;
135450 l_accted_amt_idx := 28;
135451 l_bflow_applied_to_amt_idx := NULL; -- 5132302
135452 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
135453 l_rec_acct_attrs.array_char_value(1) := p_source_53;
135454 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
135455 l_rec_acct_attrs.array_num_value(2) :=
135456 xla_ae_sources_pkg.GetSystemSourceNum(
135457 p_source_code => 'XLA_EVENT_APPL_ID'
135458 , p_source_type_code => 'Y'
135459 , p_source_application_id => 602
135460 );
135461 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
135462 l_rec_acct_attrs.array_char_value(3) := p_source_55;
135463 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
135464 l_rec_acct_attrs.array_char_value(4) :=
135465 xla_ae_sources_pkg.GetSystemSourceChar(
135466 p_source_code => 'XLA_ENTITY_CODE'
135467 , p_source_type_code => 'Y'
135468 , p_source_application_id => 602
135469 );
135470 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
135471 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
135472 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
135473 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
135474 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
135475 l_rec_acct_attrs.array_num_value(7) := p_source_91;
135476 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
135477 l_rec_acct_attrs.array_char_value(8) := p_source_92;
135478 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
135479 l_rec_acct_attrs.array_char_value(9) := p_source_93;
135480 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
135481 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
135482 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
135483 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
135484 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
135485 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
135486 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
135487 l_rec_acct_attrs.array_char_value(13) := p_source_55;
135488 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
135489 l_rec_acct_attrs.array_num_value(14) := p_source_65;
135490 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
135491 l_rec_acct_attrs.array_num_value(15) := p_source_66;
135492 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
135493 l_rec_acct_attrs.array_char_value(16) := p_source_67;
135494 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
135495 l_rec_acct_attrs.array_num_value(17) := p_source_68;
135496 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
135497 l_rec_acct_attrs.array_num_value(18) := p_source_69;
135498 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
135499 l_rec_acct_attrs.array_num_value(19) := p_source_70;
135500 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
135501 l_rec_acct_attrs.array_char_value(20) := p_source_67;
135502 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
135503 l_rec_acct_attrs.array_num_value(21) := p_source_71;
135504 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
135505 l_rec_acct_attrs.array_char_value(22) := p_source_72;
135506 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
135507 l_rec_acct_attrs.array_num_value(23) := p_source_73;
135508 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
135509 l_rec_acct_attrs.array_char_value(24) := p_source_67;
135510 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
135511 l_rec_acct_attrs.array_date_value(25) := p_source_143;
135512 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
135513 l_rec_acct_attrs.array_num_value(26) := p_source_144;
135514 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
135515 l_rec_acct_attrs.array_char_value(27) := p_source_145;
135516 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
135517 l_rec_acct_attrs.array_num_value(28) := p_source_21;
135518 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
135519 l_rec_acct_attrs.array_date_value(29) := p_source_77;
135520 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
135521 l_rec_acct_attrs.array_char_value(30) := p_source_78;
135522 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
135523 l_rec_acct_attrs.array_date_value(31) := p_source_79;
135527 l_rec_acct_attrs.array_num_value(33) := p_source_81;
135524 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
135525 l_rec_acct_attrs.array_char_value(32) := p_source_80;
135526 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
135528 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
135529 l_rec_acct_attrs.array_num_value(34) := p_source_82;
135530 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
135531 l_rec_acct_attrs.array_char_value(35) := p_source_83;
135532 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
135533 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
135534 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
135535 l_rec_acct_attrs.array_char_value(37) := p_source_55;
135536 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
135537 l_rec_acct_attrs.array_num_value(38) := p_source_85;
135538 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
135539 l_rec_acct_attrs.array_num_value(39) := p_source_86;
135540 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
135541 l_rec_acct_attrs.array_num_value(40) := p_source_87;
135542 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
135543 l_rec_acct_attrs.array_num_value(41) := p_source_88;
135544 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
135545 l_rec_acct_attrs.array_num_value(42) := p_source_89;
135546 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
135547 l_rec_acct_attrs.array_num_value(43) := p_source_90;
135548
135549 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
135550 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
135551
135552 ---------------------------------------------------------------------------------------------------------------
135553 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
135554 ---------------------------------------------------------------------------------------------------------------
135555 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
135556
135557 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
135558 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
135559
135560 IF xla_accounting_cache_pkg.GetValueChar
135561 (p_source_code => 'LEDGER_CATEGORY_CODE'
135562 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
135563 AND l_bflow_method_code = 'PRIOR_ENTRY'
135564 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
135565 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
135566 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
135567 )
135568 THEN
135569 xla_ae_lines_pkg.BflowUpgEntry
135570 (p_business_method_code => l_bflow_method_code
135571 ,p_business_class_code => l_bflow_class_code
135572 ,p_balance_type => l_balance_type_code);
135573 ELSE
135574 NULL;
135575 -- No business flow processing for business flow method of NONE.
135576 END IF;
135577
135578 --
135579 -- call analytical criteria
135580 --
135581
135582 --
135583 -- call description
135584 --
135585
135586 xla_ae_lines_pkg.SetLineDescription(
135587 p_ae_header_id => l_ae_header_id
135588 ,p_description => Description_1 (
135589 p_application_id => p_application_id
135590 , p_ae_header_id => l_ae_header_id
135591 , p_source_1 => p_source_1
135592 )
135593 );
135594
135595
135596 --
135597 -- call ADRs
135598 -- Bug 4922099
135599 --
135600 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
135601 (NVL(l_actual_upg_option, 'N') = 'O') OR
135602 (NVL(l_enc_upg_option, 'N') = 'O')
135603 )
135604 THEN
135605 NULL;
135606 --
135607 --
135608
135609 l_ccid := AcctDerRule_33(
135610 p_application_id => p_application_id
135611 , p_ae_header_id => l_ae_header_id
135612 , p_source_30 => p_source_30
135613 , x_transaction_coa_id => l_adr_transaction_coa_id
135614 , x_accounting_coa_id => l_adr_accounting_coa_id
135615 , x_value_type_code => l_adr_value_type_code
135616 , p_side => 'NA'
135617 );
135618
135619 xla_ae_lines_pkg.set_ccid(
135620 p_code_combination_id => l_ccid
135621 , p_value_type_code => l_adr_value_type_code
135622 , p_transaction_coa_id => l_adr_transaction_coa_id
135623 , p_accounting_coa_id => l_adr_accounting_coa_id
135624 , p_adr_code => 'AP_INVOICE_DIST'
135625 , p_adr_type_code => 'S'
135626 , p_component_type => l_component_type
135627 , p_component_code => l_component_code
135628 , p_component_type_code => l_component_type_code
135629 , p_component_appl_id => l_component_appl_id
135630 , p_amb_context_code => l_amb_context_code
135631 , p_side => 'NA'
135632 );
135633
135634
135635 --
135636 --
135637 END IF;
135641 (NVL(l_enc_upg_option, 'N') = 'O')
135638 --
135639 -- Bug 4922099
135640 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
135642 ) AND
135643 (l_bflow_method_code = 'PRIOR_ENTRY')
135644 )
135645 THEN
135646 IF
135647 --
135648 1 = 2
135649 --
135650 THEN
135651 xla_accounting_err_pkg.build_message
135652 (p_appli_s_name => 'XLA'
135653 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
135654 ,p_token_1 => 'LINE_NUMBER'
135655 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
135656 ,p_token_2 => 'LINE_TYPE_NAME'
135657 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
135658 l_component_type
135659 ,l_component_code
135660 ,l_component_type_code
135661 ,l_component_appl_id
135662 ,l_amb_context_code
135663 ,l_entity_code
135664 ,l_event_class_code
135665 )
135666 ,p_token_3 => 'OWNER'
135667 ,p_value_3 => xla_lookups_pkg.get_meaning(
135668 p_lookup_type => 'XLA_OWNER_TYPE'
135669 ,p_lookup_code => l_component_type_code
135670 )
135671 ,p_token_4 => 'PRODUCT_NAME'
135672 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
135673 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
135674 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
135675 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
135676 ,p_ae_header_id => NULL
135677 );
135678
135679 IF (C_LEVEL_ERROR>= g_log_level) THEN
135680 trace
135681 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
135682 ,p_level => C_LEVEL_ERROR
135683 ,p_module => l_log_module);
135684 END IF;
135685 END IF;
135686 END IF;
135687 --
135688 --
135689 ------------------------------------------------------------------------------------------------
135690 -- 4219869 Business Flow
135691 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
135692 -- Prior Entry. Currently, the following code is always generated.
135693 ------------------------------------------------------------------------------------------------
135694 XLA_AE_LINES_PKG.ValidateCurrentLine;
135695
135696 ------------------------------------------------------------------------------------
135697 -- 4219869 Business Flow
135698 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
135699 ------------------------------------------------------------------------------------
135700 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
135701
135702 ----------------------------------------------------------------------------------
135703 -- 4219869 Business Flow
135704 -- Update journal entry status -- Need to generate this within IF <condition>
135705 ----------------------------------------------------------------------------------
135706 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
135707 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
135708 ,p_balance_type_code => l_balance_type_code
135709 );
135710
135711 -------------------------------------------------------------------------------------------
135712 -- 4262811 - Generate the Accrual Reversal lines
135713 -------------------------------------------------------------------------------------------
135714 BEGIN
135715 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
135716 (g_array_event(p_event_id).array_value_num('header_index'));
135717 IF l_acc_rev_flag IS NULL THEN
135718 l_acc_rev_flag := 'N';
135719 END IF;
135720 EXCEPTION
135721 WHEN OTHERS THEN
135722 l_acc_rev_flag := 'N';
135723 END;
135724 --
135725 IF (l_acc_rev_flag = 'Y') THEN
135726
135727 -- 4645092 ------------------------------------------------------------------------------
135728 -- To allow MPA report to determine if it should generate report process
135729 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
135730 ------------------------------------------------------------------------------------------
135731
135732 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
135736 -- Bug 4922099
135733 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
135734 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
135735 -- call ADRs
135737 --
135738 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
135739 (NVL(l_actual_upg_option, 'N') = 'O') OR
135740 (NVL(l_enc_upg_option, 'N') = 'O')
135741 )
135742 THEN
135743 NULL;
135744 --
135745 --
135746
135747 l_ccid := AcctDerRule_33(
135748 p_application_id => p_application_id
135749 , p_ae_header_id => l_ae_header_id
135750 , p_source_30 => p_source_30
135751 , x_transaction_coa_id => l_adr_transaction_coa_id
135752 , x_accounting_coa_id => l_adr_accounting_coa_id
135753 , x_value_type_code => l_adr_value_type_code
135754 , p_side => 'NA'
135755 );
135756
135757 xla_ae_lines_pkg.set_ccid(
135758 p_code_combination_id => l_ccid
135759 , p_value_type_code => l_adr_value_type_code
135760 , p_transaction_coa_id => l_adr_transaction_coa_id
135761 , p_accounting_coa_id => l_adr_accounting_coa_id
135762 , p_adr_code => 'AP_INVOICE_DIST'
135763 , p_adr_type_code => 'S'
135764 , p_component_type => l_component_type
135765 , p_component_code => l_component_code
135766 , p_component_type_code => l_component_type_code
135767 , p_component_appl_id => l_component_appl_id
135768 , p_amb_context_code => l_amb_context_code
135769 , p_side => 'NA'
135770 );
135771
135772
135773 --
135774 --
135775 END IF;
135776
135777 --
135778 -- Update the line information that should be overwritten
135779 --
135780 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
135781 p_header_num => 1);
135782 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
135783
135784 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
135785
135786 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
135787 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
135788 END IF;
135789
135790 --
135791 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
135792 --
135793 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
135794 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
135795 ELSE
135796 ---------------------------------------------------------------------------------------------------
135797 -- 4262811a Switch Sign
135798 ---------------------------------------------------------------------------------------------------
135799 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
135800 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
135801 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
135802 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
135803 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
135804 -- 5132302
135805 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
135806 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
135807
135808 END IF;
135809
135810 -- 4955764
135811 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
135812 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
135813
135814
135815 XLA_AE_LINES_PKG.ValidateCurrentLine;
135816 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
135817
135818 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
135819 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
135820 ,p_balance_type_code => l_balance_type_code);
135821
135822 END IF;
135823
135824 -----------------------------------------------------------------------------------------
135825 -- 4262811 Multiperiod Accounting
135826 -----------------------------------------------------------------------------------------
135827 -- No MPA option is assigned.
135828
135829
135830 END IF;
135831 END IF;
135832 --
135833
135834 --
135835 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
135836 trace
135837 (p_msg => 'END of AcctLineType_219'
135838 ,p_level => C_LEVEL_PROCEDURE
135839 ,p_module => l_log_module);
135840 END IF;
135841 --
135842 EXCEPTION
135843 WHEN xla_exceptions_pkg.application_exception THEN
135844 RAISE;
135845 WHEN OTHERS THEN
135846 xla_exceptions_pkg.raise_message
135847 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_219');
135848 END AcctLineType_219;
135849 --
135850
135851 ---------------------------------------
135852 --
135853 -- PRIVATE FUNCTION
135854 -- AcctLineType_220
135855 --
135856 ---------------------------------------
135860 ,p_calculate_acctd_flag IN VARCHAR2
135857 PROCEDURE AcctLineType_220 (
135858 p_application_id IN NUMBER
135859 ,p_event_id IN NUMBER
135861 ,p_calculate_g_l_flag IN VARCHAR2
135862 ,p_actual_flag IN OUT VARCHAR2
135863 ,p_balance_type_code OUT VARCHAR2
135864 ,p_gain_or_loss_ref OUT VARCHAR2
135865
135866 --Invoice Distribution Description
135867 , p_source_1 IN VARCHAR2
135868 --Invoice Distribution Ledger Amount
135869 , p_source_21 IN NUMBER
135870 --Invoice Distribution Account
135871 , p_source_30 IN NUMBER
135872 --Invoice Distribution Type
135873 , p_source_33 IN VARCHAR2
135874 , p_source_33_meaning IN VARCHAR2
135875 --Accounting Reversal Indicator
135876 , p_source_53 IN VARCHAR2
135877 --Distribution Link Type
135878 , p_source_55 IN VARCHAR2
135879 --Allocation to Main Distribution Identifier
135880 , p_source_57 IN NUMBER
135881 --Invoice Identifier
135882 , p_source_58 IN NUMBER
135883 --Invoice Distribution Identifier
135884 , p_source_64 IN NUMBER
135885 --Payables Encumbrance Upgrade Credit Account
135886 , p_source_65 IN NUMBER
135887 --Payables Encumbrance Upgrade Credit Amount
135888 , p_source_66 IN NUMBER
135889 --Invoice Currency Code
135890 , p_source_67 IN VARCHAR2
135891 --Payables Encumbrance Upgrade Credit Base Amount
135892 , p_source_68 IN NUMBER
135893 --Payables Encumbrance Upgrade Debit Account
135894 , p_source_69 IN NUMBER
135895 --Payables Encumbrance Upgrade Debit Amount
135896 , p_source_70 IN NUMBER
135897 --Payables Encumbrance Upgrade Debit Base Amount
135898 , p_source_71 IN NUMBER
135899 --Payables Encumbrance Upgrade Option
135900 , p_source_72 IN VARCHAR2
135901 --Invoice Distribution Amount
135902 , p_source_73 IN NUMBER
135903 --Deferred Accounting End Date
135904 , p_source_77 IN DATE
135905 --Deferred Accounting Option
135906 , p_source_78 IN VARCHAR2
135907 --Deferred Accounting Start Date
135908 , p_source_79 IN DATE
135909 --Override Accounted Amount Indicator
135910 , p_source_80 IN VARCHAR2
135911 , p_source_80_meaning IN VARCHAR2
135912 --Invoice Supplier Identifier
135913 , p_source_81 IN NUMBER
135914 --Invoice Supplier Site Identifier
135915 , p_source_82 IN NUMBER
135916 --Third Party Type
135917 , p_source_83 IN VARCHAR2
135918 --Parent Reversal Identifier
135919 , p_source_84 IN NUMBER
135920 --Invoice Distribution Statistical Amount
135921 , p_source_85 IN NUMBER
135922 --Invoice Distribution Tax Line Identifier
135923 , p_source_86 IN NUMBER
135924 --Invoice Distribution Tax Distribution Identifier from Tax
135925 , p_source_87 IN NUMBER
135926 --Invoice Distribution Summary Tax Line Identifier
135927 , p_source_88 IN NUMBER
135928 --Payables Upgrade Credit Encumbrance Type Identifier
135929 , p_source_89 IN NUMBER
135930 --Payables Upgrade Debit Encumbrance Type Identifier
135931 , p_source_90 IN NUMBER
135932 --Business Flow Accounts Payable Application Identifier
135933 , p_source_91 IN NUMBER
135934 --Business Flow Invoice Distribution Type
135935 , p_source_92 IN VARCHAR2
135936 --Business Flow Invoice Entity Code
135937 , p_source_93 IN VARCHAR2
135938 --Business Flow Invoice Distribution Identifier
135939 , p_source_94 IN NUMBER
135940 --Business Flow Invoice Identifier
135941 , p_source_95 IN NUMBER
135942 --Accrue on Receipt Option
135943 , p_source_96 IN VARCHAR2
135944 , p_source_96_meaning IN VARCHAR2
135945 --Invoice Exchange Date
135946 , p_source_143 IN DATE
135947 --Invoice Exchange Rate
135948 , p_source_144 IN NUMBER
135949 --Invoice Exchange Rate Type
135950 , p_source_145 IN VARCHAR2
135951 )
135952 IS
135953
135954 l_component_type VARCHAR2(80);
135955 l_component_code VARCHAR2(30);
135956 l_component_type_code VARCHAR2(1);
135957 l_component_appl_id INTEGER;
135958 l_amb_context_code VARCHAR2(30);
135959 l_entity_code VARCHAR2(30);
135960 l_event_class_code VARCHAR2(30);
135961 l_ae_header_id NUMBER;
135962 l_event_type_code VARCHAR2(30);
135963 l_line_definition_code VARCHAR2(30);
135964 l_line_definition_owner_code VARCHAR2(1);
135965 --
135966 -- adr variables
135967 l_segment VARCHAR2(30);
135968 l_ccid NUMBER;
135969 l_adr_transaction_coa_id NUMBER;
135970 l_adr_accounting_coa_id NUMBER;
135971 l_adr_flexfield_segment_code VARCHAR2(30);
135972 l_adr_flex_value_set_id NUMBER;
135973 l_adr_value_type_code VARCHAR2(30);
135974 l_adr_value_combination_id NUMBER;
135975 l_adr_value_segment_code VARCHAR2(30);
135976
135977 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
135978 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
135979 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
135980 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
135981
135982 -- 4262811 Variables ------------------------------------------------------------------------------------------
135983 l_entered_amt_idx NUMBER;
135984 l_accted_amt_idx NUMBER;
135988 l_acc_rev_natural_side_code VARCHAR2(1);
135985 l_acc_rev_flag VARCHAR2(1);
135986 l_accrual_line_num NUMBER;
135987 l_tmp_amt NUMBER;
135989
135990 l_num_entries NUMBER;
135991 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
135992 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
135993 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
135994 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
135995 l_recog_line_1 NUMBER;
135996 l_recog_line_2 NUMBER;
135997
135998 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
135999 l_bflow_applied_to_amt NUMBER; -- 5132302
136000 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
136001
136002 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
136003
136004 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
136005 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
136006
136007 ---------------------------------------------------------------------------------------------------------------
136008
136009
136010 --
136011 -- bulk performance
136012 --
136013 l_balance_type_code VARCHAR2(1);
136014 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
136015 l_log_module VARCHAR2(240);
136016
136017 --
136018 -- Upgrade strategy
136019 --
136020 l_actual_upg_option VARCHAR2(1);
136021 l_enc_upg_option VARCHAR2(1);
136022
136023 --
136024 BEGIN
136025 --
136026 IF g_log_enabled THEN
136027 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_220';
136028 END IF;
136029 --
136030 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
136031
136032 trace
136033 (p_msg => 'BEGIN of AcctLineType_220'
136034 ,p_level => C_LEVEL_PROCEDURE
136035 ,p_module => l_log_module);
136036
136037 END IF;
136038 --
136039 l_component_type := 'AMB_JLT';
136040 l_component_code := 'AP_TAX_RATE_VAR_CM';
136041 l_component_type_code := 'S';
136042 l_component_appl_id := 200;
136043 l_amb_context_code := 'DEFAULT';
136044 l_entity_code := 'AP_INVOICES';
136045 l_event_class_code := 'CREDIT MEMOS';
136046 l_event_type_code := 'CREDIT MEMOS_ALL';
136047 l_line_definition_owner_code := 'S';
136048 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
136049 --
136050 l_balance_type_code := 'A';
136051 l_segment := NULL;
136052 l_ccid := NULL;
136053 l_adr_transaction_coa_id := NULL;
136054 l_adr_accounting_coa_id := NULL;
136055 l_adr_flexfield_segment_code := NULL;
136056 l_adr_flex_value_set_id := NULL;
136057 l_adr_value_type_code := NULL;
136058 l_adr_value_combination_id := NULL;
136059 l_adr_value_segment_code := NULL;
136060
136061 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
136062 l_bflow_class_code := ''; -- 4219869 Business Flow
136063 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
136064 l_budgetary_control_flag := 'N';
136065
136066 l_bflow_applied_to_amt_idx := NULL; -- 5132302
136067 l_bflow_applied_to_amt := NULL; -- 5132302
136068 l_entered_amt_idx := NULL; -- 4262811
136069 l_accted_amt_idx := NULL; -- 4262811
136070 l_acc_rev_flag := NULL; -- 4262811
136071 l_accrual_line_num := NULL; -- 4262811
136072 l_tmp_amt := NULL; -- 4262811
136073 --
136074
136075 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
136076 l_balance_type_code <> 'B' THEN
136077 IF NVL(p_source_33,'
136078 ') = 'TRV' AND
136079 NVL(p_source_96,'
136080 ') = 'Y'
136081 THEN
136082
136083 --
136084 XLA_AE_LINES_PKG.SetNewLine;
136085
136086 p_balance_type_code := l_balance_type_code;
136087 -- set the flag so later we will know whether the gain loss line needs to be created
136088
136089 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
136090 p_actual_flag :='A';
136091 END IF;
136092
136093 --
136094 -- bulk performance
136095 --
136096 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
136097 p_header_num => 0); -- 4262811
136098 --
136099 -- set accounting line options
136100 --
136101 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
136102 p_natural_side_code => 'D'
136103 , p_gain_or_loss_flag => 'N'
136104 , p_gl_transfer_mode_code => 'S'
136105 , p_acct_entry_type_code => 'A'
136106 , p_switch_side_flag => 'Y'
136107 , p_merge_duplicate_code => 'A'
136108 );
136109 --
136110 l_acc_rev_natural_side_code := 'C'; -- 4262811
136111 --
136112 --
136113 -- set accounting line type info
136114 --
136115 xla_ae_lines_pkg.SetAcctLineType
136116 (p_component_type => l_component_type
136117 ,p_event_type_code => l_event_type_code
136118 ,p_line_definition_owner_code => l_line_definition_owner_code
136122 ,p_accounting_line_appl_id => l_component_appl_id
136119 ,p_line_definition_code => l_line_definition_code
136120 ,p_accounting_line_code => l_component_code
136121 ,p_accounting_line_type_code => l_component_type_code
136123 ,p_amb_context_code => l_amb_context_code
136124 ,p_entity_code => l_entity_code
136125 ,p_event_class_code => l_event_class_code);
136126 --
136127 -- set accounting class
136128 --
136129 xla_ae_lines_pkg.SetAcctClass(
136130 p_accounting_class_code => 'TRV'
136131 , p_ae_header_id => l_ae_header_id
136132 );
136133
136134 --
136135 -- set rounding class
136136 --
136137 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
136138 'TRV';
136139
136140 --
136141 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
136142 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
136143 --
136144 -- bulk performance
136145 --
136146 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
136147
136148 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
136149 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
136150
136151 -- 4955764
136152 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
136153 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
136154
136155 -- 4458381 Public Sector Enh
136156
136157 --
136158 -- set accounting attributes for the line type
136159 --
136160 l_entered_amt_idx := 23;
136161 l_accted_amt_idx := 28;
136162 l_bflow_applied_to_amt_idx := NULL; -- 5132302
136163 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
136164 l_rec_acct_attrs.array_char_value(1) := p_source_53;
136165 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
136166 l_rec_acct_attrs.array_num_value(2) :=
136167 xla_ae_sources_pkg.GetSystemSourceNum(
136168 p_source_code => 'XLA_EVENT_APPL_ID'
136169 , p_source_type_code => 'Y'
136170 , p_source_application_id => 602
136171 );
136172 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
136173 l_rec_acct_attrs.array_char_value(3) := p_source_55;
136174 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
136175 l_rec_acct_attrs.array_char_value(4) :=
136176 xla_ae_sources_pkg.GetSystemSourceChar(
136177 p_source_code => 'XLA_ENTITY_CODE'
136178 , p_source_type_code => 'Y'
136179 , p_source_application_id => 602
136180 );
136181 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
136182 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
136183 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
136184 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
136185 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
136186 l_rec_acct_attrs.array_num_value(7) := p_source_91;
136187 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
136188 l_rec_acct_attrs.array_char_value(8) := p_source_92;
136189 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
136190 l_rec_acct_attrs.array_char_value(9) := p_source_93;
136191 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
136192 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
136193 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
136194 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
136195 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
136196 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
136197 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
136198 l_rec_acct_attrs.array_char_value(13) := p_source_55;
136199 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
136200 l_rec_acct_attrs.array_num_value(14) := p_source_65;
136201 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
136202 l_rec_acct_attrs.array_num_value(15) := p_source_66;
136203 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
136204 l_rec_acct_attrs.array_char_value(16) := p_source_67;
136205 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
136206 l_rec_acct_attrs.array_num_value(17) := p_source_68;
136207 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
136208 l_rec_acct_attrs.array_num_value(18) := p_source_69;
136209 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
136210 l_rec_acct_attrs.array_num_value(19) := p_source_70;
136211 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
136212 l_rec_acct_attrs.array_char_value(20) := p_source_67;
136213 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
136214 l_rec_acct_attrs.array_num_value(21) := p_source_71;
136215 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
136216 l_rec_acct_attrs.array_char_value(22) := p_source_72;
136217 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
136218 l_rec_acct_attrs.array_num_value(23) := p_source_73;
136222 l_rec_acct_attrs.array_date_value(25) := p_source_143;
136219 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
136220 l_rec_acct_attrs.array_char_value(24) := p_source_67;
136221 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
136223 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
136224 l_rec_acct_attrs.array_num_value(26) := p_source_144;
136225 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
136226 l_rec_acct_attrs.array_char_value(27) := p_source_145;
136227 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
136228 l_rec_acct_attrs.array_num_value(28) := p_source_21;
136229 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
136230 l_rec_acct_attrs.array_date_value(29) := p_source_77;
136231 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
136232 l_rec_acct_attrs.array_char_value(30) := p_source_78;
136233 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
136234 l_rec_acct_attrs.array_date_value(31) := p_source_79;
136235 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
136236 l_rec_acct_attrs.array_char_value(32) := p_source_80;
136237 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
136238 l_rec_acct_attrs.array_num_value(33) := p_source_81;
136239 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
136240 l_rec_acct_attrs.array_num_value(34) := p_source_82;
136241 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
136242 l_rec_acct_attrs.array_char_value(35) := p_source_83;
136243 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
136244 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
136245 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
136246 l_rec_acct_attrs.array_char_value(37) := p_source_55;
136247 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
136248 l_rec_acct_attrs.array_num_value(38) := p_source_85;
136249 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
136250 l_rec_acct_attrs.array_num_value(39) := p_source_86;
136251 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
136252 l_rec_acct_attrs.array_num_value(40) := p_source_87;
136253 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
136254 l_rec_acct_attrs.array_num_value(41) := p_source_88;
136255 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
136256 l_rec_acct_attrs.array_num_value(42) := p_source_89;
136257 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
136258 l_rec_acct_attrs.array_num_value(43) := p_source_90;
136259
136260 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
136261 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
136262
136263 ---------------------------------------------------------------------------------------------------------------
136264 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
136265 ---------------------------------------------------------------------------------------------------------------
136266 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
136267
136268 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
136269 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
136270
136271 IF xla_accounting_cache_pkg.GetValueChar
136272 (p_source_code => 'LEDGER_CATEGORY_CODE'
136273 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
136274 AND l_bflow_method_code = 'PRIOR_ENTRY'
136275 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
136276 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
136277 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
136278 )
136279 THEN
136280 xla_ae_lines_pkg.BflowUpgEntry
136281 (p_business_method_code => l_bflow_method_code
136282 ,p_business_class_code => l_bflow_class_code
136283 ,p_balance_type => l_balance_type_code);
136284 ELSE
136285 NULL;
136286 -- No business flow processing for business flow method of NONE.
136287 END IF;
136288
136289 --
136290 -- call analytical criteria
136291 --
136292
136293 --
136294 -- call description
136295 --
136296
136297 xla_ae_lines_pkg.SetLineDescription(
136298 p_ae_header_id => l_ae_header_id
136299 ,p_description => Description_1 (
136300 p_application_id => p_application_id
136301 , p_ae_header_id => l_ae_header_id
136302 , p_source_1 => p_source_1
136303 )
136304 );
136305
136306
136307 --
136308 -- call ADRs
136309 -- Bug 4922099
136310 --
136311 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
136312 (NVL(l_actual_upg_option, 'N') = 'O') OR
136313 (NVL(l_enc_upg_option, 'N') = 'O')
136314 )
136315 THEN
136316 NULL;
136317 --
136318 --
136319
136320 l_ccid := AcctDerRule_33(
136321 p_application_id => p_application_id
136322 , p_ae_header_id => l_ae_header_id
136323 , p_source_30 => p_source_30
136324 , x_transaction_coa_id => l_adr_transaction_coa_id
136328 );
136325 , x_accounting_coa_id => l_adr_accounting_coa_id
136326 , x_value_type_code => l_adr_value_type_code
136327 , p_side => 'NA'
136329
136330 xla_ae_lines_pkg.set_ccid(
136331 p_code_combination_id => l_ccid
136332 , p_value_type_code => l_adr_value_type_code
136333 , p_transaction_coa_id => l_adr_transaction_coa_id
136334 , p_accounting_coa_id => l_adr_accounting_coa_id
136335 , p_adr_code => 'AP_INVOICE_DIST'
136336 , p_adr_type_code => 'S'
136337 , p_component_type => l_component_type
136338 , p_component_code => l_component_code
136339 , p_component_type_code => l_component_type_code
136340 , p_component_appl_id => l_component_appl_id
136341 , p_amb_context_code => l_amb_context_code
136342 , p_side => 'NA'
136343 );
136344
136345
136346 --
136347 --
136348 END IF;
136349 --
136350 -- Bug 4922099
136351 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
136352 (NVL(l_enc_upg_option, 'N') = 'O')
136353 ) AND
136354 (l_bflow_method_code = 'PRIOR_ENTRY')
136355 )
136356 THEN
136357 IF
136358 --
136359 1 = 2
136360 --
136361 THEN
136362 xla_accounting_err_pkg.build_message
136363 (p_appli_s_name => 'XLA'
136364 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
136365 ,p_token_1 => 'LINE_NUMBER'
136366 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
136367 ,p_token_2 => 'LINE_TYPE_NAME'
136368 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
136369 l_component_type
136370 ,l_component_code
136371 ,l_component_type_code
136372 ,l_component_appl_id
136373 ,l_amb_context_code
136374 ,l_entity_code
136375 ,l_event_class_code
136376 )
136377 ,p_token_3 => 'OWNER'
136378 ,p_value_3 => xla_lookups_pkg.get_meaning(
136379 p_lookup_type => 'XLA_OWNER_TYPE'
136380 ,p_lookup_code => l_component_type_code
136381 )
136382 ,p_token_4 => 'PRODUCT_NAME'
136383 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
136384 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
136385 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
136386 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
136387 ,p_ae_header_id => NULL
136388 );
136389
136390 IF (C_LEVEL_ERROR>= g_log_level) THEN
136391 trace
136392 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
136393 ,p_level => C_LEVEL_ERROR
136394 ,p_module => l_log_module);
136395 END IF;
136396 END IF;
136397 END IF;
136398 --
136399 --
136400 ------------------------------------------------------------------------------------------------
136401 -- 4219869 Business Flow
136402 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
136403 -- Prior Entry. Currently, the following code is always generated.
136404 ------------------------------------------------------------------------------------------------
136405 XLA_AE_LINES_PKG.ValidateCurrentLine;
136406
136407 ------------------------------------------------------------------------------------
136408 -- 4219869 Business Flow
136409 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
136410 ------------------------------------------------------------------------------------
136411 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
136412
136413 ----------------------------------------------------------------------------------
136414 -- 4219869 Business Flow
136415 -- Update journal entry status -- Need to generate this within IF <condition>
136416 ----------------------------------------------------------------------------------
136417 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
136418 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
136419 ,p_balance_type_code => l_balance_type_code
136420 );
136421
136422 -------------------------------------------------------------------------------------------
136426 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
136423 -- 4262811 - Generate the Accrual Reversal lines
136424 -------------------------------------------------------------------------------------------
136425 BEGIN
136427 (g_array_event(p_event_id).array_value_num('header_index'));
136428 IF l_acc_rev_flag IS NULL THEN
136429 l_acc_rev_flag := 'N';
136430 END IF;
136431 EXCEPTION
136432 WHEN OTHERS THEN
136433 l_acc_rev_flag := 'N';
136434 END;
136435 --
136436 IF (l_acc_rev_flag = 'Y') THEN
136437
136438 -- 4645092 ------------------------------------------------------------------------------
136439 -- To allow MPA report to determine if it should generate report process
136440 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
136441 ------------------------------------------------------------------------------------------
136442
136443 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
136444 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
136445 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
136446 -- call ADRs
136447 -- Bug 4922099
136448 --
136449 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
136450 (NVL(l_actual_upg_option, 'N') = 'O') OR
136451 (NVL(l_enc_upg_option, 'N') = 'O')
136452 )
136453 THEN
136454 NULL;
136455 --
136456 --
136457
136458 l_ccid := AcctDerRule_33(
136459 p_application_id => p_application_id
136460 , p_ae_header_id => l_ae_header_id
136461 , p_source_30 => p_source_30
136462 , x_transaction_coa_id => l_adr_transaction_coa_id
136463 , x_accounting_coa_id => l_adr_accounting_coa_id
136464 , x_value_type_code => l_adr_value_type_code
136465 , p_side => 'NA'
136466 );
136467
136468 xla_ae_lines_pkg.set_ccid(
136469 p_code_combination_id => l_ccid
136470 , p_value_type_code => l_adr_value_type_code
136471 , p_transaction_coa_id => l_adr_transaction_coa_id
136472 , p_accounting_coa_id => l_adr_accounting_coa_id
136473 , p_adr_code => 'AP_INVOICE_DIST'
136474 , p_adr_type_code => 'S'
136475 , p_component_type => l_component_type
136476 , p_component_code => l_component_code
136477 , p_component_type_code => l_component_type_code
136478 , p_component_appl_id => l_component_appl_id
136479 , p_amb_context_code => l_amb_context_code
136480 , p_side => 'NA'
136481 );
136482
136483
136484 --
136485 --
136486 END IF;
136487
136488 --
136489 -- Update the line information that should be overwritten
136490 --
136491 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
136492 p_header_num => 1);
136493 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
136494
136495 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
136496
136497 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
136498 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
136499 END IF;
136500
136501 --
136502 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
136503 --
136504 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
136505 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
136506 ELSE
136507 ---------------------------------------------------------------------------------------------------
136508 -- 4262811a Switch Sign
136509 ---------------------------------------------------------------------------------------------------
136510 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
136511 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
136512 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
136513 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
136514 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
136515 -- 5132302
136516 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
136517 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
136518
136519 END IF;
136520
136521 -- 4955764
136522 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
136523 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
136524
136525
136526 XLA_AE_LINES_PKG.ValidateCurrentLine;
136527 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
136528
136529 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
136530 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
136531 ,p_balance_type_code => l_balance_type_code);
136532
136533 END IF;
136534
136538 -- No MPA option is assigned.
136535 -----------------------------------------------------------------------------------------
136536 -- 4262811 Multiperiod Accounting
136537 -----------------------------------------------------------------------------------------
136539
136540
136541 END IF;
136542 END IF;
136543 --
136544
136545 --
136546 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
136547 trace
136548 (p_msg => 'END of AcctLineType_220'
136549 ,p_level => C_LEVEL_PROCEDURE
136550 ,p_module => l_log_module);
136551 END IF;
136552 --
136553 EXCEPTION
136554 WHEN xla_exceptions_pkg.application_exception THEN
136555 RAISE;
136556 WHEN OTHERS THEN
136557 xla_exceptions_pkg.raise_message
136558 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_220');
136559 END AcctLineType_220;
136560 --
136561
136562 ---------------------------------------
136563 --
136564 -- PRIVATE FUNCTION
136565 -- AcctLineType_221
136566 --
136567 ---------------------------------------
136568 PROCEDURE AcctLineType_221 (
136569 p_application_id IN NUMBER
136570 ,p_event_id IN NUMBER
136571 ,p_calculate_acctd_flag IN VARCHAR2
136572 ,p_calculate_g_l_flag IN VARCHAR2
136573 ,p_actual_flag IN OUT VARCHAR2
136574 ,p_balance_type_code OUT VARCHAR2
136575 ,p_gain_or_loss_ref OUT VARCHAR2
136576
136577 --Invoice Distribution Description
136578 , p_source_1 IN VARCHAR2
136579 --Invoice Distribution Ledger Amount
136580 , p_source_21 IN NUMBER
136581 --Invoice Distribution Account
136582 , p_source_30 IN NUMBER
136583 --Invoice Distribution Type
136584 , p_source_33 IN VARCHAR2
136585 , p_source_33_meaning IN VARCHAR2
136586 --Accounting Reversal Indicator
136587 , p_source_53 IN VARCHAR2
136588 --Distribution Link Type
136589 , p_source_55 IN VARCHAR2
136590 --Allocation to Main Distribution Identifier
136591 , p_source_57 IN NUMBER
136592 --Invoice Identifier
136593 , p_source_58 IN NUMBER
136594 --Invoice Distribution Identifier
136595 , p_source_64 IN NUMBER
136596 --Payables Encumbrance Upgrade Credit Account
136597 , p_source_65 IN NUMBER
136598 --Payables Encumbrance Upgrade Credit Amount
136599 , p_source_66 IN NUMBER
136600 --Invoice Currency Code
136601 , p_source_67 IN VARCHAR2
136602 --Payables Encumbrance Upgrade Credit Base Amount
136603 , p_source_68 IN NUMBER
136604 --Payables Encumbrance Upgrade Debit Account
136605 , p_source_69 IN NUMBER
136606 --Payables Encumbrance Upgrade Debit Amount
136607 , p_source_70 IN NUMBER
136608 --Payables Encumbrance Upgrade Debit Base Amount
136609 , p_source_71 IN NUMBER
136610 --Payables Encumbrance Upgrade Option
136611 , p_source_72 IN VARCHAR2
136612 --Invoice Distribution Amount
136613 , p_source_73 IN NUMBER
136614 --Deferred Accounting End Date
136615 , p_source_77 IN DATE
136616 --Deferred Accounting Option
136617 , p_source_78 IN VARCHAR2
136618 --Deferred Accounting Start Date
136619 , p_source_79 IN DATE
136620 --Override Accounted Amount Indicator
136621 , p_source_80 IN VARCHAR2
136622 , p_source_80_meaning IN VARCHAR2
136623 --Invoice Supplier Identifier
136624 , p_source_81 IN NUMBER
136625 --Invoice Supplier Site Identifier
136626 , p_source_82 IN NUMBER
136627 --Third Party Type
136628 , p_source_83 IN VARCHAR2
136629 --Parent Reversal Identifier
136630 , p_source_84 IN NUMBER
136631 --Invoice Distribution Tax Line Identifier
136632 , p_source_86 IN NUMBER
136633 --Invoice Distribution Tax Distribution Identifier from Tax
136634 , p_source_87 IN NUMBER
136635 --Invoice Distribution Summary Tax Line Identifier
136636 , p_source_88 IN NUMBER
136637 --Payables Upgrade Credit Encumbrance Type Identifier
136638 , p_source_89 IN NUMBER
136639 --Payables Upgrade Debit Encumbrance Type Identifier
136640 , p_source_90 IN NUMBER
136641 --Business Flow Accounts Payable Application Identifier
136642 , p_source_91 IN NUMBER
136643 --Business Flow Invoice Distribution Type
136644 , p_source_92 IN VARCHAR2
136645 --Business Flow Invoice Entity Code
136646 , p_source_93 IN VARCHAR2
136647 --Business Flow Invoice Distribution Identifier
136648 , p_source_94 IN NUMBER
136649 --Business Flow Invoice Identifier
136650 , p_source_95 IN NUMBER
136651 --Accrue on Receipt Option
136652 , p_source_96 IN VARCHAR2
136653 , p_source_96_meaning IN VARCHAR2
136654 --Invoice Exchange Date
136655 , p_source_143 IN DATE
136656 --Invoice Exchange Rate
136657 , p_source_144 IN NUMBER
136658 --Invoice Exchange Rate Type
136659 , p_source_145 IN VARCHAR2
136660 )
136661 IS
136662
136663 l_component_type VARCHAR2(80);
136664 l_component_code VARCHAR2(30);
136665 l_component_type_code VARCHAR2(1);
136666 l_component_appl_id INTEGER;
136667 l_amb_context_code VARCHAR2(30);
136668 l_entity_code VARCHAR2(30);
136669 l_event_class_code VARCHAR2(30);
136670 l_ae_header_id NUMBER;
136671 l_event_type_code VARCHAR2(30);
136672 l_line_definition_code VARCHAR2(30);
136676 l_segment VARCHAR2(30);
136673 l_line_definition_owner_code VARCHAR2(1);
136674 --
136675 -- adr variables
136677 l_ccid NUMBER;
136678 l_adr_transaction_coa_id NUMBER;
136679 l_adr_accounting_coa_id NUMBER;
136680 l_adr_flexfield_segment_code VARCHAR2(30);
136681 l_adr_flex_value_set_id NUMBER;
136682 l_adr_value_type_code VARCHAR2(30);
136683 l_adr_value_combination_id NUMBER;
136684 l_adr_value_segment_code VARCHAR2(30);
136685
136686 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
136687 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
136688 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
136689 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
136690
136691 -- 4262811 Variables ------------------------------------------------------------------------------------------
136692 l_entered_amt_idx NUMBER;
136693 l_accted_amt_idx NUMBER;
136694 l_acc_rev_flag VARCHAR2(1);
136695 l_accrual_line_num NUMBER;
136696 l_tmp_amt NUMBER;
136697 l_acc_rev_natural_side_code VARCHAR2(1);
136698
136699 l_num_entries NUMBER;
136700 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
136701 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
136702 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
136703 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
136704 l_recog_line_1 NUMBER;
136705 l_recog_line_2 NUMBER;
136706
136707 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
136708 l_bflow_applied_to_amt NUMBER; -- 5132302
136709 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
136710
136711 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
136712
136713 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
136714 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
136715
136716 ---------------------------------------------------------------------------------------------------------------
136717
136718
136719 --
136720 -- bulk performance
136721 --
136722 l_balance_type_code VARCHAR2(1);
136723 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
136724 l_log_module VARCHAR2(240);
136725
136726 --
136727 -- Upgrade strategy
136728 --
136729 l_actual_upg_option VARCHAR2(1);
136730 l_enc_upg_option VARCHAR2(1);
136731
136732 --
136733 BEGIN
136734 --
136735 IF g_log_enabled THEN
136736 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_221';
136737 END IF;
136738 --
136739 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
136740
136741 trace
136742 (p_msg => 'BEGIN of AcctLineType_221'
136743 ,p_level => C_LEVEL_PROCEDURE
136744 ,p_module => l_log_module);
136745
136746 END IF;
136747 --
136748 l_component_type := 'AMB_JLT';
136749 l_component_code := 'AP_TAX_RATE_VAR_DM';
136750 l_component_type_code := 'S';
136751 l_component_appl_id := 200;
136752 l_amb_context_code := 'DEFAULT';
136753 l_entity_code := 'AP_INVOICES';
136754 l_event_class_code := 'DEBIT MEMOS';
136755 l_event_type_code := 'DEBIT MEMOS_ALL';
136756 l_line_definition_owner_code := 'S';
136757 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
136758 --
136759 l_balance_type_code := 'A';
136760 l_segment := NULL;
136761 l_ccid := NULL;
136762 l_adr_transaction_coa_id := NULL;
136763 l_adr_accounting_coa_id := NULL;
136764 l_adr_flexfield_segment_code := NULL;
136765 l_adr_flex_value_set_id := NULL;
136766 l_adr_value_type_code := NULL;
136767 l_adr_value_combination_id := NULL;
136768 l_adr_value_segment_code := NULL;
136769
136770 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
136771 l_bflow_class_code := ''; -- 4219869 Business Flow
136772 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
136773 l_budgetary_control_flag := 'N';
136774
136775 l_bflow_applied_to_amt_idx := NULL; -- 5132302
136776 l_bflow_applied_to_amt := NULL; -- 5132302
136777 l_entered_amt_idx := NULL; -- 4262811
136778 l_accted_amt_idx := NULL; -- 4262811
136779 l_acc_rev_flag := NULL; -- 4262811
136780 l_accrual_line_num := NULL; -- 4262811
136781 l_tmp_amt := NULL; -- 4262811
136782 --
136783
136784 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
136785 l_balance_type_code <> 'B' THEN
136786 IF NVL(p_source_33,'
136787 ') = 'TRV' AND
136788 NVL(p_source_96,'
136789 ') = 'Y'
136790 THEN
136791
136792 --
136793 XLA_AE_LINES_PKG.SetNewLine;
136794
136795 p_balance_type_code := l_balance_type_code;
136796 -- set the flag so later we will know whether the gain loss line needs to be created
136797
136798 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
136799 p_actual_flag :='A';
136800 END IF;
136801
136802 --
136803 -- bulk performance
136804 --
136808 -- set accounting line options
136805 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
136806 p_header_num => 0); -- 4262811
136807 --
136809 --
136810 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
136811 p_natural_side_code => 'D'
136812 , p_gain_or_loss_flag => 'N'
136813 , p_gl_transfer_mode_code => 'S'
136814 , p_acct_entry_type_code => 'A'
136815 , p_switch_side_flag => 'Y'
136816 , p_merge_duplicate_code => 'A'
136817 );
136818 --
136819 l_acc_rev_natural_side_code := 'C'; -- 4262811
136820 --
136821 --
136822 -- set accounting line type info
136823 --
136824 xla_ae_lines_pkg.SetAcctLineType
136825 (p_component_type => l_component_type
136826 ,p_event_type_code => l_event_type_code
136827 ,p_line_definition_owner_code => l_line_definition_owner_code
136828 ,p_line_definition_code => l_line_definition_code
136829 ,p_accounting_line_code => l_component_code
136830 ,p_accounting_line_type_code => l_component_type_code
136831 ,p_accounting_line_appl_id => l_component_appl_id
136832 ,p_amb_context_code => l_amb_context_code
136833 ,p_entity_code => l_entity_code
136834 ,p_event_class_code => l_event_class_code);
136835 --
136836 -- set accounting class
136837 --
136838 xla_ae_lines_pkg.SetAcctClass(
136839 p_accounting_class_code => 'TRV'
136840 , p_ae_header_id => l_ae_header_id
136841 );
136842
136843 --
136844 -- set rounding class
136845 --
136846 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
136847 'TRV';
136848
136849 --
136850 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
136851 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
136852 --
136853 -- bulk performance
136854 --
136855 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
136856
136857 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
136858 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
136859
136860 -- 4955764
136861 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
136862 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
136863
136864 -- 4458381 Public Sector Enh
136865
136866 --
136867 -- set accounting attributes for the line type
136868 --
136869 l_entered_amt_idx := 23;
136870 l_accted_amt_idx := 28;
136871 l_bflow_applied_to_amt_idx := NULL; -- 5132302
136872 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
136873 l_rec_acct_attrs.array_char_value(1) := p_source_53;
136874 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
136875 l_rec_acct_attrs.array_num_value(2) :=
136876 xla_ae_sources_pkg.GetSystemSourceNum(
136877 p_source_code => 'XLA_EVENT_APPL_ID'
136878 , p_source_type_code => 'Y'
136879 , p_source_application_id => 602
136880 );
136881 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
136882 l_rec_acct_attrs.array_char_value(3) := p_source_55;
136883 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
136884 l_rec_acct_attrs.array_char_value(4) :=
136885 xla_ae_sources_pkg.GetSystemSourceChar(
136886 p_source_code => 'XLA_ENTITY_CODE'
136887 , p_source_type_code => 'Y'
136888 , p_source_application_id => 602
136889 );
136890 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
136891 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
136892 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
136893 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
136894 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
136895 l_rec_acct_attrs.array_num_value(7) := p_source_91;
136896 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
136897 l_rec_acct_attrs.array_char_value(8) := p_source_92;
136898 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
136899 l_rec_acct_attrs.array_char_value(9) := p_source_93;
136900 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
136901 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
136902 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
136903 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
136904 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
136905 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
136906 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
136907 l_rec_acct_attrs.array_char_value(13) := p_source_55;
136908 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
136909 l_rec_acct_attrs.array_num_value(14) := p_source_65;
136910 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
136911 l_rec_acct_attrs.array_num_value(15) := p_source_66;
136912 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
136916 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
136913 l_rec_acct_attrs.array_char_value(16) := p_source_67;
136914 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
136915 l_rec_acct_attrs.array_num_value(17) := p_source_68;
136917 l_rec_acct_attrs.array_num_value(18) := p_source_69;
136918 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
136919 l_rec_acct_attrs.array_num_value(19) := p_source_70;
136920 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
136921 l_rec_acct_attrs.array_char_value(20) := p_source_67;
136922 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
136923 l_rec_acct_attrs.array_num_value(21) := p_source_71;
136924 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
136925 l_rec_acct_attrs.array_char_value(22) := p_source_72;
136926 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
136927 l_rec_acct_attrs.array_num_value(23) := p_source_73;
136928 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
136929 l_rec_acct_attrs.array_char_value(24) := p_source_67;
136930 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
136931 l_rec_acct_attrs.array_date_value(25) := p_source_143;
136932 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
136933 l_rec_acct_attrs.array_num_value(26) := p_source_144;
136934 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
136935 l_rec_acct_attrs.array_char_value(27) := p_source_145;
136936 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
136937 l_rec_acct_attrs.array_num_value(28) := p_source_21;
136938 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
136939 l_rec_acct_attrs.array_date_value(29) := p_source_77;
136940 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
136941 l_rec_acct_attrs.array_char_value(30) := p_source_78;
136942 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
136943 l_rec_acct_attrs.array_date_value(31) := p_source_79;
136944 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
136945 l_rec_acct_attrs.array_char_value(32) := p_source_80;
136946 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
136947 l_rec_acct_attrs.array_num_value(33) := p_source_81;
136948 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
136949 l_rec_acct_attrs.array_num_value(34) := p_source_82;
136950 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
136951 l_rec_acct_attrs.array_char_value(35) := p_source_83;
136952 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
136953 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
136954 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
136955 l_rec_acct_attrs.array_char_value(37) := p_source_55;
136956 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
136957 l_rec_acct_attrs.array_num_value(38) := p_source_86;
136958 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
136959 l_rec_acct_attrs.array_num_value(39) := p_source_87;
136960 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
136961 l_rec_acct_attrs.array_num_value(40) := p_source_88;
136962 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
136963 l_rec_acct_attrs.array_num_value(41) := p_source_89;
136964 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
136965 l_rec_acct_attrs.array_num_value(42) := p_source_90;
136966
136967 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
136968 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
136969
136970 ---------------------------------------------------------------------------------------------------------------
136971 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
136972 ---------------------------------------------------------------------------------------------------------------
136973 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
136974
136975 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
136976 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
136977
136978 IF xla_accounting_cache_pkg.GetValueChar
136979 (p_source_code => 'LEDGER_CATEGORY_CODE'
136980 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
136981 AND l_bflow_method_code = 'PRIOR_ENTRY'
136982 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
136983 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
136984 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
136985 )
136986 THEN
136987 xla_ae_lines_pkg.BflowUpgEntry
136988 (p_business_method_code => l_bflow_method_code
136989 ,p_business_class_code => l_bflow_class_code
136990 ,p_balance_type => l_balance_type_code);
136991 ELSE
136992 NULL;
136993 -- No business flow processing for business flow method of NONE.
136994 END IF;
136995
136996 --
136997 -- call analytical criteria
136998 --
136999
137000 --
137001 -- call description
137002 --
137003
137004 xla_ae_lines_pkg.SetLineDescription(
137005 p_ae_header_id => l_ae_header_id
137006 ,p_description => Description_1 (
137010 )
137007 p_application_id => p_application_id
137008 , p_ae_header_id => l_ae_header_id
137009 , p_source_1 => p_source_1
137011 );
137012
137013
137014 --
137015 -- call ADRs
137016 -- Bug 4922099
137017 --
137018 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
137019 (NVL(l_actual_upg_option, 'N') = 'O') OR
137020 (NVL(l_enc_upg_option, 'N') = 'O')
137021 )
137022 THEN
137023 NULL;
137024 --
137025 --
137026
137027 l_ccid := AcctDerRule_33(
137028 p_application_id => p_application_id
137029 , p_ae_header_id => l_ae_header_id
137030 , p_source_30 => p_source_30
137031 , x_transaction_coa_id => l_adr_transaction_coa_id
137032 , x_accounting_coa_id => l_adr_accounting_coa_id
137033 , x_value_type_code => l_adr_value_type_code
137034 , p_side => 'NA'
137035 );
137036
137037 xla_ae_lines_pkg.set_ccid(
137038 p_code_combination_id => l_ccid
137039 , p_value_type_code => l_adr_value_type_code
137040 , p_transaction_coa_id => l_adr_transaction_coa_id
137041 , p_accounting_coa_id => l_adr_accounting_coa_id
137042 , p_adr_code => 'AP_INVOICE_DIST'
137043 , p_adr_type_code => 'S'
137044 , p_component_type => l_component_type
137045 , p_component_code => l_component_code
137046 , p_component_type_code => l_component_type_code
137047 , p_component_appl_id => l_component_appl_id
137048 , p_amb_context_code => l_amb_context_code
137049 , p_side => 'NA'
137050 );
137051
137052
137053 --
137054 --
137055 END IF;
137056 --
137057 -- Bug 4922099
137058 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
137059 (NVL(l_enc_upg_option, 'N') = 'O')
137060 ) AND
137061 (l_bflow_method_code = 'PRIOR_ENTRY')
137062 )
137063 THEN
137064 IF
137065 --
137066 1 = 2
137067 --
137068 THEN
137069 xla_accounting_err_pkg.build_message
137070 (p_appli_s_name => 'XLA'
137071 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
137072 ,p_token_1 => 'LINE_NUMBER'
137073 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
137074 ,p_token_2 => 'LINE_TYPE_NAME'
137075 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
137076 l_component_type
137077 ,l_component_code
137078 ,l_component_type_code
137079 ,l_component_appl_id
137080 ,l_amb_context_code
137081 ,l_entity_code
137082 ,l_event_class_code
137083 )
137084 ,p_token_3 => 'OWNER'
137085 ,p_value_3 => xla_lookups_pkg.get_meaning(
137086 p_lookup_type => 'XLA_OWNER_TYPE'
137087 ,p_lookup_code => l_component_type_code
137088 )
137089 ,p_token_4 => 'PRODUCT_NAME'
137090 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
137091 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
137092 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
137093 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
137094 ,p_ae_header_id => NULL
137095 );
137096
137097 IF (C_LEVEL_ERROR>= g_log_level) THEN
137098 trace
137099 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
137100 ,p_level => C_LEVEL_ERROR
137101 ,p_module => l_log_module);
137102 END IF;
137103 END IF;
137104 END IF;
137105 --
137106 --
137107 ------------------------------------------------------------------------------------------------
137108 -- 4219869 Business Flow
137109 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
137110 -- Prior Entry. Currently, the following code is always generated.
137111 ------------------------------------------------------------------------------------------------
137112 XLA_AE_LINES_PKG.ValidateCurrentLine;
137113
137114 ------------------------------------------------------------------------------------
137115 -- 4219869 Business Flow
137119
137116 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
137117 ------------------------------------------------------------------------------------
137118 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
137120 ----------------------------------------------------------------------------------
137121 -- 4219869 Business Flow
137122 -- Update journal entry status -- Need to generate this within IF <condition>
137123 ----------------------------------------------------------------------------------
137124 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
137125 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
137126 ,p_balance_type_code => l_balance_type_code
137127 );
137128
137129 -------------------------------------------------------------------------------------------
137130 -- 4262811 - Generate the Accrual Reversal lines
137131 -------------------------------------------------------------------------------------------
137132 BEGIN
137133 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
137134 (g_array_event(p_event_id).array_value_num('header_index'));
137135 IF l_acc_rev_flag IS NULL THEN
137136 l_acc_rev_flag := 'N';
137137 END IF;
137138 EXCEPTION
137139 WHEN OTHERS THEN
137140 l_acc_rev_flag := 'N';
137141 END;
137142 --
137143 IF (l_acc_rev_flag = 'Y') THEN
137144
137145 -- 4645092 ------------------------------------------------------------------------------
137146 -- To allow MPA report to determine if it should generate report process
137147 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
137148 ------------------------------------------------------------------------------------------
137149
137150 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
137151 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
137152 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
137153 -- call ADRs
137154 -- Bug 4922099
137155 --
137156 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
137157 (NVL(l_actual_upg_option, 'N') = 'O') OR
137158 (NVL(l_enc_upg_option, 'N') = 'O')
137159 )
137160 THEN
137161 NULL;
137162 --
137163 --
137164
137165 l_ccid := AcctDerRule_33(
137166 p_application_id => p_application_id
137167 , p_ae_header_id => l_ae_header_id
137168 , p_source_30 => p_source_30
137169 , x_transaction_coa_id => l_adr_transaction_coa_id
137170 , x_accounting_coa_id => l_adr_accounting_coa_id
137171 , x_value_type_code => l_adr_value_type_code
137172 , p_side => 'NA'
137173 );
137174
137175 xla_ae_lines_pkg.set_ccid(
137176 p_code_combination_id => l_ccid
137177 , p_value_type_code => l_adr_value_type_code
137178 , p_transaction_coa_id => l_adr_transaction_coa_id
137179 , p_accounting_coa_id => l_adr_accounting_coa_id
137180 , p_adr_code => 'AP_INVOICE_DIST'
137181 , p_adr_type_code => 'S'
137182 , p_component_type => l_component_type
137183 , p_component_code => l_component_code
137184 , p_component_type_code => l_component_type_code
137185 , p_component_appl_id => l_component_appl_id
137186 , p_amb_context_code => l_amb_context_code
137187 , p_side => 'NA'
137188 );
137189
137190
137191 --
137192 --
137193 END IF;
137194
137195 --
137196 -- Update the line information that should be overwritten
137197 --
137198 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
137199 p_header_num => 1);
137200 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
137201
137202 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
137203
137204 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
137205 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
137206 END IF;
137207
137208 --
137209 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
137210 --
137211 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
137212 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
137213 ELSE
137214 ---------------------------------------------------------------------------------------------------
137215 -- 4262811a Switch Sign
137216 ---------------------------------------------------------------------------------------------------
137217 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
137218 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
137219 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
137220 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
137221 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
137222 -- 5132302
137223 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
137227
137224 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
137225
137226 END IF;
137228 -- 4955764
137229 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
137230 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
137231
137232
137233 XLA_AE_LINES_PKG.ValidateCurrentLine;
137234 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
137235
137236 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
137237 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
137238 ,p_balance_type_code => l_balance_type_code);
137239
137240 END IF;
137241
137242 -----------------------------------------------------------------------------------------
137243 -- 4262811 Multiperiod Accounting
137244 -----------------------------------------------------------------------------------------
137245 -- No MPA option is assigned.
137246
137247
137248 END IF;
137249 END IF;
137250 --
137251
137252 --
137253 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
137254 trace
137255 (p_msg => 'END of AcctLineType_221'
137256 ,p_level => C_LEVEL_PROCEDURE
137257 ,p_module => l_log_module);
137258 END IF;
137259 --
137260 EXCEPTION
137261 WHEN xla_exceptions_pkg.application_exception THEN
137262 RAISE;
137263 WHEN OTHERS THEN
137264 xla_exceptions_pkg.raise_message
137265 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_221');
137266 END AcctLineType_221;
137267 --
137268
137269 ---------------------------------------
137270 --
137271 -- PRIVATE FUNCTION
137272 -- AcctLineType_222
137273 --
137274 ---------------------------------------
137275 PROCEDURE AcctLineType_222 (
137276 p_application_id IN NUMBER
137277 ,p_event_id IN NUMBER
137278 ,p_calculate_acctd_flag IN VARCHAR2
137279 ,p_calculate_g_l_flag IN VARCHAR2
137280 ,p_actual_flag IN OUT VARCHAR2
137281 ,p_balance_type_code OUT VARCHAR2
137282 ,p_gain_or_loss_ref OUT VARCHAR2
137283
137284 --Invoice Distribution Description
137285 , p_source_1 IN VARCHAR2
137286 --Invoice Distribution Ledger Amount
137287 , p_source_21 IN NUMBER
137288 --Invoice Distribution Account
137289 , p_source_30 IN NUMBER
137290 --Invoice Distribution Type
137291 , p_source_33 IN VARCHAR2
137292 , p_source_33_meaning IN VARCHAR2
137293 --Accounting Reversal Indicator
137294 , p_source_53 IN VARCHAR2
137295 --Distribution Link Type
137296 , p_source_55 IN VARCHAR2
137297 --Allocation to Main Distribution Identifier
137298 , p_source_57 IN NUMBER
137299 --Invoice Identifier
137300 , p_source_58 IN NUMBER
137301 --Invoice Distribution Identifier
137302 , p_source_64 IN NUMBER
137303 --Payables Encumbrance Upgrade Credit Account
137304 , p_source_65 IN NUMBER
137305 --Payables Encumbrance Upgrade Credit Amount
137306 , p_source_66 IN NUMBER
137307 --Invoice Currency Code
137308 , p_source_67 IN VARCHAR2
137309 --Payables Encumbrance Upgrade Credit Base Amount
137310 , p_source_68 IN NUMBER
137311 --Payables Encumbrance Upgrade Debit Account
137312 , p_source_69 IN NUMBER
137313 --Payables Encumbrance Upgrade Debit Amount
137314 , p_source_70 IN NUMBER
137315 --Payables Encumbrance Upgrade Debit Base Amount
137316 , p_source_71 IN NUMBER
137317 --Payables Encumbrance Upgrade Option
137318 , p_source_72 IN VARCHAR2
137319 --Invoice Distribution Amount
137320 , p_source_73 IN NUMBER
137321 --Deferred Accounting End Date
137322 , p_source_77 IN DATE
137323 --Deferred Accounting Option
137324 , p_source_78 IN VARCHAR2
137325 --Deferred Accounting Start Date
137326 , p_source_79 IN DATE
137327 --Override Accounted Amount Indicator
137328 , p_source_80 IN VARCHAR2
137329 , p_source_80_meaning IN VARCHAR2
137330 --Invoice Supplier Identifier
137331 , p_source_81 IN NUMBER
137332 --Invoice Supplier Site Identifier
137333 , p_source_82 IN NUMBER
137334 --Third Party Type
137335 , p_source_83 IN VARCHAR2
137336 --Parent Reversal Identifier
137337 , p_source_84 IN NUMBER
137338 --Invoice Distribution Statistical Amount
137339 , p_source_85 IN NUMBER
137340 --Invoice Distribution Tax Line Identifier
137341 , p_source_86 IN NUMBER
137342 --Invoice Distribution Tax Distribution Identifier from Tax
137343 , p_source_87 IN NUMBER
137344 --Invoice Distribution Summary Tax Line Identifier
137345 , p_source_88 IN NUMBER
137346 --Payables Upgrade Credit Encumbrance Type Identifier
137347 , p_source_89 IN NUMBER
137348 --Payables Upgrade Debit Encumbrance Type Identifier
137349 , p_source_90 IN NUMBER
137350 --Business Flow Accounts Payable Application Identifier
137351 , p_source_91 IN NUMBER
137352 --Business Flow Invoice Distribution Type
137353 , p_source_92 IN VARCHAR2
137354 --Business Flow Invoice Entity Code
137355 , p_source_93 IN VARCHAR2
137356 --Business Flow Invoice Distribution Identifier
137357 , p_source_94 IN NUMBER
137361 , p_source_96 IN VARCHAR2
137358 --Business Flow Invoice Identifier
137359 , p_source_95 IN NUMBER
137360 --Accrue on Receipt Option
137362 , p_source_96_meaning IN VARCHAR2
137363 --Invoice Exchange Date
137364 , p_source_143 IN DATE
137365 --Invoice Exchange Rate
137366 , p_source_144 IN NUMBER
137367 --Invoice Exchange Rate Type
137368 , p_source_145 IN VARCHAR2
137369 )
137370 IS
137371
137372 l_component_type VARCHAR2(80);
137373 l_component_code VARCHAR2(30);
137374 l_component_type_code VARCHAR2(1);
137375 l_component_appl_id INTEGER;
137376 l_amb_context_code VARCHAR2(30);
137377 l_entity_code VARCHAR2(30);
137378 l_event_class_code VARCHAR2(30);
137379 l_ae_header_id NUMBER;
137380 l_event_type_code VARCHAR2(30);
137381 l_line_definition_code VARCHAR2(30);
137382 l_line_definition_owner_code VARCHAR2(1);
137383 --
137384 -- adr variables
137385 l_segment VARCHAR2(30);
137386 l_ccid NUMBER;
137387 l_adr_transaction_coa_id NUMBER;
137388 l_adr_accounting_coa_id NUMBER;
137389 l_adr_flexfield_segment_code VARCHAR2(30);
137390 l_adr_flex_value_set_id NUMBER;
137391 l_adr_value_type_code VARCHAR2(30);
137392 l_adr_value_combination_id NUMBER;
137393 l_adr_value_segment_code VARCHAR2(30);
137394
137395 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
137396 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
137397 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
137398 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
137399
137400 -- 4262811 Variables ------------------------------------------------------------------------------------------
137401 l_entered_amt_idx NUMBER;
137402 l_accted_amt_idx NUMBER;
137403 l_acc_rev_flag VARCHAR2(1);
137404 l_accrual_line_num NUMBER;
137405 l_tmp_amt NUMBER;
137406 l_acc_rev_natural_side_code VARCHAR2(1);
137407
137408 l_num_entries NUMBER;
137409 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
137410 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
137411 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
137412 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
137413 l_recog_line_1 NUMBER;
137414 l_recog_line_2 NUMBER;
137415
137416 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
137417 l_bflow_applied_to_amt NUMBER; -- 5132302
137418 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
137419
137420 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
137421
137422 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
137423 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
137424
137425 ---------------------------------------------------------------------------------------------------------------
137426
137427
137428 --
137429 -- bulk performance
137430 --
137431 l_balance_type_code VARCHAR2(1);
137432 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
137433 l_log_module VARCHAR2(240);
137434
137435 --
137436 -- Upgrade strategy
137437 --
137438 l_actual_upg_option VARCHAR2(1);
137439 l_enc_upg_option VARCHAR2(1);
137440
137441 --
137442 BEGIN
137443 --
137444 IF g_log_enabled THEN
137445 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_222';
137446 END IF;
137447 --
137448 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
137449
137450 trace
137451 (p_msg => 'BEGIN of AcctLineType_222'
137452 ,p_level => C_LEVEL_PROCEDURE
137453 ,p_module => l_log_module);
137454
137455 END IF;
137456 --
137457 l_component_type := 'AMB_JLT';
137458 l_component_code := 'AP_TAX_RATE_VAR_INV';
137459 l_component_type_code := 'S';
137460 l_component_appl_id := 200;
137461 l_amb_context_code := 'DEFAULT';
137462 l_entity_code := 'AP_INVOICES';
137463 l_event_class_code := 'INVOICES';
137464 l_event_type_code := 'INVOICES_ALL';
137465 l_line_definition_owner_code := 'S';
137466 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
137467 --
137468 l_balance_type_code := 'A';
137469 l_segment := NULL;
137470 l_ccid := NULL;
137471 l_adr_transaction_coa_id := NULL;
137472 l_adr_accounting_coa_id := NULL;
137473 l_adr_flexfield_segment_code := NULL;
137474 l_adr_flex_value_set_id := NULL;
137475 l_adr_value_type_code := NULL;
137476 l_adr_value_combination_id := NULL;
137477 l_adr_value_segment_code := NULL;
137478
137479 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
137480 l_bflow_class_code := ''; -- 4219869 Business Flow
137481 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
137482 l_budgetary_control_flag := 'N';
137483
137484 l_bflow_applied_to_amt_idx := NULL; -- 5132302
137485 l_bflow_applied_to_amt := NULL; -- 5132302
137486 l_entered_amt_idx := NULL; -- 4262811
137487 l_accted_amt_idx := NULL; -- 4262811
137488 l_acc_rev_flag := NULL; -- 4262811
137492
137489 l_accrual_line_num := NULL; -- 4262811
137490 l_tmp_amt := NULL; -- 4262811
137491 --
137493 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
137494 l_balance_type_code <> 'B' THEN
137495 IF NVL(p_source_33,'
137496 ') = 'TRV' AND
137497 NVL(p_source_96,'
137498 ') = 'Y'
137499 THEN
137500
137501 --
137502 XLA_AE_LINES_PKG.SetNewLine;
137503
137504 p_balance_type_code := l_balance_type_code;
137505 -- set the flag so later we will know whether the gain loss line needs to be created
137506
137507 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
137508 p_actual_flag :='A';
137509 END IF;
137510
137511 --
137512 -- bulk performance
137513 --
137514 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
137515 p_header_num => 0); -- 4262811
137516 --
137517 -- set accounting line options
137518 --
137519 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
137520 p_natural_side_code => 'D'
137521 , p_gain_or_loss_flag => 'N'
137522 , p_gl_transfer_mode_code => 'S'
137523 , p_acct_entry_type_code => 'A'
137524 , p_switch_side_flag => 'Y'
137525 , p_merge_duplicate_code => 'A'
137526 );
137527 --
137528 l_acc_rev_natural_side_code := 'C'; -- 4262811
137529 --
137530 --
137531 -- set accounting line type info
137532 --
137533 xla_ae_lines_pkg.SetAcctLineType
137534 (p_component_type => l_component_type
137535 ,p_event_type_code => l_event_type_code
137536 ,p_line_definition_owner_code => l_line_definition_owner_code
137537 ,p_line_definition_code => l_line_definition_code
137538 ,p_accounting_line_code => l_component_code
137539 ,p_accounting_line_type_code => l_component_type_code
137540 ,p_accounting_line_appl_id => l_component_appl_id
137541 ,p_amb_context_code => l_amb_context_code
137542 ,p_entity_code => l_entity_code
137543 ,p_event_class_code => l_event_class_code);
137544 --
137545 -- set accounting class
137546 --
137547 xla_ae_lines_pkg.SetAcctClass(
137548 p_accounting_class_code => 'TRV'
137549 , p_ae_header_id => l_ae_header_id
137550 );
137551
137552 --
137553 -- set rounding class
137554 --
137555 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
137556 'TRV';
137557
137558 --
137559 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
137560 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
137561 --
137562 -- bulk performance
137563 --
137564 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
137565
137566 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
137567 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
137568
137569 -- 4955764
137570 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
137571 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
137572
137573 -- 4458381 Public Sector Enh
137574
137575 --
137576 -- set accounting attributes for the line type
137577 --
137578 l_entered_amt_idx := 24;
137579 l_accted_amt_idx := 29;
137580 l_bflow_applied_to_amt_idx := 7; -- 5132302
137581 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
137582 l_rec_acct_attrs.array_char_value(1) := p_source_53;
137583 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
137584 l_rec_acct_attrs.array_num_value(2) :=
137585 xla_ae_sources_pkg.GetSystemSourceNum(
137586 p_source_code => 'XLA_EVENT_APPL_ID'
137587 , p_source_type_code => 'Y'
137588 , p_source_application_id => 602
137589 );
137590 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
137591 l_rec_acct_attrs.array_char_value(3) := p_source_55;
137592 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
137593 l_rec_acct_attrs.array_char_value(4) :=
137594 xla_ae_sources_pkg.GetSystemSourceChar(
137595 p_source_code => 'XLA_ENTITY_CODE'
137596 , p_source_type_code => 'Y'
137597 , p_source_application_id => 602
137598 );
137599 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
137600 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
137601 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
137602 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
137603 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
137604 l_rec_acct_attrs.array_num_value(7) := p_source_73;
137605 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
137606 l_rec_acct_attrs.array_num_value(8) := p_source_91;
137607 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
137608 l_rec_acct_attrs.array_char_value(9) := p_source_92;
137609 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
137613 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
137610 l_rec_acct_attrs.array_char_value(10) := p_source_93;
137611 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
137612 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
137614 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_95);
137615 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
137616 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_64);
137617 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
137618 l_rec_acct_attrs.array_char_value(14) := p_source_55;
137619 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
137620 l_rec_acct_attrs.array_num_value(15) := p_source_65;
137621 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
137622 l_rec_acct_attrs.array_num_value(16) := p_source_66;
137623 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
137624 l_rec_acct_attrs.array_char_value(17) := p_source_67;
137625 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
137626 l_rec_acct_attrs.array_num_value(18) := p_source_68;
137627 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
137628 l_rec_acct_attrs.array_num_value(19) := p_source_69;
137629 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
137630 l_rec_acct_attrs.array_num_value(20) := p_source_70;
137631 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
137632 l_rec_acct_attrs.array_char_value(21) := p_source_67;
137633 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
137634 l_rec_acct_attrs.array_num_value(22) := p_source_71;
137635 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
137636 l_rec_acct_attrs.array_char_value(23) := p_source_72;
137637 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
137638 l_rec_acct_attrs.array_num_value(24) := p_source_73;
137639 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
137640 l_rec_acct_attrs.array_char_value(25) := p_source_67;
137641 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
137642 l_rec_acct_attrs.array_date_value(26) := p_source_143;
137643 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
137644 l_rec_acct_attrs.array_num_value(27) := p_source_144;
137645 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
137646 l_rec_acct_attrs.array_char_value(28) := p_source_145;
137647 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
137648 l_rec_acct_attrs.array_num_value(29) := p_source_21;
137649 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
137650 l_rec_acct_attrs.array_date_value(30) := p_source_77;
137651 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
137652 l_rec_acct_attrs.array_char_value(31) := p_source_78;
137653 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
137654 l_rec_acct_attrs.array_date_value(32) := p_source_79;
137655 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
137656 l_rec_acct_attrs.array_char_value(33) := p_source_80;
137657 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
137658 l_rec_acct_attrs.array_num_value(34) := p_source_81;
137659 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
137660 l_rec_acct_attrs.array_num_value(35) := p_source_82;
137661 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
137662 l_rec_acct_attrs.array_char_value(36) := p_source_83;
137663 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
137664 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_84);
137665 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
137666 l_rec_acct_attrs.array_char_value(38) := p_source_55;
137667 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
137668 l_rec_acct_attrs.array_num_value(39) := p_source_85;
137669 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
137670 l_rec_acct_attrs.array_num_value(40) := p_source_86;
137671 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
137672 l_rec_acct_attrs.array_num_value(41) := p_source_87;
137673 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
137674 l_rec_acct_attrs.array_num_value(42) := p_source_88;
137675 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
137676 l_rec_acct_attrs.array_num_value(43) := p_source_89;
137677 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
137678 l_rec_acct_attrs.array_num_value(44) := p_source_90;
137679
137680 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
137681 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
137682
137683 ---------------------------------------------------------------------------------------------------------------
137684 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
137685 ---------------------------------------------------------------------------------------------------------------
137686 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
137687
137688 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
137689 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
137690
137691 IF xla_accounting_cache_pkg.GetValueChar
137695 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
137692 (p_source_code => 'LEDGER_CATEGORY_CODE'
137693 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
137694 AND l_bflow_method_code = 'PRIOR_ENTRY'
137696 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
137697 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
137698 )
137699 THEN
137700 xla_ae_lines_pkg.BflowUpgEntry
137701 (p_business_method_code => l_bflow_method_code
137702 ,p_business_class_code => l_bflow_class_code
137703 ,p_balance_type => l_balance_type_code);
137704 ELSE
137705 NULL;
137706 -- No business flow processing for business flow method of NONE.
137707 END IF;
137708
137709 --
137710 -- call analytical criteria
137711 --
137712
137713 --
137714 -- call description
137715 --
137716
137717 xla_ae_lines_pkg.SetLineDescription(
137718 p_ae_header_id => l_ae_header_id
137719 ,p_description => Description_1 (
137720 p_application_id => p_application_id
137721 , p_ae_header_id => l_ae_header_id
137722 , p_source_1 => p_source_1
137723 )
137724 );
137725
137726
137727 --
137728 -- call ADRs
137729 -- Bug 4922099
137730 --
137731 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
137732 (NVL(l_actual_upg_option, 'N') = 'O') OR
137733 (NVL(l_enc_upg_option, 'N') = 'O')
137734 )
137735 THEN
137736 NULL;
137737 --
137738 --
137739
137740 l_ccid := AcctDerRule_33(
137741 p_application_id => p_application_id
137742 , p_ae_header_id => l_ae_header_id
137743 , p_source_30 => p_source_30
137744 , x_transaction_coa_id => l_adr_transaction_coa_id
137745 , x_accounting_coa_id => l_adr_accounting_coa_id
137746 , x_value_type_code => l_adr_value_type_code
137747 , p_side => 'NA'
137748 );
137749
137750 xla_ae_lines_pkg.set_ccid(
137751 p_code_combination_id => l_ccid
137752 , p_value_type_code => l_adr_value_type_code
137753 , p_transaction_coa_id => l_adr_transaction_coa_id
137754 , p_accounting_coa_id => l_adr_accounting_coa_id
137755 , p_adr_code => 'AP_INVOICE_DIST'
137756 , p_adr_type_code => 'S'
137757 , p_component_type => l_component_type
137758 , p_component_code => l_component_code
137759 , p_component_type_code => l_component_type_code
137760 , p_component_appl_id => l_component_appl_id
137761 , p_amb_context_code => l_amb_context_code
137762 , p_side => 'NA'
137763 );
137764
137765
137766 --
137767 --
137768 END IF;
137769 --
137770 -- Bug 4922099
137771 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
137772 (NVL(l_enc_upg_option, 'N') = 'O')
137773 ) AND
137774 (l_bflow_method_code = 'PRIOR_ENTRY')
137775 )
137776 THEN
137777 IF
137778 --
137779 1 = 2
137780 --
137781 THEN
137782 xla_accounting_err_pkg.build_message
137783 (p_appli_s_name => 'XLA'
137784 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
137785 ,p_token_1 => 'LINE_NUMBER'
137786 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
137787 ,p_token_2 => 'LINE_TYPE_NAME'
137788 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
137789 l_component_type
137790 ,l_component_code
137791 ,l_component_type_code
137792 ,l_component_appl_id
137793 ,l_amb_context_code
137794 ,l_entity_code
137795 ,l_event_class_code
137796 )
137797 ,p_token_3 => 'OWNER'
137798 ,p_value_3 => xla_lookups_pkg.get_meaning(
137799 p_lookup_type => 'XLA_OWNER_TYPE'
137800 ,p_lookup_code => l_component_type_code
137801 )
137802 ,p_token_4 => 'PRODUCT_NAME'
137803 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
137804 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
137805 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
137809
137806 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
137807 ,p_ae_header_id => NULL
137808 );
137810 IF (C_LEVEL_ERROR>= g_log_level) THEN
137811 trace
137812 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
137813 ,p_level => C_LEVEL_ERROR
137814 ,p_module => l_log_module);
137815 END IF;
137816 END IF;
137817 END IF;
137818 --
137819 --
137820 ------------------------------------------------------------------------------------------------
137821 -- 4219869 Business Flow
137822 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
137823 -- Prior Entry. Currently, the following code is always generated.
137824 ------------------------------------------------------------------------------------------------
137825 XLA_AE_LINES_PKG.ValidateCurrentLine;
137826
137827 ------------------------------------------------------------------------------------
137828 -- 4219869 Business Flow
137829 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
137830 ------------------------------------------------------------------------------------
137831 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
137832
137833 ----------------------------------------------------------------------------------
137834 -- 4219869 Business Flow
137835 -- Update journal entry status -- Need to generate this within IF <condition>
137836 ----------------------------------------------------------------------------------
137837 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
137838 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
137839 ,p_balance_type_code => l_balance_type_code
137840 );
137841
137842 -------------------------------------------------------------------------------------------
137843 -- 4262811 - Generate the Accrual Reversal lines
137844 -------------------------------------------------------------------------------------------
137845 BEGIN
137846 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
137847 (g_array_event(p_event_id).array_value_num('header_index'));
137848 IF l_acc_rev_flag IS NULL THEN
137849 l_acc_rev_flag := 'N';
137850 END IF;
137851 EXCEPTION
137852 WHEN OTHERS THEN
137853 l_acc_rev_flag := 'N';
137854 END;
137855 --
137856 IF (l_acc_rev_flag = 'Y') THEN
137857
137858 -- 4645092 ------------------------------------------------------------------------------
137859 -- To allow MPA report to determine if it should generate report process
137860 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
137861 ------------------------------------------------------------------------------------------
137862
137863 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
137864 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
137865 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
137866 -- call ADRs
137867 -- Bug 4922099
137868 --
137869 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
137870 (NVL(l_actual_upg_option, 'N') = 'O') OR
137871 (NVL(l_enc_upg_option, 'N') = 'O')
137872 )
137873 THEN
137874 NULL;
137875 --
137876 --
137877
137878 l_ccid := AcctDerRule_33(
137879 p_application_id => p_application_id
137880 , p_ae_header_id => l_ae_header_id
137881 , p_source_30 => p_source_30
137882 , x_transaction_coa_id => l_adr_transaction_coa_id
137883 , x_accounting_coa_id => l_adr_accounting_coa_id
137884 , x_value_type_code => l_adr_value_type_code
137885 , p_side => 'NA'
137886 );
137887
137888 xla_ae_lines_pkg.set_ccid(
137889 p_code_combination_id => l_ccid
137890 , p_value_type_code => l_adr_value_type_code
137891 , p_transaction_coa_id => l_adr_transaction_coa_id
137892 , p_accounting_coa_id => l_adr_accounting_coa_id
137893 , p_adr_code => 'AP_INVOICE_DIST'
137894 , p_adr_type_code => 'S'
137895 , p_component_type => l_component_type
137896 , p_component_code => l_component_code
137897 , p_component_type_code => l_component_type_code
137898 , p_component_appl_id => l_component_appl_id
137899 , p_amb_context_code => l_amb_context_code
137900 , p_side => 'NA'
137901 );
137902
137903
137904 --
137905 --
137906 END IF;
137907
137908 --
137909 -- Update the line information that should be overwritten
137910 --
137911 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
137912 p_header_num => 1);
137913 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
137914
137915 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
137916
137917 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
137918 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
137919 END IF;
137920
137924 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
137921 --
137922 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
137923 --
137925 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
137926 ELSE
137927 ---------------------------------------------------------------------------------------------------
137928 -- 4262811a Switch Sign
137929 ---------------------------------------------------------------------------------------------------
137930 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
137931 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
137932 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
137933 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
137934 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
137935 -- 5132302
137936 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
137937 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
137938
137939 END IF;
137940
137941 -- 4955764
137942 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
137943 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
137944
137945
137946 XLA_AE_LINES_PKG.ValidateCurrentLine;
137947 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
137948
137949 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
137950 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
137951 ,p_balance_type_code => l_balance_type_code);
137952
137953 END IF;
137954
137955 -----------------------------------------------------------------------------------------
137956 -- 4262811 Multiperiod Accounting
137957 -----------------------------------------------------------------------------------------
137958 -- No MPA option is assigned.
137959
137960
137961 END IF;
137962 END IF;
137963 --
137964
137965 --
137966 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
137967 trace
137968 (p_msg => 'END of AcctLineType_222'
137969 ,p_level => C_LEVEL_PROCEDURE
137970 ,p_module => l_log_module);
137971 END IF;
137972 --
137973 EXCEPTION
137974 WHEN xla_exceptions_pkg.application_exception THEN
137975 RAISE;
137976 WHEN OTHERS THEN
137977 xla_exceptions_pkg.raise_message
137978 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_222');
137979 END AcctLineType_222;
137980 --
137981
137982 ---------------------------------------
137983 --
137984 -- PRIVATE FUNCTION
137985 -- AcctLineType_223
137986 --
137987 ---------------------------------------
137988 PROCEDURE AcctLineType_223 (
137989 p_application_id IN NUMBER
137990 ,p_event_id IN NUMBER
137991 ,p_calculate_acctd_flag IN VARCHAR2
137992 ,p_calculate_g_l_flag IN VARCHAR2
137993 ,p_actual_flag IN OUT VARCHAR2
137994 ,p_balance_type_code OUT VARCHAR2
137995 ,p_gain_or_loss_ref OUT VARCHAR2
137996
137997 --Invoice Distribution Description
137998 , p_source_1 IN VARCHAR2
137999 --Invoice Distribution Ledger Amount
138000 , p_source_21 IN NUMBER
138001 --Invoice Distribution Account
138002 , p_source_30 IN NUMBER
138003 --Invoice Distribution Type
138004 , p_source_33 IN VARCHAR2
138005 , p_source_33_meaning IN VARCHAR2
138006 --Accounting Reversal Indicator
138007 , p_source_53 IN VARCHAR2
138008 --Distribution Link Type
138009 , p_source_55 IN VARCHAR2
138010 --Allocation to Main Distribution Identifier
138011 , p_source_57 IN NUMBER
138012 --Invoice Identifier
138013 , p_source_58 IN NUMBER
138014 --Invoice Distribution Identifier
138015 , p_source_64 IN NUMBER
138016 --Payables Encumbrance Upgrade Credit Account
138017 , p_source_65 IN NUMBER
138018 --Payables Encumbrance Upgrade Credit Amount
138019 , p_source_66 IN NUMBER
138020 --Invoice Currency Code
138021 , p_source_67 IN VARCHAR2
138022 --Payables Encumbrance Upgrade Credit Base Amount
138023 , p_source_68 IN NUMBER
138024 --Payables Encumbrance Upgrade Debit Account
138025 , p_source_69 IN NUMBER
138026 --Payables Encumbrance Upgrade Debit Amount
138027 , p_source_70 IN NUMBER
138028 --Payables Encumbrance Upgrade Debit Base Amount
138029 , p_source_71 IN NUMBER
138030 --Payables Encumbrance Upgrade Option
138031 , p_source_72 IN VARCHAR2
138032 --Invoice Distribution Amount
138033 , p_source_73 IN NUMBER
138034 --Deferred Accounting End Date
138035 , p_source_77 IN DATE
138036 --Deferred Accounting Option
138037 , p_source_78 IN VARCHAR2
138038 --Deferred Accounting Start Date
138039 , p_source_79 IN DATE
138040 --Override Accounted Amount Indicator
138041 , p_source_80 IN VARCHAR2
138042 , p_source_80_meaning IN VARCHAR2
138043 --Invoice Supplier Identifier
138044 , p_source_81 IN NUMBER
138045 --Invoice Supplier Site Identifier
138046 , p_source_82 IN NUMBER
138050 , p_source_84 IN NUMBER
138047 --Third Party Type
138048 , p_source_83 IN VARCHAR2
138049 --Parent Reversal Identifier
138051 --Invoice Distribution Statistical Amount
138052 , p_source_85 IN NUMBER
138053 --Invoice Distribution Tax Line Identifier
138054 , p_source_86 IN NUMBER
138055 --Invoice Distribution Tax Distribution Identifier from Tax
138056 , p_source_87 IN NUMBER
138057 --Invoice Distribution Summary Tax Line Identifier
138058 , p_source_88 IN NUMBER
138059 --Payables Upgrade Credit Encumbrance Type Identifier
138060 , p_source_89 IN NUMBER
138061 --Payables Upgrade Debit Encumbrance Type Identifier
138062 , p_source_90 IN NUMBER
138063 --Business Flow Accounts Payable Application Identifier
138064 , p_source_91 IN NUMBER
138065 --Business Flow Invoice Distribution Type
138066 , p_source_92 IN VARCHAR2
138067 --Business Flow Invoice Entity Code
138068 , p_source_93 IN VARCHAR2
138069 --Business Flow Invoice Distribution Identifier
138070 , p_source_94 IN NUMBER
138071 --Business Flow Invoice Identifier
138072 , p_source_95 IN NUMBER
138073 --Accrue on Receipt Option
138074 , p_source_96 IN VARCHAR2
138075 , p_source_96_meaning IN VARCHAR2
138076 --Invoice Exchange Date
138077 , p_source_143 IN DATE
138078 --Invoice Exchange Rate
138079 , p_source_144 IN NUMBER
138080 --Invoice Exchange Rate Type
138081 , p_source_145 IN VARCHAR2
138082 )
138083 IS
138084
138085 l_component_type VARCHAR2(80);
138086 l_component_code VARCHAR2(30);
138087 l_component_type_code VARCHAR2(1);
138088 l_component_appl_id INTEGER;
138089 l_amb_context_code VARCHAR2(30);
138090 l_entity_code VARCHAR2(30);
138091 l_event_class_code VARCHAR2(30);
138092 l_ae_header_id NUMBER;
138093 l_event_type_code VARCHAR2(30);
138094 l_line_definition_code VARCHAR2(30);
138095 l_line_definition_owner_code VARCHAR2(1);
138096 --
138097 -- adr variables
138098 l_segment VARCHAR2(30);
138099 l_ccid NUMBER;
138100 l_adr_transaction_coa_id NUMBER;
138101 l_adr_accounting_coa_id NUMBER;
138102 l_adr_flexfield_segment_code VARCHAR2(30);
138103 l_adr_flex_value_set_id NUMBER;
138104 l_adr_value_type_code VARCHAR2(30);
138105 l_adr_value_combination_id NUMBER;
138106 l_adr_value_segment_code VARCHAR2(30);
138107
138108 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
138109 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
138110 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
138111 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
138112
138113 -- 4262811 Variables ------------------------------------------------------------------------------------------
138114 l_entered_amt_idx NUMBER;
138115 l_accted_amt_idx NUMBER;
138116 l_acc_rev_flag VARCHAR2(1);
138117 l_accrual_line_num NUMBER;
138118 l_tmp_amt NUMBER;
138119 l_acc_rev_natural_side_code VARCHAR2(1);
138120
138121 l_num_entries NUMBER;
138122 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
138123 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
138124 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
138125 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
138126 l_recog_line_1 NUMBER;
138127 l_recog_line_2 NUMBER;
138128
138129 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
138130 l_bflow_applied_to_amt NUMBER; -- 5132302
138131 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
138132
138133 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
138134
138135 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
138136 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
138137
138138 ---------------------------------------------------------------------------------------------------------------
138139
138140
138141 --
138142 -- bulk performance
138143 --
138144 l_balance_type_code VARCHAR2(1);
138145 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
138146 l_log_module VARCHAR2(240);
138147
138148 --
138149 -- Upgrade strategy
138150 --
138151 l_actual_upg_option VARCHAR2(1);
138152 l_enc_upg_option VARCHAR2(1);
138153
138154 --
138155 BEGIN
138156 --
138157 IF g_log_enabled THEN
138158 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_223';
138159 END IF;
138160 --
138161 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
138162
138163 trace
138164 (p_msg => 'BEGIN of AcctLineType_223'
138165 ,p_level => C_LEVEL_PROCEDURE
138166 ,p_module => l_log_module);
138167
138168 END IF;
138169 --
138170 l_component_type := 'AMB_JLT';
138171 l_component_code := 'AP_TAX_RATE_VAR_PREPAY';
138172 l_component_type_code := 'S';
138173 l_component_appl_id := 200;
138174 l_amb_context_code := 'DEFAULT';
138175 l_entity_code := 'AP_INVOICES';
138176 l_event_class_code := 'PREPAYMENTS';
138180 --
138177 l_event_type_code := 'PREPAYMENTS_ALL';
138178 l_line_definition_owner_code := 'S';
138179 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
138181 l_balance_type_code := 'A';
138182 l_segment := NULL;
138183 l_ccid := NULL;
138184 l_adr_transaction_coa_id := NULL;
138185 l_adr_accounting_coa_id := NULL;
138186 l_adr_flexfield_segment_code := NULL;
138187 l_adr_flex_value_set_id := NULL;
138188 l_adr_value_type_code := NULL;
138189 l_adr_value_combination_id := NULL;
138190 l_adr_value_segment_code := NULL;
138191
138192 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
138193 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
138194 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
138195 l_budgetary_control_flag := 'N';
138196
138197 l_bflow_applied_to_amt_idx := NULL; -- 5132302
138198 l_bflow_applied_to_amt := NULL; -- 5132302
138199 l_entered_amt_idx := NULL; -- 4262811
138200 l_accted_amt_idx := NULL; -- 4262811
138201 l_acc_rev_flag := NULL; -- 4262811
138202 l_accrual_line_num := NULL; -- 4262811
138203 l_tmp_amt := NULL; -- 4262811
138204 --
138205
138206 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
138207 l_balance_type_code <> 'B' THEN
138208 IF NVL(p_source_33,'
138209 ') = 'TRV' AND
138210 NVL(p_source_96,'
138211 ') = 'Y'
138212 THEN
138213
138214 --
138215 XLA_AE_LINES_PKG.SetNewLine;
138216
138217 p_balance_type_code := l_balance_type_code;
138218 -- set the flag so later we will know whether the gain loss line needs to be created
138219
138220 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
138221 p_actual_flag :='A';
138222 END IF;
138223
138224 --
138225 -- bulk performance
138226 --
138227 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
138228 p_header_num => 0); -- 4262811
138229 --
138230 -- set accounting line options
138231 --
138232 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
138233 p_natural_side_code => 'D'
138234 , p_gain_or_loss_flag => 'N'
138235 , p_gl_transfer_mode_code => 'S'
138236 , p_acct_entry_type_code => 'A'
138237 , p_switch_side_flag => 'Y'
138238 , p_merge_duplicate_code => 'A'
138239 );
138240 --
138241 l_acc_rev_natural_side_code := 'C'; -- 4262811
138242 --
138243 --
138244 -- set accounting line type info
138245 --
138246 xla_ae_lines_pkg.SetAcctLineType
138247 (p_component_type => l_component_type
138248 ,p_event_type_code => l_event_type_code
138249 ,p_line_definition_owner_code => l_line_definition_owner_code
138250 ,p_line_definition_code => l_line_definition_code
138251 ,p_accounting_line_code => l_component_code
138252 ,p_accounting_line_type_code => l_component_type_code
138253 ,p_accounting_line_appl_id => l_component_appl_id
138254 ,p_amb_context_code => l_amb_context_code
138255 ,p_entity_code => l_entity_code
138256 ,p_event_class_code => l_event_class_code);
138257 --
138258 -- set accounting class
138259 --
138260 xla_ae_lines_pkg.SetAcctClass(
138261 p_accounting_class_code => 'TRV'
138262 , p_ae_header_id => l_ae_header_id
138263 );
138264
138265 --
138266 -- set rounding class
138267 --
138268 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
138269 'TRV';
138270
138271 --
138272 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
138273 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
138274 --
138275 -- bulk performance
138276 --
138277 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
138278
138279 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
138280 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
138281
138282 -- 4955764
138283 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
138284 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
138285
138286 -- 4458381 Public Sector Enh
138287
138288 --
138289 -- set accounting attributes for the line type
138290 --
138291 l_entered_amt_idx := 23;
138292 l_accted_amt_idx := 28;
138293 l_bflow_applied_to_amt_idx := NULL; -- 5132302
138294 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
138295 l_rec_acct_attrs.array_char_value(1) := p_source_53;
138296 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
138297 l_rec_acct_attrs.array_num_value(2) :=
138298 xla_ae_sources_pkg.GetSystemSourceNum(
138299 p_source_code => 'XLA_EVENT_APPL_ID'
138300 , p_source_type_code => 'Y'
138301 , p_source_application_id => 602
138302 );
138303 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
138304 l_rec_acct_attrs.array_char_value(3) := p_source_55;
138308 p_source_code => 'XLA_ENTITY_CODE'
138305 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
138306 l_rec_acct_attrs.array_char_value(4) :=
138307 xla_ae_sources_pkg.GetSystemSourceChar(
138309 , p_source_type_code => 'Y'
138310 , p_source_application_id => 602
138311 );
138312 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
138313 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
138314 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
138315 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
138316 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
138317 l_rec_acct_attrs.array_num_value(7) := p_source_91;
138318 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
138319 l_rec_acct_attrs.array_char_value(8) := p_source_92;
138320 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
138321 l_rec_acct_attrs.array_char_value(9) := p_source_93;
138322 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
138323 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
138324 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
138325 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
138326 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
138327 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
138328 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
138329 l_rec_acct_attrs.array_char_value(13) := p_source_55;
138330 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
138331 l_rec_acct_attrs.array_num_value(14) := p_source_65;
138332 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
138333 l_rec_acct_attrs.array_num_value(15) := p_source_66;
138334 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
138335 l_rec_acct_attrs.array_char_value(16) := p_source_67;
138336 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
138337 l_rec_acct_attrs.array_num_value(17) := p_source_68;
138338 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
138339 l_rec_acct_attrs.array_num_value(18) := p_source_69;
138340 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
138341 l_rec_acct_attrs.array_num_value(19) := p_source_70;
138342 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
138343 l_rec_acct_attrs.array_char_value(20) := p_source_67;
138344 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
138345 l_rec_acct_attrs.array_num_value(21) := p_source_71;
138346 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
138347 l_rec_acct_attrs.array_char_value(22) := p_source_72;
138348 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
138349 l_rec_acct_attrs.array_num_value(23) := p_source_73;
138350 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
138351 l_rec_acct_attrs.array_char_value(24) := p_source_67;
138352 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
138353 l_rec_acct_attrs.array_date_value(25) := p_source_143;
138354 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
138355 l_rec_acct_attrs.array_num_value(26) := p_source_144;
138356 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
138357 l_rec_acct_attrs.array_char_value(27) := p_source_145;
138358 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
138359 l_rec_acct_attrs.array_num_value(28) := p_source_21;
138360 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
138361 l_rec_acct_attrs.array_date_value(29) := p_source_77;
138362 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
138363 l_rec_acct_attrs.array_char_value(30) := p_source_78;
138364 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
138365 l_rec_acct_attrs.array_date_value(31) := p_source_79;
138366 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
138367 l_rec_acct_attrs.array_char_value(32) := p_source_80;
138368 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
138369 l_rec_acct_attrs.array_num_value(33) := p_source_81;
138370 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
138371 l_rec_acct_attrs.array_num_value(34) := p_source_82;
138372 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
138373 l_rec_acct_attrs.array_char_value(35) := p_source_83;
138374 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
138375 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
138376 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
138377 l_rec_acct_attrs.array_char_value(37) := p_source_55;
138378 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
138379 l_rec_acct_attrs.array_num_value(38) := p_source_85;
138380 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
138381 l_rec_acct_attrs.array_num_value(39) := p_source_86;
138382 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
138383 l_rec_acct_attrs.array_num_value(40) := p_source_87;
138384 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
138385 l_rec_acct_attrs.array_num_value(41) := p_source_88;
138386 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
138387 l_rec_acct_attrs.array_num_value(42) := p_source_89;
138388 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
138389 l_rec_acct_attrs.array_num_value(43) := p_source_90;
138390
138394 ---------------------------------------------------------------------------------------------------------------
138391 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
138392 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
138393
138395 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
138396 ---------------------------------------------------------------------------------------------------------------
138397 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
138398
138399 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
138400 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
138401
138402 IF xla_accounting_cache_pkg.GetValueChar
138403 (p_source_code => 'LEDGER_CATEGORY_CODE'
138404 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
138405 AND l_bflow_method_code = 'PRIOR_ENTRY'
138406 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
138407 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
138408 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
138409 )
138410 THEN
138411 xla_ae_lines_pkg.BflowUpgEntry
138412 (p_business_method_code => l_bflow_method_code
138413 ,p_business_class_code => l_bflow_class_code
138414 ,p_balance_type => l_balance_type_code);
138415 ELSE
138416 NULL;
138417 -- No business flow processing for business flow method of NONE.
138418 END IF;
138419
138420 --
138421 -- call analytical criteria
138422 --
138423
138424 --
138425 -- call description
138426 --
138427
138428 xla_ae_lines_pkg.SetLineDescription(
138429 p_ae_header_id => l_ae_header_id
138430 ,p_description => Description_1 (
138431 p_application_id => p_application_id
138432 , p_ae_header_id => l_ae_header_id
138433 , p_source_1 => p_source_1
138434 )
138435 );
138436
138437
138438 --
138439 -- call ADRs
138440 -- Bug 4922099
138441 --
138442 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
138443 (NVL(l_actual_upg_option, 'N') = 'O') OR
138444 (NVL(l_enc_upg_option, 'N') = 'O')
138445 )
138446 THEN
138447 NULL;
138448 --
138449 --
138450
138451 l_ccid := AcctDerRule_33(
138452 p_application_id => p_application_id
138453 , p_ae_header_id => l_ae_header_id
138454 , p_source_30 => p_source_30
138455 , x_transaction_coa_id => l_adr_transaction_coa_id
138456 , x_accounting_coa_id => l_adr_accounting_coa_id
138457 , x_value_type_code => l_adr_value_type_code
138458 , p_side => 'NA'
138459 );
138460
138461 xla_ae_lines_pkg.set_ccid(
138462 p_code_combination_id => l_ccid
138463 , p_value_type_code => l_adr_value_type_code
138464 , p_transaction_coa_id => l_adr_transaction_coa_id
138465 , p_accounting_coa_id => l_adr_accounting_coa_id
138466 , p_adr_code => 'AP_INVOICE_DIST'
138467 , p_adr_type_code => 'S'
138468 , p_component_type => l_component_type
138469 , p_component_code => l_component_code
138470 , p_component_type_code => l_component_type_code
138471 , p_component_appl_id => l_component_appl_id
138472 , p_amb_context_code => l_amb_context_code
138473 , p_side => 'NA'
138474 );
138475
138476
138477 --
138478 --
138479 END IF;
138480 --
138481 -- Bug 4922099
138482 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
138483 (NVL(l_enc_upg_option, 'N') = 'O')
138484 ) AND
138485 (l_bflow_method_code = 'PRIOR_ENTRY')
138486 )
138487 THEN
138488 IF
138489 --
138490 1 = 2
138491 --
138492 THEN
138493 xla_accounting_err_pkg.build_message
138494 (p_appli_s_name => 'XLA'
138495 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
138496 ,p_token_1 => 'LINE_NUMBER'
138497 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
138498 ,p_token_2 => 'LINE_TYPE_NAME'
138499 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
138500 l_component_type
138501 ,l_component_code
138502 ,l_component_type_code
138503 ,l_component_appl_id
138504 ,l_amb_context_code
138505 ,l_entity_code
138506 ,l_event_class_code
138507 )
138511 ,p_lookup_code => l_component_type_code
138508 ,p_token_3 => 'OWNER'
138509 ,p_value_3 => xla_lookups_pkg.get_meaning(
138510 p_lookup_type => 'XLA_OWNER_TYPE'
138512 )
138513 ,p_token_4 => 'PRODUCT_NAME'
138514 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
138515 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
138516 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
138517 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
138518 ,p_ae_header_id => NULL
138519 );
138520
138521 IF (C_LEVEL_ERROR>= g_log_level) THEN
138522 trace
138523 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
138524 ,p_level => C_LEVEL_ERROR
138525 ,p_module => l_log_module);
138526 END IF;
138527 END IF;
138528 END IF;
138529 --
138530 --
138531 ------------------------------------------------------------------------------------------------
138532 -- 4219869 Business Flow
138533 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
138534 -- Prior Entry. Currently, the following code is always generated.
138535 ------------------------------------------------------------------------------------------------
138536 XLA_AE_LINES_PKG.ValidateCurrentLine;
138537
138538 ------------------------------------------------------------------------------------
138539 -- 4219869 Business Flow
138540 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
138541 ------------------------------------------------------------------------------------
138542 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
138543
138544 ----------------------------------------------------------------------------------
138545 -- 4219869 Business Flow
138546 -- Update journal entry status -- Need to generate this within IF <condition>
138547 ----------------------------------------------------------------------------------
138548 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
138549 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
138550 ,p_balance_type_code => l_balance_type_code
138551 );
138552
138553 -------------------------------------------------------------------------------------------
138554 -- 4262811 - Generate the Accrual Reversal lines
138555 -------------------------------------------------------------------------------------------
138556 BEGIN
138557 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
138558 (g_array_event(p_event_id).array_value_num('header_index'));
138559 IF l_acc_rev_flag IS NULL THEN
138560 l_acc_rev_flag := 'N';
138561 END IF;
138562 EXCEPTION
138563 WHEN OTHERS THEN
138564 l_acc_rev_flag := 'N';
138565 END;
138566 --
138567 IF (l_acc_rev_flag = 'Y') THEN
138568
138569 -- 4645092 ------------------------------------------------------------------------------
138570 -- To allow MPA report to determine if it should generate report process
138571 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
138572 ------------------------------------------------------------------------------------------
138573
138574 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
138575 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
138576 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
138577 -- call ADRs
138578 -- Bug 4922099
138579 --
138580 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
138581 (NVL(l_actual_upg_option, 'N') = 'O') OR
138582 (NVL(l_enc_upg_option, 'N') = 'O')
138583 )
138584 THEN
138585 NULL;
138586 --
138587 --
138588
138589 l_ccid := AcctDerRule_33(
138590 p_application_id => p_application_id
138591 , p_ae_header_id => l_ae_header_id
138592 , p_source_30 => p_source_30
138593 , x_transaction_coa_id => l_adr_transaction_coa_id
138594 , x_accounting_coa_id => l_adr_accounting_coa_id
138595 , x_value_type_code => l_adr_value_type_code
138596 , p_side => 'NA'
138597 );
138598
138599 xla_ae_lines_pkg.set_ccid(
138600 p_code_combination_id => l_ccid
138601 , p_value_type_code => l_adr_value_type_code
138602 , p_transaction_coa_id => l_adr_transaction_coa_id
138603 , p_accounting_coa_id => l_adr_accounting_coa_id
138604 , p_adr_code => 'AP_INVOICE_DIST'
138605 , p_adr_type_code => 'S'
138606 , p_component_type => l_component_type
138607 , p_component_code => l_component_code
138608 , p_component_type_code => l_component_type_code
138612 );
138609 , p_component_appl_id => l_component_appl_id
138610 , p_amb_context_code => l_amb_context_code
138611 , p_side => 'NA'
138613
138614
138615 --
138616 --
138617 END IF;
138618
138619 --
138620 -- Update the line information that should be overwritten
138621 --
138622 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
138623 p_header_num => 1);
138624 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
138625
138626 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
138627
138628 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
138629 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
138630 END IF;
138631
138632 --
138633 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
138634 --
138635 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
138636 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
138637 ELSE
138638 ---------------------------------------------------------------------------------------------------
138639 -- 4262811a Switch Sign
138640 ---------------------------------------------------------------------------------------------------
138641 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
138642 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
138643 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
138644 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
138645 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
138646 -- 5132302
138647 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
138648 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
138649
138650 END IF;
138651
138652 -- 4955764
138653 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
138654 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
138655
138656
138657 XLA_AE_LINES_PKG.ValidateCurrentLine;
138658 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
138659
138660 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
138661 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
138662 ,p_balance_type_code => l_balance_type_code);
138663
138664 END IF;
138665
138666 -----------------------------------------------------------------------------------------
138667 -- 4262811 Multiperiod Accounting
138668 -----------------------------------------------------------------------------------------
138669 -- No MPA option is assigned.
138670
138671
138672 END IF;
138673 END IF;
138674 --
138675
138676 --
138677 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
138678 trace
138679 (p_msg => 'END of AcctLineType_223'
138680 ,p_level => C_LEVEL_PROCEDURE
138681 ,p_module => l_log_module);
138682 END IF;
138683 --
138684 EXCEPTION
138685 WHEN xla_exceptions_pkg.application_exception THEN
138686 RAISE;
138687 WHEN OTHERS THEN
138688 xla_exceptions_pkg.raise_message
138689 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_223');
138690 END AcctLineType_223;
138691 --
138692
138693 ---------------------------------------
138694 --
138695 -- PRIVATE FUNCTION
138696 -- AcctLineType_224
138697 --
138698 ---------------------------------------
138699 PROCEDURE AcctLineType_224 (
138700 p_application_id IN NUMBER
138701 ,p_event_id IN NUMBER
138702 ,p_calculate_acctd_flag IN VARCHAR2
138703 ,p_calculate_g_l_flag IN VARCHAR2
138704 ,p_actual_flag IN OUT VARCHAR2
138705 ,p_balance_type_code OUT VARCHAR2
138706 ,p_gain_or_loss_ref OUT VARCHAR2
138707
138708 --Payment Currency Code
138709 , p_source_13 IN VARCHAR2
138710 --Automatic Offsets Value
138711 , p_source_15 IN VARCHAR2
138712 , p_source_15_meaning IN VARCHAR2
138713 --Invoice Distribution Account
138714 , p_source_30 IN NUMBER
138715 --Withholding Related Distribution Account
138716 , p_source_43 IN NUMBER
138717 --Accounting Reversal Indicator
138718 , p_source_53 IN VARCHAR2
138719 --Distribution Link Type
138720 , p_source_55 IN VARCHAR2
138721 --Override Accounted Amount Indicator
138722 , p_source_80 IN VARCHAR2
138723 , p_source_80_meaning IN VARCHAR2
138724 --Third Party Type
138725 , p_source_83 IN VARCHAR2
138726 --Invoice Distribution Tax Line Identifier
138727 , p_source_86 IN NUMBER
138728 --Invoice Distribution Summary Tax Line Identifier
138729 , p_source_88 IN NUMBER
138730 --Business Flow Accounts Payable Application Identifier
138731 , p_source_91 IN NUMBER
138732 --When to Account for Payment Option
138733 , p_source_97 IN VARCHAR2
138734 --Payment Distribution Type
138738 , p_source_99 IN NUMBER
138735 , p_source_98 IN VARCHAR2
138736 , p_source_98_meaning IN VARCHAR2
138737 --Payment Distribution Amount
138739 --Business Flow Payment Distribution Type
138740 , p_source_100 IN VARCHAR2
138741 --Business Flow Payment Entity Code
138742 , p_source_101 IN VARCHAR2
138743 --Business Flow Payment Distribution Identifier
138744 , p_source_102 IN NUMBER
138745 --Business Flow Payment Identifier
138746 , p_source_103 IN NUMBER
138747 --Payment Distribution Identifier
138748 , p_source_104 IN NUMBER
138749 --Payment Supplier Identifier
138750 , p_source_110 IN NUMBER
138751 --Payment Supplier Site Identifier
138752 , p_source_111 IN NUMBER
138753 --Payment Distribution Reversed Identifier
138754 , p_source_112 IN NUMBER
138755 --Payment Distribution (Invoice Rate) Ledger Amount
138756 , p_source_116 IN NUMBER
138757 --Invoice Exchange Date
138758 , p_source_143 IN DATE
138759 --Invoice Exchange Rate
138760 , p_source_144 IN NUMBER
138761 --Invoice Exchange Rate Type
138762 , p_source_145 IN VARCHAR2
138763 --Withholding at Payment Indicator
138764 , p_source_164 IN VARCHAR2
138765 , p_source_164_meaning IN VARCHAR2
138766 )
138767 IS
138768
138769 l_component_type VARCHAR2(80);
138770 l_component_code VARCHAR2(30);
138771 l_component_type_code VARCHAR2(1);
138772 l_component_appl_id INTEGER;
138773 l_amb_context_code VARCHAR2(30);
138774 l_entity_code VARCHAR2(30);
138775 l_event_class_code VARCHAR2(30);
138776 l_ae_header_id NUMBER;
138777 l_event_type_code VARCHAR2(30);
138778 l_line_definition_code VARCHAR2(30);
138779 l_line_definition_owner_code VARCHAR2(1);
138780 --
138781 -- adr variables
138782 l_segment VARCHAR2(30);
138783 l_ccid NUMBER;
138784 l_adr_transaction_coa_id NUMBER;
138785 l_adr_accounting_coa_id NUMBER;
138786 l_adr_flexfield_segment_code VARCHAR2(30);
138787 l_adr_flex_value_set_id NUMBER;
138788 l_adr_value_type_code VARCHAR2(30);
138789 l_adr_value_combination_id NUMBER;
138790 l_adr_value_segment_code VARCHAR2(30);
138791
138792 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
138793 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
138794 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
138795 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
138796
138797 -- 4262811 Variables ------------------------------------------------------------------------------------------
138798 l_entered_amt_idx NUMBER;
138799 l_accted_amt_idx NUMBER;
138800 l_acc_rev_flag VARCHAR2(1);
138801 l_accrual_line_num NUMBER;
138802 l_tmp_amt NUMBER;
138803 l_acc_rev_natural_side_code VARCHAR2(1);
138804
138805 l_num_entries NUMBER;
138806 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
138807 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
138808 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
138809 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
138810 l_recog_line_1 NUMBER;
138811 l_recog_line_2 NUMBER;
138812
138813 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
138814 l_bflow_applied_to_amt NUMBER; -- 5132302
138815 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
138816
138817 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
138818
138819 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
138820 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
138821
138822 ---------------------------------------------------------------------------------------------------------------
138823
138824
138825 --
138826 -- bulk performance
138827 --
138828 l_balance_type_code VARCHAR2(1);
138829 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
138830 l_log_module VARCHAR2(240);
138831
138832 --
138833 -- Upgrade strategy
138834 --
138835 l_actual_upg_option VARCHAR2(1);
138836 l_enc_upg_option VARCHAR2(1);
138837
138838 --
138839 BEGIN
138840 --
138841 IF g_log_enabled THEN
138842 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_224';
138843 END IF;
138844 --
138845 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
138846
138847 trace
138848 (p_msg => 'BEGIN of AcctLineType_224'
138849 ,p_level => C_LEVEL_PROCEDURE
138850 ,p_module => l_log_module);
138851
138852 END IF;
138853 --
138854 l_component_type := 'AMB_JLT';
138855 l_component_code := 'AP_WITHHOLD_TAX_ACCR_CLEAR';
138856 l_component_type_code := 'S';
138857 l_component_appl_id := 200;
138858 l_amb_context_code := 'DEFAULT';
138859 l_entity_code := 'AP_PAYMENTS';
138860 l_event_class_code := 'RECONCILED PAYMENTS';
138861 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
138862 l_line_definition_owner_code := 'S';
138863 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
138864 --
138865 l_balance_type_code := 'A';
138869 l_adr_accounting_coa_id := NULL;
138866 l_segment := NULL;
138867 l_ccid := NULL;
138868 l_adr_transaction_coa_id := NULL;
138870 l_adr_flexfield_segment_code := NULL;
138871 l_adr_flex_value_set_id := NULL;
138872 l_adr_value_type_code := NULL;
138873 l_adr_value_combination_id := NULL;
138874 l_adr_value_segment_code := NULL;
138875
138876 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
138877 l_bflow_class_code := ''; -- 4219869 Business Flow
138878 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
138879 l_budgetary_control_flag := 'N';
138880
138881 l_bflow_applied_to_amt_idx := NULL; -- 5132302
138882 l_bflow_applied_to_amt := NULL; -- 5132302
138883 l_entered_amt_idx := NULL; -- 4262811
138884 l_accted_amt_idx := NULL; -- 4262811
138885 l_acc_rev_flag := NULL; -- 4262811
138886 l_accrual_line_num := NULL; -- 4262811
138887 l_tmp_amt := NULL; -- 4262811
138888 --
138889
138890 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
138891 l_balance_type_code <> 'B' THEN
138892 IF NVL(p_source_97,'
138893 ') = 'CLEAR_CLEAR' AND
138894 NVL(p_source_98,'
138895 ') = 'AWT' AND
138896 NVL(p_source_164,'
138897 ') = 'Y'
138898 THEN
138899
138900 --
138901 XLA_AE_LINES_PKG.SetNewLine;
138902
138903 p_balance_type_code := l_balance_type_code;
138904 -- set the flag so later we will know whether the gain loss line needs to be created
138905
138906 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
138907 p_actual_flag :='A';
138908 END IF;
138909
138910 --
138911 -- bulk performance
138912 --
138913 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
138914 p_header_num => 0); -- 4262811
138915 --
138916 -- set accounting line options
138917 --
138918 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
138919 p_natural_side_code => 'C'
138920 , p_gain_or_loss_flag => 'N'
138921 , p_gl_transfer_mode_code => 'S'
138922 , p_acct_entry_type_code => 'A'
138923 , p_switch_side_flag => 'Y'
138924 , p_merge_duplicate_code => 'A'
138925 );
138926 --
138927 l_acc_rev_natural_side_code := 'D'; -- 4262811
138928 --
138929 --
138930 -- set accounting line type info
138931 --
138932 xla_ae_lines_pkg.SetAcctLineType
138933 (p_component_type => l_component_type
138934 ,p_event_type_code => l_event_type_code
138935 ,p_line_definition_owner_code => l_line_definition_owner_code
138936 ,p_line_definition_code => l_line_definition_code
138937 ,p_accounting_line_code => l_component_code
138938 ,p_accounting_line_type_code => l_component_type_code
138939 ,p_accounting_line_appl_id => l_component_appl_id
138940 ,p_amb_context_code => l_amb_context_code
138941 ,p_entity_code => l_entity_code
138942 ,p_event_class_code => l_event_class_code);
138943 --
138944 -- set accounting class
138945 --
138946 xla_ae_lines_pkg.SetAcctClass(
138947 p_accounting_class_code => 'AWT'
138948 , p_ae_header_id => l_ae_header_id
138949 );
138950
138951 --
138952 -- set rounding class
138953 --
138954 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
138955 'AWT';
138956
138957 --
138958 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
138959 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
138960 --
138961 -- bulk performance
138962 --
138963 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
138964
138965 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
138966 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
138967
138968 -- 4955764
138969 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
138970 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
138971
138972 -- 4458381 Public Sector Enh
138973
138974 --
138975 -- set accounting attributes for the line type
138976 --
138977 l_entered_amt_idx := 10;
138978 l_accted_amt_idx := 15;
138979 l_bflow_applied_to_amt_idx := 2; -- 5132302
138980 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
138981 l_rec_acct_attrs.array_char_value(1) := p_source_53;
138982 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
138983 l_rec_acct_attrs.array_num_value(2) := p_source_99;
138984 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
138985 l_rec_acct_attrs.array_num_value(3) := p_source_91;
138986 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
138987 l_rec_acct_attrs.array_char_value(4) := p_source_100;
138988 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
138989 l_rec_acct_attrs.array_char_value(5) := p_source_101;
138993 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_103);
138990 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
138991 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_102);
138992 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
138994 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
138995 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
138996 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
138997 l_rec_acct_attrs.array_char_value(9) := p_source_55;
138998 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
138999 l_rec_acct_attrs.array_num_value(10) := p_source_99;
139000 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
139001 l_rec_acct_attrs.array_char_value(11) := p_source_13;
139002 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
139003 l_rec_acct_attrs.array_date_value(12) := p_source_143;
139004 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
139005 l_rec_acct_attrs.array_num_value(13) := p_source_144;
139006 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
139007 l_rec_acct_attrs.array_char_value(14) := p_source_145;
139008 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
139009 l_rec_acct_attrs.array_num_value(15) := p_source_116;
139010 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
139011 l_rec_acct_attrs.array_char_value(16) := p_source_80;
139012 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
139013 l_rec_acct_attrs.array_num_value(17) := p_source_110;
139014 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
139015 l_rec_acct_attrs.array_num_value(18) := p_source_111;
139016 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
139017 l_rec_acct_attrs.array_char_value(19) := p_source_83;
139018 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
139019 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
139020 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
139021 l_rec_acct_attrs.array_char_value(21) := p_source_55;
139022 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
139023 l_rec_acct_attrs.array_num_value(22) := p_source_86;
139024 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
139025 l_rec_acct_attrs.array_num_value(23) := p_source_86;
139026 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
139027 l_rec_acct_attrs.array_num_value(24) := p_source_88;
139028
139029 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
139030 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
139031
139032 ---------------------------------------------------------------------------------------------------------------
139033 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
139034 ---------------------------------------------------------------------------------------------------------------
139035 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
139036
139037 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
139038 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
139039
139040 IF xla_accounting_cache_pkg.GetValueChar
139041 (p_source_code => 'LEDGER_CATEGORY_CODE'
139042 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
139043 AND l_bflow_method_code = 'PRIOR_ENTRY'
139044 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
139045 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
139046 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
139047 )
139048 THEN
139049 xla_ae_lines_pkg.BflowUpgEntry
139050 (p_business_method_code => l_bflow_method_code
139051 ,p_business_class_code => l_bflow_class_code
139052 ,p_balance_type => l_balance_type_code);
139053 ELSE
139054 NULL;
139055 -- No business flow processing for business flow method of NONE.
139056 END IF;
139057
139058 --
139059 -- call analytical criteria
139060 --
139061
139062 --
139063 -- call description
139064 --
139065 -- No description or it is inherited.
139066 --
139067 -- call ADRs
139068 -- Bug 4922099
139069 --
139070 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
139071 (NVL(l_actual_upg_option, 'N') = 'O') OR
139072 (NVL(l_enc_upg_option, 'N') = 'O')
139073 )
139074 THEN
139075 NULL;
139076 --
139077 --
139078
139079 l_ccid := AcctDerRule_46(
139080 p_application_id => p_application_id
139081 , p_ae_header_id => l_ae_header_id
139082 , p_source_15 => p_source_15
139083 , p_source_15_meaning => p_source_15_meaning
139084 , p_source_30 => p_source_30
139085 , p_source_43 => p_source_43
139086 , x_transaction_coa_id => l_adr_transaction_coa_id
139087 , x_accounting_coa_id => l_adr_accounting_coa_id
139088 , x_value_type_code => l_adr_value_type_code
139089 , p_side => 'NA'
139090 );
139091
139092 xla_ae_lines_pkg.set_ccid(
139093 p_code_combination_id => l_ccid
139094 , p_value_type_code => l_adr_value_type_code
139098 , p_adr_type_code => 'S'
139095 , p_transaction_coa_id => l_adr_transaction_coa_id
139096 , p_accounting_coa_id => l_adr_accounting_coa_id
139097 , p_adr_code => 'AP_WH_DIST_ACCT'
139099 , p_component_type => l_component_type
139100 , p_component_code => l_component_code
139101 , p_component_type_code => l_component_type_code
139102 , p_component_appl_id => l_component_appl_id
139103 , p_amb_context_code => l_amb_context_code
139104 , p_side => 'NA'
139105 );
139106
139107
139108 l_segment := AcctDerRule_14(
139109 p_application_id => p_application_id
139110 , p_ae_header_id => l_ae_header_id
139111 , p_source_15 => p_source_15
139112 , p_source_15_meaning => p_source_15_meaning
139113 , p_source_30 => p_source_30
139114 , x_transaction_coa_id => l_adr_transaction_coa_id
139115 , x_accounting_coa_id => l_adr_accounting_coa_id
139116 , x_flexfield_segment_code => l_adr_flexfield_segment_code
139117 , x_flex_value_set_id => l_adr_flex_value_set_id
139118 , x_value_type_code => l_adr_value_type_code
139119 , x_value_combination_id => l_adr_value_combination_id
139120 , x_value_segment_code => l_adr_value_segment_code
139121 , p_side => 'NA'
139122 , p_override_seg_flag => 'Y'
139123 );
139124
139125 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
139126
139127 xla_ae_lines_pkg.set_segment(
139128 p_to_segment_code => 'GL_ACCOUNT'
139129 , p_segment_value => l_segment
139130 , p_from_segment_code => l_adr_value_segment_code
139131 , p_from_combination_id => l_adr_value_combination_id
139132 , p_value_type_code => l_adr_value_type_code
139133 , p_transaction_coa_id => l_adr_transaction_coa_id
139134 , p_accounting_coa_id => l_adr_accounting_coa_id
139135 , p_flexfield_segment_code => l_adr_flexfield_segment_code
139136 , p_flex_value_set_id => l_adr_flex_value_set_id
139137 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
139138 , p_adr_type_code => 'S'
139139 , p_component_type => l_component_type
139140 , p_component_code => l_component_code
139141 , p_component_type_code => l_component_type_code
139142 , p_component_appl_id => l_component_appl_id
139143 , p_amb_context_code => l_amb_context_code
139144 , p_entity_code => 'AP_PAYMENTS'
139145 , p_event_class_code => 'RECONCILED PAYMENTS'
139146 , p_side => 'NA'
139147 );
139148
139149 END IF;
139150
139151 l_segment := AcctDerRule_25(
139152 p_application_id => p_application_id
139153 , p_ae_header_id => l_ae_header_id
139154 , p_source_15 => p_source_15
139155 , p_source_15_meaning => p_source_15_meaning
139156 , p_source_43 => p_source_43
139157 , x_transaction_coa_id => l_adr_transaction_coa_id
139158 , x_accounting_coa_id => l_adr_accounting_coa_id
139159 , x_flexfield_segment_code => l_adr_flexfield_segment_code
139160 , x_flex_value_set_id => l_adr_flex_value_set_id
139161 , x_value_type_code => l_adr_value_type_code
139162 , x_value_combination_id => l_adr_value_combination_id
139163 , x_value_segment_code => l_adr_value_segment_code
139164 , p_side => 'NA'
139165 , p_override_seg_flag => 'Y'
139166 );
139167
139168 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
139169
139170 xla_ae_lines_pkg.set_segment(
139171 p_to_segment_code => 'GL_BALANCING'
139172 , p_segment_value => l_segment
139173 , p_from_segment_code => l_adr_value_segment_code
139174 , p_from_combination_id => l_adr_value_combination_id
139175 , p_value_type_code => l_adr_value_type_code
139176 , p_transaction_coa_id => l_adr_transaction_coa_id
139177 , p_accounting_coa_id => l_adr_accounting_coa_id
139178 , p_flexfield_segment_code => l_adr_flexfield_segment_code
139179 , p_flex_value_set_id => l_adr_flex_value_set_id
139180 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
139181 , p_adr_type_code => 'S'
139182 , p_component_type => l_component_type
139183 , p_component_code => l_component_code
139184 , p_component_type_code => l_component_type_code
139185 , p_component_appl_id => l_component_appl_id
139186 , p_amb_context_code => l_amb_context_code
139187 , p_entity_code => 'AP_PAYMENTS'
139188 , p_event_class_code => 'RECONCILED PAYMENTS'
139189 , p_side => 'NA'
139190 );
139191
139192 END IF;
139193
139194 --
139195 --
139196 END IF;
139197 --
139198 -- Bug 4922099
139199 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
139200 (NVL(l_enc_upg_option, 'N') = 'O')
139201 ) AND
139202 (l_bflow_method_code = 'PRIOR_ENTRY')
139203 )
139204 THEN
139205 IF
139206 --
139207 1 = 2
139208 --
139209 THEN
139210 xla_accounting_err_pkg.build_message
139214 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
139211 (p_appli_s_name => 'XLA'
139212 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
139213 ,p_token_1 => 'LINE_NUMBER'
139215 ,p_token_2 => 'LINE_TYPE_NAME'
139216 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
139217 l_component_type
139218 ,l_component_code
139219 ,l_component_type_code
139220 ,l_component_appl_id
139221 ,l_amb_context_code
139222 ,l_entity_code
139223 ,l_event_class_code
139224 )
139225 ,p_token_3 => 'OWNER'
139226 ,p_value_3 => xla_lookups_pkg.get_meaning(
139227 p_lookup_type => 'XLA_OWNER_TYPE'
139228 ,p_lookup_code => l_component_type_code
139229 )
139230 ,p_token_4 => 'PRODUCT_NAME'
139231 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
139232 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
139233 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
139234 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
139235 ,p_ae_header_id => NULL
139236 );
139237
139238 IF (C_LEVEL_ERROR>= g_log_level) THEN
139239 trace
139240 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
139241 ,p_level => C_LEVEL_ERROR
139242 ,p_module => l_log_module);
139243 END IF;
139244 END IF;
139245 END IF;
139246 --
139247 --
139248 ------------------------------------------------------------------------------------------------
139249 -- 4219869 Business Flow
139250 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
139251 -- Prior Entry. Currently, the following code is always generated.
139252 ------------------------------------------------------------------------------------------------
139253 XLA_AE_LINES_PKG.ValidateCurrentLine;
139254
139255 ------------------------------------------------------------------------------------
139256 -- 4219869 Business Flow
139257 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
139258 ------------------------------------------------------------------------------------
139259 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
139260
139261 ----------------------------------------------------------------------------------
139262 -- 4219869 Business Flow
139263 -- Update journal entry status -- Need to generate this within IF <condition>
139264 ----------------------------------------------------------------------------------
139265 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
139266 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
139267 ,p_balance_type_code => l_balance_type_code
139268 );
139269
139270 -------------------------------------------------------------------------------------------
139271 -- 4262811 - Generate the Accrual Reversal lines
139272 -------------------------------------------------------------------------------------------
139273 BEGIN
139274 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
139275 (g_array_event(p_event_id).array_value_num('header_index'));
139276 IF l_acc_rev_flag IS NULL THEN
139277 l_acc_rev_flag := 'N';
139278 END IF;
139279 EXCEPTION
139280 WHEN OTHERS THEN
139281 l_acc_rev_flag := 'N';
139282 END;
139283 --
139284 IF (l_acc_rev_flag = 'Y') THEN
139285
139286 -- 4645092 ------------------------------------------------------------------------------
139287 -- To allow MPA report to determine if it should generate report process
139288 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
139289 ------------------------------------------------------------------------------------------
139290
139291 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
139292 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
139293 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
139294 -- call ADRs
139295 -- Bug 4922099
139296 --
139297 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
139301 THEN
139298 (NVL(l_actual_upg_option, 'N') = 'O') OR
139299 (NVL(l_enc_upg_option, 'N') = 'O')
139300 )
139302 NULL;
139303 --
139304 --
139305
139306 l_ccid := AcctDerRule_46(
139307 p_application_id => p_application_id
139308 , p_ae_header_id => l_ae_header_id
139309 , p_source_15 => p_source_15
139310 , p_source_15_meaning => p_source_15_meaning
139311 , p_source_30 => p_source_30
139312 , p_source_43 => p_source_43
139313 , x_transaction_coa_id => l_adr_transaction_coa_id
139314 , x_accounting_coa_id => l_adr_accounting_coa_id
139315 , x_value_type_code => l_adr_value_type_code
139316 , p_side => 'NA'
139317 );
139318
139319 xla_ae_lines_pkg.set_ccid(
139320 p_code_combination_id => l_ccid
139321 , p_value_type_code => l_adr_value_type_code
139322 , p_transaction_coa_id => l_adr_transaction_coa_id
139323 , p_accounting_coa_id => l_adr_accounting_coa_id
139324 , p_adr_code => 'AP_WH_DIST_ACCT'
139325 , p_adr_type_code => 'S'
139326 , p_component_type => l_component_type
139327 , p_component_code => l_component_code
139328 , p_component_type_code => l_component_type_code
139329 , p_component_appl_id => l_component_appl_id
139330 , p_amb_context_code => l_amb_context_code
139331 , p_side => 'NA'
139332 );
139333
139334
139335 l_segment := AcctDerRule_14(
139336 p_application_id => p_application_id
139337 , p_ae_header_id => l_ae_header_id
139338 , p_source_15 => p_source_15
139339 , p_source_15_meaning => p_source_15_meaning
139340 , p_source_30 => p_source_30
139341 , x_transaction_coa_id => l_adr_transaction_coa_id
139342 , x_accounting_coa_id => l_adr_accounting_coa_id
139343 , x_flexfield_segment_code => l_adr_flexfield_segment_code
139344 , x_flex_value_set_id => l_adr_flex_value_set_id
139345 , x_value_type_code => l_adr_value_type_code
139346 , x_value_combination_id => l_adr_value_combination_id
139347 , x_value_segment_code => l_adr_value_segment_code
139348 , p_side => 'NA'
139349 , p_override_seg_flag => 'Y'
139350 );
139351
139352 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
139353
139354 xla_ae_lines_pkg.set_segment(
139355 p_to_segment_code => 'GL_ACCOUNT'
139356 , p_segment_value => l_segment
139357 , p_from_segment_code => l_adr_value_segment_code
139358 , p_from_combination_id => l_adr_value_combination_id
139359 , p_value_type_code => l_adr_value_type_code
139360 , p_transaction_coa_id => l_adr_transaction_coa_id
139361 , p_accounting_coa_id => l_adr_accounting_coa_id
139362 , p_flexfield_segment_code => l_adr_flexfield_segment_code
139363 , p_flex_value_set_id => l_adr_flex_value_set_id
139364 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
139365 , p_adr_type_code => 'S'
139366 , p_component_type => l_component_type
139367 , p_component_code => l_component_code
139368 , p_component_type_code => l_component_type_code
139369 , p_component_appl_id => l_component_appl_id
139370 , p_amb_context_code => l_amb_context_code
139371 , p_entity_code => 'AP_PAYMENTS'
139372 , p_event_class_code => 'RECONCILED PAYMENTS'
139373 , p_side => 'NA'
139374 );
139375
139376 END IF;
139377
139378 l_segment := AcctDerRule_25(
139379 p_application_id => p_application_id
139380 , p_ae_header_id => l_ae_header_id
139381 , p_source_15 => p_source_15
139382 , p_source_15_meaning => p_source_15_meaning
139383 , p_source_43 => p_source_43
139384 , x_transaction_coa_id => l_adr_transaction_coa_id
139385 , x_accounting_coa_id => l_adr_accounting_coa_id
139386 , x_flexfield_segment_code => l_adr_flexfield_segment_code
139387 , x_flex_value_set_id => l_adr_flex_value_set_id
139388 , x_value_type_code => l_adr_value_type_code
139389 , x_value_combination_id => l_adr_value_combination_id
139390 , x_value_segment_code => l_adr_value_segment_code
139391 , p_side => 'NA'
139392 , p_override_seg_flag => 'Y'
139393 );
139394
139395 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
139396
139397 xla_ae_lines_pkg.set_segment(
139398 p_to_segment_code => 'GL_BALANCING'
139399 , p_segment_value => l_segment
139400 , p_from_segment_code => l_adr_value_segment_code
139401 , p_from_combination_id => l_adr_value_combination_id
139402 , p_value_type_code => l_adr_value_type_code
139403 , p_transaction_coa_id => l_adr_transaction_coa_id
139404 , p_accounting_coa_id => l_adr_accounting_coa_id
139405 , p_flexfield_segment_code => l_adr_flexfield_segment_code
139406 , p_flex_value_set_id => l_adr_flex_value_set_id
139407 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
139411 , p_component_type_code => l_component_type_code
139408 , p_adr_type_code => 'S'
139409 , p_component_type => l_component_type
139410 , p_component_code => l_component_code
139412 , p_component_appl_id => l_component_appl_id
139413 , p_amb_context_code => l_amb_context_code
139414 , p_entity_code => 'AP_PAYMENTS'
139415 , p_event_class_code => 'RECONCILED PAYMENTS'
139416 , p_side => 'NA'
139417 );
139418
139419 END IF;
139420
139421 --
139422 --
139423 END IF;
139424
139425 --
139426 -- Update the line information that should be overwritten
139427 --
139428 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
139429 p_header_num => 1);
139430 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
139431
139432 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
139433
139434 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
139435 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
139436 END IF;
139437
139438 --
139439 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
139440 --
139441 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
139442 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
139443 ELSE
139444 ---------------------------------------------------------------------------------------------------
139445 -- 4262811a Switch Sign
139446 ---------------------------------------------------------------------------------------------------
139447 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
139448 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
139449 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
139450 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
139451 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
139452 -- 5132302
139453 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
139454 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
139455
139456 END IF;
139457
139458 -- 4955764
139459 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
139460 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
139461
139462
139463 XLA_AE_LINES_PKG.ValidateCurrentLine;
139464 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
139465
139466 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
139467 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
139468 ,p_balance_type_code => l_balance_type_code);
139469
139470 END IF;
139471
139472 -----------------------------------------------------------------------------------------
139473 -- 4262811 Multiperiod Accounting
139474 -----------------------------------------------------------------------------------------
139475 -- No MPA option is assigned.
139476
139477
139478 END IF;
139479 END IF;
139480 --
139481
139482 --
139483 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
139484 trace
139485 (p_msg => 'END of AcctLineType_224'
139486 ,p_level => C_LEVEL_PROCEDURE
139487 ,p_module => l_log_module);
139488 END IF;
139489 --
139490 EXCEPTION
139491 WHEN xla_exceptions_pkg.application_exception THEN
139492 RAISE;
139493 WHEN OTHERS THEN
139494 xla_exceptions_pkg.raise_message
139495 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_224');
139496 END AcctLineType_224;
139497 --
139498
139499 ---------------------------------------
139500 --
139501 -- PRIVATE FUNCTION
139502 -- AcctLineType_225
139503 --
139504 ---------------------------------------
139505 PROCEDURE AcctLineType_225 (
139506 p_application_id IN NUMBER
139507 ,p_event_id IN NUMBER
139508 ,p_calculate_acctd_flag IN VARCHAR2
139509 ,p_calculate_g_l_flag IN VARCHAR2
139510 ,p_actual_flag IN OUT VARCHAR2
139511 ,p_balance_type_code OUT VARCHAR2
139512 ,p_gain_or_loss_ref OUT VARCHAR2
139513
139514 --Payment Currency Code
139515 , p_source_13 IN VARCHAR2
139516 --Automatic Offsets Value
139517 , p_source_15 IN VARCHAR2
139518 , p_source_15_meaning IN VARCHAR2
139519 --Invoice Distribution Account
139520 , p_source_30 IN NUMBER
139521 --Withholding Related Distribution Account
139522 , p_source_43 IN NUMBER
139523 --Accounting Reversal Indicator
139524 , p_source_53 IN VARCHAR2
139525 --Distribution Link Type
139526 , p_source_55 IN VARCHAR2
139527 --Override Accounted Amount Indicator
139528 , p_source_80 IN VARCHAR2
139529 , p_source_80_meaning IN VARCHAR2
139530 --Third Party Type
139531 , p_source_83 IN VARCHAR2
139535 , p_source_87 IN NUMBER
139532 --Invoice Distribution Tax Line Identifier
139533 , p_source_86 IN NUMBER
139534 --Invoice Distribution Tax Distribution Identifier from Tax
139536 --Invoice Distribution Summary Tax Line Identifier
139537 , p_source_88 IN NUMBER
139538 --Business Flow Accounts Payable Application Identifier
139539 , p_source_91 IN NUMBER
139540 --Business Flow Invoice Distribution Type
139541 , p_source_92 IN VARCHAR2
139542 --Business Flow Invoice Entity Code
139543 , p_source_93 IN VARCHAR2
139544 --Business Flow Invoice Distribution Identifier
139545 , p_source_94 IN NUMBER
139546 --Business Flow Invoice Identifier
139547 , p_source_95 IN NUMBER
139548 --When to Account for Payment Option
139549 , p_source_97 IN VARCHAR2
139550 --Payment Distribution Type
139551 , p_source_98 IN VARCHAR2
139552 , p_source_98_meaning IN VARCHAR2
139553 --Payment Distribution Amount
139554 , p_source_99 IN NUMBER
139555 --Payment Distribution Identifier
139556 , p_source_104 IN NUMBER
139557 --Payment Supplier Identifier
139558 , p_source_110 IN NUMBER
139559 --Payment Supplier Site Identifier
139560 , p_source_111 IN NUMBER
139561 --Payment Distribution Reversed Identifier
139562 , p_source_112 IN NUMBER
139563 --Payment Distribution (Invoice Rate) Ledger Amount
139564 , p_source_116 IN NUMBER
139565 --Payment Type
139566 , p_source_122 IN VARCHAR2
139567 , p_source_122_meaning IN VARCHAR2
139568 --Payment Processing Type
139569 , p_source_123 IN VARCHAR2
139570 --Invoice Distribution Amount of the Payment Distribution
139571 , p_source_124 IN NUMBER
139572 --Invoice Exchange Date
139573 , p_source_143 IN DATE
139574 --Invoice Exchange Rate
139575 , p_source_144 IN NUMBER
139576 --Invoice Exchange Rate Type
139577 , p_source_145 IN VARCHAR2
139578 --Withholding at Payment Indicator
139579 , p_source_164 IN VARCHAR2
139580 , p_source_164_meaning IN VARCHAR2
139581 )
139582 IS
139583
139584 l_component_type VARCHAR2(80);
139585 l_component_code VARCHAR2(30);
139586 l_component_type_code VARCHAR2(1);
139587 l_component_appl_id INTEGER;
139588 l_amb_context_code VARCHAR2(30);
139589 l_entity_code VARCHAR2(30);
139590 l_event_class_code VARCHAR2(30);
139591 l_ae_header_id NUMBER;
139592 l_event_type_code VARCHAR2(30);
139593 l_line_definition_code VARCHAR2(30);
139594 l_line_definition_owner_code VARCHAR2(1);
139595 --
139596 -- adr variables
139597 l_segment VARCHAR2(30);
139598 l_ccid NUMBER;
139599 l_adr_transaction_coa_id NUMBER;
139600 l_adr_accounting_coa_id NUMBER;
139601 l_adr_flexfield_segment_code VARCHAR2(30);
139602 l_adr_flex_value_set_id NUMBER;
139603 l_adr_value_type_code VARCHAR2(30);
139604 l_adr_value_combination_id NUMBER;
139605 l_adr_value_segment_code VARCHAR2(30);
139606
139607 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
139608 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
139609 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
139610 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
139611
139612 -- 4262811 Variables ------------------------------------------------------------------------------------------
139613 l_entered_amt_idx NUMBER;
139614 l_accted_amt_idx NUMBER;
139615 l_acc_rev_flag VARCHAR2(1);
139616 l_accrual_line_num NUMBER;
139617 l_tmp_amt NUMBER;
139618 l_acc_rev_natural_side_code VARCHAR2(1);
139619
139620 l_num_entries NUMBER;
139621 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
139622 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
139623 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
139624 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
139625 l_recog_line_1 NUMBER;
139626 l_recog_line_2 NUMBER;
139627
139628 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
139629 l_bflow_applied_to_amt NUMBER; -- 5132302
139630 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
139631
139632 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
139633
139634 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
139635 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
139636
139637 ---------------------------------------------------------------------------------------------------------------
139638
139639
139640 --
139641 -- bulk performance
139642 --
139643 l_balance_type_code VARCHAR2(1);
139644 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
139645 l_log_module VARCHAR2(240);
139646
139647 --
139648 -- Upgrade strategy
139649 --
139650 l_actual_upg_option VARCHAR2(1);
139651 l_enc_upg_option VARCHAR2(1);
139652
139653 --
139654 BEGIN
139655 --
139656 IF g_log_enabled THEN
139657 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_225';
139658 END IF;
139659 --
139660 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
139661
139665 ,p_module => l_log_module);
139662 trace
139663 (p_msg => 'BEGIN of AcctLineType_225'
139664 ,p_level => C_LEVEL_PROCEDURE
139666
139667 END IF;
139668 --
139669 l_component_type := 'AMB_JLT';
139670 l_component_code := 'AP_WITHHOLD_TAX_ACCR_PMT';
139671 l_component_type_code := 'S';
139672 l_component_appl_id := 200;
139673 l_amb_context_code := 'DEFAULT';
139674 l_entity_code := 'AP_PAYMENTS';
139675 l_event_class_code := 'PAYMENTS';
139676 l_event_type_code := 'PAYMENTS_ALL';
139677 l_line_definition_owner_code := 'S';
139678 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
139679 --
139680 l_balance_type_code := 'A';
139681 l_segment := NULL;
139682 l_ccid := NULL;
139683 l_adr_transaction_coa_id := NULL;
139684 l_adr_accounting_coa_id := NULL;
139685 l_adr_flexfield_segment_code := NULL;
139686 l_adr_flex_value_set_id := NULL;
139687 l_adr_value_type_code := NULL;
139688 l_adr_value_combination_id := NULL;
139689 l_adr_value_segment_code := NULL;
139690
139691 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
139692 l_bflow_class_code := ''; -- 4219869 Business Flow
139693 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
139694 l_budgetary_control_flag := 'N';
139695
139696 l_bflow_applied_to_amt_idx := NULL; -- 5132302
139697 l_bflow_applied_to_amt := NULL; -- 5132302
139698 l_entered_amt_idx := NULL; -- 4262811
139699 l_accted_amt_idx := NULL; -- 4262811
139700 l_acc_rev_flag := NULL; -- 4262811
139701 l_accrual_line_num := NULL; -- 4262811
139702 l_tmp_amt := NULL; -- 4262811
139703 --
139704
139705 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
139706 l_balance_type_code <> 'B' THEN
139707 IF NVL(p_source_97,'
139708 ') <> 'CLEAR_CLEAR' AND
139709 NVL(p_source_98,'
139710 ') = 'AWT' AND
139711 NVL(p_source_164,'
139712 ') = 'Y' AND
139713 NVL(p_source_122,'
139714 ') <> 'R' AND
139715 NVL(p_source_123,'
139716 ') <> 'PAYMENTCARD'
139717 THEN
139718
139719 --
139720 XLA_AE_LINES_PKG.SetNewLine;
139721
139722 p_balance_type_code := l_balance_type_code;
139723 -- set the flag so later we will know whether the gain loss line needs to be created
139724
139725 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
139726 p_actual_flag :='A';
139727 END IF;
139728
139729 --
139730 -- bulk performance
139731 --
139732 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
139733 p_header_num => 0); -- 4262811
139734 --
139735 -- set accounting line options
139736 --
139737 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
139738 p_natural_side_code => 'C'
139739 , p_gain_or_loss_flag => 'N'
139740 , p_gl_transfer_mode_code => 'S'
139741 , p_acct_entry_type_code => 'A'
139742 , p_switch_side_flag => 'Y'
139743 , p_merge_duplicate_code => 'A'
139744 );
139745 --
139746 l_acc_rev_natural_side_code := 'D'; -- 4262811
139747 --
139748 --
139749 -- set accounting line type info
139750 --
139751 xla_ae_lines_pkg.SetAcctLineType
139752 (p_component_type => l_component_type
139753 ,p_event_type_code => l_event_type_code
139754 ,p_line_definition_owner_code => l_line_definition_owner_code
139755 ,p_line_definition_code => l_line_definition_code
139756 ,p_accounting_line_code => l_component_code
139757 ,p_accounting_line_type_code => l_component_type_code
139758 ,p_accounting_line_appl_id => l_component_appl_id
139759 ,p_amb_context_code => l_amb_context_code
139760 ,p_entity_code => l_entity_code
139761 ,p_event_class_code => l_event_class_code);
139762 --
139763 -- set accounting class
139764 --
139765 xla_ae_lines_pkg.SetAcctClass(
139766 p_accounting_class_code => 'AWT'
139767 , p_ae_header_id => l_ae_header_id
139768 );
139769
139770 --
139771 -- set rounding class
139772 --
139773 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
139774 'AWT';
139775
139776 --
139777 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
139778 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
139779 --
139780 -- bulk performance
139781 --
139782 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
139783
139784 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
139785 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
139786
139787 -- 4955764
139788 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
139789 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
139790
139791 -- 4458381 Public Sector Enh
139792
139793 --
139797 l_accted_amt_idx := 15;
139794 -- set accounting attributes for the line type
139795 --
139796 l_entered_amt_idx := 10;
139798 l_bflow_applied_to_amt_idx := 2; -- 5132302
139799 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
139800 l_rec_acct_attrs.array_char_value(1) := p_source_53;
139801 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
139802 l_rec_acct_attrs.array_num_value(2) := p_source_124;
139803 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
139804 l_rec_acct_attrs.array_num_value(3) := p_source_91;
139805 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
139806 l_rec_acct_attrs.array_char_value(4) := p_source_92;
139807 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
139808 l_rec_acct_attrs.array_char_value(5) := p_source_93;
139809 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
139810 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
139811 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
139812 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
139813 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
139814 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_104);
139815 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
139816 l_rec_acct_attrs.array_char_value(9) := p_source_55;
139817 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
139818 l_rec_acct_attrs.array_num_value(10) := p_source_99;
139819 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
139820 l_rec_acct_attrs.array_char_value(11) := p_source_13;
139821 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
139822 l_rec_acct_attrs.array_date_value(12) := p_source_143;
139823 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
139824 l_rec_acct_attrs.array_num_value(13) := p_source_144;
139825 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
139826 l_rec_acct_attrs.array_char_value(14) := p_source_145;
139827 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
139828 l_rec_acct_attrs.array_num_value(15) := p_source_116;
139829 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
139830 l_rec_acct_attrs.array_char_value(16) := p_source_80;
139831 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
139832 l_rec_acct_attrs.array_num_value(17) := p_source_110;
139833 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
139834 l_rec_acct_attrs.array_num_value(18) := p_source_111;
139835 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
139836 l_rec_acct_attrs.array_char_value(19) := p_source_83;
139837 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
139838 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_112);
139839 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
139840 l_rec_acct_attrs.array_char_value(21) := p_source_55;
139841 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
139842 l_rec_acct_attrs.array_num_value(22) := p_source_86;
139843 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
139844 l_rec_acct_attrs.array_num_value(23) := p_source_87;
139845 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
139846 l_rec_acct_attrs.array_num_value(24) := p_source_88;
139847
139848 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
139849 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
139850
139851 ---------------------------------------------------------------------------------------------------------------
139852 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
139853 ---------------------------------------------------------------------------------------------------------------
139854 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
139855
139856 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
139857 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
139858
139859 IF xla_accounting_cache_pkg.GetValueChar
139860 (p_source_code => 'LEDGER_CATEGORY_CODE'
139861 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
139862 AND l_bflow_method_code = 'PRIOR_ENTRY'
139863 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
139864 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
139865 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
139866 )
139867 THEN
139868 xla_ae_lines_pkg.BflowUpgEntry
139869 (p_business_method_code => l_bflow_method_code
139870 ,p_business_class_code => l_bflow_class_code
139871 ,p_balance_type => l_balance_type_code);
139872 ELSE
139873 NULL;
139874 -- No business flow processing for business flow method of NONE.
139875 END IF;
139876
139877 --
139878 -- call analytical criteria
139879 --
139880
139881 --
139882 -- call description
139883 --
139884 -- No description or it is inherited.
139885 --
139886 -- call ADRs
139887 -- Bug 4922099
139888 --
139889 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
139890 (NVL(l_actual_upg_option, 'N') = 'O') OR
139891 (NVL(l_enc_upg_option, 'N') = 'O')
139895 --
139892 )
139893 THEN
139894 NULL;
139896 --
139897
139898 l_ccid := AcctDerRule_46(
139899 p_application_id => p_application_id
139900 , p_ae_header_id => l_ae_header_id
139901 , p_source_15 => p_source_15
139902 , p_source_15_meaning => p_source_15_meaning
139903 , p_source_30 => p_source_30
139904 , p_source_43 => p_source_43
139905 , x_transaction_coa_id => l_adr_transaction_coa_id
139906 , x_accounting_coa_id => l_adr_accounting_coa_id
139907 , x_value_type_code => l_adr_value_type_code
139908 , p_side => 'NA'
139909 );
139910
139911 xla_ae_lines_pkg.set_ccid(
139912 p_code_combination_id => l_ccid
139913 , p_value_type_code => l_adr_value_type_code
139914 , p_transaction_coa_id => l_adr_transaction_coa_id
139915 , p_accounting_coa_id => l_adr_accounting_coa_id
139916 , p_adr_code => 'AP_WH_DIST_ACCT'
139917 , p_adr_type_code => 'S'
139918 , p_component_type => l_component_type
139919 , p_component_code => l_component_code
139920 , p_component_type_code => l_component_type_code
139921 , p_component_appl_id => l_component_appl_id
139922 , p_amb_context_code => l_amb_context_code
139923 , p_side => 'NA'
139924 );
139925
139926
139927 l_segment := AcctDerRule_14(
139928 p_application_id => p_application_id
139929 , p_ae_header_id => l_ae_header_id
139930 , p_source_15 => p_source_15
139931 , p_source_15_meaning => p_source_15_meaning
139932 , p_source_30 => p_source_30
139933 , x_transaction_coa_id => l_adr_transaction_coa_id
139934 , x_accounting_coa_id => l_adr_accounting_coa_id
139935 , x_flexfield_segment_code => l_adr_flexfield_segment_code
139936 , x_flex_value_set_id => l_adr_flex_value_set_id
139937 , x_value_type_code => l_adr_value_type_code
139938 , x_value_combination_id => l_adr_value_combination_id
139939 , x_value_segment_code => l_adr_value_segment_code
139940 , p_side => 'NA'
139941 , p_override_seg_flag => 'Y'
139942 );
139943
139944 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
139945
139946 xla_ae_lines_pkg.set_segment(
139947 p_to_segment_code => 'GL_ACCOUNT'
139948 , p_segment_value => l_segment
139949 , p_from_segment_code => l_adr_value_segment_code
139950 , p_from_combination_id => l_adr_value_combination_id
139951 , p_value_type_code => l_adr_value_type_code
139952 , p_transaction_coa_id => l_adr_transaction_coa_id
139953 , p_accounting_coa_id => l_adr_accounting_coa_id
139954 , p_flexfield_segment_code => l_adr_flexfield_segment_code
139955 , p_flex_value_set_id => l_adr_flex_value_set_id
139956 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
139957 , p_adr_type_code => 'S'
139958 , p_component_type => l_component_type
139959 , p_component_code => l_component_code
139960 , p_component_type_code => l_component_type_code
139961 , p_component_appl_id => l_component_appl_id
139962 , p_amb_context_code => l_amb_context_code
139963 , p_entity_code => 'AP_PAYMENTS'
139964 , p_event_class_code => 'PAYMENTS'
139965 , p_side => 'NA'
139966 );
139967
139968 END IF;
139969
139970 l_segment := AcctDerRule_25(
139971 p_application_id => p_application_id
139972 , p_ae_header_id => l_ae_header_id
139973 , p_source_15 => p_source_15
139974 , p_source_15_meaning => p_source_15_meaning
139975 , p_source_43 => p_source_43
139976 , x_transaction_coa_id => l_adr_transaction_coa_id
139977 , x_accounting_coa_id => l_adr_accounting_coa_id
139978 , x_flexfield_segment_code => l_adr_flexfield_segment_code
139979 , x_flex_value_set_id => l_adr_flex_value_set_id
139980 , x_value_type_code => l_adr_value_type_code
139981 , x_value_combination_id => l_adr_value_combination_id
139982 , x_value_segment_code => l_adr_value_segment_code
139983 , p_side => 'NA'
139984 , p_override_seg_flag => 'Y'
139985 );
139986
139987 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
139988
139989 xla_ae_lines_pkg.set_segment(
139990 p_to_segment_code => 'GL_BALANCING'
139991 , p_segment_value => l_segment
139992 , p_from_segment_code => l_adr_value_segment_code
139993 , p_from_combination_id => l_adr_value_combination_id
139994 , p_value_type_code => l_adr_value_type_code
139995 , p_transaction_coa_id => l_adr_transaction_coa_id
139996 , p_accounting_coa_id => l_adr_accounting_coa_id
139997 , p_flexfield_segment_code => l_adr_flexfield_segment_code
139998 , p_flex_value_set_id => l_adr_flex_value_set_id
139999 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
140000 , p_adr_type_code => 'S'
140001 , p_component_type => l_component_type
140002 , p_component_code => l_component_code
140003 , p_component_type_code => l_component_type_code
140007 , p_event_class_code => 'PAYMENTS'
140004 , p_component_appl_id => l_component_appl_id
140005 , p_amb_context_code => l_amb_context_code
140006 , p_entity_code => 'AP_PAYMENTS'
140008 , p_side => 'NA'
140009 );
140010
140011 END IF;
140012
140013 --
140014 --
140015 END IF;
140016 --
140017 -- Bug 4922099
140018 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
140019 (NVL(l_enc_upg_option, 'N') = 'O')
140020 ) AND
140021 (l_bflow_method_code = 'PRIOR_ENTRY')
140022 )
140023 THEN
140024 IF
140025 --
140026 1 = 2
140027 --
140028 THEN
140029 xla_accounting_err_pkg.build_message
140030 (p_appli_s_name => 'XLA'
140031 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
140032 ,p_token_1 => 'LINE_NUMBER'
140033 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
140034 ,p_token_2 => 'LINE_TYPE_NAME'
140035 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
140036 l_component_type
140037 ,l_component_code
140038 ,l_component_type_code
140039 ,l_component_appl_id
140040 ,l_amb_context_code
140041 ,l_entity_code
140042 ,l_event_class_code
140043 )
140044 ,p_token_3 => 'OWNER'
140045 ,p_value_3 => xla_lookups_pkg.get_meaning(
140046 p_lookup_type => 'XLA_OWNER_TYPE'
140047 ,p_lookup_code => l_component_type_code
140048 )
140049 ,p_token_4 => 'PRODUCT_NAME'
140050 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
140051 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
140052 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
140053 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
140054 ,p_ae_header_id => NULL
140055 );
140056
140057 IF (C_LEVEL_ERROR>= g_log_level) THEN
140058 trace
140059 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
140060 ,p_level => C_LEVEL_ERROR
140061 ,p_module => l_log_module);
140062 END IF;
140063 END IF;
140064 END IF;
140065 --
140066 --
140067 ------------------------------------------------------------------------------------------------
140068 -- 4219869 Business Flow
140069 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
140070 -- Prior Entry. Currently, the following code is always generated.
140071 ------------------------------------------------------------------------------------------------
140072 XLA_AE_LINES_PKG.ValidateCurrentLine;
140073
140074 ------------------------------------------------------------------------------------
140075 -- 4219869 Business Flow
140076 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
140077 ------------------------------------------------------------------------------------
140078 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
140079
140080 ----------------------------------------------------------------------------------
140081 -- 4219869 Business Flow
140082 -- Update journal entry status -- Need to generate this within IF <condition>
140083 ----------------------------------------------------------------------------------
140084 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
140085 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
140086 ,p_balance_type_code => l_balance_type_code
140087 );
140088
140089 -------------------------------------------------------------------------------------------
140090 -- 4262811 - Generate the Accrual Reversal lines
140091 -------------------------------------------------------------------------------------------
140092 BEGIN
140093 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
140094 (g_array_event(p_event_id).array_value_num('header_index'));
140095 IF l_acc_rev_flag IS NULL THEN
140096 l_acc_rev_flag := 'N';
140097 END IF;
140098 EXCEPTION
140099 WHEN OTHERS THEN
140100 l_acc_rev_flag := 'N';
140101 END;
140102 --
140106 -- To allow MPA report to determine if it should generate report process
140103 IF (l_acc_rev_flag = 'Y') THEN
140104
140105 -- 4645092 ------------------------------------------------------------------------------
140107 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
140108 ------------------------------------------------------------------------------------------
140109
140110 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
140111 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
140112 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
140113 -- call ADRs
140114 -- Bug 4922099
140115 --
140116 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
140117 (NVL(l_actual_upg_option, 'N') = 'O') OR
140118 (NVL(l_enc_upg_option, 'N') = 'O')
140119 )
140120 THEN
140121 NULL;
140122 --
140123 --
140124
140125 l_ccid := AcctDerRule_46(
140126 p_application_id => p_application_id
140127 , p_ae_header_id => l_ae_header_id
140128 , p_source_15 => p_source_15
140129 , p_source_15_meaning => p_source_15_meaning
140130 , p_source_30 => p_source_30
140131 , p_source_43 => p_source_43
140132 , x_transaction_coa_id => l_adr_transaction_coa_id
140133 , x_accounting_coa_id => l_adr_accounting_coa_id
140134 , x_value_type_code => l_adr_value_type_code
140135 , p_side => 'NA'
140136 );
140137
140138 xla_ae_lines_pkg.set_ccid(
140139 p_code_combination_id => l_ccid
140140 , p_value_type_code => l_adr_value_type_code
140141 , p_transaction_coa_id => l_adr_transaction_coa_id
140142 , p_accounting_coa_id => l_adr_accounting_coa_id
140143 , p_adr_code => 'AP_WH_DIST_ACCT'
140144 , p_adr_type_code => 'S'
140145 , p_component_type => l_component_type
140146 , p_component_code => l_component_code
140147 , p_component_type_code => l_component_type_code
140148 , p_component_appl_id => l_component_appl_id
140149 , p_amb_context_code => l_amb_context_code
140150 , p_side => 'NA'
140151 );
140152
140153
140154 l_segment := AcctDerRule_14(
140155 p_application_id => p_application_id
140156 , p_ae_header_id => l_ae_header_id
140157 , p_source_15 => p_source_15
140158 , p_source_15_meaning => p_source_15_meaning
140159 , p_source_30 => p_source_30
140160 , x_transaction_coa_id => l_adr_transaction_coa_id
140161 , x_accounting_coa_id => l_adr_accounting_coa_id
140162 , x_flexfield_segment_code => l_adr_flexfield_segment_code
140163 , x_flex_value_set_id => l_adr_flex_value_set_id
140164 , x_value_type_code => l_adr_value_type_code
140165 , x_value_combination_id => l_adr_value_combination_id
140166 , x_value_segment_code => l_adr_value_segment_code
140167 , p_side => 'NA'
140168 , p_override_seg_flag => 'Y'
140169 );
140170
140171 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
140172
140173 xla_ae_lines_pkg.set_segment(
140174 p_to_segment_code => 'GL_ACCOUNT'
140175 , p_segment_value => l_segment
140176 , p_from_segment_code => l_adr_value_segment_code
140177 , p_from_combination_id => l_adr_value_combination_id
140178 , p_value_type_code => l_adr_value_type_code
140179 , p_transaction_coa_id => l_adr_transaction_coa_id
140180 , p_accounting_coa_id => l_adr_accounting_coa_id
140181 , p_flexfield_segment_code => l_adr_flexfield_segment_code
140182 , p_flex_value_set_id => l_adr_flex_value_set_id
140183 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
140184 , p_adr_type_code => 'S'
140185 , p_component_type => l_component_type
140186 , p_component_code => l_component_code
140187 , p_component_type_code => l_component_type_code
140188 , p_component_appl_id => l_component_appl_id
140189 , p_amb_context_code => l_amb_context_code
140190 , p_entity_code => 'AP_PAYMENTS'
140191 , p_event_class_code => 'PAYMENTS'
140192 , p_side => 'NA'
140193 );
140194
140195 END IF;
140196
140197 l_segment := AcctDerRule_25(
140198 p_application_id => p_application_id
140199 , p_ae_header_id => l_ae_header_id
140200 , p_source_15 => p_source_15
140201 , p_source_15_meaning => p_source_15_meaning
140202 , p_source_43 => p_source_43
140203 , x_transaction_coa_id => l_adr_transaction_coa_id
140204 , x_accounting_coa_id => l_adr_accounting_coa_id
140205 , x_flexfield_segment_code => l_adr_flexfield_segment_code
140206 , x_flex_value_set_id => l_adr_flex_value_set_id
140207 , x_value_type_code => l_adr_value_type_code
140208 , x_value_combination_id => l_adr_value_combination_id
140209 , x_value_segment_code => l_adr_value_segment_code
140210 , p_side => 'NA'
140211 , p_override_seg_flag => 'Y'
140212 );
140213
140214 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
140215
140219 , p_from_segment_code => l_adr_value_segment_code
140216 xla_ae_lines_pkg.set_segment(
140217 p_to_segment_code => 'GL_BALANCING'
140218 , p_segment_value => l_segment
140220 , p_from_combination_id => l_adr_value_combination_id
140221 , p_value_type_code => l_adr_value_type_code
140222 , p_transaction_coa_id => l_adr_transaction_coa_id
140223 , p_accounting_coa_id => l_adr_accounting_coa_id
140224 , p_flexfield_segment_code => l_adr_flexfield_segment_code
140225 , p_flex_value_set_id => l_adr_flex_value_set_id
140226 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
140227 , p_adr_type_code => 'S'
140228 , p_component_type => l_component_type
140229 , p_component_code => l_component_code
140230 , p_component_type_code => l_component_type_code
140231 , p_component_appl_id => l_component_appl_id
140232 , p_amb_context_code => l_amb_context_code
140233 , p_entity_code => 'AP_PAYMENTS'
140234 , p_event_class_code => 'PAYMENTS'
140235 , p_side => 'NA'
140236 );
140237
140238 END IF;
140239
140240 --
140241 --
140242 END IF;
140243
140244 --
140245 -- Update the line information that should be overwritten
140246 --
140247 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
140248 p_header_num => 1);
140249 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
140250
140251 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
140252
140253 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
140254 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
140255 END IF;
140256
140257 --
140258 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
140259 --
140260 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
140261 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
140262 ELSE
140263 ---------------------------------------------------------------------------------------------------
140264 -- 4262811a Switch Sign
140265 ---------------------------------------------------------------------------------------------------
140266 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
140267 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
140268 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
140269 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
140270 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
140271 -- 5132302
140272 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
140273 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
140274
140275 END IF;
140276
140277 -- 4955764
140278 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
140279 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
140280
140281
140282 XLA_AE_LINES_PKG.ValidateCurrentLine;
140283 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
140284
140285 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
140286 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
140287 ,p_balance_type_code => l_balance_type_code);
140288
140289 END IF;
140290
140291 -----------------------------------------------------------------------------------------
140292 -- 4262811 Multiperiod Accounting
140293 -----------------------------------------------------------------------------------------
140294 -- No MPA option is assigned.
140295
140296
140297 END IF;
140298 END IF;
140299 --
140300
140301 --
140302 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
140303 trace
140304 (p_msg => 'END of AcctLineType_225'
140305 ,p_level => C_LEVEL_PROCEDURE
140306 ,p_module => l_log_module);
140307 END IF;
140308 --
140309 EXCEPTION
140310 WHEN xla_exceptions_pkg.application_exception THEN
140311 RAISE;
140312 WHEN OTHERS THEN
140313 xla_exceptions_pkg.raise_message
140314 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_225');
140315 END AcctLineType_225;
140316 --
140317
140318 ---------------------------------------
140319 --
140320 -- PRIVATE FUNCTION
140321 -- AcctLineType_226
140322 --
140323 ---------------------------------------
140324 PROCEDURE AcctLineType_226 (
140325 p_application_id IN NUMBER
140326 ,p_event_id IN NUMBER
140327 ,p_calculate_acctd_flag IN VARCHAR2
140328 ,p_calculate_g_l_flag IN VARCHAR2
140329 ,p_actual_flag IN OUT VARCHAR2
140330 ,p_balance_type_code OUT VARCHAR2
140331 ,p_gain_or_loss_ref OUT VARCHAR2
140332
140333 --Invoice Distribution Description
140337 , p_source_15_meaning IN VARCHAR2
140334 , p_source_1 IN VARCHAR2
140335 --Automatic Offsets Value
140336 , p_source_15 IN VARCHAR2
140338 --Invoice Distribution Ledger Amount
140339 , p_source_21 IN NUMBER
140340 --Invoice Distribution Account
140341 , p_source_30 IN NUMBER
140342 --Invoice Distribution Type
140343 , p_source_33 IN VARCHAR2
140344 , p_source_33_meaning IN VARCHAR2
140345 --Withholding Related Distribution Account
140346 , p_source_43 IN NUMBER
140347 --Accounting Reversal Indicator
140348 , p_source_53 IN VARCHAR2
140349 --Distribution Link Type
140350 , p_source_55 IN VARCHAR2
140351 --Allocation to Main Distribution Identifier
140352 , p_source_57 IN NUMBER
140353 --Invoice Identifier
140354 , p_source_58 IN NUMBER
140355 --Invoice Distribution Identifier
140356 , p_source_64 IN NUMBER
140357 --Payables Encumbrance Upgrade Credit Account
140358 , p_source_65 IN NUMBER
140359 --Payables Encumbrance Upgrade Credit Amount
140360 , p_source_66 IN NUMBER
140361 --Invoice Currency Code
140362 , p_source_67 IN VARCHAR2
140363 --Payables Encumbrance Upgrade Credit Base Amount
140364 , p_source_68 IN NUMBER
140365 --Payables Encumbrance Upgrade Debit Account
140366 , p_source_69 IN NUMBER
140367 --Payables Encumbrance Upgrade Debit Amount
140368 , p_source_70 IN NUMBER
140369 --Payables Encumbrance Upgrade Debit Base Amount
140370 , p_source_71 IN NUMBER
140371 --Payables Encumbrance Upgrade Option
140372 , p_source_72 IN VARCHAR2
140373 --Invoice Distribution Amount
140374 , p_source_73 IN NUMBER
140375 --Deferred Accounting End Date
140376 , p_source_77 IN DATE
140377 --Deferred Accounting Option
140378 , p_source_78 IN VARCHAR2
140379 --Deferred Accounting Start Date
140380 , p_source_79 IN DATE
140381 --Override Accounted Amount Indicator
140382 , p_source_80 IN VARCHAR2
140383 , p_source_80_meaning IN VARCHAR2
140384 --Invoice Supplier Identifier
140385 , p_source_81 IN NUMBER
140386 --Invoice Supplier Site Identifier
140387 , p_source_82 IN NUMBER
140388 --Third Party Type
140389 , p_source_83 IN VARCHAR2
140390 --Parent Reversal Identifier
140391 , p_source_84 IN NUMBER
140392 --Invoice Distribution Statistical Amount
140393 , p_source_85 IN NUMBER
140394 --Invoice Distribution Tax Line Identifier
140395 , p_source_86 IN NUMBER
140396 --Invoice Distribution Tax Distribution Identifier from Tax
140397 , p_source_87 IN NUMBER
140398 --Invoice Distribution Summary Tax Line Identifier
140399 , p_source_88 IN NUMBER
140400 --Payables Upgrade Credit Encumbrance Type Identifier
140401 , p_source_89 IN NUMBER
140402 --Payables Upgrade Debit Encumbrance Type Identifier
140403 , p_source_90 IN NUMBER
140404 --Business Flow Accounts Payable Application Identifier
140405 , p_source_91 IN NUMBER
140406 --Business Flow Invoice Distribution Type
140407 , p_source_92 IN VARCHAR2
140408 --Business Flow Invoice Entity Code
140409 , p_source_93 IN VARCHAR2
140410 --Business Flow Invoice Distribution Identifier
140411 , p_source_94 IN NUMBER
140412 --Business Flow Invoice Identifier
140413 , p_source_95 IN NUMBER
140414 --Invoice Exchange Date
140415 , p_source_143 IN DATE
140416 --Invoice Exchange Rate
140417 , p_source_144 IN NUMBER
140418 --Invoice Exchange Rate Type
140419 , p_source_145 IN VARCHAR2
140420 )
140421 IS
140422
140423 l_component_type VARCHAR2(80);
140424 l_component_code VARCHAR2(30);
140425 l_component_type_code VARCHAR2(1);
140426 l_component_appl_id INTEGER;
140427 l_amb_context_code VARCHAR2(30);
140428 l_entity_code VARCHAR2(30);
140429 l_event_class_code VARCHAR2(30);
140430 l_ae_header_id NUMBER;
140431 l_event_type_code VARCHAR2(30);
140432 l_line_definition_code VARCHAR2(30);
140433 l_line_definition_owner_code VARCHAR2(1);
140434 --
140435 -- adr variables
140436 l_segment VARCHAR2(30);
140437 l_ccid NUMBER;
140438 l_adr_transaction_coa_id NUMBER;
140439 l_adr_accounting_coa_id NUMBER;
140440 l_adr_flexfield_segment_code VARCHAR2(30);
140441 l_adr_flex_value_set_id NUMBER;
140442 l_adr_value_type_code VARCHAR2(30);
140443 l_adr_value_combination_id NUMBER;
140444 l_adr_value_segment_code VARCHAR2(30);
140445
140446 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
140447 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
140448 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
140449 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
140450
140451 -- 4262811 Variables ------------------------------------------------------------------------------------------
140452 l_entered_amt_idx NUMBER;
140453 l_accted_amt_idx NUMBER;
140454 l_acc_rev_flag VARCHAR2(1);
140455 l_accrual_line_num NUMBER;
140456 l_tmp_amt NUMBER;
140457 l_acc_rev_natural_side_code VARCHAR2(1);
140458
140459 l_num_entries NUMBER;
140460 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
140464 l_recog_line_1 NUMBER;
140461 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
140462 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
140463 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
140465 l_recog_line_2 NUMBER;
140466
140467 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
140468 l_bflow_applied_to_amt NUMBER; -- 5132302
140469 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
140470
140471 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
140472
140473 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
140474 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
140475
140476 ---------------------------------------------------------------------------------------------------------------
140477
140478
140479 --
140480 -- bulk performance
140481 --
140482 l_balance_type_code VARCHAR2(1);
140483 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
140484 l_log_module VARCHAR2(240);
140485
140486 --
140487 -- Upgrade strategy
140488 --
140489 l_actual_upg_option VARCHAR2(1);
140490 l_enc_upg_option VARCHAR2(1);
140491
140492 --
140493 BEGIN
140494 --
140495 IF g_log_enabled THEN
140496 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_226';
140497 END IF;
140498 --
140499 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
140500
140501 trace
140502 (p_msg => 'BEGIN of AcctLineType_226'
140503 ,p_level => C_LEVEL_PROCEDURE
140504 ,p_module => l_log_module);
140505
140506 END IF;
140507 --
140508 l_component_type := 'AMB_JLT';
140509 l_component_code := 'AP_WITHHOLD_TAX_CM';
140510 l_component_type_code := 'S';
140511 l_component_appl_id := 200;
140512 l_amb_context_code := 'DEFAULT';
140513 l_entity_code := 'AP_INVOICES';
140514 l_event_class_code := 'CREDIT MEMOS';
140515 l_event_type_code := 'CREDIT MEMOS_ALL';
140516 l_line_definition_owner_code := 'S';
140517 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
140518 --
140519 l_balance_type_code := 'A';
140520 l_segment := NULL;
140521 l_ccid := NULL;
140522 l_adr_transaction_coa_id := NULL;
140523 l_adr_accounting_coa_id := NULL;
140524 l_adr_flexfield_segment_code := NULL;
140525 l_adr_flex_value_set_id := NULL;
140526 l_adr_value_type_code := NULL;
140527 l_adr_value_combination_id := NULL;
140528 l_adr_value_segment_code := NULL;
140529
140530 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
140531 l_bflow_class_code := ''; -- 4219869 Business Flow
140532 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
140533 l_budgetary_control_flag := 'N';
140534
140535 l_bflow_applied_to_amt_idx := NULL; -- 5132302
140536 l_bflow_applied_to_amt := NULL; -- 5132302
140537 l_entered_amt_idx := NULL; -- 4262811
140538 l_accted_amt_idx := NULL; -- 4262811
140539 l_acc_rev_flag := NULL; -- 4262811
140540 l_accrual_line_num := NULL; -- 4262811
140541 l_tmp_amt := NULL; -- 4262811
140542 --
140543
140544 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
140545 l_balance_type_code <> 'B' THEN
140546 IF NVL(p_source_33,'
140547 ') = 'AWT'
140548 THEN
140549
140550 --
140551 XLA_AE_LINES_PKG.SetNewLine;
140552
140553 p_balance_type_code := l_balance_type_code;
140554 -- set the flag so later we will know whether the gain loss line needs to be created
140555
140556 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
140557 p_actual_flag :='A';
140558 END IF;
140559
140560 --
140561 -- bulk performance
140562 --
140563 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
140564 p_header_num => 0); -- 4262811
140565 --
140566 -- set accounting line options
140567 --
140568 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
140569 p_natural_side_code => 'D'
140570 , p_gain_or_loss_flag => 'N'
140571 , p_gl_transfer_mode_code => 'S'
140572 , p_acct_entry_type_code => 'A'
140573 , p_switch_side_flag => 'Y'
140574 , p_merge_duplicate_code => 'A'
140575 );
140576 --
140577 l_acc_rev_natural_side_code := 'C'; -- 4262811
140578 --
140579 --
140580 -- set accounting line type info
140581 --
140582 xla_ae_lines_pkg.SetAcctLineType
140583 (p_component_type => l_component_type
140584 ,p_event_type_code => l_event_type_code
140585 ,p_line_definition_owner_code => l_line_definition_owner_code
140586 ,p_line_definition_code => l_line_definition_code
140587 ,p_accounting_line_code => l_component_code
140588 ,p_accounting_line_type_code => l_component_type_code
140589 ,p_accounting_line_appl_id => l_component_appl_id
140590 ,p_amb_context_code => l_amb_context_code
140591 ,p_entity_code => l_entity_code
140595 --
140592 ,p_event_class_code => l_event_class_code);
140593 --
140594 -- set accounting class
140596 xla_ae_lines_pkg.SetAcctClass(
140597 p_accounting_class_code => 'AWT'
140598 , p_ae_header_id => l_ae_header_id
140599 );
140600
140601 --
140602 -- set rounding class
140603 --
140604 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
140605 'AWT';
140606
140607 --
140608 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
140609 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
140610 --
140611 -- bulk performance
140612 --
140613 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
140614
140615 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
140616 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
140617
140618 -- 4955764
140619 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
140620 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
140621
140622 -- 4458381 Public Sector Enh
140623
140624 --
140625 -- set accounting attributes for the line type
140626 --
140627 l_entered_amt_idx := 23;
140628 l_accted_amt_idx := 28;
140629 l_bflow_applied_to_amt_idx := NULL; -- 5132302
140630 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
140631 l_rec_acct_attrs.array_char_value(1) := p_source_53;
140632 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
140633 l_rec_acct_attrs.array_num_value(2) :=
140634 xla_ae_sources_pkg.GetSystemSourceNum(
140635 p_source_code => 'XLA_EVENT_APPL_ID'
140636 , p_source_type_code => 'Y'
140637 , p_source_application_id => 602
140638 );
140639 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
140640 l_rec_acct_attrs.array_char_value(3) := p_source_55;
140641 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
140642 l_rec_acct_attrs.array_char_value(4) :=
140643 xla_ae_sources_pkg.GetSystemSourceChar(
140644 p_source_code => 'XLA_ENTITY_CODE'
140645 , p_source_type_code => 'Y'
140646 , p_source_application_id => 602
140647 );
140648 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
140649 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
140650 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
140651 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
140652 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
140653 l_rec_acct_attrs.array_num_value(7) := p_source_91;
140654 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
140655 l_rec_acct_attrs.array_char_value(8) := p_source_92;
140656 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
140657 l_rec_acct_attrs.array_char_value(9) := p_source_93;
140658 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
140659 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
140660 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
140661 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
140662 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
140663 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
140664 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
140665 l_rec_acct_attrs.array_char_value(13) := p_source_55;
140666 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
140667 l_rec_acct_attrs.array_num_value(14) := p_source_65;
140668 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
140669 l_rec_acct_attrs.array_num_value(15) := p_source_66;
140670 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
140671 l_rec_acct_attrs.array_char_value(16) := p_source_67;
140672 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
140673 l_rec_acct_attrs.array_num_value(17) := p_source_68;
140674 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
140675 l_rec_acct_attrs.array_num_value(18) := p_source_69;
140676 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
140677 l_rec_acct_attrs.array_num_value(19) := p_source_70;
140678 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
140679 l_rec_acct_attrs.array_char_value(20) := p_source_67;
140680 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
140681 l_rec_acct_attrs.array_num_value(21) := p_source_71;
140682 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
140683 l_rec_acct_attrs.array_char_value(22) := p_source_72;
140684 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
140685 l_rec_acct_attrs.array_num_value(23) := p_source_73;
140686 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
140687 l_rec_acct_attrs.array_char_value(24) := p_source_67;
140688 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
140689 l_rec_acct_attrs.array_date_value(25) := p_source_143;
140690 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
140691 l_rec_acct_attrs.array_num_value(26) := p_source_144;
140692 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
140696 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
140693 l_rec_acct_attrs.array_char_value(27) := p_source_145;
140694 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
140695 l_rec_acct_attrs.array_num_value(28) := p_source_21;
140697 l_rec_acct_attrs.array_date_value(29) := p_source_77;
140698 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
140699 l_rec_acct_attrs.array_char_value(30) := p_source_78;
140700 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
140701 l_rec_acct_attrs.array_date_value(31) := p_source_79;
140702 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
140703 l_rec_acct_attrs.array_char_value(32) := p_source_80;
140704 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
140705 l_rec_acct_attrs.array_num_value(33) := p_source_81;
140706 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
140707 l_rec_acct_attrs.array_num_value(34) := p_source_82;
140708 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
140709 l_rec_acct_attrs.array_char_value(35) := p_source_83;
140710 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
140711 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
140712 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
140713 l_rec_acct_attrs.array_char_value(37) := p_source_55;
140714 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
140715 l_rec_acct_attrs.array_num_value(38) := p_source_85;
140716 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
140717 l_rec_acct_attrs.array_num_value(39) := p_source_86;
140718 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
140719 l_rec_acct_attrs.array_num_value(40) := p_source_87;
140720 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
140721 l_rec_acct_attrs.array_num_value(41) := p_source_88;
140722 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
140723 l_rec_acct_attrs.array_num_value(42) := p_source_89;
140724 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
140725 l_rec_acct_attrs.array_num_value(43) := p_source_90;
140726
140727 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
140728 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
140729
140730 ---------------------------------------------------------------------------------------------------------------
140731 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
140732 ---------------------------------------------------------------------------------------------------------------
140733 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
140734
140735 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
140736 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
140737
140738 IF xla_accounting_cache_pkg.GetValueChar
140739 (p_source_code => 'LEDGER_CATEGORY_CODE'
140740 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
140741 AND l_bflow_method_code = 'PRIOR_ENTRY'
140742 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
140743 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
140744 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
140745 )
140746 THEN
140747 xla_ae_lines_pkg.BflowUpgEntry
140748 (p_business_method_code => l_bflow_method_code
140749 ,p_business_class_code => l_bflow_class_code
140750 ,p_balance_type => l_balance_type_code);
140751 ELSE
140752 NULL;
140753 -- No business flow processing for business flow method of NONE.
140754 END IF;
140755
140756 --
140757 -- call analytical criteria
140758 --
140759
140760 --
140761 -- call description
140762 --
140763
140764 xla_ae_lines_pkg.SetLineDescription(
140765 p_ae_header_id => l_ae_header_id
140766 ,p_description => Description_1 (
140767 p_application_id => p_application_id
140768 , p_ae_header_id => l_ae_header_id
140769 , p_source_1 => p_source_1
140770 )
140771 );
140772
140773
140774 --
140775 -- call ADRs
140776 -- Bug 4922099
140777 --
140778 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
140779 (NVL(l_actual_upg_option, 'N') = 'O') OR
140780 (NVL(l_enc_upg_option, 'N') = 'O')
140781 )
140782 THEN
140783 NULL;
140784 --
140785 --
140786
140787 l_ccid := AcctDerRule_46(
140788 p_application_id => p_application_id
140789 , p_ae_header_id => l_ae_header_id
140790 , p_source_15 => p_source_15
140791 , p_source_15_meaning => p_source_15_meaning
140792 , p_source_30 => p_source_30
140793 , p_source_43 => p_source_43
140794 , x_transaction_coa_id => l_adr_transaction_coa_id
140795 , x_accounting_coa_id => l_adr_accounting_coa_id
140796 , x_value_type_code => l_adr_value_type_code
140797 , p_side => 'NA'
140798 );
140799
140800 xla_ae_lines_pkg.set_ccid(
140801 p_code_combination_id => l_ccid
140802 , p_value_type_code => l_adr_value_type_code
140803 , p_transaction_coa_id => l_adr_transaction_coa_id
140807 , p_component_type => l_component_type
140804 , p_accounting_coa_id => l_adr_accounting_coa_id
140805 , p_adr_code => 'AP_WH_DIST_ACCT'
140806 , p_adr_type_code => 'S'
140808 , p_component_code => l_component_code
140809 , p_component_type_code => l_component_type_code
140810 , p_component_appl_id => l_component_appl_id
140811 , p_amb_context_code => l_amb_context_code
140812 , p_side => 'NA'
140813 );
140814
140815
140816 l_segment := AcctDerRule_14(
140817 p_application_id => p_application_id
140818 , p_ae_header_id => l_ae_header_id
140819 , p_source_15 => p_source_15
140820 , p_source_15_meaning => p_source_15_meaning
140821 , p_source_30 => p_source_30
140822 , x_transaction_coa_id => l_adr_transaction_coa_id
140823 , x_accounting_coa_id => l_adr_accounting_coa_id
140824 , x_flexfield_segment_code => l_adr_flexfield_segment_code
140825 , x_flex_value_set_id => l_adr_flex_value_set_id
140826 , x_value_type_code => l_adr_value_type_code
140827 , x_value_combination_id => l_adr_value_combination_id
140828 , x_value_segment_code => l_adr_value_segment_code
140829 , p_side => 'NA'
140830 , p_override_seg_flag => 'Y'
140831 );
140832
140833 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
140834
140835 xla_ae_lines_pkg.set_segment(
140836 p_to_segment_code => 'GL_ACCOUNT'
140837 , p_segment_value => l_segment
140838 , p_from_segment_code => l_adr_value_segment_code
140839 , p_from_combination_id => l_adr_value_combination_id
140840 , p_value_type_code => l_adr_value_type_code
140841 , p_transaction_coa_id => l_adr_transaction_coa_id
140842 , p_accounting_coa_id => l_adr_accounting_coa_id
140843 , p_flexfield_segment_code => l_adr_flexfield_segment_code
140844 , p_flex_value_set_id => l_adr_flex_value_set_id
140845 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
140846 , p_adr_type_code => 'S'
140847 , p_component_type => l_component_type
140848 , p_component_code => l_component_code
140849 , p_component_type_code => l_component_type_code
140850 , p_component_appl_id => l_component_appl_id
140851 , p_amb_context_code => l_amb_context_code
140852 , p_entity_code => 'AP_INVOICES'
140853 , p_event_class_code => 'CREDIT MEMOS'
140854 , p_side => 'NA'
140855 );
140856
140857 END IF;
140858
140859 l_segment := AcctDerRule_25(
140860 p_application_id => p_application_id
140861 , p_ae_header_id => l_ae_header_id
140862 , p_source_15 => p_source_15
140863 , p_source_15_meaning => p_source_15_meaning
140864 , p_source_43 => p_source_43
140865 , x_transaction_coa_id => l_adr_transaction_coa_id
140866 , x_accounting_coa_id => l_adr_accounting_coa_id
140867 , x_flexfield_segment_code => l_adr_flexfield_segment_code
140868 , x_flex_value_set_id => l_adr_flex_value_set_id
140869 , x_value_type_code => l_adr_value_type_code
140870 , x_value_combination_id => l_adr_value_combination_id
140871 , x_value_segment_code => l_adr_value_segment_code
140872 , p_side => 'NA'
140873 , p_override_seg_flag => 'Y'
140874 );
140875
140876 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
140877
140878 xla_ae_lines_pkg.set_segment(
140879 p_to_segment_code => 'GL_BALANCING'
140880 , p_segment_value => l_segment
140881 , p_from_segment_code => l_adr_value_segment_code
140882 , p_from_combination_id => l_adr_value_combination_id
140883 , p_value_type_code => l_adr_value_type_code
140884 , p_transaction_coa_id => l_adr_transaction_coa_id
140885 , p_accounting_coa_id => l_adr_accounting_coa_id
140886 , p_flexfield_segment_code => l_adr_flexfield_segment_code
140887 , p_flex_value_set_id => l_adr_flex_value_set_id
140888 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
140889 , p_adr_type_code => 'S'
140890 , p_component_type => l_component_type
140891 , p_component_code => l_component_code
140892 , p_component_type_code => l_component_type_code
140893 , p_component_appl_id => l_component_appl_id
140894 , p_amb_context_code => l_amb_context_code
140895 , p_entity_code => 'AP_INVOICES'
140896 , p_event_class_code => 'CREDIT MEMOS'
140897 , p_side => 'NA'
140898 );
140899
140900 END IF;
140901
140902 --
140903 --
140904 END IF;
140905 --
140906 -- Bug 4922099
140907 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
140908 (NVL(l_enc_upg_option, 'N') = 'O')
140909 ) AND
140910 (l_bflow_method_code = 'PRIOR_ENTRY')
140911 )
140912 THEN
140913 IF
140914 --
140915 1 = 2
140916 --
140917 THEN
140918 xla_accounting_err_pkg.build_message
140922 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
140919 (p_appli_s_name => 'XLA'
140920 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
140921 ,p_token_1 => 'LINE_NUMBER'
140923 ,p_token_2 => 'LINE_TYPE_NAME'
140924 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
140925 l_component_type
140926 ,l_component_code
140927 ,l_component_type_code
140928 ,l_component_appl_id
140929 ,l_amb_context_code
140930 ,l_entity_code
140931 ,l_event_class_code
140932 )
140933 ,p_token_3 => 'OWNER'
140934 ,p_value_3 => xla_lookups_pkg.get_meaning(
140935 p_lookup_type => 'XLA_OWNER_TYPE'
140936 ,p_lookup_code => l_component_type_code
140937 )
140938 ,p_token_4 => 'PRODUCT_NAME'
140939 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
140940 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
140941 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
140942 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
140943 ,p_ae_header_id => NULL
140944 );
140945
140946 IF (C_LEVEL_ERROR>= g_log_level) THEN
140947 trace
140948 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
140949 ,p_level => C_LEVEL_ERROR
140950 ,p_module => l_log_module);
140951 END IF;
140952 END IF;
140953 END IF;
140954 --
140955 --
140956 ------------------------------------------------------------------------------------------------
140957 -- 4219869 Business Flow
140958 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
140959 -- Prior Entry. Currently, the following code is always generated.
140960 ------------------------------------------------------------------------------------------------
140961 XLA_AE_LINES_PKG.ValidateCurrentLine;
140962
140963 ------------------------------------------------------------------------------------
140964 -- 4219869 Business Flow
140965 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
140966 ------------------------------------------------------------------------------------
140967 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
140968
140969 ----------------------------------------------------------------------------------
140970 -- 4219869 Business Flow
140971 -- Update journal entry status -- Need to generate this within IF <condition>
140972 ----------------------------------------------------------------------------------
140973 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
140974 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
140975 ,p_balance_type_code => l_balance_type_code
140976 );
140977
140978 -------------------------------------------------------------------------------------------
140979 -- 4262811 - Generate the Accrual Reversal lines
140980 -------------------------------------------------------------------------------------------
140981 BEGIN
140982 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
140983 (g_array_event(p_event_id).array_value_num('header_index'));
140984 IF l_acc_rev_flag IS NULL THEN
140985 l_acc_rev_flag := 'N';
140986 END IF;
140987 EXCEPTION
140988 WHEN OTHERS THEN
140989 l_acc_rev_flag := 'N';
140990 END;
140991 --
140992 IF (l_acc_rev_flag = 'Y') THEN
140993
140994 -- 4645092 ------------------------------------------------------------------------------
140995 -- To allow MPA report to determine if it should generate report process
140996 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
140997 ------------------------------------------------------------------------------------------
140998
140999 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
141000 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
141001 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
141002 -- call ADRs
141003 -- Bug 4922099
141004 --
141005 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
141006 (NVL(l_actual_upg_option, 'N') = 'O') OR
141010 NULL;
141007 (NVL(l_enc_upg_option, 'N') = 'O')
141008 )
141009 THEN
141011 --
141012 --
141013
141014 l_ccid := AcctDerRule_46(
141015 p_application_id => p_application_id
141016 , p_ae_header_id => l_ae_header_id
141017 , p_source_15 => p_source_15
141018 , p_source_15_meaning => p_source_15_meaning
141019 , p_source_30 => p_source_30
141020 , p_source_43 => p_source_43
141021 , x_transaction_coa_id => l_adr_transaction_coa_id
141022 , x_accounting_coa_id => l_adr_accounting_coa_id
141023 , x_value_type_code => l_adr_value_type_code
141024 , p_side => 'NA'
141025 );
141026
141027 xla_ae_lines_pkg.set_ccid(
141028 p_code_combination_id => l_ccid
141029 , p_value_type_code => l_adr_value_type_code
141030 , p_transaction_coa_id => l_adr_transaction_coa_id
141031 , p_accounting_coa_id => l_adr_accounting_coa_id
141032 , p_adr_code => 'AP_WH_DIST_ACCT'
141033 , p_adr_type_code => 'S'
141034 , p_component_type => l_component_type
141035 , p_component_code => l_component_code
141036 , p_component_type_code => l_component_type_code
141037 , p_component_appl_id => l_component_appl_id
141038 , p_amb_context_code => l_amb_context_code
141039 , p_side => 'NA'
141040 );
141041
141042
141043 l_segment := AcctDerRule_14(
141044 p_application_id => p_application_id
141045 , p_ae_header_id => l_ae_header_id
141046 , p_source_15 => p_source_15
141047 , p_source_15_meaning => p_source_15_meaning
141048 , p_source_30 => p_source_30
141049 , x_transaction_coa_id => l_adr_transaction_coa_id
141050 , x_accounting_coa_id => l_adr_accounting_coa_id
141051 , x_flexfield_segment_code => l_adr_flexfield_segment_code
141052 , x_flex_value_set_id => l_adr_flex_value_set_id
141053 , x_value_type_code => l_adr_value_type_code
141054 , x_value_combination_id => l_adr_value_combination_id
141055 , x_value_segment_code => l_adr_value_segment_code
141056 , p_side => 'NA'
141057 , p_override_seg_flag => 'Y'
141058 );
141059
141060 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
141061
141062 xla_ae_lines_pkg.set_segment(
141063 p_to_segment_code => 'GL_ACCOUNT'
141064 , p_segment_value => l_segment
141065 , p_from_segment_code => l_adr_value_segment_code
141066 , p_from_combination_id => l_adr_value_combination_id
141067 , p_value_type_code => l_adr_value_type_code
141068 , p_transaction_coa_id => l_adr_transaction_coa_id
141069 , p_accounting_coa_id => l_adr_accounting_coa_id
141070 , p_flexfield_segment_code => l_adr_flexfield_segment_code
141071 , p_flex_value_set_id => l_adr_flex_value_set_id
141072 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
141073 , p_adr_type_code => 'S'
141074 , p_component_type => l_component_type
141075 , p_component_code => l_component_code
141076 , p_component_type_code => l_component_type_code
141077 , p_component_appl_id => l_component_appl_id
141078 , p_amb_context_code => l_amb_context_code
141079 , p_entity_code => 'AP_INVOICES'
141080 , p_event_class_code => 'CREDIT MEMOS'
141081 , p_side => 'NA'
141082 );
141083
141084 END IF;
141085
141086 l_segment := AcctDerRule_25(
141087 p_application_id => p_application_id
141088 , p_ae_header_id => l_ae_header_id
141089 , p_source_15 => p_source_15
141090 , p_source_15_meaning => p_source_15_meaning
141091 , p_source_43 => p_source_43
141092 , x_transaction_coa_id => l_adr_transaction_coa_id
141093 , x_accounting_coa_id => l_adr_accounting_coa_id
141094 , x_flexfield_segment_code => l_adr_flexfield_segment_code
141095 , x_flex_value_set_id => l_adr_flex_value_set_id
141096 , x_value_type_code => l_adr_value_type_code
141097 , x_value_combination_id => l_adr_value_combination_id
141098 , x_value_segment_code => l_adr_value_segment_code
141099 , p_side => 'NA'
141100 , p_override_seg_flag => 'Y'
141101 );
141102
141103 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
141104
141105 xla_ae_lines_pkg.set_segment(
141106 p_to_segment_code => 'GL_BALANCING'
141107 , p_segment_value => l_segment
141108 , p_from_segment_code => l_adr_value_segment_code
141109 , p_from_combination_id => l_adr_value_combination_id
141110 , p_value_type_code => l_adr_value_type_code
141111 , p_transaction_coa_id => l_adr_transaction_coa_id
141112 , p_accounting_coa_id => l_adr_accounting_coa_id
141113 , p_flexfield_segment_code => l_adr_flexfield_segment_code
141114 , p_flex_value_set_id => l_adr_flex_value_set_id
141115 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
141116 , p_adr_type_code => 'S'
141117 , p_component_type => l_component_type
141121 , p_amb_context_code => l_amb_context_code
141118 , p_component_code => l_component_code
141119 , p_component_type_code => l_component_type_code
141120 , p_component_appl_id => l_component_appl_id
141122 , p_entity_code => 'AP_INVOICES'
141123 , p_event_class_code => 'CREDIT MEMOS'
141124 , p_side => 'NA'
141125 );
141126
141127 END IF;
141128
141129 --
141130 --
141131 END IF;
141132
141133 --
141134 -- Update the line information that should be overwritten
141135 --
141136 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
141137 p_header_num => 1);
141138 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
141139
141140 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
141141
141142 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
141143 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
141144 END IF;
141145
141146 --
141147 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
141148 --
141149 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
141150 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
141151 ELSE
141152 ---------------------------------------------------------------------------------------------------
141153 -- 4262811a Switch Sign
141154 ---------------------------------------------------------------------------------------------------
141155 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
141156 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
141157 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
141158 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
141159 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
141160 -- 5132302
141161 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
141162 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
141163
141164 END IF;
141165
141166 -- 4955764
141167 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
141168 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
141169
141170
141171 XLA_AE_LINES_PKG.ValidateCurrentLine;
141172 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
141173
141174 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
141175 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
141176 ,p_balance_type_code => l_balance_type_code);
141177
141178 END IF;
141179
141180 -----------------------------------------------------------------------------------------
141181 -- 4262811 Multiperiod Accounting
141182 -----------------------------------------------------------------------------------------
141183 -- No MPA option is assigned.
141184
141185
141186 END IF;
141187 END IF;
141188 --
141189
141190 --
141191 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
141192 trace
141193 (p_msg => 'END of AcctLineType_226'
141194 ,p_level => C_LEVEL_PROCEDURE
141195 ,p_module => l_log_module);
141196 END IF;
141197 --
141198 EXCEPTION
141199 WHEN xla_exceptions_pkg.application_exception THEN
141200 RAISE;
141201 WHEN OTHERS THEN
141202 xla_exceptions_pkg.raise_message
141203 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_226');
141204 END AcctLineType_226;
141205 --
141206
141207 ---------------------------------------
141208 --
141209 -- PRIVATE FUNCTION
141210 -- AcctLineType_227
141211 --
141212 ---------------------------------------
141213 PROCEDURE AcctLineType_227 (
141214 p_application_id IN NUMBER
141215 ,p_event_id IN NUMBER
141216 ,p_calculate_acctd_flag IN VARCHAR2
141217 ,p_calculate_g_l_flag IN VARCHAR2
141218 ,p_actual_flag IN OUT VARCHAR2
141219 ,p_balance_type_code OUT VARCHAR2
141220 ,p_gain_or_loss_ref OUT VARCHAR2
141221
141222 --Invoice Distribution Description
141223 , p_source_1 IN VARCHAR2
141224 --Automatic Offsets Value
141225 , p_source_15 IN VARCHAR2
141226 , p_source_15_meaning IN VARCHAR2
141227 --Invoice Distribution Ledger Amount
141228 , p_source_21 IN NUMBER
141229 --Invoice Distribution Account
141230 , p_source_30 IN NUMBER
141231 --Invoice Distribution Type
141232 , p_source_33 IN VARCHAR2
141233 , p_source_33_meaning IN VARCHAR2
141234 --Withholding Related Distribution Account
141235 , p_source_43 IN NUMBER
141236 --Accounting Reversal Indicator
141237 , p_source_53 IN VARCHAR2
141238 --Distribution Link Type
141239 , p_source_55 IN VARCHAR2
141240 --Allocation to Main Distribution Identifier
141241 , p_source_57 IN NUMBER
141242 --Invoice Identifier
141246 --Payables Encumbrance Upgrade Credit Account
141243 , p_source_58 IN NUMBER
141244 --Invoice Distribution Identifier
141245 , p_source_64 IN NUMBER
141247 , p_source_65 IN NUMBER
141248 --Payables Encumbrance Upgrade Credit Amount
141249 , p_source_66 IN NUMBER
141250 --Invoice Currency Code
141251 , p_source_67 IN VARCHAR2
141252 --Payables Encumbrance Upgrade Credit Base Amount
141253 , p_source_68 IN NUMBER
141254 --Payables Encumbrance Upgrade Debit Account
141255 , p_source_69 IN NUMBER
141256 --Payables Encumbrance Upgrade Debit Amount
141257 , p_source_70 IN NUMBER
141258 --Payables Encumbrance Upgrade Debit Base Amount
141259 , p_source_71 IN NUMBER
141260 --Payables Encumbrance Upgrade Option
141261 , p_source_72 IN VARCHAR2
141262 --Invoice Distribution Amount
141263 , p_source_73 IN NUMBER
141264 --Deferred Accounting End Date
141265 , p_source_77 IN DATE
141266 --Deferred Accounting Option
141267 , p_source_78 IN VARCHAR2
141268 --Deferred Accounting Start Date
141269 , p_source_79 IN DATE
141270 --Override Accounted Amount Indicator
141271 , p_source_80 IN VARCHAR2
141272 , p_source_80_meaning IN VARCHAR2
141273 --Invoice Supplier Identifier
141274 , p_source_81 IN NUMBER
141275 --Invoice Supplier Site Identifier
141276 , p_source_82 IN NUMBER
141277 --Third Party Type
141278 , p_source_83 IN VARCHAR2
141279 --Parent Reversal Identifier
141280 , p_source_84 IN NUMBER
141281 --Invoice Distribution Tax Line Identifier
141282 , p_source_86 IN NUMBER
141283 --Invoice Distribution Tax Distribution Identifier from Tax
141284 , p_source_87 IN NUMBER
141285 --Invoice Distribution Summary Tax Line Identifier
141286 , p_source_88 IN NUMBER
141287 --Payables Upgrade Credit Encumbrance Type Identifier
141288 , p_source_89 IN NUMBER
141289 --Payables Upgrade Debit Encumbrance Type Identifier
141290 , p_source_90 IN NUMBER
141291 --Business Flow Accounts Payable Application Identifier
141292 , p_source_91 IN NUMBER
141293 --Business Flow Invoice Distribution Type
141294 , p_source_92 IN VARCHAR2
141295 --Business Flow Invoice Entity Code
141296 , p_source_93 IN VARCHAR2
141297 --Business Flow Invoice Distribution Identifier
141298 , p_source_94 IN NUMBER
141299 --Business Flow Invoice Identifier
141300 , p_source_95 IN NUMBER
141301 --Invoice Exchange Date
141302 , p_source_143 IN DATE
141303 --Invoice Exchange Rate
141304 , p_source_144 IN NUMBER
141305 --Invoice Exchange Rate Type
141306 , p_source_145 IN VARCHAR2
141307 )
141308 IS
141309
141310 l_component_type VARCHAR2(80);
141311 l_component_code VARCHAR2(30);
141312 l_component_type_code VARCHAR2(1);
141313 l_component_appl_id INTEGER;
141314 l_amb_context_code VARCHAR2(30);
141315 l_entity_code VARCHAR2(30);
141316 l_event_class_code VARCHAR2(30);
141317 l_ae_header_id NUMBER;
141318 l_event_type_code VARCHAR2(30);
141319 l_line_definition_code VARCHAR2(30);
141320 l_line_definition_owner_code VARCHAR2(1);
141321 --
141322 -- adr variables
141323 l_segment VARCHAR2(30);
141324 l_ccid NUMBER;
141325 l_adr_transaction_coa_id NUMBER;
141326 l_adr_accounting_coa_id NUMBER;
141327 l_adr_flexfield_segment_code VARCHAR2(30);
141328 l_adr_flex_value_set_id NUMBER;
141329 l_adr_value_type_code VARCHAR2(30);
141330 l_adr_value_combination_id NUMBER;
141331 l_adr_value_segment_code VARCHAR2(30);
141332
141333 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
141334 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
141335 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
141336 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
141337
141338 -- 4262811 Variables ------------------------------------------------------------------------------------------
141339 l_entered_amt_idx NUMBER;
141340 l_accted_amt_idx NUMBER;
141341 l_acc_rev_flag VARCHAR2(1);
141342 l_accrual_line_num NUMBER;
141343 l_tmp_amt NUMBER;
141344 l_acc_rev_natural_side_code VARCHAR2(1);
141345
141346 l_num_entries NUMBER;
141347 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
141348 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
141349 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
141350 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
141351 l_recog_line_1 NUMBER;
141352 l_recog_line_2 NUMBER;
141353
141354 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
141355 l_bflow_applied_to_amt NUMBER; -- 5132302
141356 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
141357
141358 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
141359
141360 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
141361 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
141362
141363 ---------------------------------------------------------------------------------------------------------------
141367 -- bulk performance
141364
141365
141366 --
141368 --
141369 l_balance_type_code VARCHAR2(1);
141370 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
141371 l_log_module VARCHAR2(240);
141372
141373 --
141374 -- Upgrade strategy
141375 --
141376 l_actual_upg_option VARCHAR2(1);
141377 l_enc_upg_option VARCHAR2(1);
141378
141379 --
141380 BEGIN
141381 --
141382 IF g_log_enabled THEN
141383 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_227';
141384 END IF;
141385 --
141386 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
141387
141388 trace
141389 (p_msg => 'BEGIN of AcctLineType_227'
141390 ,p_level => C_LEVEL_PROCEDURE
141391 ,p_module => l_log_module);
141392
141393 END IF;
141394 --
141395 l_component_type := 'AMB_JLT';
141396 l_component_code := 'AP_WITHHOLD_TAX_DM';
141397 l_component_type_code := 'S';
141398 l_component_appl_id := 200;
141399 l_amb_context_code := 'DEFAULT';
141400 l_entity_code := 'AP_INVOICES';
141401 l_event_class_code := 'DEBIT MEMOS';
141402 l_event_type_code := 'DEBIT MEMOS_ALL';
141403 l_line_definition_owner_code := 'S';
141404 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
141405 --
141406 l_balance_type_code := 'A';
141407 l_segment := NULL;
141408 l_ccid := NULL;
141409 l_adr_transaction_coa_id := NULL;
141410 l_adr_accounting_coa_id := NULL;
141411 l_adr_flexfield_segment_code := NULL;
141412 l_adr_flex_value_set_id := NULL;
141413 l_adr_value_type_code := NULL;
141414 l_adr_value_combination_id := NULL;
141415 l_adr_value_segment_code := NULL;
141416
141417 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
141418 l_bflow_class_code := ''; -- 4219869 Business Flow
141419 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
141420 l_budgetary_control_flag := 'N';
141421
141422 l_bflow_applied_to_amt_idx := NULL; -- 5132302
141423 l_bflow_applied_to_amt := NULL; -- 5132302
141424 l_entered_amt_idx := NULL; -- 4262811
141425 l_accted_amt_idx := NULL; -- 4262811
141426 l_acc_rev_flag := NULL; -- 4262811
141427 l_accrual_line_num := NULL; -- 4262811
141428 l_tmp_amt := NULL; -- 4262811
141429 --
141430
141431 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
141432 l_balance_type_code <> 'B' THEN
141433 IF NVL(p_source_33,'
141434 ') = 'AWT'
141435 THEN
141436
141437 --
141438 XLA_AE_LINES_PKG.SetNewLine;
141439
141440 p_balance_type_code := l_balance_type_code;
141441 -- set the flag so later we will know whether the gain loss line needs to be created
141442
141443 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
141444 p_actual_flag :='A';
141445 END IF;
141446
141447 --
141448 -- bulk performance
141449 --
141450 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
141451 p_header_num => 0); -- 4262811
141452 --
141453 -- set accounting line options
141454 --
141455 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
141456 p_natural_side_code => 'D'
141457 , p_gain_or_loss_flag => 'N'
141458 , p_gl_transfer_mode_code => 'S'
141459 , p_acct_entry_type_code => 'A'
141460 , p_switch_side_flag => 'Y'
141461 , p_merge_duplicate_code => 'A'
141462 );
141463 --
141464 l_acc_rev_natural_side_code := 'C'; -- 4262811
141465 --
141466 --
141467 -- set accounting line type info
141468 --
141469 xla_ae_lines_pkg.SetAcctLineType
141470 (p_component_type => l_component_type
141471 ,p_event_type_code => l_event_type_code
141472 ,p_line_definition_owner_code => l_line_definition_owner_code
141473 ,p_line_definition_code => l_line_definition_code
141474 ,p_accounting_line_code => l_component_code
141475 ,p_accounting_line_type_code => l_component_type_code
141476 ,p_accounting_line_appl_id => l_component_appl_id
141477 ,p_amb_context_code => l_amb_context_code
141478 ,p_entity_code => l_entity_code
141479 ,p_event_class_code => l_event_class_code);
141480 --
141481 -- set accounting class
141482 --
141483 xla_ae_lines_pkg.SetAcctClass(
141484 p_accounting_class_code => 'AWT'
141485 , p_ae_header_id => l_ae_header_id
141486 );
141487
141488 --
141489 -- set rounding class
141490 --
141491 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
141492 'AWT';
141493
141494 --
141495 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
141496 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
141497 --
141498 -- bulk performance
141499 --
141500 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
141501
141505 -- 4955764
141502 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
141503 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
141504
141506 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
141507 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
141508
141509 -- 4458381 Public Sector Enh
141510
141511 --
141512 -- set accounting attributes for the line type
141513 --
141514 l_entered_amt_idx := 23;
141515 l_accted_amt_idx := 28;
141516 l_bflow_applied_to_amt_idx := NULL; -- 5132302
141517 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
141518 l_rec_acct_attrs.array_char_value(1) := p_source_53;
141519 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
141520 l_rec_acct_attrs.array_num_value(2) :=
141521 xla_ae_sources_pkg.GetSystemSourceNum(
141522 p_source_code => 'XLA_EVENT_APPL_ID'
141523 , p_source_type_code => 'Y'
141524 , p_source_application_id => 602
141525 );
141526 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
141527 l_rec_acct_attrs.array_char_value(3) := p_source_55;
141528 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
141529 l_rec_acct_attrs.array_char_value(4) :=
141530 xla_ae_sources_pkg.GetSystemSourceChar(
141531 p_source_code => 'XLA_ENTITY_CODE'
141532 , p_source_type_code => 'Y'
141533 , p_source_application_id => 602
141534 );
141535 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
141536 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
141537 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
141538 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
141539 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
141540 l_rec_acct_attrs.array_num_value(7) := p_source_91;
141541 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
141542 l_rec_acct_attrs.array_char_value(8) := p_source_92;
141543 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
141544 l_rec_acct_attrs.array_char_value(9) := p_source_93;
141545 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
141546 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
141547 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
141548 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
141549 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
141550 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
141551 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
141552 l_rec_acct_attrs.array_char_value(13) := p_source_55;
141553 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
141554 l_rec_acct_attrs.array_num_value(14) := p_source_65;
141555 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
141556 l_rec_acct_attrs.array_num_value(15) := p_source_66;
141557 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
141558 l_rec_acct_attrs.array_char_value(16) := p_source_67;
141559 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
141560 l_rec_acct_attrs.array_num_value(17) := p_source_68;
141561 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
141562 l_rec_acct_attrs.array_num_value(18) := p_source_69;
141563 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
141564 l_rec_acct_attrs.array_num_value(19) := p_source_70;
141565 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
141566 l_rec_acct_attrs.array_char_value(20) := p_source_67;
141567 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
141568 l_rec_acct_attrs.array_num_value(21) := p_source_71;
141569 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
141570 l_rec_acct_attrs.array_char_value(22) := p_source_72;
141571 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
141572 l_rec_acct_attrs.array_num_value(23) := p_source_73;
141573 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
141574 l_rec_acct_attrs.array_char_value(24) := p_source_67;
141575 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
141576 l_rec_acct_attrs.array_date_value(25) := p_source_143;
141577 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
141578 l_rec_acct_attrs.array_num_value(26) := p_source_144;
141579 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
141580 l_rec_acct_attrs.array_char_value(27) := p_source_145;
141581 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
141582 l_rec_acct_attrs.array_num_value(28) := p_source_21;
141583 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
141584 l_rec_acct_attrs.array_date_value(29) := p_source_77;
141585 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
141586 l_rec_acct_attrs.array_char_value(30) := p_source_78;
141587 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
141588 l_rec_acct_attrs.array_date_value(31) := p_source_79;
141589 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
141590 l_rec_acct_attrs.array_char_value(32) := p_source_80;
141591 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
141592 l_rec_acct_attrs.array_num_value(33) := p_source_81;
141593 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
141594 l_rec_acct_attrs.array_num_value(34) := p_source_82;
141598 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
141595 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
141596 l_rec_acct_attrs.array_char_value(35) := p_source_83;
141597 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
141599 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
141600 l_rec_acct_attrs.array_char_value(37) := p_source_55;
141601 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
141602 l_rec_acct_attrs.array_num_value(38) := p_source_86;
141603 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
141604 l_rec_acct_attrs.array_num_value(39) := p_source_87;
141605 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
141606 l_rec_acct_attrs.array_num_value(40) := p_source_88;
141607 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
141608 l_rec_acct_attrs.array_num_value(41) := p_source_89;
141609 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
141610 l_rec_acct_attrs.array_num_value(42) := p_source_90;
141611
141612 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
141613 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
141614
141615 ---------------------------------------------------------------------------------------------------------------
141616 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
141617 ---------------------------------------------------------------------------------------------------------------
141618 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
141619
141620 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
141621 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
141622
141623 IF xla_accounting_cache_pkg.GetValueChar
141624 (p_source_code => 'LEDGER_CATEGORY_CODE'
141625 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
141626 AND l_bflow_method_code = 'PRIOR_ENTRY'
141627 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
141628 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
141629 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
141630 )
141631 THEN
141632 xla_ae_lines_pkg.BflowUpgEntry
141633 (p_business_method_code => l_bflow_method_code
141634 ,p_business_class_code => l_bflow_class_code
141635 ,p_balance_type => l_balance_type_code);
141636 ELSE
141637 NULL;
141638 -- No business flow processing for business flow method of NONE.
141639 END IF;
141640
141641 --
141642 -- call analytical criteria
141643 --
141644
141645 --
141646 -- call description
141647 --
141648
141649 xla_ae_lines_pkg.SetLineDescription(
141650 p_ae_header_id => l_ae_header_id
141651 ,p_description => Description_1 (
141652 p_application_id => p_application_id
141653 , p_ae_header_id => l_ae_header_id
141654 , p_source_1 => p_source_1
141655 )
141656 );
141657
141658
141659 --
141660 -- call ADRs
141661 -- Bug 4922099
141662 --
141663 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
141664 (NVL(l_actual_upg_option, 'N') = 'O') OR
141665 (NVL(l_enc_upg_option, 'N') = 'O')
141666 )
141667 THEN
141668 NULL;
141669 --
141670 --
141671
141672 l_ccid := AcctDerRule_46(
141673 p_application_id => p_application_id
141674 , p_ae_header_id => l_ae_header_id
141675 , p_source_15 => p_source_15
141676 , p_source_15_meaning => p_source_15_meaning
141677 , p_source_30 => p_source_30
141678 , p_source_43 => p_source_43
141679 , x_transaction_coa_id => l_adr_transaction_coa_id
141680 , x_accounting_coa_id => l_adr_accounting_coa_id
141681 , x_value_type_code => l_adr_value_type_code
141682 , p_side => 'NA'
141683 );
141684
141685 xla_ae_lines_pkg.set_ccid(
141686 p_code_combination_id => l_ccid
141687 , p_value_type_code => l_adr_value_type_code
141688 , p_transaction_coa_id => l_adr_transaction_coa_id
141689 , p_accounting_coa_id => l_adr_accounting_coa_id
141690 , p_adr_code => 'AP_WH_DIST_ACCT'
141691 , p_adr_type_code => 'S'
141692 , p_component_type => l_component_type
141693 , p_component_code => l_component_code
141694 , p_component_type_code => l_component_type_code
141695 , p_component_appl_id => l_component_appl_id
141696 , p_amb_context_code => l_amb_context_code
141697 , p_side => 'NA'
141698 );
141699
141700
141701 l_segment := AcctDerRule_14(
141702 p_application_id => p_application_id
141703 , p_ae_header_id => l_ae_header_id
141704 , p_source_15 => p_source_15
141705 , p_source_15_meaning => p_source_15_meaning
141706 , p_source_30 => p_source_30
141707 , x_transaction_coa_id => l_adr_transaction_coa_id
141708 , x_accounting_coa_id => l_adr_accounting_coa_id
141709 , x_flexfield_segment_code => l_adr_flexfield_segment_code
141713 , x_value_segment_code => l_adr_value_segment_code
141710 , x_flex_value_set_id => l_adr_flex_value_set_id
141711 , x_value_type_code => l_adr_value_type_code
141712 , x_value_combination_id => l_adr_value_combination_id
141714 , p_side => 'NA'
141715 , p_override_seg_flag => 'Y'
141716 );
141717
141718 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
141719
141720 xla_ae_lines_pkg.set_segment(
141721 p_to_segment_code => 'GL_ACCOUNT'
141722 , p_segment_value => l_segment
141723 , p_from_segment_code => l_adr_value_segment_code
141724 , p_from_combination_id => l_adr_value_combination_id
141725 , p_value_type_code => l_adr_value_type_code
141726 , p_transaction_coa_id => l_adr_transaction_coa_id
141727 , p_accounting_coa_id => l_adr_accounting_coa_id
141728 , p_flexfield_segment_code => l_adr_flexfield_segment_code
141729 , p_flex_value_set_id => l_adr_flex_value_set_id
141730 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
141731 , p_adr_type_code => 'S'
141732 , p_component_type => l_component_type
141733 , p_component_code => l_component_code
141734 , p_component_type_code => l_component_type_code
141735 , p_component_appl_id => l_component_appl_id
141736 , p_amb_context_code => l_amb_context_code
141737 , p_entity_code => 'AP_INVOICES'
141738 , p_event_class_code => 'DEBIT MEMOS'
141739 , p_side => 'NA'
141740 );
141741
141742 END IF;
141743
141744 l_segment := AcctDerRule_25(
141745 p_application_id => p_application_id
141746 , p_ae_header_id => l_ae_header_id
141747 , p_source_15 => p_source_15
141748 , p_source_15_meaning => p_source_15_meaning
141749 , p_source_43 => p_source_43
141750 , x_transaction_coa_id => l_adr_transaction_coa_id
141751 , x_accounting_coa_id => l_adr_accounting_coa_id
141752 , x_flexfield_segment_code => l_adr_flexfield_segment_code
141753 , x_flex_value_set_id => l_adr_flex_value_set_id
141754 , x_value_type_code => l_adr_value_type_code
141755 , x_value_combination_id => l_adr_value_combination_id
141756 , x_value_segment_code => l_adr_value_segment_code
141757 , p_side => 'NA'
141758 , p_override_seg_flag => 'Y'
141759 );
141760
141761 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
141762
141763 xla_ae_lines_pkg.set_segment(
141764 p_to_segment_code => 'GL_BALANCING'
141765 , p_segment_value => l_segment
141766 , p_from_segment_code => l_adr_value_segment_code
141767 , p_from_combination_id => l_adr_value_combination_id
141768 , p_value_type_code => l_adr_value_type_code
141769 , p_transaction_coa_id => l_adr_transaction_coa_id
141770 , p_accounting_coa_id => l_adr_accounting_coa_id
141771 , p_flexfield_segment_code => l_adr_flexfield_segment_code
141772 , p_flex_value_set_id => l_adr_flex_value_set_id
141773 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
141774 , p_adr_type_code => 'S'
141775 , p_component_type => l_component_type
141776 , p_component_code => l_component_code
141777 , p_component_type_code => l_component_type_code
141778 , p_component_appl_id => l_component_appl_id
141779 , p_amb_context_code => l_amb_context_code
141780 , p_entity_code => 'AP_INVOICES'
141781 , p_event_class_code => 'DEBIT MEMOS'
141782 , p_side => 'NA'
141783 );
141784
141785 END IF;
141786
141787 --
141788 --
141789 END IF;
141790 --
141791 -- Bug 4922099
141792 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
141793 (NVL(l_enc_upg_option, 'N') = 'O')
141794 ) AND
141795 (l_bflow_method_code = 'PRIOR_ENTRY')
141796 )
141797 THEN
141798 IF
141799 --
141800 1 = 2
141801 --
141802 THEN
141803 xla_accounting_err_pkg.build_message
141804 (p_appli_s_name => 'XLA'
141805 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
141806 ,p_token_1 => 'LINE_NUMBER'
141807 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
141808 ,p_token_2 => 'LINE_TYPE_NAME'
141809 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
141810 l_component_type
141811 ,l_component_code
141812 ,l_component_type_code
141813 ,l_component_appl_id
141814 ,l_amb_context_code
141815 ,l_entity_code
141819 ,p_value_3 => xla_lookups_pkg.get_meaning(
141816 ,l_event_class_code
141817 )
141818 ,p_token_3 => 'OWNER'
141820 p_lookup_type => 'XLA_OWNER_TYPE'
141821 ,p_lookup_code => l_component_type_code
141822 )
141823 ,p_token_4 => 'PRODUCT_NAME'
141824 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
141825 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
141826 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
141827 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
141828 ,p_ae_header_id => NULL
141829 );
141830
141831 IF (C_LEVEL_ERROR>= g_log_level) THEN
141832 trace
141833 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
141834 ,p_level => C_LEVEL_ERROR
141835 ,p_module => l_log_module);
141836 END IF;
141837 END IF;
141838 END IF;
141839 --
141840 --
141841 ------------------------------------------------------------------------------------------------
141842 -- 4219869 Business Flow
141843 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
141844 -- Prior Entry. Currently, the following code is always generated.
141845 ------------------------------------------------------------------------------------------------
141846 XLA_AE_LINES_PKG.ValidateCurrentLine;
141847
141848 ------------------------------------------------------------------------------------
141849 -- 4219869 Business Flow
141850 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
141851 ------------------------------------------------------------------------------------
141852 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
141853
141854 ----------------------------------------------------------------------------------
141855 -- 4219869 Business Flow
141856 -- Update journal entry status -- Need to generate this within IF <condition>
141857 ----------------------------------------------------------------------------------
141858 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
141859 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
141860 ,p_balance_type_code => l_balance_type_code
141861 );
141862
141863 -------------------------------------------------------------------------------------------
141864 -- 4262811 - Generate the Accrual Reversal lines
141865 -------------------------------------------------------------------------------------------
141866 BEGIN
141867 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
141868 (g_array_event(p_event_id).array_value_num('header_index'));
141869 IF l_acc_rev_flag IS NULL THEN
141870 l_acc_rev_flag := 'N';
141871 END IF;
141872 EXCEPTION
141873 WHEN OTHERS THEN
141874 l_acc_rev_flag := 'N';
141875 END;
141876 --
141877 IF (l_acc_rev_flag = 'Y') THEN
141878
141879 -- 4645092 ------------------------------------------------------------------------------
141880 -- To allow MPA report to determine if it should generate report process
141881 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
141882 ------------------------------------------------------------------------------------------
141883
141884 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
141885 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
141886 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
141887 -- call ADRs
141888 -- Bug 4922099
141889 --
141890 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
141891 (NVL(l_actual_upg_option, 'N') = 'O') OR
141892 (NVL(l_enc_upg_option, 'N') = 'O')
141893 )
141894 THEN
141895 NULL;
141896 --
141897 --
141898
141899 l_ccid := AcctDerRule_46(
141900 p_application_id => p_application_id
141901 , p_ae_header_id => l_ae_header_id
141902 , p_source_15 => p_source_15
141903 , p_source_15_meaning => p_source_15_meaning
141904 , p_source_30 => p_source_30
141905 , p_source_43 => p_source_43
141906 , x_transaction_coa_id => l_adr_transaction_coa_id
141907 , x_accounting_coa_id => l_adr_accounting_coa_id
141908 , x_value_type_code => l_adr_value_type_code
141909 , p_side => 'NA'
141910 );
141911
141912 xla_ae_lines_pkg.set_ccid(
141913 p_code_combination_id => l_ccid
141914 , p_value_type_code => l_adr_value_type_code
141915 , p_transaction_coa_id => l_adr_transaction_coa_id
141916 , p_accounting_coa_id => l_adr_accounting_coa_id
141917 , p_adr_code => 'AP_WH_DIST_ACCT'
141921 , p_component_type_code => l_component_type_code
141918 , p_adr_type_code => 'S'
141919 , p_component_type => l_component_type
141920 , p_component_code => l_component_code
141922 , p_component_appl_id => l_component_appl_id
141923 , p_amb_context_code => l_amb_context_code
141924 , p_side => 'NA'
141925 );
141926
141927
141928 l_segment := AcctDerRule_14(
141929 p_application_id => p_application_id
141930 , p_ae_header_id => l_ae_header_id
141931 , p_source_15 => p_source_15
141932 , p_source_15_meaning => p_source_15_meaning
141933 , p_source_30 => p_source_30
141934 , x_transaction_coa_id => l_adr_transaction_coa_id
141935 , x_accounting_coa_id => l_adr_accounting_coa_id
141936 , x_flexfield_segment_code => l_adr_flexfield_segment_code
141937 , x_flex_value_set_id => l_adr_flex_value_set_id
141938 , x_value_type_code => l_adr_value_type_code
141939 , x_value_combination_id => l_adr_value_combination_id
141940 , x_value_segment_code => l_adr_value_segment_code
141941 , p_side => 'NA'
141942 , p_override_seg_flag => 'Y'
141943 );
141944
141945 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
141946
141947 xla_ae_lines_pkg.set_segment(
141948 p_to_segment_code => 'GL_ACCOUNT'
141949 , p_segment_value => l_segment
141950 , p_from_segment_code => l_adr_value_segment_code
141951 , p_from_combination_id => l_adr_value_combination_id
141952 , p_value_type_code => l_adr_value_type_code
141953 , p_transaction_coa_id => l_adr_transaction_coa_id
141954 , p_accounting_coa_id => l_adr_accounting_coa_id
141955 , p_flexfield_segment_code => l_adr_flexfield_segment_code
141956 , p_flex_value_set_id => l_adr_flex_value_set_id
141957 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
141958 , p_adr_type_code => 'S'
141959 , p_component_type => l_component_type
141960 , p_component_code => l_component_code
141961 , p_component_type_code => l_component_type_code
141962 , p_component_appl_id => l_component_appl_id
141963 , p_amb_context_code => l_amb_context_code
141964 , p_entity_code => 'AP_INVOICES'
141965 , p_event_class_code => 'DEBIT MEMOS'
141966 , p_side => 'NA'
141967 );
141968
141969 END IF;
141970
141971 l_segment := AcctDerRule_25(
141972 p_application_id => p_application_id
141973 , p_ae_header_id => l_ae_header_id
141974 , p_source_15 => p_source_15
141975 , p_source_15_meaning => p_source_15_meaning
141976 , p_source_43 => p_source_43
141977 , x_transaction_coa_id => l_adr_transaction_coa_id
141978 , x_accounting_coa_id => l_adr_accounting_coa_id
141979 , x_flexfield_segment_code => l_adr_flexfield_segment_code
141980 , x_flex_value_set_id => l_adr_flex_value_set_id
141981 , x_value_type_code => l_adr_value_type_code
141982 , x_value_combination_id => l_adr_value_combination_id
141983 , x_value_segment_code => l_adr_value_segment_code
141984 , p_side => 'NA'
141985 , p_override_seg_flag => 'Y'
141986 );
141987
141988 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
141989
141990 xla_ae_lines_pkg.set_segment(
141991 p_to_segment_code => 'GL_BALANCING'
141992 , p_segment_value => l_segment
141993 , p_from_segment_code => l_adr_value_segment_code
141994 , p_from_combination_id => l_adr_value_combination_id
141995 , p_value_type_code => l_adr_value_type_code
141996 , p_transaction_coa_id => l_adr_transaction_coa_id
141997 , p_accounting_coa_id => l_adr_accounting_coa_id
141998 , p_flexfield_segment_code => l_adr_flexfield_segment_code
141999 , p_flex_value_set_id => l_adr_flex_value_set_id
142000 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
142001 , p_adr_type_code => 'S'
142002 , p_component_type => l_component_type
142003 , p_component_code => l_component_code
142004 , p_component_type_code => l_component_type_code
142005 , p_component_appl_id => l_component_appl_id
142006 , p_amb_context_code => l_amb_context_code
142007 , p_entity_code => 'AP_INVOICES'
142008 , p_event_class_code => 'DEBIT MEMOS'
142009 , p_side => 'NA'
142010 );
142011
142012 END IF;
142013
142014 --
142015 --
142016 END IF;
142017
142018 --
142019 -- Update the line information that should be overwritten
142020 --
142021 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
142022 p_header_num => 1);
142023 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
142024
142025 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
142026
142027 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
142028 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
142032 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
142029 END IF;
142030
142031 --
142033 --
142034 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
142035 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
142036 ELSE
142037 ---------------------------------------------------------------------------------------------------
142038 -- 4262811a Switch Sign
142039 ---------------------------------------------------------------------------------------------------
142040 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
142041 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
142042 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
142043 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
142044 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
142045 -- 5132302
142046 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
142047 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
142048
142049 END IF;
142050
142051 -- 4955764
142052 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
142053 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
142054
142055
142056 XLA_AE_LINES_PKG.ValidateCurrentLine;
142057 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
142058
142059 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
142060 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
142061 ,p_balance_type_code => l_balance_type_code);
142062
142063 END IF;
142064
142065 -----------------------------------------------------------------------------------------
142066 -- 4262811 Multiperiod Accounting
142067 -----------------------------------------------------------------------------------------
142068 -- No MPA option is assigned.
142069
142070
142071 END IF;
142072 END IF;
142073 --
142074
142075 --
142076 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
142077 trace
142078 (p_msg => 'END of AcctLineType_227'
142079 ,p_level => C_LEVEL_PROCEDURE
142080 ,p_module => l_log_module);
142081 END IF;
142082 --
142083 EXCEPTION
142084 WHEN xla_exceptions_pkg.application_exception THEN
142085 RAISE;
142086 WHEN OTHERS THEN
142087 xla_exceptions_pkg.raise_message
142088 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_227');
142089 END AcctLineType_227;
142090 --
142091
142092 ---------------------------------------
142093 --
142094 -- PRIVATE FUNCTION
142095 -- AcctLineType_228
142096 --
142097 ---------------------------------------
142098 PROCEDURE AcctLineType_228 (
142099 p_application_id IN NUMBER
142100 ,p_event_id IN NUMBER
142101 ,p_calculate_acctd_flag IN VARCHAR2
142102 ,p_calculate_g_l_flag IN VARCHAR2
142103 ,p_actual_flag IN OUT VARCHAR2
142104 ,p_balance_type_code OUT VARCHAR2
142105 ,p_gain_or_loss_ref OUT VARCHAR2
142106
142107 --Invoice Distribution Description
142108 , p_source_1 IN VARCHAR2
142109 --Automatic Offsets Value
142110 , p_source_15 IN VARCHAR2
142111 , p_source_15_meaning IN VARCHAR2
142112 --Invoice Distribution Ledger Amount
142113 , p_source_21 IN NUMBER
142114 --Invoice Distribution Account
142115 , p_source_30 IN NUMBER
142116 --Invoice Distribution Type
142117 , p_source_33 IN VARCHAR2
142118 , p_source_33_meaning IN VARCHAR2
142119 --Withholding Related Distribution Account
142120 , p_source_43 IN NUMBER
142121 --Accounting Reversal Indicator
142122 , p_source_53 IN VARCHAR2
142123 --Distribution Link Type
142124 , p_source_55 IN VARCHAR2
142125 --Allocation to Main Distribution Identifier
142126 , p_source_57 IN NUMBER
142127 --Invoice Identifier
142128 , p_source_58 IN NUMBER
142129 --Invoice Distribution Identifier
142130 , p_source_64 IN NUMBER
142131 --Payables Encumbrance Upgrade Credit Account
142132 , p_source_65 IN NUMBER
142133 --Payables Encumbrance Upgrade Credit Amount
142134 , p_source_66 IN NUMBER
142135 --Invoice Currency Code
142136 , p_source_67 IN VARCHAR2
142137 --Payables Encumbrance Upgrade Credit Base Amount
142138 , p_source_68 IN NUMBER
142139 --Payables Encumbrance Upgrade Debit Account
142140 , p_source_69 IN NUMBER
142141 --Payables Encumbrance Upgrade Debit Amount
142142 , p_source_70 IN NUMBER
142143 --Payables Encumbrance Upgrade Debit Base Amount
142144 , p_source_71 IN NUMBER
142145 --Payables Encumbrance Upgrade Option
142146 , p_source_72 IN VARCHAR2
142147 --Invoice Distribution Amount
142148 , p_source_73 IN NUMBER
142149 --Deferred Accounting End Date
142150 , p_source_77 IN DATE
142151 --Deferred Accounting Option
142152 , p_source_78 IN VARCHAR2
142153 --Deferred Accounting Start Date
142157 , p_source_80_meaning IN VARCHAR2
142154 , p_source_79 IN DATE
142155 --Override Accounted Amount Indicator
142156 , p_source_80 IN VARCHAR2
142158 --Invoice Supplier Identifier
142159 , p_source_81 IN NUMBER
142160 --Invoice Supplier Site Identifier
142161 , p_source_82 IN NUMBER
142162 --Third Party Type
142163 , p_source_83 IN VARCHAR2
142164 --Parent Reversal Identifier
142165 , p_source_84 IN NUMBER
142166 --Invoice Distribution Statistical Amount
142167 , p_source_85 IN NUMBER
142168 --Invoice Distribution Tax Line Identifier
142169 , p_source_86 IN NUMBER
142170 --Invoice Distribution Tax Distribution Identifier from Tax
142171 , p_source_87 IN NUMBER
142172 --Invoice Distribution Summary Tax Line Identifier
142173 , p_source_88 IN NUMBER
142174 --Payables Upgrade Credit Encumbrance Type Identifier
142175 , p_source_89 IN NUMBER
142176 --Payables Upgrade Debit Encumbrance Type Identifier
142177 , p_source_90 IN NUMBER
142178 --Business Flow Accounts Payable Application Identifier
142179 , p_source_91 IN NUMBER
142180 --Business Flow Invoice Distribution Type
142181 , p_source_92 IN VARCHAR2
142182 --Business Flow Invoice Entity Code
142183 , p_source_93 IN VARCHAR2
142184 --Business Flow Invoice Distribution Identifier
142185 , p_source_94 IN NUMBER
142186 --Business Flow Invoice Identifier
142187 , p_source_95 IN NUMBER
142188 --Invoice Exchange Date
142189 , p_source_143 IN DATE
142190 --Invoice Exchange Rate
142191 , p_source_144 IN NUMBER
142192 --Invoice Exchange Rate Type
142193 , p_source_145 IN VARCHAR2
142194 )
142195 IS
142196
142197 l_component_type VARCHAR2(80);
142198 l_component_code VARCHAR2(30);
142199 l_component_type_code VARCHAR2(1);
142200 l_component_appl_id INTEGER;
142201 l_amb_context_code VARCHAR2(30);
142202 l_entity_code VARCHAR2(30);
142203 l_event_class_code VARCHAR2(30);
142204 l_ae_header_id NUMBER;
142205 l_event_type_code VARCHAR2(30);
142206 l_line_definition_code VARCHAR2(30);
142207 l_line_definition_owner_code VARCHAR2(1);
142208 --
142209 -- adr variables
142210 l_segment VARCHAR2(30);
142211 l_ccid NUMBER;
142212 l_adr_transaction_coa_id NUMBER;
142213 l_adr_accounting_coa_id NUMBER;
142214 l_adr_flexfield_segment_code VARCHAR2(30);
142215 l_adr_flex_value_set_id NUMBER;
142216 l_adr_value_type_code VARCHAR2(30);
142217 l_adr_value_combination_id NUMBER;
142218 l_adr_value_segment_code VARCHAR2(30);
142219
142220 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
142221 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
142222 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
142223 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
142224
142225 -- 4262811 Variables ------------------------------------------------------------------------------------------
142226 l_entered_amt_idx NUMBER;
142227 l_accted_amt_idx NUMBER;
142228 l_acc_rev_flag VARCHAR2(1);
142229 l_accrual_line_num NUMBER;
142230 l_tmp_amt NUMBER;
142231 l_acc_rev_natural_side_code VARCHAR2(1);
142232
142233 l_num_entries NUMBER;
142234 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
142235 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
142236 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
142237 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
142238 l_recog_line_1 NUMBER;
142239 l_recog_line_2 NUMBER;
142240
142241 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
142242 l_bflow_applied_to_amt NUMBER; -- 5132302
142243 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
142244
142245 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
142246
142247 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
142248 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
142249
142250 ---------------------------------------------------------------------------------------------------------------
142251
142252
142253 --
142254 -- bulk performance
142255 --
142256 l_balance_type_code VARCHAR2(1);
142257 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
142258 l_log_module VARCHAR2(240);
142259
142260 --
142261 -- Upgrade strategy
142262 --
142263 l_actual_upg_option VARCHAR2(1);
142264 l_enc_upg_option VARCHAR2(1);
142265
142266 --
142267 BEGIN
142268 --
142269 IF g_log_enabled THEN
142270 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_228';
142271 END IF;
142272 --
142273 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
142274
142275 trace
142276 (p_msg => 'BEGIN of AcctLineType_228'
142277 ,p_level => C_LEVEL_PROCEDURE
142278 ,p_module => l_log_module);
142279
142280 END IF;
142281 --
142282 l_component_type := 'AMB_JLT';
142286 l_amb_context_code := 'DEFAULT';
142283 l_component_code := 'AP_WITHHOLD_TAX_INV';
142284 l_component_type_code := 'S';
142285 l_component_appl_id := 200;
142287 l_entity_code := 'AP_INVOICES';
142288 l_event_class_code := 'INVOICES';
142289 l_event_type_code := 'INVOICES_ALL';
142290 l_line_definition_owner_code := 'S';
142291 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
142292 --
142293 l_balance_type_code := 'A';
142294 l_segment := NULL;
142295 l_ccid := NULL;
142296 l_adr_transaction_coa_id := NULL;
142297 l_adr_accounting_coa_id := NULL;
142298 l_adr_flexfield_segment_code := NULL;
142299 l_adr_flex_value_set_id := NULL;
142300 l_adr_value_type_code := NULL;
142301 l_adr_value_combination_id := NULL;
142302 l_adr_value_segment_code := NULL;
142303
142304 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
142305 l_bflow_class_code := ''; -- 4219869 Business Flow
142306 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
142307 l_budgetary_control_flag := 'N';
142308
142309 l_bflow_applied_to_amt_idx := NULL; -- 5132302
142310 l_bflow_applied_to_amt := NULL; -- 5132302
142311 l_entered_amt_idx := NULL; -- 4262811
142312 l_accted_amt_idx := NULL; -- 4262811
142313 l_acc_rev_flag := NULL; -- 4262811
142314 l_accrual_line_num := NULL; -- 4262811
142315 l_tmp_amt := NULL; -- 4262811
142316 --
142317
142318 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
142319 l_balance_type_code <> 'B' THEN
142320 IF NVL(p_source_33,'
142321 ') = 'AWT'
142322 THEN
142323
142324 --
142325 XLA_AE_LINES_PKG.SetNewLine;
142326
142327 p_balance_type_code := l_balance_type_code;
142328 -- set the flag so later we will know whether the gain loss line needs to be created
142329
142330 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
142331 p_actual_flag :='A';
142332 END IF;
142333
142334 --
142335 -- bulk performance
142336 --
142337 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
142338 p_header_num => 0); -- 4262811
142339 --
142340 -- set accounting line options
142341 --
142342 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
142343 p_natural_side_code => 'D'
142344 , p_gain_or_loss_flag => 'N'
142345 , p_gl_transfer_mode_code => 'S'
142346 , p_acct_entry_type_code => 'A'
142347 , p_switch_side_flag => 'Y'
142348 , p_merge_duplicate_code => 'A'
142349 );
142350 --
142351 l_acc_rev_natural_side_code := 'C'; -- 4262811
142352 --
142353 --
142354 -- set accounting line type info
142355 --
142356 xla_ae_lines_pkg.SetAcctLineType
142357 (p_component_type => l_component_type
142358 ,p_event_type_code => l_event_type_code
142359 ,p_line_definition_owner_code => l_line_definition_owner_code
142360 ,p_line_definition_code => l_line_definition_code
142361 ,p_accounting_line_code => l_component_code
142362 ,p_accounting_line_type_code => l_component_type_code
142363 ,p_accounting_line_appl_id => l_component_appl_id
142364 ,p_amb_context_code => l_amb_context_code
142365 ,p_entity_code => l_entity_code
142366 ,p_event_class_code => l_event_class_code);
142367 --
142368 -- set accounting class
142369 --
142370 xla_ae_lines_pkg.SetAcctClass(
142371 p_accounting_class_code => 'AWT'
142372 , p_ae_header_id => l_ae_header_id
142373 );
142374
142375 --
142376 -- set rounding class
142377 --
142378 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
142379 'AWT';
142380
142381 --
142382 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
142383 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
142384 --
142385 -- bulk performance
142386 --
142387 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
142388
142389 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
142390 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
142391
142392 -- 4955764
142393 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
142394 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
142395
142396 -- 4458381 Public Sector Enh
142397
142398 --
142399 -- set accounting attributes for the line type
142400 --
142401 l_entered_amt_idx := 24;
142402 l_accted_amt_idx := 29;
142403 l_bflow_applied_to_amt_idx := 7; -- 5132302
142404 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
142405 l_rec_acct_attrs.array_char_value(1) := p_source_53;
142406 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
142407 l_rec_acct_attrs.array_num_value(2) :=
142408 xla_ae_sources_pkg.GetSystemSourceNum(
142409 p_source_code => 'XLA_EVENT_APPL_ID'
142410 , p_source_type_code => 'Y'
142414 l_rec_acct_attrs.array_char_value(3) := p_source_55;
142411 , p_source_application_id => 602
142412 );
142413 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
142415 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
142416 l_rec_acct_attrs.array_char_value(4) :=
142417 xla_ae_sources_pkg.GetSystemSourceChar(
142418 p_source_code => 'XLA_ENTITY_CODE'
142419 , p_source_type_code => 'Y'
142420 , p_source_application_id => 602
142421 );
142422 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
142423 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
142424 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
142425 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
142426 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
142427 l_rec_acct_attrs.array_num_value(7) := p_source_73;
142428 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
142429 l_rec_acct_attrs.array_num_value(8) := p_source_91;
142430 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
142431 l_rec_acct_attrs.array_char_value(9) := p_source_92;
142432 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
142433 l_rec_acct_attrs.array_char_value(10) := p_source_93;
142434 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
142435 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_94);
142436 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
142437 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_95);
142438 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
142439 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_64);
142440 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
142441 l_rec_acct_attrs.array_char_value(14) := p_source_55;
142442 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
142443 l_rec_acct_attrs.array_num_value(15) := p_source_65;
142444 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
142445 l_rec_acct_attrs.array_num_value(16) := p_source_66;
142446 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
142447 l_rec_acct_attrs.array_char_value(17) := p_source_67;
142448 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
142449 l_rec_acct_attrs.array_num_value(18) := p_source_68;
142450 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
142451 l_rec_acct_attrs.array_num_value(19) := p_source_69;
142452 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
142453 l_rec_acct_attrs.array_num_value(20) := p_source_70;
142454 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
142455 l_rec_acct_attrs.array_char_value(21) := p_source_67;
142456 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
142457 l_rec_acct_attrs.array_num_value(22) := p_source_71;
142458 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
142459 l_rec_acct_attrs.array_char_value(23) := p_source_72;
142460 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
142461 l_rec_acct_attrs.array_num_value(24) := p_source_73;
142462 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
142463 l_rec_acct_attrs.array_char_value(25) := p_source_67;
142464 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
142465 l_rec_acct_attrs.array_date_value(26) := p_source_143;
142466 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
142467 l_rec_acct_attrs.array_num_value(27) := p_source_144;
142468 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
142469 l_rec_acct_attrs.array_char_value(28) := p_source_145;
142470 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
142471 l_rec_acct_attrs.array_num_value(29) := p_source_21;
142472 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
142473 l_rec_acct_attrs.array_date_value(30) := p_source_77;
142474 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
142475 l_rec_acct_attrs.array_char_value(31) := p_source_78;
142476 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
142477 l_rec_acct_attrs.array_date_value(32) := p_source_79;
142478 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
142479 l_rec_acct_attrs.array_char_value(33) := p_source_80;
142480 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
142481 l_rec_acct_attrs.array_num_value(34) := p_source_81;
142482 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
142483 l_rec_acct_attrs.array_num_value(35) := p_source_82;
142484 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
142485 l_rec_acct_attrs.array_char_value(36) := p_source_83;
142486 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
142487 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_84);
142488 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
142489 l_rec_acct_attrs.array_char_value(38) := p_source_55;
142490 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
142491 l_rec_acct_attrs.array_num_value(39) := p_source_85;
142492 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
142493 l_rec_acct_attrs.array_num_value(40) := p_source_86;
142494 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
142495 l_rec_acct_attrs.array_num_value(41) := p_source_87;
142496 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
142500 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
142497 l_rec_acct_attrs.array_num_value(42) := p_source_88;
142498 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
142499 l_rec_acct_attrs.array_num_value(43) := p_source_89;
142501 l_rec_acct_attrs.array_num_value(44) := p_source_90;
142502
142503 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
142504 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
142505
142506 ---------------------------------------------------------------------------------------------------------------
142507 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
142508 ---------------------------------------------------------------------------------------------------------------
142509 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
142510
142511 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
142512 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
142513
142514 IF xla_accounting_cache_pkg.GetValueChar
142515 (p_source_code => 'LEDGER_CATEGORY_CODE'
142516 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
142517 AND l_bflow_method_code = 'PRIOR_ENTRY'
142518 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
142519 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
142520 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
142521 )
142522 THEN
142523 xla_ae_lines_pkg.BflowUpgEntry
142524 (p_business_method_code => l_bflow_method_code
142525 ,p_business_class_code => l_bflow_class_code
142526 ,p_balance_type => l_balance_type_code);
142527 ELSE
142528 NULL;
142529 -- No business flow processing for business flow method of NONE.
142530 END IF;
142531
142532 --
142533 -- call analytical criteria
142534 --
142535
142536 --
142537 -- call description
142538 --
142539
142540 xla_ae_lines_pkg.SetLineDescription(
142541 p_ae_header_id => l_ae_header_id
142542 ,p_description => Description_1 (
142543 p_application_id => p_application_id
142544 , p_ae_header_id => l_ae_header_id
142545 , p_source_1 => p_source_1
142546 )
142547 );
142548
142549
142550 --
142551 -- call ADRs
142552 -- Bug 4922099
142553 --
142554 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
142555 (NVL(l_actual_upg_option, 'N') = 'O') OR
142556 (NVL(l_enc_upg_option, 'N') = 'O')
142557 )
142558 THEN
142559 NULL;
142560 --
142561 --
142562
142563 l_ccid := AcctDerRule_46(
142564 p_application_id => p_application_id
142565 , p_ae_header_id => l_ae_header_id
142566 , p_source_15 => p_source_15
142567 , p_source_15_meaning => p_source_15_meaning
142568 , p_source_30 => p_source_30
142569 , p_source_43 => p_source_43
142570 , x_transaction_coa_id => l_adr_transaction_coa_id
142571 , x_accounting_coa_id => l_adr_accounting_coa_id
142572 , x_value_type_code => l_adr_value_type_code
142573 , p_side => 'NA'
142574 );
142575
142576 xla_ae_lines_pkg.set_ccid(
142577 p_code_combination_id => l_ccid
142578 , p_value_type_code => l_adr_value_type_code
142579 , p_transaction_coa_id => l_adr_transaction_coa_id
142580 , p_accounting_coa_id => l_adr_accounting_coa_id
142581 , p_adr_code => 'AP_WH_DIST_ACCT'
142582 , p_adr_type_code => 'S'
142583 , p_component_type => l_component_type
142584 , p_component_code => l_component_code
142585 , p_component_type_code => l_component_type_code
142586 , p_component_appl_id => l_component_appl_id
142587 , p_amb_context_code => l_amb_context_code
142588 , p_side => 'NA'
142589 );
142590
142591
142592 l_segment := AcctDerRule_14(
142593 p_application_id => p_application_id
142594 , p_ae_header_id => l_ae_header_id
142595 , p_source_15 => p_source_15
142596 , p_source_15_meaning => p_source_15_meaning
142597 , p_source_30 => p_source_30
142598 , x_transaction_coa_id => l_adr_transaction_coa_id
142599 , x_accounting_coa_id => l_adr_accounting_coa_id
142600 , x_flexfield_segment_code => l_adr_flexfield_segment_code
142601 , x_flex_value_set_id => l_adr_flex_value_set_id
142602 , x_value_type_code => l_adr_value_type_code
142603 , x_value_combination_id => l_adr_value_combination_id
142604 , x_value_segment_code => l_adr_value_segment_code
142605 , p_side => 'NA'
142606 , p_override_seg_flag => 'Y'
142607 );
142608
142609 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
142610
142611 xla_ae_lines_pkg.set_segment(
142612 p_to_segment_code => 'GL_ACCOUNT'
142613 , p_segment_value => l_segment
142614 , p_from_segment_code => l_adr_value_segment_code
142615 , p_from_combination_id => l_adr_value_combination_id
142619 , p_flexfield_segment_code => l_adr_flexfield_segment_code
142616 , p_value_type_code => l_adr_value_type_code
142617 , p_transaction_coa_id => l_adr_transaction_coa_id
142618 , p_accounting_coa_id => l_adr_accounting_coa_id
142620 , p_flex_value_set_id => l_adr_flex_value_set_id
142621 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
142622 , p_adr_type_code => 'S'
142623 , p_component_type => l_component_type
142624 , p_component_code => l_component_code
142625 , p_component_type_code => l_component_type_code
142626 , p_component_appl_id => l_component_appl_id
142627 , p_amb_context_code => l_amb_context_code
142628 , p_entity_code => 'AP_INVOICES'
142629 , p_event_class_code => 'INVOICES'
142630 , p_side => 'NA'
142631 );
142632
142633 END IF;
142634
142635 l_segment := AcctDerRule_25(
142636 p_application_id => p_application_id
142637 , p_ae_header_id => l_ae_header_id
142638 , p_source_15 => p_source_15
142639 , p_source_15_meaning => p_source_15_meaning
142640 , p_source_43 => p_source_43
142641 , x_transaction_coa_id => l_adr_transaction_coa_id
142642 , x_accounting_coa_id => l_adr_accounting_coa_id
142643 , x_flexfield_segment_code => l_adr_flexfield_segment_code
142644 , x_flex_value_set_id => l_adr_flex_value_set_id
142645 , x_value_type_code => l_adr_value_type_code
142646 , x_value_combination_id => l_adr_value_combination_id
142647 , x_value_segment_code => l_adr_value_segment_code
142648 , p_side => 'NA'
142649 , p_override_seg_flag => 'Y'
142650 );
142651
142652 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
142653
142654 xla_ae_lines_pkg.set_segment(
142655 p_to_segment_code => 'GL_BALANCING'
142656 , p_segment_value => l_segment
142657 , p_from_segment_code => l_adr_value_segment_code
142658 , p_from_combination_id => l_adr_value_combination_id
142659 , p_value_type_code => l_adr_value_type_code
142660 , p_transaction_coa_id => l_adr_transaction_coa_id
142661 , p_accounting_coa_id => l_adr_accounting_coa_id
142662 , p_flexfield_segment_code => l_adr_flexfield_segment_code
142663 , p_flex_value_set_id => l_adr_flex_value_set_id
142664 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
142665 , p_adr_type_code => 'S'
142666 , p_component_type => l_component_type
142667 , p_component_code => l_component_code
142668 , p_component_type_code => l_component_type_code
142669 , p_component_appl_id => l_component_appl_id
142670 , p_amb_context_code => l_amb_context_code
142671 , p_entity_code => 'AP_INVOICES'
142672 , p_event_class_code => 'INVOICES'
142673 , p_side => 'NA'
142674 );
142675
142676 END IF;
142677
142678 --
142679 --
142680 END IF;
142681 --
142682 -- Bug 4922099
142683 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
142684 (NVL(l_enc_upg_option, 'N') = 'O')
142685 ) AND
142686 (l_bflow_method_code = 'PRIOR_ENTRY')
142687 )
142688 THEN
142689 IF
142690 --
142691 1 = 2
142692 --
142693 THEN
142694 xla_accounting_err_pkg.build_message
142695 (p_appli_s_name => 'XLA'
142696 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
142697 ,p_token_1 => 'LINE_NUMBER'
142698 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
142699 ,p_token_2 => 'LINE_TYPE_NAME'
142700 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
142701 l_component_type
142702 ,l_component_code
142703 ,l_component_type_code
142704 ,l_component_appl_id
142705 ,l_amb_context_code
142706 ,l_entity_code
142707 ,l_event_class_code
142708 )
142709 ,p_token_3 => 'OWNER'
142710 ,p_value_3 => xla_lookups_pkg.get_meaning(
142711 p_lookup_type => 'XLA_OWNER_TYPE'
142712 ,p_lookup_code => l_component_type_code
142713 )
142714 ,p_token_4 => 'PRODUCT_NAME'
142718 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
142715 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
142716 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
142717 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
142719 ,p_ae_header_id => NULL
142720 );
142721
142722 IF (C_LEVEL_ERROR>= g_log_level) THEN
142723 trace
142724 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
142725 ,p_level => C_LEVEL_ERROR
142726 ,p_module => l_log_module);
142727 END IF;
142728 END IF;
142729 END IF;
142730 --
142731 --
142732 ------------------------------------------------------------------------------------------------
142733 -- 4219869 Business Flow
142734 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
142735 -- Prior Entry. Currently, the following code is always generated.
142736 ------------------------------------------------------------------------------------------------
142737 XLA_AE_LINES_PKG.ValidateCurrentLine;
142738
142739 ------------------------------------------------------------------------------------
142740 -- 4219869 Business Flow
142741 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
142742 ------------------------------------------------------------------------------------
142743 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
142744
142745 ----------------------------------------------------------------------------------
142746 -- 4219869 Business Flow
142747 -- Update journal entry status -- Need to generate this within IF <condition>
142748 ----------------------------------------------------------------------------------
142749 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
142750 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
142751 ,p_balance_type_code => l_balance_type_code
142752 );
142753
142754 -------------------------------------------------------------------------------------------
142755 -- 4262811 - Generate the Accrual Reversal lines
142756 -------------------------------------------------------------------------------------------
142757 BEGIN
142758 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
142759 (g_array_event(p_event_id).array_value_num('header_index'));
142760 IF l_acc_rev_flag IS NULL THEN
142761 l_acc_rev_flag := 'N';
142762 END IF;
142763 EXCEPTION
142764 WHEN OTHERS THEN
142765 l_acc_rev_flag := 'N';
142766 END;
142767 --
142768 IF (l_acc_rev_flag = 'Y') THEN
142769
142770 -- 4645092 ------------------------------------------------------------------------------
142771 -- To allow MPA report to determine if it should generate report process
142772 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
142773 ------------------------------------------------------------------------------------------
142774
142775 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
142776 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
142777 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
142778 -- call ADRs
142779 -- Bug 4922099
142780 --
142781 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
142782 (NVL(l_actual_upg_option, 'N') = 'O') OR
142783 (NVL(l_enc_upg_option, 'N') = 'O')
142784 )
142785 THEN
142786 NULL;
142787 --
142788 --
142789
142790 l_ccid := AcctDerRule_46(
142791 p_application_id => p_application_id
142792 , p_ae_header_id => l_ae_header_id
142793 , p_source_15 => p_source_15
142794 , p_source_15_meaning => p_source_15_meaning
142795 , p_source_30 => p_source_30
142796 , p_source_43 => p_source_43
142797 , x_transaction_coa_id => l_adr_transaction_coa_id
142798 , x_accounting_coa_id => l_adr_accounting_coa_id
142799 , x_value_type_code => l_adr_value_type_code
142800 , p_side => 'NA'
142801 );
142802
142803 xla_ae_lines_pkg.set_ccid(
142804 p_code_combination_id => l_ccid
142805 , p_value_type_code => l_adr_value_type_code
142806 , p_transaction_coa_id => l_adr_transaction_coa_id
142807 , p_accounting_coa_id => l_adr_accounting_coa_id
142808 , p_adr_code => 'AP_WH_DIST_ACCT'
142809 , p_adr_type_code => 'S'
142810 , p_component_type => l_component_type
142811 , p_component_code => l_component_code
142812 , p_component_type_code => l_component_type_code
142813 , p_component_appl_id => l_component_appl_id
142814 , p_amb_context_code => l_amb_context_code
142815 , p_side => 'NA'
142816 );
142817
142818
142819 l_segment := AcctDerRule_14(
142820 p_application_id => p_application_id
142821 , p_ae_header_id => l_ae_header_id
142822 , p_source_15 => p_source_15
142823 , p_source_15_meaning => p_source_15_meaning
142824 , p_source_30 => p_source_30
142825 , x_transaction_coa_id => l_adr_transaction_coa_id
142829 , x_value_type_code => l_adr_value_type_code
142826 , x_accounting_coa_id => l_adr_accounting_coa_id
142827 , x_flexfield_segment_code => l_adr_flexfield_segment_code
142828 , x_flex_value_set_id => l_adr_flex_value_set_id
142830 , x_value_combination_id => l_adr_value_combination_id
142831 , x_value_segment_code => l_adr_value_segment_code
142832 , p_side => 'NA'
142833 , p_override_seg_flag => 'Y'
142834 );
142835
142836 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
142837
142838 xla_ae_lines_pkg.set_segment(
142839 p_to_segment_code => 'GL_ACCOUNT'
142840 , p_segment_value => l_segment
142841 , p_from_segment_code => l_adr_value_segment_code
142842 , p_from_combination_id => l_adr_value_combination_id
142843 , p_value_type_code => l_adr_value_type_code
142844 , p_transaction_coa_id => l_adr_transaction_coa_id
142845 , p_accounting_coa_id => l_adr_accounting_coa_id
142846 , p_flexfield_segment_code => l_adr_flexfield_segment_code
142847 , p_flex_value_set_id => l_adr_flex_value_set_id
142848 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
142849 , p_adr_type_code => 'S'
142850 , p_component_type => l_component_type
142851 , p_component_code => l_component_code
142852 , p_component_type_code => l_component_type_code
142853 , p_component_appl_id => l_component_appl_id
142854 , p_amb_context_code => l_amb_context_code
142855 , p_entity_code => 'AP_INVOICES'
142856 , p_event_class_code => 'INVOICES'
142857 , p_side => 'NA'
142858 );
142859
142860 END IF;
142861
142862 l_segment := AcctDerRule_25(
142863 p_application_id => p_application_id
142864 , p_ae_header_id => l_ae_header_id
142865 , p_source_15 => p_source_15
142866 , p_source_15_meaning => p_source_15_meaning
142867 , p_source_43 => p_source_43
142868 , x_transaction_coa_id => l_adr_transaction_coa_id
142869 , x_accounting_coa_id => l_adr_accounting_coa_id
142870 , x_flexfield_segment_code => l_adr_flexfield_segment_code
142871 , x_flex_value_set_id => l_adr_flex_value_set_id
142872 , x_value_type_code => l_adr_value_type_code
142873 , x_value_combination_id => l_adr_value_combination_id
142874 , x_value_segment_code => l_adr_value_segment_code
142875 , p_side => 'NA'
142876 , p_override_seg_flag => 'Y'
142877 );
142878
142879 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
142880
142881 xla_ae_lines_pkg.set_segment(
142882 p_to_segment_code => 'GL_BALANCING'
142883 , p_segment_value => l_segment
142884 , p_from_segment_code => l_adr_value_segment_code
142885 , p_from_combination_id => l_adr_value_combination_id
142886 , p_value_type_code => l_adr_value_type_code
142887 , p_transaction_coa_id => l_adr_transaction_coa_id
142888 , p_accounting_coa_id => l_adr_accounting_coa_id
142889 , p_flexfield_segment_code => l_adr_flexfield_segment_code
142890 , p_flex_value_set_id => l_adr_flex_value_set_id
142891 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
142892 , p_adr_type_code => 'S'
142893 , p_component_type => l_component_type
142894 , p_component_code => l_component_code
142895 , p_component_type_code => l_component_type_code
142896 , p_component_appl_id => l_component_appl_id
142897 , p_amb_context_code => l_amb_context_code
142898 , p_entity_code => 'AP_INVOICES'
142899 , p_event_class_code => 'INVOICES'
142900 , p_side => 'NA'
142901 );
142902
142903 END IF;
142904
142905 --
142906 --
142907 END IF;
142908
142909 --
142910 -- Update the line information that should be overwritten
142911 --
142912 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
142913 p_header_num => 1);
142914 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
142915
142916 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
142917
142918 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
142919 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
142920 END IF;
142921
142922 --
142923 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
142924 --
142925 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
142926 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
142927 ELSE
142928 ---------------------------------------------------------------------------------------------------
142929 -- 4262811a Switch Sign
142930 ---------------------------------------------------------------------------------------------------
142934 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
142931 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
142932 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
142933 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
142935 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
142936 -- 5132302
142937 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
142938 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
142939
142940 END IF;
142941
142942 -- 4955764
142943 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
142944 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
142945
142946
142947 XLA_AE_LINES_PKG.ValidateCurrentLine;
142948 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
142949
142950 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
142951 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
142952 ,p_balance_type_code => l_balance_type_code);
142953
142954 END IF;
142955
142956 -----------------------------------------------------------------------------------------
142957 -- 4262811 Multiperiod Accounting
142958 -----------------------------------------------------------------------------------------
142959 -- No MPA option is assigned.
142960
142961
142962 END IF;
142963 END IF;
142964 --
142965
142966 --
142967 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
142968 trace
142969 (p_msg => 'END of AcctLineType_228'
142970 ,p_level => C_LEVEL_PROCEDURE
142971 ,p_module => l_log_module);
142972 END IF;
142973 --
142974 EXCEPTION
142975 WHEN xla_exceptions_pkg.application_exception THEN
142976 RAISE;
142977 WHEN OTHERS THEN
142978 xla_exceptions_pkg.raise_message
142979 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_228');
142980 END AcctLineType_228;
142981 --
142982
142983 ---------------------------------------
142984 --
142985 -- PRIVATE FUNCTION
142986 -- AcctLineType_229
142987 --
142988 ---------------------------------------
142989 PROCEDURE AcctLineType_229 (
142990 p_application_id IN NUMBER
142991 ,p_event_id IN NUMBER
142992 ,p_calculate_acctd_flag IN VARCHAR2
142993 ,p_calculate_g_l_flag IN VARCHAR2
142994 ,p_actual_flag IN OUT VARCHAR2
142995 ,p_balance_type_code OUT VARCHAR2
142996 ,p_gain_or_loss_ref OUT VARCHAR2
142997
142998 --Invoice Distribution Description
142999 , p_source_1 IN VARCHAR2
143000 --Automatic Offsets Value
143001 , p_source_15 IN VARCHAR2
143002 , p_source_15_meaning IN VARCHAR2
143003 --Invoice Distribution Ledger Amount
143004 , p_source_21 IN NUMBER
143005 --Invoice Distribution Account
143006 , p_source_30 IN NUMBER
143007 --Invoice Distribution Type
143008 , p_source_33 IN VARCHAR2
143009 , p_source_33_meaning IN VARCHAR2
143010 --Withholding Related Distribution Account
143011 , p_source_43 IN NUMBER
143012 --Accounting Reversal Indicator
143013 , p_source_53 IN VARCHAR2
143014 --Distribution Link Type
143015 , p_source_55 IN VARCHAR2
143016 --Allocation to Main Distribution Identifier
143017 , p_source_57 IN NUMBER
143018 --Invoice Identifier
143019 , p_source_58 IN NUMBER
143020 --Invoice Distribution Identifier
143021 , p_source_64 IN NUMBER
143022 --Payables Encumbrance Upgrade Credit Account
143023 , p_source_65 IN NUMBER
143024 --Payables Encumbrance Upgrade Credit Amount
143025 , p_source_66 IN NUMBER
143026 --Invoice Currency Code
143027 , p_source_67 IN VARCHAR2
143028 --Payables Encumbrance Upgrade Credit Base Amount
143029 , p_source_68 IN NUMBER
143030 --Payables Encumbrance Upgrade Debit Account
143031 , p_source_69 IN NUMBER
143032 --Payables Encumbrance Upgrade Debit Amount
143033 , p_source_70 IN NUMBER
143034 --Payables Encumbrance Upgrade Debit Base Amount
143035 , p_source_71 IN NUMBER
143036 --Payables Encumbrance Upgrade Option
143037 , p_source_72 IN VARCHAR2
143038 --Invoice Distribution Amount
143039 , p_source_73 IN NUMBER
143040 --Deferred Accounting End Date
143041 , p_source_77 IN DATE
143042 --Deferred Accounting Option
143043 , p_source_78 IN VARCHAR2
143044 --Deferred Accounting Start Date
143045 , p_source_79 IN DATE
143046 --Override Accounted Amount Indicator
143047 , p_source_80 IN VARCHAR2
143048 , p_source_80_meaning IN VARCHAR2
143049 --Invoice Supplier Identifier
143050 , p_source_81 IN NUMBER
143051 --Invoice Supplier Site Identifier
143052 , p_source_82 IN NUMBER
143053 --Third Party Type
143054 , p_source_83 IN VARCHAR2
143055 --Parent Reversal Identifier
143056 , p_source_84 IN NUMBER
143057 --Invoice Distribution Statistical Amount
143058 , p_source_85 IN NUMBER
143059 --Invoice Distribution Tax Line Identifier
143063 --Invoice Distribution Summary Tax Line Identifier
143060 , p_source_86 IN NUMBER
143061 --Invoice Distribution Tax Distribution Identifier from Tax
143062 , p_source_87 IN NUMBER
143064 , p_source_88 IN NUMBER
143065 --Payables Upgrade Credit Encumbrance Type Identifier
143066 , p_source_89 IN NUMBER
143067 --Payables Upgrade Debit Encumbrance Type Identifier
143068 , p_source_90 IN NUMBER
143069 --Business Flow Accounts Payable Application Identifier
143070 , p_source_91 IN NUMBER
143071 --Business Flow Invoice Distribution Type
143072 , p_source_92 IN VARCHAR2
143073 --Business Flow Invoice Entity Code
143074 , p_source_93 IN VARCHAR2
143075 --Business Flow Invoice Distribution Identifier
143076 , p_source_94 IN NUMBER
143077 --Business Flow Invoice Identifier
143078 , p_source_95 IN NUMBER
143079 --Invoice Exchange Date
143080 , p_source_143 IN DATE
143081 --Invoice Exchange Rate
143082 , p_source_144 IN NUMBER
143083 --Invoice Exchange Rate Type
143084 , p_source_145 IN VARCHAR2
143085 )
143086 IS
143087
143088 l_component_type VARCHAR2(80);
143089 l_component_code VARCHAR2(30);
143090 l_component_type_code VARCHAR2(1);
143091 l_component_appl_id INTEGER;
143092 l_amb_context_code VARCHAR2(30);
143093 l_entity_code VARCHAR2(30);
143094 l_event_class_code VARCHAR2(30);
143095 l_ae_header_id NUMBER;
143096 l_event_type_code VARCHAR2(30);
143097 l_line_definition_code VARCHAR2(30);
143098 l_line_definition_owner_code VARCHAR2(1);
143099 --
143100 -- adr variables
143101 l_segment VARCHAR2(30);
143102 l_ccid NUMBER;
143103 l_adr_transaction_coa_id NUMBER;
143104 l_adr_accounting_coa_id NUMBER;
143105 l_adr_flexfield_segment_code VARCHAR2(30);
143106 l_adr_flex_value_set_id NUMBER;
143107 l_adr_value_type_code VARCHAR2(30);
143108 l_adr_value_combination_id NUMBER;
143109 l_adr_value_segment_code VARCHAR2(30);
143110
143111 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
143112 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
143113 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
143114 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
143115
143116 -- 4262811 Variables ------------------------------------------------------------------------------------------
143117 l_entered_amt_idx NUMBER;
143118 l_accted_amt_idx NUMBER;
143119 l_acc_rev_flag VARCHAR2(1);
143120 l_accrual_line_num NUMBER;
143121 l_tmp_amt NUMBER;
143122 l_acc_rev_natural_side_code VARCHAR2(1);
143123
143124 l_num_entries NUMBER;
143125 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
143126 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
143127 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
143128 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
143129 l_recog_line_1 NUMBER;
143130 l_recog_line_2 NUMBER;
143131
143132 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
143133 l_bflow_applied_to_amt NUMBER; -- 5132302
143134 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
143135
143136 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
143137
143138 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
143139 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
143140
143141 ---------------------------------------------------------------------------------------------------------------
143142
143143
143144 --
143145 -- bulk performance
143146 --
143147 l_balance_type_code VARCHAR2(1);
143148 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
143149 l_log_module VARCHAR2(240);
143150
143151 --
143152 -- Upgrade strategy
143153 --
143154 l_actual_upg_option VARCHAR2(1);
143155 l_enc_upg_option VARCHAR2(1);
143156
143157 --
143158 BEGIN
143159 --
143160 IF g_log_enabled THEN
143161 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_229';
143162 END IF;
143163 --
143164 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
143165
143166 trace
143167 (p_msg => 'BEGIN of AcctLineType_229'
143168 ,p_level => C_LEVEL_PROCEDURE
143169 ,p_module => l_log_module);
143170
143171 END IF;
143172 --
143173 l_component_type := 'AMB_JLT';
143174 l_component_code := 'AP_WITHHOLD_TAX_PREPAY';
143175 l_component_type_code := 'S';
143176 l_component_appl_id := 200;
143177 l_amb_context_code := 'DEFAULT';
143178 l_entity_code := 'AP_INVOICES';
143179 l_event_class_code := 'PREPAYMENTS';
143180 l_event_type_code := 'PREPAYMENTS_ALL';
143181 l_line_definition_owner_code := 'S';
143182 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
143183 --
143184 l_balance_type_code := 'A';
143185 l_segment := NULL;
143186 l_ccid := NULL;
143187 l_adr_transaction_coa_id := NULL;
143188 l_adr_accounting_coa_id := NULL;
143189 l_adr_flexfield_segment_code := NULL;
143193 l_adr_value_segment_code := NULL;
143190 l_adr_flex_value_set_id := NULL;
143191 l_adr_value_type_code := NULL;
143192 l_adr_value_combination_id := NULL;
143194
143195 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
143196 l_bflow_class_code := ''; -- 4219869 Business Flow
143197 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
143198 l_budgetary_control_flag := 'N';
143199
143200 l_bflow_applied_to_amt_idx := NULL; -- 5132302
143201 l_bflow_applied_to_amt := NULL; -- 5132302
143202 l_entered_amt_idx := NULL; -- 4262811
143203 l_accted_amt_idx := NULL; -- 4262811
143204 l_acc_rev_flag := NULL; -- 4262811
143205 l_accrual_line_num := NULL; -- 4262811
143206 l_tmp_amt := NULL; -- 4262811
143207 --
143208
143209 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
143210 l_balance_type_code <> 'B' THEN
143211 IF NVL(p_source_33,'
143212 ') = 'AWT'
143213 THEN
143214
143215 --
143216 XLA_AE_LINES_PKG.SetNewLine;
143217
143218 p_balance_type_code := l_balance_type_code;
143219 -- set the flag so later we will know whether the gain loss line needs to be created
143220
143221 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
143222 p_actual_flag :='A';
143223 END IF;
143224
143225 --
143226 -- bulk performance
143227 --
143228 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
143229 p_header_num => 0); -- 4262811
143230 --
143231 -- set accounting line options
143232 --
143233 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
143234 p_natural_side_code => 'D'
143235 , p_gain_or_loss_flag => 'N'
143236 , p_gl_transfer_mode_code => 'S'
143237 , p_acct_entry_type_code => 'A'
143238 , p_switch_side_flag => 'Y'
143239 , p_merge_duplicate_code => 'A'
143240 );
143241 --
143242 l_acc_rev_natural_side_code := 'C'; -- 4262811
143243 --
143244 --
143245 -- set accounting line type info
143246 --
143247 xla_ae_lines_pkg.SetAcctLineType
143248 (p_component_type => l_component_type
143249 ,p_event_type_code => l_event_type_code
143250 ,p_line_definition_owner_code => l_line_definition_owner_code
143251 ,p_line_definition_code => l_line_definition_code
143252 ,p_accounting_line_code => l_component_code
143253 ,p_accounting_line_type_code => l_component_type_code
143254 ,p_accounting_line_appl_id => l_component_appl_id
143255 ,p_amb_context_code => l_amb_context_code
143256 ,p_entity_code => l_entity_code
143257 ,p_event_class_code => l_event_class_code);
143258 --
143259 -- set accounting class
143260 --
143261 xla_ae_lines_pkg.SetAcctClass(
143262 p_accounting_class_code => 'AWT'
143263 , p_ae_header_id => l_ae_header_id
143264 );
143265
143266 --
143267 -- set rounding class
143268 --
143269 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
143270 'AWT';
143271
143272 --
143273 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
143274 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
143275 --
143276 -- bulk performance
143277 --
143278 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
143279
143280 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
143281 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
143282
143283 -- 4955764
143284 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
143285 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
143286
143287 -- 4458381 Public Sector Enh
143288
143289 --
143290 -- set accounting attributes for the line type
143291 --
143292 l_entered_amt_idx := 23;
143293 l_accted_amt_idx := 28;
143294 l_bflow_applied_to_amt_idx := NULL; -- 5132302
143295 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
143296 l_rec_acct_attrs.array_char_value(1) := p_source_53;
143297 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
143298 l_rec_acct_attrs.array_num_value(2) :=
143299 xla_ae_sources_pkg.GetSystemSourceNum(
143300 p_source_code => 'XLA_EVENT_APPL_ID'
143301 , p_source_type_code => 'Y'
143302 , p_source_application_id => 602
143303 );
143304 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
143305 l_rec_acct_attrs.array_char_value(3) := p_source_55;
143306 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
143307 l_rec_acct_attrs.array_char_value(4) :=
143308 xla_ae_sources_pkg.GetSystemSourceChar(
143309 p_source_code => 'XLA_ENTITY_CODE'
143310 , p_source_type_code => 'Y'
143311 , p_source_application_id => 602
143312 );
143313 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
143317 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
143314 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_57);
143315 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
143316 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_58);
143318 l_rec_acct_attrs.array_num_value(7) := p_source_91;
143319 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
143320 l_rec_acct_attrs.array_char_value(8) := p_source_92;
143321 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
143322 l_rec_acct_attrs.array_char_value(9) := p_source_93;
143323 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
143324 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_94);
143325 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
143326 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_95);
143327 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
143328 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_64);
143329 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
143330 l_rec_acct_attrs.array_char_value(13) := p_source_55;
143331 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
143332 l_rec_acct_attrs.array_num_value(14) := p_source_65;
143333 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
143334 l_rec_acct_attrs.array_num_value(15) := p_source_66;
143335 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
143336 l_rec_acct_attrs.array_char_value(16) := p_source_67;
143337 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
143338 l_rec_acct_attrs.array_num_value(17) := p_source_68;
143339 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
143340 l_rec_acct_attrs.array_num_value(18) := p_source_69;
143341 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
143342 l_rec_acct_attrs.array_num_value(19) := p_source_70;
143343 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
143344 l_rec_acct_attrs.array_char_value(20) := p_source_67;
143345 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
143346 l_rec_acct_attrs.array_num_value(21) := p_source_71;
143347 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
143348 l_rec_acct_attrs.array_char_value(22) := p_source_72;
143349 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
143350 l_rec_acct_attrs.array_num_value(23) := p_source_73;
143351 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
143352 l_rec_acct_attrs.array_char_value(24) := p_source_67;
143353 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
143354 l_rec_acct_attrs.array_date_value(25) := p_source_143;
143355 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
143356 l_rec_acct_attrs.array_num_value(26) := p_source_144;
143357 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
143358 l_rec_acct_attrs.array_char_value(27) := p_source_145;
143359 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
143360 l_rec_acct_attrs.array_num_value(28) := p_source_21;
143361 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
143362 l_rec_acct_attrs.array_date_value(29) := p_source_77;
143363 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
143364 l_rec_acct_attrs.array_char_value(30) := p_source_78;
143365 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
143366 l_rec_acct_attrs.array_date_value(31) := p_source_79;
143367 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
143368 l_rec_acct_attrs.array_char_value(32) := p_source_80;
143369 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
143370 l_rec_acct_attrs.array_num_value(33) := p_source_81;
143371 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
143372 l_rec_acct_attrs.array_num_value(34) := p_source_82;
143373 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
143374 l_rec_acct_attrs.array_char_value(35) := p_source_83;
143375 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
143376 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_84);
143377 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
143378 l_rec_acct_attrs.array_char_value(37) := p_source_55;
143379 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
143380 l_rec_acct_attrs.array_num_value(38) := p_source_85;
143381 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
143382 l_rec_acct_attrs.array_num_value(39) := p_source_86;
143383 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
143384 l_rec_acct_attrs.array_num_value(40) := p_source_87;
143385 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
143386 l_rec_acct_attrs.array_num_value(41) := p_source_88;
143387 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
143388 l_rec_acct_attrs.array_num_value(42) := p_source_89;
143389 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
143390 l_rec_acct_attrs.array_num_value(43) := p_source_90;
143391
143392 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
143393 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
143394
143395 ---------------------------------------------------------------------------------------------------------------
143399
143396 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
143397 ---------------------------------------------------------------------------------------------------------------
143398 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
143400 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
143401 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
143402
143403 IF xla_accounting_cache_pkg.GetValueChar
143404 (p_source_code => 'LEDGER_CATEGORY_CODE'
143405 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
143406 AND l_bflow_method_code = 'PRIOR_ENTRY'
143407 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
143408 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
143409 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
143410 )
143411 THEN
143412 xla_ae_lines_pkg.BflowUpgEntry
143413 (p_business_method_code => l_bflow_method_code
143414 ,p_business_class_code => l_bflow_class_code
143415 ,p_balance_type => l_balance_type_code);
143416 ELSE
143417 NULL;
143418 -- No business flow processing for business flow method of NONE.
143419 END IF;
143420
143421 --
143422 -- call analytical criteria
143423 --
143424
143425 --
143426 -- call description
143427 --
143428
143429 xla_ae_lines_pkg.SetLineDescription(
143430 p_ae_header_id => l_ae_header_id
143431 ,p_description => Description_1 (
143432 p_application_id => p_application_id
143433 , p_ae_header_id => l_ae_header_id
143434 , p_source_1 => p_source_1
143435 )
143436 );
143437
143438
143439 --
143440 -- call ADRs
143441 -- Bug 4922099
143442 --
143443 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
143444 (NVL(l_actual_upg_option, 'N') = 'O') OR
143445 (NVL(l_enc_upg_option, 'N') = 'O')
143446 )
143447 THEN
143448 NULL;
143449 --
143450 --
143451
143452 l_ccid := AcctDerRule_46(
143453 p_application_id => p_application_id
143454 , p_ae_header_id => l_ae_header_id
143455 , p_source_15 => p_source_15
143456 , p_source_15_meaning => p_source_15_meaning
143457 , p_source_30 => p_source_30
143458 , p_source_43 => p_source_43
143459 , x_transaction_coa_id => l_adr_transaction_coa_id
143460 , x_accounting_coa_id => l_adr_accounting_coa_id
143461 , x_value_type_code => l_adr_value_type_code
143462 , p_side => 'NA'
143463 );
143464
143465 xla_ae_lines_pkg.set_ccid(
143466 p_code_combination_id => l_ccid
143467 , p_value_type_code => l_adr_value_type_code
143468 , p_transaction_coa_id => l_adr_transaction_coa_id
143469 , p_accounting_coa_id => l_adr_accounting_coa_id
143470 , p_adr_code => 'AP_WH_DIST_ACCT'
143471 , p_adr_type_code => 'S'
143472 , p_component_type => l_component_type
143473 , p_component_code => l_component_code
143474 , p_component_type_code => l_component_type_code
143475 , p_component_appl_id => l_component_appl_id
143476 , p_amb_context_code => l_amb_context_code
143477 , p_side => 'NA'
143478 );
143479
143480
143481 l_segment := AcctDerRule_14(
143482 p_application_id => p_application_id
143483 , p_ae_header_id => l_ae_header_id
143484 , p_source_15 => p_source_15
143485 , p_source_15_meaning => p_source_15_meaning
143486 , p_source_30 => p_source_30
143487 , x_transaction_coa_id => l_adr_transaction_coa_id
143488 , x_accounting_coa_id => l_adr_accounting_coa_id
143489 , x_flexfield_segment_code => l_adr_flexfield_segment_code
143490 , x_flex_value_set_id => l_adr_flex_value_set_id
143491 , x_value_type_code => l_adr_value_type_code
143492 , x_value_combination_id => l_adr_value_combination_id
143493 , x_value_segment_code => l_adr_value_segment_code
143494 , p_side => 'NA'
143495 , p_override_seg_flag => 'Y'
143496 );
143497
143498 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
143499
143500 xla_ae_lines_pkg.set_segment(
143501 p_to_segment_code => 'GL_ACCOUNT'
143502 , p_segment_value => l_segment
143503 , p_from_segment_code => l_adr_value_segment_code
143504 , p_from_combination_id => l_adr_value_combination_id
143505 , p_value_type_code => l_adr_value_type_code
143506 , p_transaction_coa_id => l_adr_transaction_coa_id
143507 , p_accounting_coa_id => l_adr_accounting_coa_id
143508 , p_flexfield_segment_code => l_adr_flexfield_segment_code
143509 , p_flex_value_set_id => l_adr_flex_value_set_id
143510 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
143511 , p_adr_type_code => 'S'
143512 , p_component_type => l_component_type
143513 , p_component_code => l_component_code
143514 , p_component_type_code => l_component_type_code
143518 , p_event_class_code => 'PREPAYMENTS'
143515 , p_component_appl_id => l_component_appl_id
143516 , p_amb_context_code => l_amb_context_code
143517 , p_entity_code => 'AP_INVOICES'
143519 , p_side => 'NA'
143520 );
143521
143522 END IF;
143523
143524 l_segment := AcctDerRule_25(
143525 p_application_id => p_application_id
143526 , p_ae_header_id => l_ae_header_id
143527 , p_source_15 => p_source_15
143528 , p_source_15_meaning => p_source_15_meaning
143529 , p_source_43 => p_source_43
143530 , x_transaction_coa_id => l_adr_transaction_coa_id
143531 , x_accounting_coa_id => l_adr_accounting_coa_id
143532 , x_flexfield_segment_code => l_adr_flexfield_segment_code
143533 , x_flex_value_set_id => l_adr_flex_value_set_id
143534 , x_value_type_code => l_adr_value_type_code
143535 , x_value_combination_id => l_adr_value_combination_id
143536 , x_value_segment_code => l_adr_value_segment_code
143537 , p_side => 'NA'
143538 , p_override_seg_flag => 'Y'
143539 );
143540
143541 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
143542
143543 xla_ae_lines_pkg.set_segment(
143544 p_to_segment_code => 'GL_BALANCING'
143545 , p_segment_value => l_segment
143546 , p_from_segment_code => l_adr_value_segment_code
143547 , p_from_combination_id => l_adr_value_combination_id
143548 , p_value_type_code => l_adr_value_type_code
143549 , p_transaction_coa_id => l_adr_transaction_coa_id
143550 , p_accounting_coa_id => l_adr_accounting_coa_id
143551 , p_flexfield_segment_code => l_adr_flexfield_segment_code
143552 , p_flex_value_set_id => l_adr_flex_value_set_id
143553 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
143554 , p_adr_type_code => 'S'
143555 , p_component_type => l_component_type
143556 , p_component_code => l_component_code
143557 , p_component_type_code => l_component_type_code
143558 , p_component_appl_id => l_component_appl_id
143559 , p_amb_context_code => l_amb_context_code
143560 , p_entity_code => 'AP_INVOICES'
143561 , p_event_class_code => 'PREPAYMENTS'
143562 , p_side => 'NA'
143563 );
143564
143565 END IF;
143566
143567 --
143568 --
143569 END IF;
143570 --
143571 -- Bug 4922099
143572 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
143573 (NVL(l_enc_upg_option, 'N') = 'O')
143574 ) AND
143575 (l_bflow_method_code = 'PRIOR_ENTRY')
143576 )
143577 THEN
143578 IF
143579 --
143580 1 = 2
143581 --
143582 THEN
143583 xla_accounting_err_pkg.build_message
143584 (p_appli_s_name => 'XLA'
143585 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
143586 ,p_token_1 => 'LINE_NUMBER'
143587 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
143588 ,p_token_2 => 'LINE_TYPE_NAME'
143589 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
143590 l_component_type
143591 ,l_component_code
143592 ,l_component_type_code
143593 ,l_component_appl_id
143594 ,l_amb_context_code
143595 ,l_entity_code
143596 ,l_event_class_code
143597 )
143598 ,p_token_3 => 'OWNER'
143599 ,p_value_3 => xla_lookups_pkg.get_meaning(
143600 p_lookup_type => 'XLA_OWNER_TYPE'
143601 ,p_lookup_code => l_component_type_code
143602 )
143603 ,p_token_4 => 'PRODUCT_NAME'
143604 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
143605 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
143606 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
143607 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
143608 ,p_ae_header_id => NULL
143609 );
143610
143611 IF (C_LEVEL_ERROR>= g_log_level) THEN
143612 trace
143613 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
143614 ,p_level => C_LEVEL_ERROR
143618 END IF;
143615 ,p_module => l_log_module);
143616 END IF;
143617 END IF;
143619 --
143620 --
143621 ------------------------------------------------------------------------------------------------
143622 -- 4219869 Business Flow
143623 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
143624 -- Prior Entry. Currently, the following code is always generated.
143625 ------------------------------------------------------------------------------------------------
143626 XLA_AE_LINES_PKG.ValidateCurrentLine;
143627
143628 ------------------------------------------------------------------------------------
143629 -- 4219869 Business Flow
143630 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
143631 ------------------------------------------------------------------------------------
143632 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
143633
143634 ----------------------------------------------------------------------------------
143635 -- 4219869 Business Flow
143636 -- Update journal entry status -- Need to generate this within IF <condition>
143637 ----------------------------------------------------------------------------------
143638 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
143639 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
143640 ,p_balance_type_code => l_balance_type_code
143641 );
143642
143643 -------------------------------------------------------------------------------------------
143644 -- 4262811 - Generate the Accrual Reversal lines
143645 -------------------------------------------------------------------------------------------
143646 BEGIN
143647 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
143648 (g_array_event(p_event_id).array_value_num('header_index'));
143649 IF l_acc_rev_flag IS NULL THEN
143650 l_acc_rev_flag := 'N';
143651 END IF;
143652 EXCEPTION
143653 WHEN OTHERS THEN
143654 l_acc_rev_flag := 'N';
143655 END;
143656 --
143657 IF (l_acc_rev_flag = 'Y') THEN
143658
143659 -- 4645092 ------------------------------------------------------------------------------
143660 -- To allow MPA report to determine if it should generate report process
143661 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
143662 ------------------------------------------------------------------------------------------
143663
143664 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
143665 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
143666 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
143667 -- call ADRs
143668 -- Bug 4922099
143669 --
143670 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
143671 (NVL(l_actual_upg_option, 'N') = 'O') OR
143672 (NVL(l_enc_upg_option, 'N') = 'O')
143673 )
143674 THEN
143675 NULL;
143676 --
143677 --
143678
143679 l_ccid := AcctDerRule_46(
143680 p_application_id => p_application_id
143681 , p_ae_header_id => l_ae_header_id
143682 , p_source_15 => p_source_15
143683 , p_source_15_meaning => p_source_15_meaning
143684 , p_source_30 => p_source_30
143685 , p_source_43 => p_source_43
143686 , x_transaction_coa_id => l_adr_transaction_coa_id
143687 , x_accounting_coa_id => l_adr_accounting_coa_id
143688 , x_value_type_code => l_adr_value_type_code
143689 , p_side => 'NA'
143690 );
143691
143692 xla_ae_lines_pkg.set_ccid(
143693 p_code_combination_id => l_ccid
143694 , p_value_type_code => l_adr_value_type_code
143695 , p_transaction_coa_id => l_adr_transaction_coa_id
143696 , p_accounting_coa_id => l_adr_accounting_coa_id
143697 , p_adr_code => 'AP_WH_DIST_ACCT'
143698 , p_adr_type_code => 'S'
143699 , p_component_type => l_component_type
143700 , p_component_code => l_component_code
143701 , p_component_type_code => l_component_type_code
143702 , p_component_appl_id => l_component_appl_id
143703 , p_amb_context_code => l_amb_context_code
143704 , p_side => 'NA'
143705 );
143706
143707
143708 l_segment := AcctDerRule_14(
143709 p_application_id => p_application_id
143710 , p_ae_header_id => l_ae_header_id
143711 , p_source_15 => p_source_15
143712 , p_source_15_meaning => p_source_15_meaning
143713 , p_source_30 => p_source_30
143714 , x_transaction_coa_id => l_adr_transaction_coa_id
143715 , x_accounting_coa_id => l_adr_accounting_coa_id
143716 , x_flexfield_segment_code => l_adr_flexfield_segment_code
143717 , x_flex_value_set_id => l_adr_flex_value_set_id
143718 , x_value_type_code => l_adr_value_type_code
143719 , x_value_combination_id => l_adr_value_combination_id
143720 , x_value_segment_code => l_adr_value_segment_code
143721 , p_side => 'NA'
143722 , p_override_seg_flag => 'Y'
143723 );
143724
143725 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
143726
143727 xla_ae_lines_pkg.set_segment(
143728 p_to_segment_code => 'GL_ACCOUNT'
143732 , p_value_type_code => l_adr_value_type_code
143729 , p_segment_value => l_segment
143730 , p_from_segment_code => l_adr_value_segment_code
143731 , p_from_combination_id => l_adr_value_combination_id
143733 , p_transaction_coa_id => l_adr_transaction_coa_id
143734 , p_accounting_coa_id => l_adr_accounting_coa_id
143735 , p_flexfield_segment_code => l_adr_flexfield_segment_code
143736 , p_flex_value_set_id => l_adr_flex_value_set_id
143737 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
143738 , p_adr_type_code => 'S'
143739 , p_component_type => l_component_type
143740 , p_component_code => l_component_code
143741 , p_component_type_code => l_component_type_code
143742 , p_component_appl_id => l_component_appl_id
143743 , p_amb_context_code => l_amb_context_code
143744 , p_entity_code => 'AP_INVOICES'
143745 , p_event_class_code => 'PREPAYMENTS'
143746 , p_side => 'NA'
143747 );
143748
143749 END IF;
143750
143751 l_segment := AcctDerRule_25(
143752 p_application_id => p_application_id
143753 , p_ae_header_id => l_ae_header_id
143754 , p_source_15 => p_source_15
143755 , p_source_15_meaning => p_source_15_meaning
143756 , p_source_43 => p_source_43
143757 , x_transaction_coa_id => l_adr_transaction_coa_id
143758 , x_accounting_coa_id => l_adr_accounting_coa_id
143759 , x_flexfield_segment_code => l_adr_flexfield_segment_code
143760 , x_flex_value_set_id => l_adr_flex_value_set_id
143761 , x_value_type_code => l_adr_value_type_code
143762 , x_value_combination_id => l_adr_value_combination_id
143763 , x_value_segment_code => l_adr_value_segment_code
143764 , p_side => 'NA'
143765 , p_override_seg_flag => 'Y'
143766 );
143767
143768 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
143769
143770 xla_ae_lines_pkg.set_segment(
143771 p_to_segment_code => 'GL_BALANCING'
143772 , p_segment_value => l_segment
143773 , p_from_segment_code => l_adr_value_segment_code
143774 , p_from_combination_id => l_adr_value_combination_id
143775 , p_value_type_code => l_adr_value_type_code
143776 , p_transaction_coa_id => l_adr_transaction_coa_id
143777 , p_accounting_coa_id => l_adr_accounting_coa_id
143778 , p_flexfield_segment_code => l_adr_flexfield_segment_code
143779 , p_flex_value_set_id => l_adr_flex_value_set_id
143780 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
143781 , p_adr_type_code => 'S'
143782 , p_component_type => l_component_type
143783 , p_component_code => l_component_code
143784 , p_component_type_code => l_component_type_code
143785 , p_component_appl_id => l_component_appl_id
143786 , p_amb_context_code => l_amb_context_code
143787 , p_entity_code => 'AP_INVOICES'
143788 , p_event_class_code => 'PREPAYMENTS'
143789 , p_side => 'NA'
143790 );
143791
143792 END IF;
143793
143794 --
143795 --
143796 END IF;
143797
143798 --
143799 -- Update the line information that should be overwritten
143800 --
143801 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
143802 p_header_num => 1);
143803 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
143804
143805 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
143806
143807 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
143808 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
143809 END IF;
143810
143811 --
143812 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
143813 --
143814 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
143815 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
143816 ELSE
143817 ---------------------------------------------------------------------------------------------------
143818 -- 4262811a Switch Sign
143819 ---------------------------------------------------------------------------------------------------
143820 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
143821 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
143822 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
143823 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
143824 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
143825 -- 5132302
143826 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
143827 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
143828
143829 END IF;
143830
143834
143831 -- 4955764
143832 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
143833 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
143835
143836 XLA_AE_LINES_PKG.ValidateCurrentLine;
143837 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
143838
143839 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
143840 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
143841 ,p_balance_type_code => l_balance_type_code);
143842
143843 END IF;
143844
143845 -----------------------------------------------------------------------------------------
143846 -- 4262811 Multiperiod Accounting
143847 -----------------------------------------------------------------------------------------
143848 -- No MPA option is assigned.
143849
143850
143851 END IF;
143852 END IF;
143853 --
143854
143855 --
143856 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
143857 trace
143858 (p_msg => 'END of AcctLineType_229'
143859 ,p_level => C_LEVEL_PROCEDURE
143860 ,p_module => l_log_module);
143861 END IF;
143862 --
143863 EXCEPTION
143864 WHEN xla_exceptions_pkg.application_exception THEN
143865 RAISE;
143866 WHEN OTHERS THEN
143867 xla_exceptions_pkg.raise_message
143868 (p_location => 'XLA_00200_AAD_S_000002_PKG.AcctLineType_229');
143869 END AcctLineType_229;
143870 --
143871
143872 ---------------------------------------
143873 --
143874 -- PRIVATE PROCEDURE
143875 -- insert_sources_230
143876 --
143877 ----------------------------------------
143878 --
143879 PROCEDURE insert_sources_230(
143880 p_target_ledger_id IN NUMBER
143881 , p_language IN VARCHAR2
143882 , p_sla_ledger_id IN NUMBER
143883 , p_pad_start_date IN DATE
143884 , p_pad_end_date IN DATE
143885 )
143886 IS
143887
143888 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'CREDIT MEMOS_ALL';
143889 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'CREDIT MEMOS';
143890 p_apps_owner VARCHAR2(30);
143891 l_log_module VARCHAR2(240);
143892 BEGIN
143893 IF g_log_enabled THEN
143894 l_log_module := C_DEFAULT_MODULE||'.insert_sources_230';
143895 END IF;
143896 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
143897
143898 trace
143899 (p_msg => 'BEGIN of insert_sources_230'
143900 ,p_level => C_LEVEL_PROCEDURE
143901 ,p_module => l_log_module);
143902
143903 END IF;
143904
143905 -- select APPS owner
143906 SELECT oracle_username
143907 INTO p_apps_owner
143908 FROM fnd_oracle_userid
143909 WHERE read_only_flag = 'U'
143910 ;
143911
143912 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
143913 trace
143914 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
143915 ' - p_language = '||p_language||
143916 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
143917 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
143918 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
143919 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
143920 ,p_level => C_LEVEL_STATEMENT
143921 ,p_module => l_log_module);
143922 END IF;
143923
143924
143925 --
143926 INSERT INTO xla_diag_sources --hdr2
143927 (
143928 event_id
143929 , ledger_id
143930 , sla_ledger_id
143931 , description_language
143932 , object_name
143933 , object_type_code
143934 , line_number
143935 , source_application_id
143936 , source_type_code
143937 , source_code
143938 , source_value
143939 , source_meaning
143940 , created_by
143941 , creation_date
143942 , last_update_date
143943 , last_updated_by
143944 , last_update_login
143945 , program_update_date
143946 , program_application_id
143947 , program_id
143948 , request_id
143949 )
143950 SELECT
143951 event_id
143952 , p_target_ledger_id
143953 , p_sla_ledger_id
143954 , p_language
143955 , object_name
143956 , object_type_code
143957 , line_number
143958 , source_application_id
143959 , source_type_code
143960 , source_code
143961 , SUBSTR(source_value ,1,1996)
143962 , SUBSTR(source_meaning ,1,200)
143963 , xla_environment_pkg.g_Usr_Id
143964 , TRUNC(SYSDATE)
143965 , TRUNC(SYSDATE)
143966 , xla_environment_pkg.g_Usr_Id
143967 , xla_environment_pkg.g_Login_Id
143968 , TRUNC(SYSDATE)
143969 , xla_environment_pkg.g_Prog_Appl_Id
143970 , xla_environment_pkg.g_Prog_Id
143971 , xla_environment_pkg.g_Req_Id
143972 FROM (
143973 SELECT xet.event_id event_id
143974 , 0 line_number
143975 , CASE r
143976 WHEN 1 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143977 WHEN 2 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143981 WHEN 6 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143978 WHEN 3 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143979 WHEN 4 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143980 WHEN 5 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143982 WHEN 7 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
143983 WHEN 8 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
143984 WHEN 9 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
143985 WHEN 10 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143986 WHEN 11 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
143987 WHEN 12 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
143988 WHEN 13 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143989 WHEN 14 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143990 WHEN 15 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143991 WHEN 16 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143992 WHEN 17 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143993 WHEN 18 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143994 WHEN 19 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143995 WHEN 20 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143996 WHEN 21 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143997 WHEN 22 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
143998
143999 ELSE null
144000 END object_name
144001 , CASE r
144002 WHEN 1 THEN 'HEADER'
144003 WHEN 2 THEN 'HEADER'
144004 WHEN 3 THEN 'HEADER'
144005 WHEN 4 THEN 'HEADER'
144006 WHEN 5 THEN 'HEADER'
144007 WHEN 6 THEN 'HEADER'
144008 WHEN 7 THEN 'HEADER'
144009 WHEN 8 THEN 'HEADER'
144010 WHEN 9 THEN 'HEADER'
144011 WHEN 10 THEN 'HEADER'
144012 WHEN 11 THEN 'HEADER'
144013 WHEN 12 THEN 'HEADER'
144014 WHEN 13 THEN 'HEADER'
144015 WHEN 14 THEN 'HEADER'
144016 WHEN 15 THEN 'HEADER'
144017 WHEN 16 THEN 'HEADER'
144018 WHEN 17 THEN 'HEADER'
144019 WHEN 18 THEN 'HEADER'
144020 WHEN 19 THEN 'HEADER'
144021 WHEN 20 THEN 'HEADER'
144022 WHEN 21 THEN 'HEADER'
144023 WHEN 22 THEN 'HEADER'
144024
144025 ELSE null
144026 END object_type_code
144027 , CASE r
144028 WHEN 1 THEN '200'
144029 WHEN 2 THEN '200'
144030 WHEN 3 THEN '200'
144031 WHEN 4 THEN '200'
144032 WHEN 5 THEN '200'
144033 WHEN 6 THEN '200'
144034 WHEN 7 THEN '200'
144035 WHEN 8 THEN '200'
144036 WHEN 9 THEN '200'
144037 WHEN 10 THEN '200'
144038 WHEN 11 THEN '200'
144039 WHEN 12 THEN '200'
144040 WHEN 13 THEN '200'
144041 WHEN 14 THEN '200'
144042 WHEN 15 THEN '200'
144043 WHEN 16 THEN '200'
144044 WHEN 17 THEN '200'
144045 WHEN 18 THEN '200'
144046 WHEN 19 THEN '200'
144047 WHEN 20 THEN '200'
144048 WHEN 21 THEN '200'
144049 WHEN 22 THEN '200'
144050
144051 ELSE null
144052 END source_application_id
144053 , 'S' source_type_code
144054 , CASE r
144055 WHEN 1 THEN 'INV_TRANSACTION_NUMBER'
144056 WHEN 2 THEN 'AI_INVOICE_DATE'
144057 WHEN 3 THEN 'INV_DOC_SEQUENCE_CATEGORY'
144058 WHEN 4 THEN 'DOC_SEQUENCE_NAME'
144059 WHEN 5 THEN 'INV_DOC_SEQUENCE_VALUE'
144060 WHEN 6 THEN 'AI_DESCRIPTION'
144061 WHEN 7 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
144062 WHEN 8 THEN 'ASP_RATE_VAR_GAIN_CCID'
144063 WHEN 9 THEN 'ASP_RATE_VAR_LOSS_CCID'
144064 WHEN 10 THEN 'AI_ACCTS_PAY_CCID'
144065 WHEN 11 THEN 'FSP_RETAINAGE_ACCOUNT'
144066 WHEN 12 THEN 'ASP_AUTO_OFFSET_FLAG'
144067 WHEN 13 THEN 'AI_INVOICE_ID'
144068 WHEN 14 THEN 'AI_INVOICE_CURRENCY_CODE'
144069 WHEN 15 THEN 'AI_VENDOR_ID'
144070 WHEN 16 THEN 'AI_VENDOR_SITE_ID'
144071 WHEN 17 THEN 'THIRD_PARTY_TYPE'
144072 WHEN 18 THEN 'INV_EXCHANGE_DATE'
144073 WHEN 19 THEN 'INV_EXCHANGE_RATE'
144074 WHEN 20 THEN 'INV_EXCHANGE_RATE_TYPE'
144075 WHEN 21 THEN 'AI_INVOICE_TYPE_LOOKUP_CODE'
144076 WHEN 22 THEN 'INV_DOC_SEQUENCE_IDENTIFIER'
144077
144078 ELSE null
144079 END source_code
144080 , CASE r
144081 WHEN 1 THEN TO_CHAR(h2.INV_TRANSACTION_NUMBER)
144082 WHEN 2 THEN TO_CHAR(h2.AI_INVOICE_DATE)
144083 WHEN 3 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_CATEGORY)
144084 WHEN 4 THEN TO_CHAR(h2.DOC_SEQUENCE_NAME)
144085 WHEN 5 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_VALUE)
144086 WHEN 6 THEN TO_CHAR(h2.AI_DESCRIPTION)
144087 WHEN 7 THEN TO_CHAR(h4.ASP_AUTOMATIC_OFFSETS_VALUE)
144091 WHEN 11 THEN TO_CHAR(h4.FSP_RETAINAGE_ACCOUNT)
144088 WHEN 8 THEN TO_CHAR(h4.ASP_RATE_VAR_GAIN_CCID)
144089 WHEN 9 THEN TO_CHAR(h4.ASP_RATE_VAR_LOSS_CCID)
144090 WHEN 10 THEN TO_CHAR(h2.AI_ACCTS_PAY_CCID)
144092 WHEN 12 THEN TO_CHAR(h4.ASP_AUTO_OFFSET_FLAG)
144093 WHEN 13 THEN TO_CHAR(h2.AI_INVOICE_ID)
144094 WHEN 14 THEN TO_CHAR(h2.AI_INVOICE_CURRENCY_CODE)
144095 WHEN 15 THEN TO_CHAR(h2.AI_VENDOR_ID)
144096 WHEN 16 THEN TO_CHAR(h2.AI_VENDOR_SITE_ID)
144097 WHEN 17 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
144098 WHEN 18 THEN TO_CHAR(h2.INV_EXCHANGE_DATE)
144099 WHEN 19 THEN TO_CHAR(h2.INV_EXCHANGE_RATE)
144100 WHEN 20 THEN TO_CHAR(h2.INV_EXCHANGE_RATE_TYPE)
144101 WHEN 21 THEN TO_CHAR(h2.AI_INVOICE_TYPE_LOOKUP_CODE)
144102 WHEN 22 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_IDENTIFIER)
144103
144104 ELSE null
144105 END source_value
144106 , CASE r
144107 WHEN 7 THEN fvl15.meaning
144108 WHEN 12 THEN fvl47.meaning
144109 WHEN 21 THEN fvl165.meaning
144110
144111 ELSE null
144112 END source_meaning
144113 FROM xla_events_gt xet
144114 , AP_INVOICE_EXTRACT_HEADER_V h2
144115 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
144116 , fnd_lookup_values fvl15
144117 , fnd_lookup_values fvl47
144118 , fnd_lookup_values fvl165
144119 ,(select rownum r from all_objects where rownum <= 22 and owner = p_apps_owner)
144120 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
144121 AND xet.event_class_code = C_EVENT_CLASS_CODE
144122 AND h2.event_id = xet.event_id
144123 AND h4.asp_org_id = h2.ai_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
144124 AND fvl15.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
144125 AND fvl15.view_application_id(+) = 200
144126 AND fvl15.language(+) = USERENV('LANG')
144127 AND fvl47.lookup_type(+) = 'YES_NO'
144128 AND fvl47.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
144129 AND fvl47.view_application_id(+) = 0
144130 AND fvl47.language(+) = USERENV('LANG')
144131 AND fvl165.lookup_type(+) = 'INVOICE TYPE'
144132 AND fvl165.lookup_code(+) = h2.AI_INVOICE_TYPE_LOOKUP_CODE
144133 AND fvl165.view_application_id(+) = 200
144134 AND fvl165.language(+) = USERENV('LANG')
144135
144136 )
144137 ;
144138 --
144139 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
144140
144141 trace
144142 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
144143 ,p_level => C_LEVEL_STATEMENT
144144 ,p_module => l_log_module);
144145
144146 END IF;
144147 --
144148
144149
144150
144151 --
144152 INSERT INTO xla_diag_sources --line2
144153 (
144154 event_id
144155 , ledger_id
144156 , sla_ledger_id
144157 , description_language
144158 , object_name
144159 , object_type_code
144160 , line_number
144161 , source_application_id
144162 , source_type_code
144163 , source_code
144164 , source_value
144165 , source_meaning
144166 , created_by
144167 , creation_date
144168 , last_update_date
144169 , last_updated_by
144170 , last_update_login
144171 , program_update_date
144172 , program_application_id
144173 , program_id
144174 , request_id
144175 )
144176 SELECT event_id
144177 , p_target_ledger_id
144178 , p_sla_ledger_id
144179 , p_language
144180 , object_name
144181 , object_type_code
144182 , line_number
144183 , source_application_id
144184 , source_type_code
144185 , source_code
144186 , SUBSTR(source_value,1,1996)
144187 , SUBSTR(source_meaning ,1,200)
144188 , xla_environment_pkg.g_Usr_Id
144189 , TRUNC(SYSDATE)
144190 , TRUNC(SYSDATE)
144191 , xla_environment_pkg.g_Usr_Id
144192 , xla_environment_pkg.g_Login_Id
144193 , TRUNC(SYSDATE)
144194 , xla_environment_pkg.g_Prog_Appl_Id
144195 , xla_environment_pkg.g_Prog_Id
144196 , xla_environment_pkg.g_Req_Id
144197 FROM (
144198 SELECT xet.event_id event_id
144199 , l1.line_number line_number
144200 , CASE r
144201 WHEN 1 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144202 WHEN 2 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144203 WHEN 3 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144204 WHEN 4 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144205 WHEN 5 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144206 WHEN 6 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144207 WHEN 7 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144208 WHEN 8 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144209 WHEN 9 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144210 WHEN 10 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144211 WHEN 11 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144212 WHEN 12 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144213 WHEN 13 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144217 WHEN 17 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144214 WHEN 14 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144215 WHEN 15 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144216 WHEN 16 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144218 WHEN 18 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144219 WHEN 19 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144220 WHEN 20 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144221 WHEN 21 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144222 WHEN 22 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144223 WHEN 23 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144224 WHEN 24 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144225 WHEN 25 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144226 WHEN 26 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144227 WHEN 27 THEN 'AP_PO_HEADERS_EXTRACT_V'
144228 WHEN 28 THEN 'AP_PO_HEADERS_EXTRACT_V'
144229 WHEN 29 THEN 'AP_PO_HEADERS_EXTRACT_V'
144230 WHEN 30 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144231 WHEN 31 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144232 WHEN 32 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144233 WHEN 33 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144234 WHEN 34 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144235 WHEN 35 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144236 WHEN 36 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
144237 WHEN 37 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
144238 WHEN 38 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144239 WHEN 39 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144240 WHEN 40 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144241 WHEN 41 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144242 WHEN 42 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144243 WHEN 43 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144244 WHEN 44 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144245 WHEN 45 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144246 WHEN 46 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144247 WHEN 47 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
144248
144249 ELSE null
144250 END object_name
144251 , CASE r
144252 WHEN 1 THEN 'LINE'
144253 WHEN 2 THEN 'LINE'
144254 WHEN 3 THEN 'LINE'
144255 WHEN 4 THEN 'LINE'
144256 WHEN 5 THEN 'LINE'
144257 WHEN 6 THEN 'LINE'
144258 WHEN 7 THEN 'LINE'
144259 WHEN 8 THEN 'LINE'
144260 WHEN 9 THEN 'LINE'
144261 WHEN 10 THEN 'LINE'
144262 WHEN 11 THEN 'LINE'
144263 WHEN 12 THEN 'LINE'
144264 WHEN 13 THEN 'LINE'
144265 WHEN 14 THEN 'LINE'
144266 WHEN 15 THEN 'LINE'
144267 WHEN 16 THEN 'LINE'
144268 WHEN 17 THEN 'LINE'
144269 WHEN 18 THEN 'LINE'
144270 WHEN 19 THEN 'LINE'
144271 WHEN 20 THEN 'LINE'
144272 WHEN 21 THEN 'LINE'
144273 WHEN 22 THEN 'LINE'
144274 WHEN 23 THEN 'LINE'
144275 WHEN 24 THEN 'LINE'
144276 WHEN 25 THEN 'LINE'
144277 WHEN 26 THEN 'LINE'
144278 WHEN 27 THEN 'LINE'
144279 WHEN 28 THEN 'LINE'
144280 WHEN 29 THEN 'LINE'
144281 WHEN 30 THEN 'LINE'
144282 WHEN 31 THEN 'LINE'
144283 WHEN 32 THEN 'LINE'
144284 WHEN 33 THEN 'LINE'
144285 WHEN 34 THEN 'LINE'
144286 WHEN 35 THEN 'LINE'
144287 WHEN 36 THEN 'LINE'
144288 WHEN 37 THEN 'LINE'
144289 WHEN 38 THEN 'LINE'
144290 WHEN 39 THEN 'LINE'
144291 WHEN 40 THEN 'LINE'
144292 WHEN 41 THEN 'LINE'
144293 WHEN 42 THEN 'LINE'
144294 WHEN 43 THEN 'LINE'
144295 WHEN 44 THEN 'LINE'
144296 WHEN 45 THEN 'LINE'
144297 WHEN 46 THEN 'LINE'
144298 WHEN 47 THEN 'LINE'
144299
144300 ELSE null
144301 END object_type_code
144302 , CASE r
144303 WHEN 1 THEN '200'
144304 WHEN 2 THEN '200'
144305 WHEN 3 THEN '200'
144306 WHEN 4 THEN '200'
144307 WHEN 5 THEN '200'
144308 WHEN 6 THEN '200'
144309 WHEN 7 THEN '200'
144310 WHEN 8 THEN '200'
144311 WHEN 9 THEN '200'
144312 WHEN 10 THEN '200'
144313 WHEN 11 THEN '200'
144314 WHEN 12 THEN '200'
144315 WHEN 13 THEN '200'
144316 WHEN 14 THEN '200'
144317 WHEN 15 THEN '200'
144318 WHEN 16 THEN '200'
144319 WHEN 17 THEN '200'
144320 WHEN 18 THEN '200'
144321 WHEN 19 THEN '200'
144322 WHEN 20 THEN '200'
144323 WHEN 21 THEN '200'
144324 WHEN 22 THEN '200'
144325 WHEN 23 THEN '200'
144326 WHEN 24 THEN '200'
144327 WHEN 25 THEN '200'
144328 WHEN 26 THEN '200'
144329 WHEN 27 THEN '200'
144330 WHEN 28 THEN '200'
144334 WHEN 32 THEN '200'
144331 WHEN 29 THEN '200'
144332 WHEN 30 THEN '200'
144333 WHEN 31 THEN '200'
144335 WHEN 33 THEN '200'
144336 WHEN 34 THEN '200'
144337 WHEN 35 THEN '200'
144338 WHEN 36 THEN '200'
144339 WHEN 37 THEN '200'
144340 WHEN 38 THEN '200'
144341 WHEN 39 THEN '200'
144342 WHEN 40 THEN '200'
144343 WHEN 41 THEN '200'
144344 WHEN 42 THEN '200'
144345 WHEN 43 THEN '200'
144346 WHEN 44 THEN '200'
144347 WHEN 45 THEN '200'
144348 WHEN 46 THEN '200'
144349 WHEN 47 THEN '200'
144350
144351 ELSE null
144352 END source_application_id
144353 , 'S' source_type_code
144354 , CASE r
144355 WHEN 1 THEN 'AID_DESCRIPTION'
144356 WHEN 2 THEN 'INV_DIST_BASE_AMOUNT'
144357 WHEN 3 THEN 'RELATED_INV_DIST_DEST_TYPE'
144358 WHEN 4 THEN 'AID_DIST_CCID'
144359 WHEN 5 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
144360 WHEN 6 THEN 'AID_RET_RELATED_DIST_CCID'
144361 WHEN 7 THEN 'AWT_RELATED_DIST_ACCOUNT'
144362 WHEN 8 THEN 'SELF_ASSESSED_TAX_ACCOUNT'
144363 WHEN 9 THEN 'ASAT_LIAB_CCID'
144364 WHEN 10 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
144365 WHEN 11 THEN 'DISTRIBUTION_LINK_TYPE'
144366 WHEN 12 THEN 'ALLOC_TO_MAIN_DIST_ID'
144367 WHEN 13 THEN 'BUS_FLOW_PO_APP_ID'
144368 WHEN 14 THEN 'BUS_FLOW_PO_DIST_TYPE'
144369 WHEN 15 THEN 'BUS_FLOW_PO_ENTITY_CODE'
144370 WHEN 16 THEN 'BUS_FLOW_PO_DIST_ID'
144371 WHEN 17 THEN 'BUS_FLOW_PO_DOC_ID'
144372 WHEN 18 THEN 'AID_INVOICE_DIST_ID'
144373 WHEN 19 THEN 'UPG_ENC_CR_CCID'
144374 WHEN 20 THEN 'UPG_ENC_CR_AMT'
144375 WHEN 21 THEN 'UPG_ENC_CR_BASE_AMT'
144376 WHEN 22 THEN 'UPG_ENC_DR_CCID'
144377 WHEN 23 THEN 'UPG_ENC_DR_AMT'
144378 WHEN 24 THEN 'UPG_ENC_DR_BASE_AMT'
144379 WHEN 25 THEN 'UPG_AP_ENCUM_OPTION'
144380 WHEN 26 THEN 'AID_AMOUNT'
144381 WHEN 27 THEN 'POH_RATE_DATE'
144382 WHEN 28 THEN 'POH_RATE'
144383 WHEN 29 THEN 'POH_RATE_TYPE'
144384 WHEN 30 THEN 'DEFERRED_END_DATE'
144385 WHEN 31 THEN 'DEFERRED_OPTION'
144386 WHEN 32 THEN 'DEFERRED_START_DATE'
144387 WHEN 33 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
144388 WHEN 34 THEN 'AID_PARENT_REVERSAL_ID'
144389 WHEN 35 THEN 'AID_STAT_AMOUNT'
144390 WHEN 36 THEN 'TAX_LINE_ID'
144391 WHEN 37 THEN 'REC_NREC_TAX_DIST_ID'
144392 WHEN 38 THEN 'SUMMARY_TAX_LINE_ID'
144393 WHEN 39 THEN 'UPG_CR_ENC_TYPE_ID'
144394 WHEN 40 THEN 'UPG_DR_ENC_TYPE_ID'
144395 WHEN 41 THEN 'BUS_FLOW_AP_APP_ID'
144396 WHEN 42 THEN 'BUS_FLOW_INV_DIST_TYPE'
144397 WHEN 43 THEN 'BUS_FLOW_INV_ENTITY_CODE'
144398 WHEN 44 THEN 'BUS_FLOW_INV_DIST_ID'
144399 WHEN 45 THEN 'BUS_FLOW_INV_ID'
144400 WHEN 46 THEN 'POD_ACCRUE_ON_RECEIPT_FLAG'
144401 WHEN 47 THEN 'SELF_ASSESSED_TAX_FLAG'
144402
144403 ELSE null
144404 END source_code
144405 , CASE r
144406 WHEN 1 THEN TO_CHAR(l1.AID_DESCRIPTION)
144407 WHEN 2 THEN TO_CHAR(l1.INV_DIST_BASE_AMOUNT)
144408 WHEN 3 THEN TO_CHAR(l1.RELATED_INV_DIST_DEST_TYPE)
144409 WHEN 4 THEN TO_CHAR(l1.AID_DIST_CCID)
144410 WHEN 5 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
144411 WHEN 6 THEN TO_CHAR(l1.AID_RET_RELATED_DIST_CCID)
144412 WHEN 7 THEN TO_CHAR(l1.AWT_RELATED_DIST_ACCOUNT)
144413 WHEN 8 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_ACCOUNT)
144414 WHEN 9 THEN TO_CHAR(l1.ASAT_LIAB_CCID)
144415 WHEN 10 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
144416 WHEN 11 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
144417 WHEN 12 THEN TO_CHAR(l1.ALLOC_TO_MAIN_DIST_ID)
144418 WHEN 13 THEN TO_CHAR(l1.BUS_FLOW_PO_APP_ID)
144419 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_TYPE)
144420 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_PO_ENTITY_CODE)
144421 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_ID)
144422 WHEN 17 THEN TO_CHAR(l1.BUS_FLOW_PO_DOC_ID)
144423 WHEN 18 THEN TO_CHAR(l1.AID_INVOICE_DIST_ID)
144424 WHEN 19 THEN TO_CHAR(l1.UPG_ENC_CR_CCID)
144425 WHEN 20 THEN TO_CHAR(l1.UPG_ENC_CR_AMT)
144426 WHEN 21 THEN TO_CHAR(l1.UPG_ENC_CR_BASE_AMT)
144427 WHEN 22 THEN TO_CHAR(l1.UPG_ENC_DR_CCID)
144428 WHEN 23 THEN TO_CHAR(l1.UPG_ENC_DR_AMT)
144429 WHEN 24 THEN TO_CHAR(l1.UPG_ENC_DR_BASE_AMT)
144430 WHEN 25 THEN TO_CHAR(l1.UPG_AP_ENCUM_OPTION)
144431 WHEN 26 THEN TO_CHAR(l1.AID_AMOUNT)
144432 WHEN 27 THEN TO_CHAR(l3.POH_RATE_DATE)
144433 WHEN 28 THEN TO_CHAR(l3.POH_RATE)
144434 WHEN 29 THEN TO_CHAR(l3.POH_RATE_TYPE)
144438 WHEN 33 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
144435 WHEN 30 THEN TO_CHAR(l1.DEFERRED_END_DATE)
144436 WHEN 31 THEN TO_CHAR(l1.DEFERRED_OPTION)
144437 WHEN 32 THEN TO_CHAR(l1.DEFERRED_START_DATE)
144439 WHEN 34 THEN TO_CHAR(l1.AID_PARENT_REVERSAL_ID)
144440 WHEN 35 THEN TO_CHAR(l1.AID_STAT_AMOUNT)
144441 WHEN 36 THEN TO_CHAR(l5.TAX_LINE_ID)
144442 WHEN 37 THEN TO_CHAR(l6.REC_NREC_TAX_DIST_ID)
144443 WHEN 38 THEN TO_CHAR(l1.SUMMARY_TAX_LINE_ID)
144444 WHEN 39 THEN TO_CHAR(l1.UPG_CR_ENC_TYPE_ID)
144445 WHEN 40 THEN TO_CHAR(l1.UPG_DR_ENC_TYPE_ID)
144446 WHEN 41 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
144447 WHEN 42 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
144448 WHEN 43 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
144449 WHEN 44 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
144450 WHEN 45 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
144451 WHEN 46 THEN TO_CHAR(l1.POD_ACCRUE_ON_RECEIPT_FLAG)
144452 WHEN 47 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_FLAG)
144453
144454 ELSE null
144455 END source_value
144456 , CASE r
144457 WHEN 3 THEN fvl22.meaning
144458 WHEN 5 THEN fvl33.meaning
144459 WHEN 33 THEN fvl80.meaning
144460 WHEN 46 THEN fvl96.meaning
144461 WHEN 47 THEN fvl142.meaning
144462
144463 ELSE null
144464 END source_meaning
144465 FROM xla_events_gt xet
144466 , AP_INVOICE_EXTRACT_DETAILS_V l1
144467 , AP_PO_HEADERS_EXTRACT_V l3
144468 , ZX_AP_DEF_TAX_EXTRACT_V l5
144469 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
144470 , fnd_lookup_values fvl22
144471 , fnd_lookup_values fvl33
144472 , fnd_lookup_values fvl80
144473 , fnd_lookup_values fvl96
144474 , fnd_lookup_values fvl142
144475 , (select rownum r from all_objects where rownum <= 47 and owner = p_apps_owner)
144476 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
144477 AND xet.event_class_code = C_EVENT_CLASS_CODE
144478 AND l1.event_id = xet.event_id
144479 AND l1.pod_po_header_id = l3.po_header_id (+) AND l1.zrnd_tax_dist_id = l5.rec_nrec_tax_dist_id (+) AND l1.zrnd_tax_dist_id = l6.rec_nrec_tax_dist_id (+) AND fvl22.lookup_type(+) = 'DESTINATION TYPE'
144480 AND fvl22.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
144481 AND fvl22.view_application_id(+) = 201
144482 AND fvl22.language(+) = USERENV('LANG')
144483 AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
144484 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
144485 AND fvl33.view_application_id(+) = 200
144486 AND fvl33.language(+) = USERENV('LANG')
144487 AND fvl80.lookup_type(+) = 'YES_NO'
144488 AND fvl80.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
144489 AND fvl80.view_application_id(+) = 0
144490 AND fvl80.language(+) = USERENV('LANG')
144491 AND fvl96.lookup_type(+) = 'YES_NO'
144492 AND fvl96.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
144493 AND fvl96.view_application_id(+) = 0
144494 AND fvl96.language(+) = USERENV('LANG')
144495 AND fvl142.lookup_type(+) = 'YES_NO'
144496 AND fvl142.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
144497 AND fvl142.view_application_id(+) = 0
144498 AND fvl142.language(+) = USERENV('LANG')
144499
144500 )
144501 ;
144502 --
144503 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
144504
144505 trace
144506 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
144507 ,p_level => C_LEVEL_STATEMENT
144508 ,p_module => l_log_module);
144509
144510 END IF;
144511
144512
144513 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
144514 trace
144515 (p_msg => 'END of insert_sources_230'
144516 ,p_level => C_LEVEL_PROCEDURE
144517 ,p_module => l_log_module);
144518 END IF;
144519 EXCEPTION
144520 WHEN xla_exceptions_pkg.application_exception THEN
144521 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
144522 trace
144523 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
144524 ,p_level => C_LEVEL_EXCEPTION
144525 ,p_module => l_log_module);
144526 END IF;
144527 RAISE;
144528 WHEN OTHERS THEN
144529 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
144530 trace
144531 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
144532 ,p_level => C_LEVEL_EXCEPTION
144533 ,p_module => l_log_module);
144534 END IF;
144535 xla_exceptions_pkg.raise_message
144536 (p_location => 'XLA_00200_AAD_S_000002_PKG.insert_sources_230');
144537 END insert_sources_230;
144538 --
144539
144540 ---------------------------------------
144541 --
144542 -- PRIVATE FUNCTION
144543 -- EventClass_230
144544 --
144545 ----------------------------------------
144546 --
144547 FUNCTION EventClass_230
144548 (p_application_id IN NUMBER
144549 ,p_base_ledger_id IN NUMBER
144550 ,p_target_ledger_id IN NUMBER
144551 ,p_language IN VARCHAR2
144552 ,p_currency_code IN VARCHAR2
144556 ,p_primary_ledger_id IN NUMBER)
144553 ,p_sla_ledger_id IN NUMBER
144554 ,p_pad_start_date IN DATE
144555 ,p_pad_end_date IN DATE
144557 RETURN BOOLEAN IS
144558 --
144559 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'CREDIT MEMOS_ALL';
144560 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'CREDIT MEMOS';
144561
144562 l_calculate_acctd_flag VARCHAR2(1) :='N';
144563 l_calculate_g_l_flag VARCHAR2(1) :='N';
144564 --
144565 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
144566 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
144567 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
144568 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
144569 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
144570 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
144571 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
144572 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
144573 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
144574 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
144575 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
144576 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
144577 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
144578 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
144579 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
144580 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
144581 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
144582 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
144583 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
144584 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
144585 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
144586 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
144587 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
144588 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
144589 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
144590 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
144591
144592 l_event_id NUMBER;
144593 l_previous_event_id NUMBER;
144594 l_first_event_id NUMBER;
144595 l_last_event_id NUMBER;
144596
144597 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
144598 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
144599 --
144600 --
144601 l_result BOOLEAN := TRUE;
144602 l_rows NUMBER := 1000;
144603 l_event_type_name VARCHAR2(80) := 'All';
144604 l_event_class_name VARCHAR2(80) := 'Credit Memos';
144605 l_description VARCHAR2(4000);
144606 l_transaction_reversal NUMBER;
144607 l_ae_header_id NUMBER;
144608 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
144609 l_log_module VARCHAR2(240);
144610 --
144611 l_acct_reversal_source VARCHAR2(30);
144612 l_trx_reversal_source VARCHAR2(30);
144613
144614 l_continue_with_lines BOOLEAN := TRUE;
144615 --
144616 l_acc_rev_gl_date_source DATE; -- 4262811
144617 --
144618 type t_array_event_id is table of number index by binary_integer;
144619
144620 l_rec_array_event t_rec_array_event;
144621 l_null_rec_array_event t_rec_array_event;
144622 l_array_ae_header_id xla_number_array_type;
144623 l_actual_flag VARCHAR2(1) := NULL;
144624 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
144625 l_balance_type_code VARCHAR2(1) :=NULL;
144626 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
144627
144628 --
144629 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
144630 --
144631
144632 TYPE t_array_source_3 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_TRANSACTION_NUMBER%TYPE INDEX BY BINARY_INTEGER;
144633 TYPE t_array_source_4 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_DATE%TYPE INDEX BY BINARY_INTEGER;
144634 TYPE t_array_source_5 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_CATEGORY%TYPE INDEX BY BINARY_INTEGER;
144635 TYPE t_array_source_6 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.DOC_SEQUENCE_NAME%TYPE INDEX BY BINARY_INTEGER;
144636 TYPE t_array_source_7 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
144637 TYPE t_array_source_8 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
144638 TYPE t_array_source_15 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
144639 TYPE t_array_source_20 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
144640 TYPE t_array_source_23 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
144641 TYPE t_array_source_34 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_ACCTS_PAY_CCID%TYPE INDEX BY BINARY_INTEGER;
144645 TYPE t_array_source_67 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
144642 TYPE t_array_source_40 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_RETAINAGE_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
144643 TYPE t_array_source_47 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
144644 TYPE t_array_source_58 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_ID%TYPE INDEX BY BINARY_INTEGER;
144646 TYPE t_array_source_81 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
144647 TYPE t_array_source_82 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
144648 TYPE t_array_source_83 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
144649 TYPE t_array_source_143 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
144650 TYPE t_array_source_144 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
144651 TYPE t_array_source_145 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
144652 TYPE t_array_source_165 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
144653 TYPE t_array_source_168 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
144654
144655 TYPE t_array_source_1 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
144656 TYPE t_array_source_21 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.INV_DIST_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
144657 TYPE t_array_source_22 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.RELATED_INV_DIST_DEST_TYPE%TYPE INDEX BY BINARY_INTEGER;
144658 TYPE t_array_source_30 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
144659 TYPE t_array_source_33 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
144660 TYPE t_array_source_42 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_RET_RELATED_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
144661 TYPE t_array_source_43 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AWT_RELATED_DIST_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
144662 TYPE t_array_source_50 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
144663 TYPE t_array_source_51 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ASAT_LIAB_CCID%TYPE INDEX BY BINARY_INTEGER;
144664 TYPE t_array_source_53 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
144665 TYPE t_array_source_55 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
144666 TYPE t_array_source_57 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ALLOC_TO_MAIN_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
144667 TYPE t_array_source_59 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_APP_ID%TYPE INDEX BY BINARY_INTEGER;
144668 TYPE t_array_source_60 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
144669 TYPE t_array_source_61 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
144670 TYPE t_array_source_62 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
144671 TYPE t_array_source_63 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DOC_ID%TYPE INDEX BY BINARY_INTEGER;
144672 TYPE t_array_source_64 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_INVOICE_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
144673 TYPE t_array_source_65 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_CCID%TYPE INDEX BY BINARY_INTEGER;
144674 TYPE t_array_source_66 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_AMT%TYPE INDEX BY BINARY_INTEGER;
144675 TYPE t_array_source_68 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
144676 TYPE t_array_source_69 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_CCID%TYPE INDEX BY BINARY_INTEGER;
144677 TYPE t_array_source_70 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_AMT%TYPE INDEX BY BINARY_INTEGER;
144678 TYPE t_array_source_71 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
144679 TYPE t_array_source_72 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_AP_ENCUM_OPTION%TYPE INDEX BY BINARY_INTEGER;
144680 TYPE t_array_source_73 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
144681 TYPE t_array_source_74 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_DATE%TYPE INDEX BY BINARY_INTEGER;
144682 TYPE t_array_source_75 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE%TYPE INDEX BY BINARY_INTEGER;
144683 TYPE t_array_source_76 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
144684 TYPE t_array_source_77 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_END_DATE%TYPE INDEX BY BINARY_INTEGER;
144685 TYPE t_array_source_78 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_OPTION%TYPE INDEX BY BINARY_INTEGER;
144686 TYPE t_array_source_79 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_START_DATE%TYPE INDEX BY BINARY_INTEGER;
144687 TYPE t_array_source_80 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
144688 TYPE t_array_source_84 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_PARENT_REVERSAL_ID%TYPE INDEX BY BINARY_INTEGER;
144689 TYPE t_array_source_85 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_STAT_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
144690 TYPE t_array_source_86 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
144691 TYPE t_array_source_87 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
144692 TYPE t_array_source_88 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
144696 TYPE t_array_source_92 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
144693 TYPE t_array_source_89 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
144694 TYPE t_array_source_90 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
144695 TYPE t_array_source_91 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
144697 TYPE t_array_source_93 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
144698 TYPE t_array_source_94 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
144699 TYPE t_array_source_95 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
144700 TYPE t_array_source_96 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.POD_ACCRUE_ON_RECEIPT_FLAG%TYPE INDEX BY BINARY_INTEGER;
144701 TYPE t_array_source_142 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_FLAG%TYPE INDEX BY BINARY_INTEGER;
144702
144703 l_array_source_3 t_array_source_3;
144704 l_array_source_4 t_array_source_4;
144705 l_array_source_5 t_array_source_5;
144706 l_array_source_6 t_array_source_6;
144707 l_array_source_7 t_array_source_7;
144708 l_array_source_8 t_array_source_8;
144709 l_array_source_15 t_array_source_15;
144710 l_array_source_15_meaning t_array_lookup_meaning;
144711 l_array_source_20 t_array_source_20;
144712 l_array_source_23 t_array_source_23;
144713 l_array_source_34 t_array_source_34;
144714 l_array_source_40 t_array_source_40;
144715 l_array_source_47 t_array_source_47;
144716 l_array_source_47_meaning t_array_lookup_meaning;
144717 l_array_source_58 t_array_source_58;
144718 l_array_source_67 t_array_source_67;
144719 l_array_source_81 t_array_source_81;
144720 l_array_source_82 t_array_source_82;
144721 l_array_source_83 t_array_source_83;
144722 l_array_source_143 t_array_source_143;
144723 l_array_source_144 t_array_source_144;
144724 l_array_source_145 t_array_source_145;
144725 l_array_source_165 t_array_source_165;
144726 l_array_source_165_meaning t_array_lookup_meaning;
144727 l_array_source_168 t_array_source_168;
144728
144729 l_array_source_1 t_array_source_1;
144730 l_array_source_21 t_array_source_21;
144731 l_array_source_22 t_array_source_22;
144732 l_array_source_22_meaning t_array_lookup_meaning;
144733 l_array_source_30 t_array_source_30;
144734 l_array_source_33 t_array_source_33;
144735 l_array_source_33_meaning t_array_lookup_meaning;
144736 l_array_source_42 t_array_source_42;
144737 l_array_source_43 t_array_source_43;
144738 l_array_source_50 t_array_source_50;
144739 l_array_source_51 t_array_source_51;
144740 l_array_source_53 t_array_source_53;
144741 l_array_source_55 t_array_source_55;
144742 l_array_source_57 t_array_source_57;
144743 l_array_source_59 t_array_source_59;
144744 l_array_source_60 t_array_source_60;
144745 l_array_source_61 t_array_source_61;
144746 l_array_source_62 t_array_source_62;
144747 l_array_source_63 t_array_source_63;
144748 l_array_source_64 t_array_source_64;
144749 l_array_source_65 t_array_source_65;
144750 l_array_source_66 t_array_source_66;
144751 l_array_source_68 t_array_source_68;
144752 l_array_source_69 t_array_source_69;
144753 l_array_source_70 t_array_source_70;
144754 l_array_source_71 t_array_source_71;
144755 l_array_source_72 t_array_source_72;
144756 l_array_source_73 t_array_source_73;
144757 l_array_source_74 t_array_source_74;
144758 l_array_source_75 t_array_source_75;
144759 l_array_source_76 t_array_source_76;
144760 l_array_source_77 t_array_source_77;
144761 l_array_source_78 t_array_source_78;
144762 l_array_source_79 t_array_source_79;
144763 l_array_source_80 t_array_source_80;
144764 l_array_source_80_meaning t_array_lookup_meaning;
144765 l_array_source_84 t_array_source_84;
144766 l_array_source_85 t_array_source_85;
144767 l_array_source_86 t_array_source_86;
144768 l_array_source_87 t_array_source_87;
144769 l_array_source_88 t_array_source_88;
144770 l_array_source_89 t_array_source_89;
144771 l_array_source_90 t_array_source_90;
144772 l_array_source_91 t_array_source_91;
144773 l_array_source_92 t_array_source_92;
144774 l_array_source_93 t_array_source_93;
144775 l_array_source_94 t_array_source_94;
144776 l_array_source_95 t_array_source_95;
144777 l_array_source_96 t_array_source_96;
144778 l_array_source_96_meaning t_array_lookup_meaning;
144779 l_array_source_142 t_array_source_142;
144780 l_array_source_142_meaning t_array_lookup_meaning;
144781
144782 --
144783 CURSOR header_cur
144784 IS
144785 SELECT /*+ leading(xet) cardinality(xet,1) */
144786 -- Event Class Code: CREDIT MEMOS
144787 xet.entity_id
144788 ,xet.legal_entity_id
144789 ,xet.entity_code
144790 ,xet.transaction_number
144791 ,xet.event_id
144792 ,xet.event_class_code
144793 ,xet.event_type_code
144794 ,xet.event_number
144795 ,xet.event_date
144796 ,xet.transaction_date
144797 ,xet.reference_num_1
144798 ,xet.reference_num_2
144799 ,xet.reference_num_3
144800 ,xet.reference_num_4
144801 ,xet.reference_char_1
144802 ,xet.reference_char_2
144806 ,xet.reference_date_2
144803 ,xet.reference_char_3
144804 ,xet.reference_char_4
144805 ,xet.reference_date_1
144807 ,xet.reference_date_3
144808 ,xet.reference_date_4
144809 ,xet.event_created_by
144810 ,xet.budgetary_control_flag
144811 , h2.INV_TRANSACTION_NUMBER source_3
144812 , h2.AI_INVOICE_DATE source_4
144813 , h2.INV_DOC_SEQUENCE_CATEGORY source_5
144814 , h2.DOC_SEQUENCE_NAME source_6
144815 , h2.INV_DOC_SEQUENCE_VALUE source_7
144816 , h2.AI_DESCRIPTION source_8
144817 , h4.ASP_AUTOMATIC_OFFSETS_VALUE source_15
144818 , fvl15.meaning source_15_meaning
144819 , h4.ASP_RATE_VAR_GAIN_CCID source_20
144820 , h4.ASP_RATE_VAR_LOSS_CCID source_23
144821 , h2.AI_ACCTS_PAY_CCID source_34
144822 , h4.FSP_RETAINAGE_ACCOUNT source_40
144823 , h4.ASP_AUTO_OFFSET_FLAG source_47
144824 , fvl47.meaning source_47_meaning
144825 , h2.AI_INVOICE_ID source_58
144826 , h2.AI_INVOICE_CURRENCY_CODE source_67
144827 , h2.AI_VENDOR_ID source_81
144828 , h2.AI_VENDOR_SITE_ID source_82
144829 , h2.THIRD_PARTY_TYPE source_83
144830 , h2.INV_EXCHANGE_DATE source_143
144831 , h2.INV_EXCHANGE_RATE source_144
144832 , h2.INV_EXCHANGE_RATE_TYPE source_145
144833 , h2.AI_INVOICE_TYPE_LOOKUP_CODE source_165
144834 , fvl165.meaning source_165_meaning
144835 , h2.INV_DOC_SEQUENCE_IDENTIFIER source_168
144836 FROM xla_events_gt xet
144837 , AP_INVOICE_EXTRACT_HEADER_V h2
144838 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
144839 , fnd_lookup_values fvl15
144840 , fnd_lookup_values fvl47
144841 , fnd_lookup_values fvl165
144842 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
144843 and xet.event_class_code = C_EVENT_CLASS_CODE
144844 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
144845 AND h4.asp_org_id = h2.ai_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
144846 AND fvl15.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
144847 AND fvl15.view_application_id(+) = 200
144848 AND fvl15.language(+) = USERENV('LANG')
144849 AND fvl47.lookup_type(+) = 'YES_NO'
144850 AND fvl47.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
144851 AND fvl47.view_application_id(+) = 0
144852 AND fvl47.language(+) = USERENV('LANG')
144853 AND fvl165.lookup_type(+) = 'INVOICE TYPE'
144854 AND fvl165.lookup_code(+) = h2.AI_INVOICE_TYPE_LOOKUP_CODE
144855 AND fvl165.view_application_id(+) = 200
144856 AND fvl165.language(+) = USERENV('LANG')
144857
144858 ORDER BY event_id
144859 ;
144860
144861
144862 --
144863 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
144864 IS
144865 SELECT /*+ leading(xet) cardinality(xet,1) */
144866 -- Event Class Code: CREDIT MEMOS
144867 xet.entity_id
144868 ,xet.legal_entity_id
144869 ,xet.entity_code
144870 ,xet.transaction_number
144871 ,xet.event_id
144872 ,xet.event_class_code
144873 ,xet.event_type_code
144874 ,xet.event_number
144875 ,xet.event_date
144876 ,xet.transaction_date
144877 ,xet.reference_num_1
144878 ,xet.reference_num_2
144879 ,xet.reference_num_3
144880 ,xet.reference_num_4
144881 ,xet.reference_char_1
144882 ,xet.reference_char_2
144883 ,xet.reference_char_3
144884 ,xet.reference_char_4
144885 ,xet.reference_date_1
144886 ,xet.reference_date_2
144887 ,xet.reference_date_3
144888 ,xet.reference_date_4
144889 ,xet.event_created_by
144890 ,xet.budgetary_control_flag
144891 , l1.LINE_NUMBER
144892 , l1.AID_DESCRIPTION source_1
144893 , l1.INV_DIST_BASE_AMOUNT source_21
144894 , l1.RELATED_INV_DIST_DEST_TYPE source_22
144895 , fvl22.meaning source_22_meaning
144896 , l1.AID_DIST_CCID source_30
144897 , l1.AID_LINE_TYPE_LOOKUP_CODE source_33
144898 , fvl33.meaning source_33_meaning
144899 , l1.AID_RET_RELATED_DIST_CCID source_42
144900 , l1.AWT_RELATED_DIST_ACCOUNT source_43
144901 , l1.SELF_ASSESSED_TAX_ACCOUNT source_50
144902 , l1.ASAT_LIAB_CCID source_51
144903 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_53
144904 , l1.DISTRIBUTION_LINK_TYPE source_55
144905 , l1.ALLOC_TO_MAIN_DIST_ID source_57
144906 , l1.BUS_FLOW_PO_APP_ID source_59
144907 , l1.BUS_FLOW_PO_DIST_TYPE source_60
144908 , l1.BUS_FLOW_PO_ENTITY_CODE source_61
144909 , l1.BUS_FLOW_PO_DIST_ID source_62
144910 , l1.BUS_FLOW_PO_DOC_ID source_63
144911 , l1.AID_INVOICE_DIST_ID source_64
144912 , l1.UPG_ENC_CR_CCID source_65
144913 , l1.UPG_ENC_CR_AMT source_66
144914 , l1.UPG_ENC_CR_BASE_AMT source_68
144915 , l1.UPG_ENC_DR_CCID source_69
144916 , l1.UPG_ENC_DR_AMT source_70
144917 , l1.UPG_ENC_DR_BASE_AMT source_71
144918 , l1.UPG_AP_ENCUM_OPTION source_72
144919 , l1.AID_AMOUNT source_73
144920 , l3.POH_RATE_DATE source_74
144921 , l3.POH_RATE source_75
144922 , l3.POH_RATE_TYPE source_76
144923 , l1.DEFERRED_END_DATE source_77
144924 , l1.DEFERRED_OPTION source_78
144925 , l1.DEFERRED_START_DATE source_79
144926 , l1.OVERRIDE_ACCTD_AMT_FLAG source_80
144927 , fvl80.meaning source_80_meaning
144928 , l1.AID_PARENT_REVERSAL_ID source_84
144929 , l1.AID_STAT_AMOUNT source_85
144930 , l5.TAX_LINE_ID source_86
144931 , l6.REC_NREC_TAX_DIST_ID source_87
144932 , l1.SUMMARY_TAX_LINE_ID source_88
144933 , l1.UPG_CR_ENC_TYPE_ID source_89
144937 , l1.BUS_FLOW_INV_ENTITY_CODE source_93
144934 , l1.UPG_DR_ENC_TYPE_ID source_90
144935 , l1.BUS_FLOW_AP_APP_ID source_91
144936 , l1.BUS_FLOW_INV_DIST_TYPE source_92
144938 , l1.BUS_FLOW_INV_DIST_ID source_94
144939 , l1.BUS_FLOW_INV_ID source_95
144940 , l1.POD_ACCRUE_ON_RECEIPT_FLAG source_96
144941 , fvl96.meaning source_96_meaning
144942 , l1.SELF_ASSESSED_TAX_FLAG source_142
144943 , fvl142.meaning source_142_meaning
144944 FROM xla_events_gt xet
144945 , AP_INVOICE_EXTRACT_DETAILS_V l1
144946 , AP_PO_HEADERS_EXTRACT_V l3
144947 , ZX_AP_DEF_TAX_EXTRACT_V l5
144948 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
144949 , fnd_lookup_values fvl22
144950 , fnd_lookup_values fvl33
144951 , fnd_lookup_values fvl80
144952 , fnd_lookup_values fvl96
144953 , fnd_lookup_values fvl142
144954 WHERE xet.event_id between x_first_event_id and x_last_event_id
144955 and xet.event_date between p_pad_start_date and p_pad_end_date
144956 and xet.event_class_code = C_EVENT_CLASS_CODE
144957 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
144958 AND l1.POD_PO_Header_Id = l3.PO_Header_Id (+) AND l1.ZRND_tax_dist_id = l5.REC_NREC_TAX_DIST_ID (+) AND l1.ZRND_tax_dist_id = l6.REC_NREC_TAX_DIST_ID (+) AND fvl22.lookup_type(+) = 'DESTINATION TYPE'
144959 AND fvl22.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
144960 AND fvl22.view_application_id(+) = 201
144961 AND fvl22.language(+) = USERENV('LANG')
144962 AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
144963 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
144964 AND fvl33.view_application_id(+) = 200
144965 AND fvl33.language(+) = USERENV('LANG')
144966 AND fvl80.lookup_type(+) = 'YES_NO'
144967 AND fvl80.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
144968 AND fvl80.view_application_id(+) = 0
144969 AND fvl80.language(+) = USERENV('LANG')
144970 AND fvl96.lookup_type(+) = 'YES_NO'
144971 AND fvl96.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
144972 AND fvl96.view_application_id(+) = 0
144973 AND fvl96.language(+) = USERENV('LANG')
144974 AND fvl142.lookup_type(+) = 'YES_NO'
144975 AND fvl142.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
144976 AND fvl142.view_application_id(+) = 0
144977 AND fvl142.language(+) = USERENV('LANG')
144978 ;
144979
144980 --
144981 BEGIN
144982 IF g_log_enabled THEN
144983 l_log_module := C_DEFAULT_MODULE||'.EventClass_230';
144984 END IF;
144985 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
144986 trace
144987 (p_msg => 'BEGIN of EventClass_230'
144988 ,p_level => C_LEVEL_PROCEDURE
144989 ,p_module => l_log_module);
144990 END IF;
144991
144992 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
144993 trace
144994 (p_msg => 'p_application_id = '||p_application_id||
144995 ' - p_base_ledger_id = '||p_base_ledger_id||
144996 ' - p_target_ledger_id = '||p_target_ledger_id||
144997 ' - p_language = '||p_language||
144998 ' - p_currency_code = '||p_currency_code||
144999 ' - p_sla_ledger_id = '||p_sla_ledger_id
145000 ,p_level => C_LEVEL_STATEMENT
145001 ,p_module => l_log_module);
145002 END IF;
145003 --
145004 -- initialze arrays
145005 --
145006 g_array_event.DELETE;
145007 l_rec_array_event := l_null_rec_array_event;
145008 --
145009 --------------------------------------
145010 -- 4262811 Initialze MPA Line Number
145011 --------------------------------------
145012 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
145013
145014 --
145015
145016 --
145017 OPEN header_cur;
145018 --
145019 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
145020 trace
145021 (p_msg => 'SQL - FETCH header_cur'
145022 ,p_level => C_LEVEL_STATEMENT
145023 ,p_module => l_log_module);
145024 END IF;
145025 --
145026 LOOP
145027 FETCH header_cur BULK COLLECT INTO
145028 l_array_entity_id
145029 , l_array_legal_entity_id
145030 , l_array_entity_code
145031 , l_array_transaction_num
145032 , l_array_event_id
145033 , l_array_class_code
145034 , l_array_event_type
145035 , l_array_event_number
145036 , l_array_event_date
145037 , l_array_transaction_date
145038 , l_array_reference_num_1
145039 , l_array_reference_num_2
145040 , l_array_reference_num_3
145041 , l_array_reference_num_4
145042 , l_array_reference_char_1
145043 , l_array_reference_char_2
145044 , l_array_reference_char_3
145045 , l_array_reference_char_4
145046 , l_array_reference_date_1
145047 , l_array_reference_date_2
145048 , l_array_reference_date_3
145049 , l_array_reference_date_4
145050 , l_array_event_created_by
145051 , l_array_budgetary_control_flag
145052 , l_array_source_3
145053 , l_array_source_4
145054 , l_array_source_5
145055 , l_array_source_6
145056 , l_array_source_7
145057 , l_array_source_8
145058 , l_array_source_15
145059 , l_array_source_15_meaning
145060 , l_array_source_20
145061 , l_array_source_23
145062 , l_array_source_34
145063 , l_array_source_40
145064 , l_array_source_47
145065 , l_array_source_47_meaning
145066 , l_array_source_58
145067 , l_array_source_67
145068 , l_array_source_81
145069 , l_array_source_82
145073 , l_array_source_145
145070 , l_array_source_83
145071 , l_array_source_143
145072 , l_array_source_144
145074 , l_array_source_165
145075 , l_array_source_165_meaning
145076 , l_array_source_168
145077 LIMIT l_rows;
145078 --
145079 IF (C_LEVEL_EVENT >= g_log_level) THEN
145080 trace
145081 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
145082 ,p_level => C_LEVEL_EVENT
145083 ,p_module => l_log_module);
145084 END IF;
145085 --
145086 EXIT WHEN l_array_entity_id.COUNT = 0;
145087
145088 -- initialize arrays
145089 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
145090 XLA_AE_LINES_PKG.g_rec_lines := NULL;
145091
145092 --
145093 -- Bug 4458708
145094 --
145095 XLA_AE_LINES_PKG.g_LineNumber := 0;
145096
145097
145098 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
145099 g_last_hdr_idx := l_array_event_id.LAST;
145100 --
145101 -- loop for the headers. Each iteration is for each header extract row
145102 -- fetched in header cursor
145103 --
145104 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
145105
145106 --
145107 -- set event info as cache for other routines to refer event attributes
145108 --
145109 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
145110 (p_application_id => p_application_id
145111 ,p_primary_ledger_id => p_primary_ledger_id
145112 ,p_base_ledger_id => p_base_ledger_id
145113 ,p_target_ledger_id => p_target_ledger_id
145114 ,p_entity_id => l_array_entity_id(hdr_idx)
145115 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
145116 ,p_entity_code => l_array_entity_code(hdr_idx)
145117 ,p_transaction_num => l_array_transaction_num(hdr_idx)
145118 ,p_event_id => l_array_event_id(hdr_idx)
145119 ,p_event_class_code => l_array_class_code(hdr_idx)
145120 ,p_event_type_code => l_array_event_type(hdr_idx)
145121 ,p_event_number => l_array_event_number(hdr_idx)
145122 ,p_event_date => l_array_event_date(hdr_idx)
145123 ,p_transaction_date => l_array_transaction_date(hdr_idx)
145124 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
145125 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
145126 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
145127 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
145128 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
145129 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
145130 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
145131 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
145132 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
145133 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
145134 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
145135 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
145136 ,p_event_created_by => l_array_event_created_by(hdr_idx)
145137 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
145138
145139 --
145140 -- set the status of entry to C_VALID (0)
145141 --
145142 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
145143
145144 --
145145 -- initialize a row for ae header
145146 --
145147 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
145148
145149 l_event_id := l_array_event_id(hdr_idx);
145150
145151 --
145152 -- storing the hdr_idx for event. May be used by line cursor.
145153 --
145154 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
145155
145156 --
145157 -- store sources from header extract. This can be improved to
145158 -- store only those sources from header extract that may be used in lines
145159 --
145160
145161 g_array_event(l_event_id).array_value_char('source_3') := l_array_source_3(hdr_idx);
145162 g_array_event(l_event_id).array_value_date('source_4') := l_array_source_4(hdr_idx);
145163 g_array_event(l_event_id).array_value_char('source_5') := l_array_source_5(hdr_idx);
145164 g_array_event(l_event_id).array_value_char('source_6') := l_array_source_6(hdr_idx);
145165 g_array_event(l_event_id).array_value_num('source_7') := l_array_source_7(hdr_idx);
145166 g_array_event(l_event_id).array_value_char('source_8') := l_array_source_8(hdr_idx);
145167 g_array_event(l_event_id).array_value_char('source_15') := l_array_source_15(hdr_idx);
145168 g_array_event(l_event_id).array_value_char('source_15_meaning') := l_array_source_15_meaning(hdr_idx);
145169 g_array_event(l_event_id).array_value_num('source_20') := l_array_source_20(hdr_idx);
145170 g_array_event(l_event_id).array_value_num('source_23') := l_array_source_23(hdr_idx);
145171 g_array_event(l_event_id).array_value_num('source_34') := l_array_source_34(hdr_idx);
145172 g_array_event(l_event_id).array_value_num('source_40') := l_array_source_40(hdr_idx);
145173 g_array_event(l_event_id).array_value_char('source_47') := l_array_source_47(hdr_idx);
145174 g_array_event(l_event_id).array_value_char('source_47_meaning') := l_array_source_47_meaning(hdr_idx);
145175 g_array_event(l_event_id).array_value_num('source_58') := l_array_source_58(hdr_idx);
145176 g_array_event(l_event_id).array_value_char('source_67') := l_array_source_67(hdr_idx);
145177 g_array_event(l_event_id).array_value_num('source_81') := l_array_source_81(hdr_idx);
145178 g_array_event(l_event_id).array_value_num('source_82') := l_array_source_82(hdr_idx);
145182 g_array_event(l_event_id).array_value_char('source_145') := l_array_source_145(hdr_idx);
145179 g_array_event(l_event_id).array_value_char('source_83') := l_array_source_83(hdr_idx);
145180 g_array_event(l_event_id).array_value_date('source_143') := l_array_source_143(hdr_idx);
145181 g_array_event(l_event_id).array_value_num('source_144') := l_array_source_144(hdr_idx);
145183 g_array_event(l_event_id).array_value_char('source_165') := l_array_source_165(hdr_idx);
145184 g_array_event(l_event_id).array_value_char('source_165_meaning') := l_array_source_165_meaning(hdr_idx);
145185 g_array_event(l_event_id).array_value_num('source_168') := l_array_source_168(hdr_idx);
145186
145187 --
145188 -- initilaize the status of ae headers for diffrent balance types
145189 -- the status is initialised to C_NOT_CREATED (2)
145190 --
145191 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
145192 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
145193 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
145194
145195 --
145196 -- call api to validate and store accounting attributes for header
145197 --
145198
145199 ------------------------------------------------------------
145200 -- Accrual Reversal : to get date for Standard Source (NONE)
145201 ------------------------------------------------------------
145202 l_acc_rev_gl_date_source := NULL;
145203
145204 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
145205 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_5');
145206 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
145207 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_168');
145208 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
145209 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_7');
145210 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
145211 l_rec_acct_attrs.array_date_value(4) :=
145212 xla_ae_sources_pkg.GetSystemSourceDate(
145213 p_source_code => 'XLA_EVENT_DATE'
145214 , p_source_type_code => 'Y'
145215 , p_source_application_id => 602
145216 );
145217
145218
145219 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
145220
145221 XLA_AE_HEADER_PKG.SetJeCategoryName;
145222
145223 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
145224 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
145225 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
145226 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
145227 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
145228
145229
145230 --
145231 xla_ae_header_pkg.SetHdrDescription(
145232 p_description => Description_2 (
145233 p_application_id => p_application_id
145234 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
145235 , p_source_4 => g_array_event(l_event_id).array_value_date('source_4')
145236 , p_source_5 => g_array_event(l_event_id).array_value_char('source_5')
145237 , p_source_6 => g_array_event(l_event_id).array_value_char('source_6')
145238 , p_source_7 => g_array_event(l_event_id).array_value_num('source_7')
145239 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
145240 )
145241 );
145242 --
145243
145244 -- No header level analytical criteria
145245
145246 --
145247 --accounting attribute enhancement, bug 3612931
145248 --
145249 l_trx_reversal_source := SUBSTR(NULL, 1,30);
145250
145251 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
145252 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
145253
145254 xla_accounting_err_pkg.build_message
145255 (p_appli_s_name => 'XLA'
145256 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
145257 ,p_token_1 => 'ACCT_ATTR_NAME'
145258 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
145259 ,p_token_2 => 'PRODUCT_NAME'
145260 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
145261 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
145262 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
145263 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
145264
145265 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
145266 --
145267 -- following sets the accounting attributes needed to reverse
145268 -- accounting for a distributeion
145269 --
145270 xla_ae_lines_pkg.SetTrxReversalAttrs
145271 (p_event_id => l_event_id
145272 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
145273 ,p_trx_reversal_source => l_trx_reversal_source);
145274
145275 END IF;
145276
145277
145278 ----------------------------------------------------------------
145279 -- 4262811 - update the header statuses to invalid in need be
145280 ----------------------------------------------------------------
145281 --
145282 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
145283
145284
145285 -----------------------------------------------
145289
145286 -- No accrual reversal for the event class/type
145287 -----------------------------------------------
145288 ----------------------------------------------------------------
145290 --
145291 -- this ends the header loop iteration for one bulk fetch
145292 --
145293 END LOOP;
145294
145295 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
145296 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
145297
145298 --
145299 -- insert dummy rows into lines gt table that were created due to
145300 -- transaction reversals
145301 --
145302 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
145303 l_result := XLA_AE_LINES_PKG.InsertLines;
145304 END IF;
145305
145306 --
145307 -- reset the temp_line_num for each set of events fetched from header
145308 -- cursor rather than doing it for each new event in line cursor
145309 -- Bug 3939231
145310 --
145311 xla_ae_lines_pkg.g_temp_line_num := 0;
145312
145313
145314
145315 --
145316 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
145317 --
145318 --
145319 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
145320
145321 trace
145322 (p_msg => 'SQL - FETCH line_cur'
145323 ,p_level => C_LEVEL_STATEMENT
145324 ,p_module => l_log_module);
145325
145326 END IF;
145327 --
145328 --
145329 LOOP
145330 --
145331 FETCH line_cur BULK COLLECT INTO
145332 l_array_entity_id
145333 , l_array_legal_entity_id
145334 , l_array_entity_code
145335 , l_array_transaction_num
145336 , l_array_event_id
145337 , l_array_class_code
145338 , l_array_event_type
145339 , l_array_event_number
145340 , l_array_event_date
145341 , l_array_transaction_date
145342 , l_array_reference_num_1
145343 , l_array_reference_num_2
145344 , l_array_reference_num_3
145345 , l_array_reference_num_4
145346 , l_array_reference_char_1
145347 , l_array_reference_char_2
145348 , l_array_reference_char_3
145349 , l_array_reference_char_4
145350 , l_array_reference_date_1
145351 , l_array_reference_date_2
145352 , l_array_reference_date_3
145353 , l_array_reference_date_4
145354 , l_array_event_created_by
145355 , l_array_budgetary_control_flag
145356 , l_array_extract_line_num
145357 , l_array_source_1
145358 , l_array_source_21
145359 , l_array_source_22
145360 , l_array_source_22_meaning
145361 , l_array_source_30
145362 , l_array_source_33
145363 , l_array_source_33_meaning
145364 , l_array_source_42
145365 , l_array_source_43
145366 , l_array_source_50
145367 , l_array_source_51
145368 , l_array_source_53
145369 , l_array_source_55
145370 , l_array_source_57
145371 , l_array_source_59
145372 , l_array_source_60
145373 , l_array_source_61
145374 , l_array_source_62
145375 , l_array_source_63
145376 , l_array_source_64
145377 , l_array_source_65
145378 , l_array_source_66
145379 , l_array_source_68
145380 , l_array_source_69
145381 , l_array_source_70
145382 , l_array_source_71
145383 , l_array_source_72
145384 , l_array_source_73
145385 , l_array_source_74
145386 , l_array_source_75
145387 , l_array_source_76
145388 , l_array_source_77
145389 , l_array_source_78
145390 , l_array_source_79
145391 , l_array_source_80
145392 , l_array_source_80_meaning
145393 , l_array_source_84
145394 , l_array_source_85
145395 , l_array_source_86
145396 , l_array_source_87
145397 , l_array_source_88
145398 , l_array_source_89
145399 , l_array_source_90
145400 , l_array_source_91
145401 , l_array_source_92
145402 , l_array_source_93
145403 , l_array_source_94
145404 , l_array_source_95
145405 , l_array_source_96
145406 , l_array_source_96_meaning
145407 , l_array_source_142
145408 , l_array_source_142_meaning
145409 LIMIT l_rows;
145410
145411 --
145412 IF (C_LEVEL_EVENT >= g_log_level) THEN
145413 trace
145414 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
145415 ,p_level => C_LEVEL_EVENT
145416 ,p_module => l_log_module);
145417 END IF;
145418 --
145419 EXIT WHEN l_array_entity_id.count = 0;
145420
145421 XLA_AE_LINES_PKG.g_rec_lines := null;
145422
145423 --
145424 -- Bug 4458708
145425 --
145426 XLA_AE_LINES_PKG.g_LineNumber := 0;
145427 --
145428 --
145429
145430 FOR Idx IN 1..l_array_event_id.count LOOP
145431 --
145432 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
145433 --
145434 l_event_id := l_array_event_id(idx); -- 5648433
145435
145436 --
145437 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
145438 --
145439
145440 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
145441 (g_array_event(l_event_id).array_value_num('header_index'))
145442 ,'N'
145443 ) <> 'Y'
145447 (p_msg => 'Trancaction revesal option is not Y '
145444 THEN
145445 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
145446 trace
145448 ,p_level => C_LEVEL_STATEMENT
145449 ,p_module => l_log_module);
145450 END IF;
145451
145452 --
145453 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
145454 --
145455 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
145456 --
145457 -- set event info as cache for other routines to refer event attributes
145458 --
145459
145460 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
145461 l_previous_event_id := l_event_id;
145462
145463 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
145464 (p_application_id => p_application_id
145465 ,p_primary_ledger_id => p_primary_ledger_id
145466 ,p_base_ledger_id => p_base_ledger_id
145467 ,p_target_ledger_id => p_target_ledger_id
145468 ,p_entity_id => l_array_entity_id(Idx)
145469 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
145470 ,p_entity_code => l_array_entity_code(Idx)
145471 ,p_transaction_num => l_array_transaction_num(Idx)
145472 ,p_event_id => l_array_event_id(Idx)
145473 ,p_event_class_code => l_array_class_code(Idx)
145474 ,p_event_type_code => l_array_event_type(Idx)
145475 ,p_event_number => l_array_event_number(Idx)
145476 ,p_event_date => l_array_event_date(Idx)
145477 ,p_transaction_date => l_array_transaction_date(Idx)
145478 ,p_reference_num_1 => l_array_reference_num_1(Idx)
145479 ,p_reference_num_2 => l_array_reference_num_2(Idx)
145480 ,p_reference_num_3 => l_array_reference_num_3(Idx)
145481 ,p_reference_num_4 => l_array_reference_num_4(Idx)
145482 ,p_reference_char_1 => l_array_reference_char_1(Idx)
145483 ,p_reference_char_2 => l_array_reference_char_2(Idx)
145484 ,p_reference_char_3 => l_array_reference_char_3(Idx)
145485 ,p_reference_char_4 => l_array_reference_char_4(Idx)
145486 ,p_reference_date_1 => l_array_reference_date_1(Idx)
145487 ,p_reference_date_2 => l_array_reference_date_2(Idx)
145488 ,p_reference_date_3 => l_array_reference_date_3(Idx)
145489 ,p_reference_date_4 => l_array_reference_date_4(Idx)
145490 ,p_event_created_by => l_array_event_created_by(Idx)
145491 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
145492 --
145493 END IF;
145494
145495
145496
145497 --
145498 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
145499
145500 l_acct_reversal_source := SUBSTR(l_array_source_53(Idx), 1,30);
145501
145502 IF l_continue_with_lines THEN
145503 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
145504 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
145505
145506 xla_accounting_err_pkg.build_message
145507 (p_appli_s_name => 'XLA'
145508 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
145509 ,p_token_1 => 'LINE_NUMBER'
145510 ,p_value_1 => l_array_extract_line_num(Idx)
145511 ,p_token_2 => 'PRODUCT_NAME'
145512 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
145513 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
145514 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
145515 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
145516
145517 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
145518 --
145519 -- following sets the accounting attributes needed to reverse
145520 -- accounting for a distributeion
145521 --
145522
145523 --
145524 -- 5217187
145525 --
145526 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
145527 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
145528 g_array_event(l_event_id).array_value_num('header_index'));
145529 --
145530 --
145531
145532 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
145533 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_53(Idx);
145534 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
145535 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_64(Idx);
145536 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
145537 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_55(Idx);
145538 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'ENC_UPG_CR_CCID';
145539 l_rec_rev_acct_attrs.array_num_value(5) := l_array_source_65(Idx);
145540 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_ENTERED_AMT';
145541 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_66(Idx);
145542 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_ENTERED_CURR';
145543 l_rec_rev_acct_attrs.array_char_value(7) := g_array_event(l_event_id).array_value_char('source_67');
145544 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_LEDGER_AMT';
145545 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_68(Idx);
145546 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_DR_CCID';
145550 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_ENTERED_CURR';
145547 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_69(Idx);
145548 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_DR_ENTERED_AMT';
145549 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_70(Idx);
145551 l_rec_rev_acct_attrs.array_char_value(11) := g_array_event(l_event_id).array_value_char('source_67');
145552 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_LEDGER_AMT';
145553 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_71(Idx);
145554 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_OPTION';
145555 l_rec_rev_acct_attrs.array_char_value(13) := l_array_source_72(Idx);
145556 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
145557 l_rec_rev_acct_attrs.array_char_value(14) := g_array_event(l_event_id).array_value_char('source_83');
145558 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
145559 l_rec_rev_acct_attrs.array_num_value(15) := l_array_source_84(Idx);
145560 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
145561 l_rec_rev_acct_attrs.array_char_value(16) := l_array_source_55(Idx);
145562 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
145563 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_86(Idx);
145564 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
145565 l_rec_rev_acct_attrs.array_num_value(18) := l_array_source_87(Idx);
145566 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
145567 l_rec_rev_acct_attrs.array_num_value(19) := l_array_source_88(Idx);
145568 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'UPG_CR_ENC_TYPE_ID';
145569 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_89(Idx);
145570 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
145571 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_90(Idx);
145572
145573
145574 xla_ae_lines_pkg.SetAcctReversalAttrs
145575 (p_event_id => l_event_id
145576 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
145577 ,p_calculate_acctd_flag => l_calculate_acctd_flag
145578 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
145579 END IF;
145580
145581 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
145582 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
145583
145584 --
145585 AcctLineType_47 (
145586 p_application_id => p_application_id
145587 ,p_event_id => l_event_id
145588 ,p_calculate_acctd_flag => l_calculate_acctd_flag
145589 ,p_calculate_g_l_flag => l_calculate_g_l_flag
145590 ,p_actual_flag => l_actual_flag
145591 ,p_balance_type_code => l_balance_type_code
145592 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
145593
145594 , p_source_1 => l_array_source_1(Idx)
145595 , p_source_21 => l_array_source_21(Idx)
145596 , p_source_30 => l_array_source_30(Idx)
145597 , p_source_33 => l_array_source_33(Idx)
145598 , p_source_33_meaning => l_array_source_33_meaning(Idx)
145599 , p_source_53 => l_array_source_53(Idx)
145600 , p_source_55 => l_array_source_55(Idx)
145601 , p_source_57 => l_array_source_57(Idx)
145602 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
145603 , p_source_59 => l_array_source_59(Idx)
145604 , p_source_60 => l_array_source_60(Idx)
145605 , p_source_61 => l_array_source_61(Idx)
145606 , p_source_62 => l_array_source_62(Idx)
145607 , p_source_63 => l_array_source_63(Idx)
145608 , p_source_64 => l_array_source_64(Idx)
145609 , p_source_65 => l_array_source_65(Idx)
145610 , p_source_66 => l_array_source_66(Idx)
145611 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
145612 , p_source_68 => l_array_source_68(Idx)
145613 , p_source_69 => l_array_source_69(Idx)
145614 , p_source_70 => l_array_source_70(Idx)
145615 , p_source_71 => l_array_source_71(Idx)
145616 , p_source_72 => l_array_source_72(Idx)
145617 , p_source_73 => l_array_source_73(Idx)
145618 , p_source_74 => l_array_source_74(Idx)
145619 , p_source_75 => l_array_source_75(Idx)
145620 , p_source_76 => l_array_source_76(Idx)
145621 , p_source_77 => l_array_source_77(Idx)
145622 , p_source_78 => l_array_source_78(Idx)
145623 , p_source_79 => l_array_source_79(Idx)
145624 , p_source_80 => l_array_source_80(Idx)
145625 , p_source_80_meaning => l_array_source_80_meaning(Idx)
145626 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
145627 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
145628 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
145629 , p_source_84 => l_array_source_84(Idx)
145630 , p_source_85 => l_array_source_85(Idx)
145631 , p_source_86 => l_array_source_86(Idx)
145632 , p_source_87 => l_array_source_87(Idx)
145633 , p_source_88 => l_array_source_88(Idx)
145634 , p_source_89 => l_array_source_89(Idx)
145635 , p_source_90 => l_array_source_90(Idx)
145636 );
145637 If(l_balance_type_code = 'A') THEN
145638 l_actual_gain_loss_ref := l_gain_or_loss_ref;
145639 END IF;
145640
145641 --
145642
145643
145644 --
145645 AcctLineType_51 (
145646 p_application_id => p_application_id
145647 ,p_event_id => l_event_id
145648 ,p_calculate_acctd_flag => l_calculate_acctd_flag
145649 ,p_calculate_g_l_flag => l_calculate_g_l_flag
145650 ,p_actual_flag => l_actual_flag
145651 ,p_balance_type_code => l_balance_type_code
145652 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
145653
145657 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
145654 , p_source_1 => l_array_source_1(Idx)
145655 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
145656 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
145658 , p_source_21 => l_array_source_21(Idx)
145659 , p_source_22 => l_array_source_22(Idx)
145660 , p_source_22_meaning => l_array_source_22_meaning(Idx)
145661 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
145662 , p_source_30 => l_array_source_30(Idx)
145663 , p_source_33 => l_array_source_33(Idx)
145664 , p_source_33_meaning => l_array_source_33_meaning(Idx)
145665 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
145666 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
145667 , p_source_53 => l_array_source_53(Idx)
145668 , p_source_55 => l_array_source_55(Idx)
145669 , p_source_57 => l_array_source_57(Idx)
145670 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
145671 , p_source_64 => l_array_source_64(Idx)
145672 , p_source_65 => l_array_source_65(Idx)
145673 , p_source_66 => l_array_source_66(Idx)
145674 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
145675 , p_source_68 => l_array_source_68(Idx)
145676 , p_source_69 => l_array_source_69(Idx)
145677 , p_source_70 => l_array_source_70(Idx)
145678 , p_source_71 => l_array_source_71(Idx)
145679 , p_source_72 => l_array_source_72(Idx)
145680 , p_source_77 => l_array_source_77(Idx)
145681 , p_source_78 => l_array_source_78(Idx)
145682 , p_source_79 => l_array_source_79(Idx)
145683 , p_source_80 => l_array_source_80(Idx)
145684 , p_source_80_meaning => l_array_source_80_meaning(Idx)
145685 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
145686 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
145687 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
145688 , p_source_84 => l_array_source_84(Idx)
145689 , p_source_85 => l_array_source_85(Idx)
145690 , p_source_86 => l_array_source_86(Idx)
145691 , p_source_87 => l_array_source_87(Idx)
145692 , p_source_88 => l_array_source_88(Idx)
145693 , p_source_89 => l_array_source_89(Idx)
145694 , p_source_90 => l_array_source_90(Idx)
145695 , p_source_91 => l_array_source_91(Idx)
145696 , p_source_92 => l_array_source_92(Idx)
145697 , p_source_93 => l_array_source_93(Idx)
145698 , p_source_94 => l_array_source_94(Idx)
145699 , p_source_95 => l_array_source_95(Idx)
145700 );
145701 If(l_balance_type_code = 'A') THEN
145702 l_actual_gain_loss_ref := l_gain_or_loss_ref;
145703 END IF;
145704
145705 --
145706
145707
145708 --
145709 AcctLineType_55 (
145710 p_application_id => p_application_id
145711 ,p_event_id => l_event_id
145712 ,p_calculate_acctd_flag => l_calculate_acctd_flag
145713 ,p_calculate_g_l_flag => l_calculate_g_l_flag
145714 ,p_actual_flag => l_actual_flag
145715 ,p_balance_type_code => l_balance_type_code
145716 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
145717
145718 , p_source_1 => l_array_source_1(Idx)
145719 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
145720 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
145721 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
145722 , p_source_21 => l_array_source_21(Idx)
145723 , p_source_22 => l_array_source_22(Idx)
145724 , p_source_22_meaning => l_array_source_22_meaning(Idx)
145725 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
145726 , p_source_30 => l_array_source_30(Idx)
145727 , p_source_33 => l_array_source_33(Idx)
145728 , p_source_33_meaning => l_array_source_33_meaning(Idx)
145729 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
145730 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
145731 , p_source_53 => l_array_source_53(Idx)
145732 , p_source_55 => l_array_source_55(Idx)
145733 , p_source_57 => l_array_source_57(Idx)
145734 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
145735 , p_source_64 => l_array_source_64(Idx)
145736 , p_source_65 => l_array_source_65(Idx)
145737 , p_source_66 => l_array_source_66(Idx)
145738 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
145739 , p_source_68 => l_array_source_68(Idx)
145740 , p_source_69 => l_array_source_69(Idx)
145741 , p_source_70 => l_array_source_70(Idx)
145742 , p_source_71 => l_array_source_71(Idx)
145743 , p_source_72 => l_array_source_72(Idx)
145744 , p_source_77 => l_array_source_77(Idx)
145745 , p_source_78 => l_array_source_78(Idx)
145746 , p_source_79 => l_array_source_79(Idx)
145747 , p_source_80 => l_array_source_80(Idx)
145748 , p_source_80_meaning => l_array_source_80_meaning(Idx)
145749 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
145750 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
145751 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
145752 , p_source_84 => l_array_source_84(Idx)
145753 , p_source_85 => l_array_source_85(Idx)
145754 , p_source_86 => l_array_source_86(Idx)
145755 , p_source_87 => l_array_source_87(Idx)
145756 , p_source_88 => l_array_source_88(Idx)
145757 , p_source_89 => l_array_source_89(Idx)
145758 , p_source_90 => l_array_source_90(Idx)
145759 , p_source_91 => l_array_source_91(Idx)
145760 , p_source_92 => l_array_source_92(Idx)
145761 , p_source_93 => l_array_source_93(Idx)
145762 , p_source_94 => l_array_source_94(Idx)
145763 , p_source_95 => l_array_source_95(Idx)
145764 , p_source_96 => l_array_source_96(Idx)
145768 l_actual_gain_loss_ref := l_gain_or_loss_ref;
145765 , p_source_96_meaning => l_array_source_96_meaning(Idx)
145766 );
145767 If(l_balance_type_code = 'A') THEN
145769 END IF;
145770
145771 --
145772
145773
145774 --
145775 AcctLineType_107 (
145776 p_application_id => p_application_id
145777 ,p_event_id => l_event_id
145778 ,p_calculate_acctd_flag => l_calculate_acctd_flag
145779 ,p_calculate_g_l_flag => l_calculate_g_l_flag
145780 ,p_actual_flag => l_actual_flag
145781 ,p_balance_type_code => l_balance_type_code
145782 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
145783
145784 , p_source_1 => l_array_source_1(Idx)
145785 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
145786 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
145787 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
145788 , p_source_21 => l_array_source_21(Idx)
145789 , p_source_22 => l_array_source_22(Idx)
145790 , p_source_22_meaning => l_array_source_22_meaning(Idx)
145791 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
145792 , p_source_30 => l_array_source_30(Idx)
145793 , p_source_33 => l_array_source_33(Idx)
145794 , p_source_33_meaning => l_array_source_33_meaning(Idx)
145795 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
145796 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
145797 , p_source_53 => l_array_source_53(Idx)
145798 , p_source_55 => l_array_source_55(Idx)
145799 , p_source_57 => l_array_source_57(Idx)
145800 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
145801 , p_source_64 => l_array_source_64(Idx)
145802 , p_source_65 => l_array_source_65(Idx)
145803 , p_source_66 => l_array_source_66(Idx)
145804 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
145805 , p_source_68 => l_array_source_68(Idx)
145806 , p_source_69 => l_array_source_69(Idx)
145807 , p_source_70 => l_array_source_70(Idx)
145808 , p_source_71 => l_array_source_71(Idx)
145809 , p_source_72 => l_array_source_72(Idx)
145810 , p_source_73 => l_array_source_73(Idx)
145811 , p_source_77 => l_array_source_77(Idx)
145812 , p_source_78 => l_array_source_78(Idx)
145813 , p_source_79 => l_array_source_79(Idx)
145814 , p_source_80 => l_array_source_80(Idx)
145815 , p_source_80_meaning => l_array_source_80_meaning(Idx)
145816 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
145817 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
145818 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
145819 , p_source_84 => l_array_source_84(Idx)
145820 , p_source_85 => l_array_source_85(Idx)
145821 , p_source_86 => l_array_source_86(Idx)
145822 , p_source_87 => l_array_source_87(Idx)
145823 , p_source_88 => l_array_source_88(Idx)
145824 , p_source_89 => l_array_source_89(Idx)
145825 , p_source_90 => l_array_source_90(Idx)
145826 , p_source_91 => l_array_source_91(Idx)
145827 , p_source_92 => l_array_source_92(Idx)
145828 , p_source_93 => l_array_source_93(Idx)
145829 , p_source_94 => l_array_source_94(Idx)
145830 , p_source_95 => l_array_source_95(Idx)
145831 , p_source_96 => l_array_source_96(Idx)
145832 , p_source_96_meaning => l_array_source_96_meaning(Idx)
145833 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
145834 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
145835 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
145836 );
145837 If(l_balance_type_code = 'A') THEN
145838 l_actual_gain_loss_ref := l_gain_or_loss_ref;
145839 END IF;
145840
145841 --
145842
145843
145844 --
145845 AcctLineType_116 (
145846 p_application_id => p_application_id
145847 ,p_event_id => l_event_id
145848 ,p_calculate_acctd_flag => l_calculate_acctd_flag
145849 ,p_calculate_g_l_flag => l_calculate_g_l_flag
145850 ,p_actual_flag => l_actual_flag
145851 ,p_balance_type_code => l_balance_type_code
145852 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
145853
145854 , p_source_1 => l_array_source_1(Idx)
145855 , p_source_21 => l_array_source_21(Idx)
145856 , p_source_30 => l_array_source_30(Idx)
145857 , p_source_33 => l_array_source_33(Idx)
145858 , p_source_33_meaning => l_array_source_33_meaning(Idx)
145859 , p_source_53 => l_array_source_53(Idx)
145860 , p_source_55 => l_array_source_55(Idx)
145861 , p_source_57 => l_array_source_57(Idx)
145862 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
145863 , p_source_64 => l_array_source_64(Idx)
145864 , p_source_65 => l_array_source_65(Idx)
145865 , p_source_66 => l_array_source_66(Idx)
145866 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
145867 , p_source_68 => l_array_source_68(Idx)
145868 , p_source_69 => l_array_source_69(Idx)
145869 , p_source_70 => l_array_source_70(Idx)
145870 , p_source_71 => l_array_source_71(Idx)
145871 , p_source_72 => l_array_source_72(Idx)
145872 , p_source_73 => l_array_source_73(Idx)
145873 , p_source_77 => l_array_source_77(Idx)
145874 , p_source_78 => l_array_source_78(Idx)
145875 , p_source_79 => l_array_source_79(Idx)
145876 , p_source_80 => l_array_source_80(Idx)
145877 , p_source_80_meaning => l_array_source_80_meaning(Idx)
145878 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
145879 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
145880 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
145884 , p_source_87 => l_array_source_87(Idx)
145881 , p_source_84 => l_array_source_84(Idx)
145882 , p_source_85 => l_array_source_85(Idx)
145883 , p_source_86 => l_array_source_86(Idx)
145885 , p_source_88 => l_array_source_88(Idx)
145886 , p_source_89 => l_array_source_89(Idx)
145887 , p_source_90 => l_array_source_90(Idx)
145888 , p_source_91 => l_array_source_91(Idx)
145889 , p_source_92 => l_array_source_92(Idx)
145890 , p_source_93 => l_array_source_93(Idx)
145891 , p_source_94 => l_array_source_94(Idx)
145892 , p_source_95 => l_array_source_95(Idx)
145893 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
145894 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
145895 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
145896 );
145897 If(l_balance_type_code = 'A') THEN
145898 l_actual_gain_loss_ref := l_gain_or_loss_ref;
145899 END IF;
145900
145901 --
145902
145903
145904 --
145905 AcctLineType_138 (
145906 p_application_id => p_application_id
145907 ,p_event_id => l_event_id
145908 ,p_calculate_acctd_flag => l_calculate_acctd_flag
145909 ,p_calculate_g_l_flag => l_calculate_g_l_flag
145910 ,p_actual_flag => l_actual_flag
145911 ,p_balance_type_code => l_balance_type_code
145912 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
145913
145914 , p_source_1 => l_array_source_1(Idx)
145915 , p_source_21 => l_array_source_21(Idx)
145916 , p_source_30 => l_array_source_30(Idx)
145917 , p_source_33 => l_array_source_33(Idx)
145918 , p_source_33_meaning => l_array_source_33_meaning(Idx)
145919 , p_source_53 => l_array_source_53(Idx)
145920 , p_source_55 => l_array_source_55(Idx)
145921 , p_source_57 => l_array_source_57(Idx)
145922 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
145923 , p_source_64 => l_array_source_64(Idx)
145924 , p_source_65 => l_array_source_65(Idx)
145925 , p_source_66 => l_array_source_66(Idx)
145926 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
145927 , p_source_68 => l_array_source_68(Idx)
145928 , p_source_69 => l_array_source_69(Idx)
145929 , p_source_70 => l_array_source_70(Idx)
145930 , p_source_71 => l_array_source_71(Idx)
145931 , p_source_72 => l_array_source_72(Idx)
145932 , p_source_73 => l_array_source_73(Idx)
145933 , p_source_77 => l_array_source_77(Idx)
145934 , p_source_78 => l_array_source_78(Idx)
145935 , p_source_79 => l_array_source_79(Idx)
145936 , p_source_80 => l_array_source_80(Idx)
145937 , p_source_80_meaning => l_array_source_80_meaning(Idx)
145938 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
145939 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
145940 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
145941 , p_source_84 => l_array_source_84(Idx)
145942 , p_source_85 => l_array_source_85(Idx)
145943 , p_source_86 => l_array_source_86(Idx)
145944 , p_source_87 => l_array_source_87(Idx)
145945 , p_source_88 => l_array_source_88(Idx)
145946 , p_source_89 => l_array_source_89(Idx)
145947 , p_source_90 => l_array_source_90(Idx)
145948 , p_source_91 => l_array_source_91(Idx)
145949 , p_source_92 => l_array_source_92(Idx)
145950 , p_source_93 => l_array_source_93(Idx)
145951 , p_source_94 => l_array_source_94(Idx)
145952 , p_source_95 => l_array_source_95(Idx)
145953 , p_source_96 => l_array_source_96(Idx)
145954 , p_source_96_meaning => l_array_source_96_meaning(Idx)
145955 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
145956 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
145957 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
145958 );
145959 If(l_balance_type_code = 'A') THEN
145960 l_actual_gain_loss_ref := l_gain_or_loss_ref;
145961 END IF;
145962
145963 --
145964
145965
145966 --
145967 AcctLineType_142 (
145968 p_application_id => p_application_id
145969 ,p_event_id => l_event_id
145970 ,p_calculate_acctd_flag => l_calculate_acctd_flag
145971 ,p_calculate_g_l_flag => l_calculate_g_l_flag
145972 ,p_actual_flag => l_actual_flag
145973 ,p_balance_type_code => l_balance_type_code
145974 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
145975
145976 , p_source_1 => l_array_source_1(Idx)
145977 , p_source_21 => l_array_source_21(Idx)
145978 , p_source_30 => l_array_source_30(Idx)
145979 , p_source_33 => l_array_source_33(Idx)
145980 , p_source_33_meaning => l_array_source_33_meaning(Idx)
145981 , p_source_53 => l_array_source_53(Idx)
145982 , p_source_55 => l_array_source_55(Idx)
145983 , p_source_57 => l_array_source_57(Idx)
145984 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
145985 , p_source_64 => l_array_source_64(Idx)
145986 , p_source_65 => l_array_source_65(Idx)
145987 , p_source_66 => l_array_source_66(Idx)
145988 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
145989 , p_source_68 => l_array_source_68(Idx)
145990 , p_source_69 => l_array_source_69(Idx)
145991 , p_source_70 => l_array_source_70(Idx)
145992 , p_source_71 => l_array_source_71(Idx)
145993 , p_source_72 => l_array_source_72(Idx)
145994 , p_source_73 => l_array_source_73(Idx)
145995 , p_source_77 => l_array_source_77(Idx)
145996 , p_source_78 => l_array_source_78(Idx)
145997 , p_source_79 => l_array_source_79(Idx)
145998 , p_source_80 => l_array_source_80(Idx)
145999 , p_source_80_meaning => l_array_source_80_meaning(Idx)
146000 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146004 , p_source_85 => l_array_source_85(Idx)
146001 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
146002 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
146003 , p_source_84 => l_array_source_84(Idx)
146005 , p_source_86 => l_array_source_86(Idx)
146006 , p_source_87 => l_array_source_87(Idx)
146007 , p_source_88 => l_array_source_88(Idx)
146008 , p_source_89 => l_array_source_89(Idx)
146009 , p_source_90 => l_array_source_90(Idx)
146010 , p_source_91 => l_array_source_91(Idx)
146011 , p_source_92 => l_array_source_92(Idx)
146012 , p_source_93 => l_array_source_93(Idx)
146013 , p_source_94 => l_array_source_94(Idx)
146014 , p_source_95 => l_array_source_95(Idx)
146015 , p_source_96 => l_array_source_96(Idx)
146016 , p_source_96_meaning => l_array_source_96_meaning(Idx)
146017 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
146018 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
146019 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
146020 );
146021 If(l_balance_type_code = 'A') THEN
146022 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146023 END IF;
146024
146025 --
146026
146027
146028 --
146029 AcctLineType_148 (
146030 p_application_id => p_application_id
146031 ,p_event_id => l_event_id
146032 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146033 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146034 ,p_actual_flag => l_actual_flag
146035 ,p_balance_type_code => l_balance_type_code
146036 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146037
146038 , p_source_1 => l_array_source_1(Idx)
146039 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
146040 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
146041 , p_source_21 => l_array_source_21(Idx)
146042 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
146043 , p_source_53 => l_array_source_53(Idx)
146044 , p_source_55 => l_array_source_55(Idx)
146045 , p_source_57 => l_array_source_57(Idx)
146046 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
146047 , p_source_64 => l_array_source_64(Idx)
146048 , p_source_65 => l_array_source_65(Idx)
146049 , p_source_66 => l_array_source_66(Idx)
146050 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
146051 , p_source_68 => l_array_source_68(Idx)
146052 , p_source_69 => l_array_source_69(Idx)
146053 , p_source_70 => l_array_source_70(Idx)
146054 , p_source_71 => l_array_source_71(Idx)
146055 , p_source_72 => l_array_source_72(Idx)
146056 , p_source_73 => l_array_source_73(Idx)
146057 , p_source_77 => l_array_source_77(Idx)
146058 , p_source_78 => l_array_source_78(Idx)
146059 , p_source_79 => l_array_source_79(Idx)
146060 , p_source_80 => l_array_source_80(Idx)
146061 , p_source_80_meaning => l_array_source_80_meaning(Idx)
146062 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146063 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
146064 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
146065 , p_source_84 => l_array_source_84(Idx)
146066 , p_source_85 => l_array_source_85(Idx)
146067 , p_source_86 => l_array_source_86(Idx)
146068 , p_source_87 => l_array_source_87(Idx)
146069 , p_source_88 => l_array_source_88(Idx)
146070 , p_source_89 => l_array_source_89(Idx)
146071 , p_source_90 => l_array_source_90(Idx)
146072 , p_source_91 => l_array_source_91(Idx)
146073 , p_source_92 => l_array_source_92(Idx)
146074 , p_source_93 => l_array_source_93(Idx)
146075 , p_source_94 => l_array_source_94(Idx)
146076 , p_source_95 => l_array_source_95(Idx)
146077 , p_source_142 => l_array_source_142(Idx)
146078 , p_source_142_meaning => l_array_source_142_meaning(Idx)
146079 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
146080 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
146081 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
146082 );
146083 If(l_balance_type_code = 'A') THEN
146084 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146085 END IF;
146086
146087 --
146088
146089
146090 --
146091 AcctLineType_149 (
146092 p_application_id => p_application_id
146093 ,p_event_id => l_event_id
146094 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146095 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146096 ,p_actual_flag => l_actual_flag
146097 ,p_balance_type_code => l_balance_type_code
146098 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146099
146100 , p_source_1 => l_array_source_1(Idx)
146101 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
146102 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
146103 , p_source_21 => l_array_source_21(Idx)
146104 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
146105 , p_source_53 => l_array_source_53(Idx)
146106 , p_source_55 => l_array_source_55(Idx)
146107 , p_source_57 => l_array_source_57(Idx)
146108 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
146109 , p_source_64 => l_array_source_64(Idx)
146110 , p_source_65 => l_array_source_65(Idx)
146111 , p_source_66 => l_array_source_66(Idx)
146112 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
146113 , p_source_68 => l_array_source_68(Idx)
146114 , p_source_69 => l_array_source_69(Idx)
146115 , p_source_70 => l_array_source_70(Idx)
146116 , p_source_71 => l_array_source_71(Idx)
146120 , p_source_78 => l_array_source_78(Idx)
146117 , p_source_72 => l_array_source_72(Idx)
146118 , p_source_73 => l_array_source_73(Idx)
146119 , p_source_77 => l_array_source_77(Idx)
146121 , p_source_79 => l_array_source_79(Idx)
146122 , p_source_80 => l_array_source_80(Idx)
146123 , p_source_80_meaning => l_array_source_80_meaning(Idx)
146124 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146125 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
146126 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
146127 , p_source_84 => l_array_source_84(Idx)
146128 , p_source_85 => l_array_source_85(Idx)
146129 , p_source_86 => l_array_source_86(Idx)
146130 , p_source_87 => l_array_source_87(Idx)
146131 , p_source_88 => l_array_source_88(Idx)
146132 , p_source_89 => l_array_source_89(Idx)
146133 , p_source_90 => l_array_source_90(Idx)
146134 , p_source_91 => l_array_source_91(Idx)
146135 , p_source_92 => l_array_source_92(Idx)
146136 , p_source_93 => l_array_source_93(Idx)
146137 , p_source_94 => l_array_source_94(Idx)
146138 , p_source_95 => l_array_source_95(Idx)
146139 , p_source_142 => l_array_source_142(Idx)
146140 , p_source_142_meaning => l_array_source_142_meaning(Idx)
146141 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
146142 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
146143 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
146144 );
146145 If(l_balance_type_code = 'A') THEN
146146 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146147 END IF;
146148
146149 --
146150
146151
146152 --
146153 AcctLineType_150 (
146154 p_application_id => p_application_id
146155 ,p_event_id => l_event_id
146156 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146157 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146158 ,p_actual_flag => l_actual_flag
146159 ,p_balance_type_code => l_balance_type_code
146160 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146161
146162 , p_source_1 => l_array_source_1(Idx)
146163 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
146164 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
146165 , p_source_21 => l_array_source_21(Idx)
146166 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
146167 , p_source_53 => l_array_source_53(Idx)
146168 , p_source_55 => l_array_source_55(Idx)
146169 , p_source_57 => l_array_source_57(Idx)
146170 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
146171 , p_source_64 => l_array_source_64(Idx)
146172 , p_source_65 => l_array_source_65(Idx)
146173 , p_source_66 => l_array_source_66(Idx)
146174 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
146175 , p_source_68 => l_array_source_68(Idx)
146176 , p_source_69 => l_array_source_69(Idx)
146177 , p_source_70 => l_array_source_70(Idx)
146178 , p_source_71 => l_array_source_71(Idx)
146179 , p_source_72 => l_array_source_72(Idx)
146180 , p_source_73 => l_array_source_73(Idx)
146181 , p_source_77 => l_array_source_77(Idx)
146182 , p_source_78 => l_array_source_78(Idx)
146183 , p_source_79 => l_array_source_79(Idx)
146184 , p_source_80 => l_array_source_80(Idx)
146185 , p_source_80_meaning => l_array_source_80_meaning(Idx)
146186 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146187 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
146188 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
146189 , p_source_84 => l_array_source_84(Idx)
146190 , p_source_85 => l_array_source_85(Idx)
146191 , p_source_86 => l_array_source_86(Idx)
146192 , p_source_87 => l_array_source_87(Idx)
146193 , p_source_88 => l_array_source_88(Idx)
146194 , p_source_89 => l_array_source_89(Idx)
146195 , p_source_90 => l_array_source_90(Idx)
146196 , p_source_91 => l_array_source_91(Idx)
146197 , p_source_92 => l_array_source_92(Idx)
146198 , p_source_93 => l_array_source_93(Idx)
146199 , p_source_94 => l_array_source_94(Idx)
146200 , p_source_95 => l_array_source_95(Idx)
146201 , p_source_142 => l_array_source_142(Idx)
146202 , p_source_142_meaning => l_array_source_142_meaning(Idx)
146203 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
146204 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
146205 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
146206 );
146207 If(l_balance_type_code = 'A') THEN
146208 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146209 END IF;
146210
146211 --
146212
146213
146214 --
146215 AcctLineType_171 (
146216 p_application_id => p_application_id
146217 ,p_event_id => l_event_id
146218 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146219 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146220 ,p_actual_flag => l_actual_flag
146221 ,p_balance_type_code => l_balance_type_code
146222 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146223
146224 , p_source_1 => l_array_source_1(Idx)
146225 , p_source_21 => l_array_source_21(Idx)
146226 , p_source_30 => l_array_source_30(Idx)
146227 , p_source_33 => l_array_source_33(Idx)
146228 , p_source_33_meaning => l_array_source_33_meaning(Idx)
146229 , p_source_53 => l_array_source_53(Idx)
146230 , p_source_55 => l_array_source_55(Idx)
146231 , p_source_57 => l_array_source_57(Idx)
146232 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
146233 , p_source_64 => l_array_source_64(Idx)
146237 , p_source_68 => l_array_source_68(Idx)
146234 , p_source_65 => l_array_source_65(Idx)
146235 , p_source_66 => l_array_source_66(Idx)
146236 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
146238 , p_source_69 => l_array_source_69(Idx)
146239 , p_source_70 => l_array_source_70(Idx)
146240 , p_source_71 => l_array_source_71(Idx)
146241 , p_source_72 => l_array_source_72(Idx)
146242 , p_source_73 => l_array_source_73(Idx)
146243 , p_source_77 => l_array_source_77(Idx)
146244 , p_source_78 => l_array_source_78(Idx)
146245 , p_source_79 => l_array_source_79(Idx)
146246 , p_source_80 => l_array_source_80(Idx)
146247 , p_source_80_meaning => l_array_source_80_meaning(Idx)
146248 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146249 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
146250 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
146251 , p_source_84 => l_array_source_84(Idx)
146252 , p_source_85 => l_array_source_85(Idx)
146253 , p_source_86 => l_array_source_86(Idx)
146254 , p_source_87 => l_array_source_87(Idx)
146255 , p_source_88 => l_array_source_88(Idx)
146256 , p_source_89 => l_array_source_89(Idx)
146257 , p_source_90 => l_array_source_90(Idx)
146258 , p_source_91 => l_array_source_91(Idx)
146259 , p_source_92 => l_array_source_92(Idx)
146260 , p_source_93 => l_array_source_93(Idx)
146261 , p_source_94 => l_array_source_94(Idx)
146262 , p_source_95 => l_array_source_95(Idx)
146263 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
146264 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
146265 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
146266 );
146267 If(l_balance_type_code = 'A') THEN
146268 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146269 END IF;
146270
146271 --
146272
146273
146274 --
146275 AcctLineType_175 (
146276 p_application_id => p_application_id
146277 ,p_event_id => l_event_id
146278 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146279 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146280 ,p_actual_flag => l_actual_flag
146281 ,p_balance_type_code => l_balance_type_code
146282 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146283
146284 , p_source_1 => l_array_source_1(Idx)
146285 , p_source_21 => l_array_source_21(Idx)
146286 , p_source_30 => l_array_source_30(Idx)
146287 , p_source_33 => l_array_source_33(Idx)
146288 , p_source_33_meaning => l_array_source_33_meaning(Idx)
146289 , p_source_53 => l_array_source_53(Idx)
146290 , p_source_55 => l_array_source_55(Idx)
146291 , p_source_57 => l_array_source_57(Idx)
146292 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
146293 , p_source_64 => l_array_source_64(Idx)
146294 , p_source_65 => l_array_source_65(Idx)
146295 , p_source_66 => l_array_source_66(Idx)
146296 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
146297 , p_source_68 => l_array_source_68(Idx)
146298 , p_source_69 => l_array_source_69(Idx)
146299 , p_source_70 => l_array_source_70(Idx)
146300 , p_source_71 => l_array_source_71(Idx)
146301 , p_source_72 => l_array_source_72(Idx)
146302 , p_source_73 => l_array_source_73(Idx)
146303 , p_source_74 => l_array_source_74(Idx)
146304 , p_source_75 => l_array_source_75(Idx)
146305 , p_source_76 => l_array_source_76(Idx)
146306 , p_source_77 => l_array_source_77(Idx)
146307 , p_source_78 => l_array_source_78(Idx)
146308 , p_source_79 => l_array_source_79(Idx)
146309 , p_source_80 => l_array_source_80(Idx)
146310 , p_source_80_meaning => l_array_source_80_meaning(Idx)
146311 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146312 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
146313 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
146314 , p_source_84 => l_array_source_84(Idx)
146315 , p_source_85 => l_array_source_85(Idx)
146316 , p_source_86 => l_array_source_86(Idx)
146317 , p_source_87 => l_array_source_87(Idx)
146318 , p_source_88 => l_array_source_88(Idx)
146319 , p_source_89 => l_array_source_89(Idx)
146320 , p_source_90 => l_array_source_90(Idx)
146321 , p_source_91 => l_array_source_91(Idx)
146322 , p_source_92 => l_array_source_92(Idx)
146323 , p_source_93 => l_array_source_93(Idx)
146324 , p_source_94 => l_array_source_94(Idx)
146325 , p_source_95 => l_array_source_95(Idx)
146326 , p_source_96 => l_array_source_96(Idx)
146327 , p_source_96_meaning => l_array_source_96_meaning(Idx)
146328 , p_source_142 => l_array_source_142(Idx)
146329 , p_source_142_meaning => l_array_source_142_meaning(Idx)
146330 );
146331 If(l_balance_type_code = 'A') THEN
146332 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146333 END IF;
146334
146335 --
146336
146337
146338 --
146339 AcctLineType_178 (
146340 p_application_id => p_application_id
146341 ,p_event_id => l_event_id
146342 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146343 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146344 ,p_actual_flag => l_actual_flag
146345 ,p_balance_type_code => l_balance_type_code
146346 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146347
146348 , p_source_1 => l_array_source_1(Idx)
146349 , p_source_21 => l_array_source_21(Idx)
146350 , p_source_30 => l_array_source_30(Idx)
146351 , p_source_33 => l_array_source_33(Idx)
146352 , p_source_33_meaning => l_array_source_33_meaning(Idx)
146353 , p_source_53 => l_array_source_53(Idx)
146354 , p_source_55 => l_array_source_55(Idx)
146358 , p_source_65 => l_array_source_65(Idx)
146355 , p_source_57 => l_array_source_57(Idx)
146356 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
146357 , p_source_64 => l_array_source_64(Idx)
146359 , p_source_66 => l_array_source_66(Idx)
146360 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
146361 , p_source_68 => l_array_source_68(Idx)
146362 , p_source_69 => l_array_source_69(Idx)
146363 , p_source_70 => l_array_source_70(Idx)
146364 , p_source_71 => l_array_source_71(Idx)
146365 , p_source_72 => l_array_source_72(Idx)
146366 , p_source_73 => l_array_source_73(Idx)
146367 , p_source_77 => l_array_source_77(Idx)
146368 , p_source_78 => l_array_source_78(Idx)
146369 , p_source_79 => l_array_source_79(Idx)
146370 , p_source_80 => l_array_source_80(Idx)
146371 , p_source_80_meaning => l_array_source_80_meaning(Idx)
146372 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146373 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
146374 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
146375 , p_source_84 => l_array_source_84(Idx)
146376 , p_source_85 => l_array_source_85(Idx)
146377 , p_source_86 => l_array_source_86(Idx)
146378 , p_source_87 => l_array_source_87(Idx)
146379 , p_source_88 => l_array_source_88(Idx)
146380 , p_source_89 => l_array_source_89(Idx)
146381 , p_source_90 => l_array_source_90(Idx)
146382 , p_source_91 => l_array_source_91(Idx)
146383 , p_source_92 => l_array_source_92(Idx)
146384 , p_source_93 => l_array_source_93(Idx)
146385 , p_source_94 => l_array_source_94(Idx)
146386 , p_source_95 => l_array_source_95(Idx)
146387 , p_source_96 => l_array_source_96(Idx)
146388 , p_source_96_meaning => l_array_source_96_meaning(Idx)
146389 , p_source_142 => l_array_source_142(Idx)
146390 , p_source_142_meaning => l_array_source_142_meaning(Idx)
146391 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
146392 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
146393 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
146394 );
146395 If(l_balance_type_code = 'A') THEN
146396 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146397 END IF;
146398
146399 --
146400
146401
146402 --
146403 AcctLineType_187 (
146404 p_application_id => p_application_id
146405 ,p_event_id => l_event_id
146406 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146407 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146408 ,p_actual_flag => l_actual_flag
146409 ,p_balance_type_code => l_balance_type_code
146410 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146411
146412 , p_source_1 => l_array_source_1(Idx)
146413 , p_source_21 => l_array_source_21(Idx)
146414 , p_source_30 => l_array_source_30(Idx)
146415 , p_source_33 => l_array_source_33(Idx)
146416 , p_source_33_meaning => l_array_source_33_meaning(Idx)
146417 , p_source_53 => l_array_source_53(Idx)
146418 , p_source_55 => l_array_source_55(Idx)
146419 , p_source_57 => l_array_source_57(Idx)
146420 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
146421 , p_source_64 => l_array_source_64(Idx)
146422 , p_source_65 => l_array_source_65(Idx)
146423 , p_source_66 => l_array_source_66(Idx)
146424 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
146425 , p_source_68 => l_array_source_68(Idx)
146426 , p_source_69 => l_array_source_69(Idx)
146427 , p_source_70 => l_array_source_70(Idx)
146428 , p_source_71 => l_array_source_71(Idx)
146429 , p_source_72 => l_array_source_72(Idx)
146430 , p_source_73 => l_array_source_73(Idx)
146431 , p_source_77 => l_array_source_77(Idx)
146432 , p_source_78 => l_array_source_78(Idx)
146433 , p_source_79 => l_array_source_79(Idx)
146434 , p_source_80 => l_array_source_80(Idx)
146435 , p_source_80_meaning => l_array_source_80_meaning(Idx)
146436 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146437 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
146438 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
146439 , p_source_84 => l_array_source_84(Idx)
146440 , p_source_85 => l_array_source_85(Idx)
146441 , p_source_86 => l_array_source_86(Idx)
146442 , p_source_87 => l_array_source_87(Idx)
146443 , p_source_88 => l_array_source_88(Idx)
146444 , p_source_89 => l_array_source_89(Idx)
146445 , p_source_90 => l_array_source_90(Idx)
146446 , p_source_91 => l_array_source_91(Idx)
146447 , p_source_92 => l_array_source_92(Idx)
146448 , p_source_93 => l_array_source_93(Idx)
146449 , p_source_94 => l_array_source_94(Idx)
146450 , p_source_95 => l_array_source_95(Idx)
146451 , p_source_142 => l_array_source_142(Idx)
146452 , p_source_142_meaning => l_array_source_142_meaning(Idx)
146453 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
146454 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
146455 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
146456 );
146457 If(l_balance_type_code = 'A') THEN
146458 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146459 END IF;
146460
146461 --
146462
146463
146464 --
146465 AcctLineType_192 (
146466 p_application_id => p_application_id
146467 ,p_event_id => l_event_id
146468 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146469 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146470 ,p_actual_flag => l_actual_flag
146471 ,p_balance_type_code => l_balance_type_code
146472 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146473
146477 , p_source_21 => l_array_source_21(Idx)
146474 , p_source_1 => l_array_source_1(Idx)
146475 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
146476 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
146478 , p_source_30 => l_array_source_30(Idx)
146479 , p_source_33 => l_array_source_33(Idx)
146480 , p_source_33_meaning => l_array_source_33_meaning(Idx)
146481 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
146482 , p_source_42 => l_array_source_42(Idx)
146483 , p_source_53 => l_array_source_53(Idx)
146484 , p_source_55 => l_array_source_55(Idx)
146485 , p_source_57 => l_array_source_57(Idx)
146486 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
146487 , p_source_64 => l_array_source_64(Idx)
146488 , p_source_65 => l_array_source_65(Idx)
146489 , p_source_66 => l_array_source_66(Idx)
146490 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
146491 , p_source_68 => l_array_source_68(Idx)
146492 , p_source_69 => l_array_source_69(Idx)
146493 , p_source_70 => l_array_source_70(Idx)
146494 , p_source_71 => l_array_source_71(Idx)
146495 , p_source_72 => l_array_source_72(Idx)
146496 , p_source_73 => l_array_source_73(Idx)
146497 , p_source_77 => l_array_source_77(Idx)
146498 , p_source_78 => l_array_source_78(Idx)
146499 , p_source_79 => l_array_source_79(Idx)
146500 , p_source_80 => l_array_source_80(Idx)
146501 , p_source_80_meaning => l_array_source_80_meaning(Idx)
146502 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146503 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
146504 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
146505 , p_source_84 => l_array_source_84(Idx)
146506 , p_source_85 => l_array_source_85(Idx)
146507 , p_source_86 => l_array_source_86(Idx)
146508 , p_source_87 => l_array_source_87(Idx)
146509 , p_source_88 => l_array_source_88(Idx)
146510 , p_source_89 => l_array_source_89(Idx)
146511 , p_source_90 => l_array_source_90(Idx)
146512 , p_source_91 => l_array_source_91(Idx)
146513 , p_source_92 => l_array_source_92(Idx)
146514 , p_source_93 => l_array_source_93(Idx)
146515 , p_source_94 => l_array_source_94(Idx)
146516 , p_source_95 => l_array_source_95(Idx)
146517 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
146518 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
146519 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
146520 , p_source_165 => g_array_event(l_event_id).array_value_char('source_165')
146521 , p_source_165_meaning => g_array_event(l_event_id).array_value_char('source_165_meaning')
146522 );
146523 If(l_balance_type_code = 'A') THEN
146524 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146525 END IF;
146526
146527 --
146528
146529
146530 --
146531 AcctLineType_196 (
146532 p_application_id => p_application_id
146533 ,p_event_id => l_event_id
146534 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146535 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146536 ,p_actual_flag => l_actual_flag
146537 ,p_balance_type_code => l_balance_type_code
146538 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146539
146540 , p_source_1 => l_array_source_1(Idx)
146541 , p_source_21 => l_array_source_21(Idx)
146542 , p_source_33 => l_array_source_33(Idx)
146543 , p_source_33_meaning => l_array_source_33_meaning(Idx)
146544 , p_source_50 => l_array_source_50(Idx)
146545 , p_source_53 => l_array_source_53(Idx)
146546 , p_source_55 => l_array_source_55(Idx)
146547 , p_source_57 => l_array_source_57(Idx)
146548 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
146549 , p_source_64 => l_array_source_64(Idx)
146550 , p_source_65 => l_array_source_65(Idx)
146551 , p_source_66 => l_array_source_66(Idx)
146552 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
146553 , p_source_68 => l_array_source_68(Idx)
146554 , p_source_69 => l_array_source_69(Idx)
146555 , p_source_70 => l_array_source_70(Idx)
146556 , p_source_71 => l_array_source_71(Idx)
146557 , p_source_72 => l_array_source_72(Idx)
146558 , p_source_73 => l_array_source_73(Idx)
146559 , p_source_77 => l_array_source_77(Idx)
146560 , p_source_78 => l_array_source_78(Idx)
146561 , p_source_79 => l_array_source_79(Idx)
146562 , p_source_80 => l_array_source_80(Idx)
146563 , p_source_80_meaning => l_array_source_80_meaning(Idx)
146564 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146565 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
146566 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
146567 , p_source_84 => l_array_source_84(Idx)
146568 , p_source_85 => l_array_source_85(Idx)
146569 , p_source_86 => l_array_source_86(Idx)
146570 , p_source_87 => l_array_source_87(Idx)
146571 , p_source_88 => l_array_source_88(Idx)
146572 , p_source_89 => l_array_source_89(Idx)
146573 , p_source_90 => l_array_source_90(Idx)
146574 , p_source_91 => l_array_source_91(Idx)
146575 , p_source_92 => l_array_source_92(Idx)
146576 , p_source_93 => l_array_source_93(Idx)
146577 , p_source_94 => l_array_source_94(Idx)
146578 , p_source_95 => l_array_source_95(Idx)
146579 , p_source_96 => l_array_source_96(Idx)
146580 , p_source_96_meaning => l_array_source_96_meaning(Idx)
146581 , p_source_142 => l_array_source_142(Idx)
146582 , p_source_142_meaning => l_array_source_142_meaning(Idx)
146586 );
146583 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
146584 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
146585 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
146587 If(l_balance_type_code = 'A') THEN
146588 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146589 END IF;
146590
146591 --
146592
146593
146594 --
146595 AcctLineType_200 (
146596 p_application_id => p_application_id
146597 ,p_event_id => l_event_id
146598 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146599 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146600 ,p_actual_flag => l_actual_flag
146601 ,p_balance_type_code => l_balance_type_code
146602 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146603
146604 , p_source_1 => l_array_source_1(Idx)
146605 , p_source_21 => l_array_source_21(Idx)
146606 , p_source_33 => l_array_source_33(Idx)
146607 , p_source_33_meaning => l_array_source_33_meaning(Idx)
146608 , p_source_50 => l_array_source_50(Idx)
146609 , p_source_53 => l_array_source_53(Idx)
146610 , p_source_55 => l_array_source_55(Idx)
146611 , p_source_57 => l_array_source_57(Idx)
146612 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
146613 , p_source_64 => l_array_source_64(Idx)
146614 , p_source_65 => l_array_source_65(Idx)
146615 , p_source_66 => l_array_source_66(Idx)
146616 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
146617 , p_source_68 => l_array_source_68(Idx)
146618 , p_source_69 => l_array_source_69(Idx)
146619 , p_source_70 => l_array_source_70(Idx)
146620 , p_source_71 => l_array_source_71(Idx)
146621 , p_source_72 => l_array_source_72(Idx)
146622 , p_source_73 => l_array_source_73(Idx)
146623 , p_source_77 => l_array_source_77(Idx)
146624 , p_source_78 => l_array_source_78(Idx)
146625 , p_source_79 => l_array_source_79(Idx)
146626 , p_source_80 => l_array_source_80(Idx)
146627 , p_source_80_meaning => l_array_source_80_meaning(Idx)
146628 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146629 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
146630 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
146631 , p_source_84 => l_array_source_84(Idx)
146632 , p_source_85 => l_array_source_85(Idx)
146633 , p_source_86 => l_array_source_86(Idx)
146634 , p_source_87 => l_array_source_87(Idx)
146635 , p_source_88 => l_array_source_88(Idx)
146636 , p_source_89 => l_array_source_89(Idx)
146637 , p_source_90 => l_array_source_90(Idx)
146638 , p_source_91 => l_array_source_91(Idx)
146639 , p_source_92 => l_array_source_92(Idx)
146640 , p_source_93 => l_array_source_93(Idx)
146641 , p_source_94 => l_array_source_94(Idx)
146642 , p_source_95 => l_array_source_95(Idx)
146643 , p_source_142 => l_array_source_142(Idx)
146644 , p_source_142_meaning => l_array_source_142_meaning(Idx)
146645 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
146646 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
146647 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
146648 );
146649 If(l_balance_type_code = 'A') THEN
146650 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146651 END IF;
146652
146653 --
146654
146655
146656 --
146657 AcctLineType_203 (
146658 p_application_id => p_application_id
146659 ,p_event_id => l_event_id
146660 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146661 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146662 ,p_actual_flag => l_actual_flag
146663 ,p_balance_type_code => l_balance_type_code
146664 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146665
146666 , p_source_1 => l_array_source_1(Idx)
146667 , p_source_21 => l_array_source_21(Idx)
146668 , p_source_33 => l_array_source_33(Idx)
146669 , p_source_33_meaning => l_array_source_33_meaning(Idx)
146670 , p_source_51 => l_array_source_51(Idx)
146671 , p_source_53 => l_array_source_53(Idx)
146672 , p_source_55 => l_array_source_55(Idx)
146673 , p_source_57 => l_array_source_57(Idx)
146674 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
146675 , p_source_64 => l_array_source_64(Idx)
146676 , p_source_65 => l_array_source_65(Idx)
146677 , p_source_66 => l_array_source_66(Idx)
146678 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
146679 , p_source_68 => l_array_source_68(Idx)
146680 , p_source_69 => l_array_source_69(Idx)
146681 , p_source_70 => l_array_source_70(Idx)
146682 , p_source_71 => l_array_source_71(Idx)
146683 , p_source_72 => l_array_source_72(Idx)
146684 , p_source_73 => l_array_source_73(Idx)
146685 , p_source_77 => l_array_source_77(Idx)
146686 , p_source_78 => l_array_source_78(Idx)
146687 , p_source_79 => l_array_source_79(Idx)
146688 , p_source_80 => l_array_source_80(Idx)
146689 , p_source_80_meaning => l_array_source_80_meaning(Idx)
146690 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146691 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
146692 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
146693 , p_source_84 => l_array_source_84(Idx)
146694 , p_source_85 => l_array_source_85(Idx)
146695 , p_source_86 => l_array_source_86(Idx)
146696 , p_source_87 => l_array_source_87(Idx)
146697 , p_source_88 => l_array_source_88(Idx)
146698 , p_source_89 => l_array_source_89(Idx)
146699 , p_source_90 => l_array_source_90(Idx)
146700 , p_source_91 => l_array_source_91(Idx)
146701 , p_source_92 => l_array_source_92(Idx)
146705 , p_source_142 => l_array_source_142(Idx)
146702 , p_source_93 => l_array_source_93(Idx)
146703 , p_source_94 => l_array_source_94(Idx)
146704 , p_source_95 => l_array_source_95(Idx)
146706 , p_source_142_meaning => l_array_source_142_meaning(Idx)
146707 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
146708 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
146709 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
146710 );
146711 If(l_balance_type_code = 'A') THEN
146712 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146713 END IF;
146714
146715 --
146716
146717
146718 --
146719 AcctLineType_208 (
146720 p_application_id => p_application_id
146721 ,p_event_id => l_event_id
146722 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146723 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146724 ,p_actual_flag => l_actual_flag
146725 ,p_balance_type_code => l_balance_type_code
146726 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146727
146728 , p_source_1 => l_array_source_1(Idx)
146729 , p_source_21 => l_array_source_21(Idx)
146730 , p_source_33 => l_array_source_33(Idx)
146731 , p_source_33_meaning => l_array_source_33_meaning(Idx)
146732 , p_source_50 => l_array_source_50(Idx)
146733 , p_source_53 => l_array_source_53(Idx)
146734 , p_source_55 => l_array_source_55(Idx)
146735 , p_source_57 => l_array_source_57(Idx)
146736 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
146737 , p_source_64 => l_array_source_64(Idx)
146738 , p_source_65 => l_array_source_65(Idx)
146739 , p_source_66 => l_array_source_66(Idx)
146740 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
146741 , p_source_68 => l_array_source_68(Idx)
146742 , p_source_69 => l_array_source_69(Idx)
146743 , p_source_70 => l_array_source_70(Idx)
146744 , p_source_71 => l_array_source_71(Idx)
146745 , p_source_72 => l_array_source_72(Idx)
146746 , p_source_73 => l_array_source_73(Idx)
146747 , p_source_74 => l_array_source_74(Idx)
146748 , p_source_75 => l_array_source_75(Idx)
146749 , p_source_76 => l_array_source_76(Idx)
146750 , p_source_77 => l_array_source_77(Idx)
146751 , p_source_78 => l_array_source_78(Idx)
146752 , p_source_79 => l_array_source_79(Idx)
146753 , p_source_80 => l_array_source_80(Idx)
146754 , p_source_80_meaning => l_array_source_80_meaning(Idx)
146755 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146756 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
146757 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
146758 , p_source_84 => l_array_source_84(Idx)
146759 , p_source_85 => l_array_source_85(Idx)
146760 , p_source_86 => l_array_source_86(Idx)
146761 , p_source_87 => l_array_source_87(Idx)
146762 , p_source_88 => l_array_source_88(Idx)
146763 , p_source_89 => l_array_source_89(Idx)
146764 , p_source_90 => l_array_source_90(Idx)
146765 , p_source_91 => l_array_source_91(Idx)
146766 , p_source_92 => l_array_source_92(Idx)
146767 , p_source_93 => l_array_source_93(Idx)
146768 , p_source_94 => l_array_source_94(Idx)
146769 , p_source_95 => l_array_source_95(Idx)
146770 , p_source_96 => l_array_source_96(Idx)
146771 , p_source_96_meaning => l_array_source_96_meaning(Idx)
146772 , p_source_142 => l_array_source_142(Idx)
146773 , p_source_142_meaning => l_array_source_142_meaning(Idx)
146774 );
146775 If(l_balance_type_code = 'A') THEN
146776 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146777 END IF;
146778
146779 --
146780
146781
146782 --
146783 AcctLineType_212 (
146784 p_application_id => p_application_id
146785 ,p_event_id => l_event_id
146786 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146787 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146788 ,p_actual_flag => l_actual_flag
146789 ,p_balance_type_code => l_balance_type_code
146790 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146791
146792 , p_source_1 => l_array_source_1(Idx)
146793 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
146794 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
146795 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
146796 , p_source_21 => l_array_source_21(Idx)
146797 , p_source_22 => l_array_source_22(Idx)
146798 , p_source_22_meaning => l_array_source_22_meaning(Idx)
146799 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
146800 , p_source_30 => l_array_source_30(Idx)
146801 , p_source_33 => l_array_source_33(Idx)
146802 , p_source_33_meaning => l_array_source_33_meaning(Idx)
146803 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
146804 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
146805 , p_source_53 => l_array_source_53(Idx)
146806 , p_source_55 => l_array_source_55(Idx)
146807 , p_source_57 => l_array_source_57(Idx)
146808 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
146809 , p_source_64 => l_array_source_64(Idx)
146810 , p_source_65 => l_array_source_65(Idx)
146811 , p_source_66 => l_array_source_66(Idx)
146812 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
146813 , p_source_68 => l_array_source_68(Idx)
146814 , p_source_69 => l_array_source_69(Idx)
146815 , p_source_70 => l_array_source_70(Idx)
146816 , p_source_71 => l_array_source_71(Idx)
146817 , p_source_72 => l_array_source_72(Idx)
146818 , p_source_73 => l_array_source_73(Idx)
146819 , p_source_77 => l_array_source_77(Idx)
146823 , p_source_80_meaning => l_array_source_80_meaning(Idx)
146820 , p_source_78 => l_array_source_78(Idx)
146821 , p_source_79 => l_array_source_79(Idx)
146822 , p_source_80 => l_array_source_80(Idx)
146824 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146825 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
146826 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
146827 , p_source_84 => l_array_source_84(Idx)
146828 , p_source_85 => l_array_source_85(Idx)
146829 , p_source_86 => l_array_source_86(Idx)
146830 , p_source_87 => l_array_source_87(Idx)
146831 , p_source_88 => l_array_source_88(Idx)
146832 , p_source_89 => l_array_source_89(Idx)
146833 , p_source_90 => l_array_source_90(Idx)
146834 , p_source_91 => l_array_source_91(Idx)
146835 , p_source_92 => l_array_source_92(Idx)
146836 , p_source_93 => l_array_source_93(Idx)
146837 , p_source_94 => l_array_source_94(Idx)
146838 , p_source_95 => l_array_source_95(Idx)
146839 , p_source_96 => l_array_source_96(Idx)
146840 , p_source_96_meaning => l_array_source_96_meaning(Idx)
146841 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
146842 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
146843 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
146844 );
146845 If(l_balance_type_code = 'A') THEN
146846 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146847 END IF;
146848
146849 --
146850
146851
146852 --
146853 AcctLineType_216 (
146854 p_application_id => p_application_id
146855 ,p_event_id => l_event_id
146856 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146857 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146858 ,p_actual_flag => l_actual_flag
146859 ,p_balance_type_code => l_balance_type_code
146860 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146861
146862 , p_source_1 => l_array_source_1(Idx)
146863 , p_source_21 => l_array_source_21(Idx)
146864 , p_source_30 => l_array_source_30(Idx)
146865 , p_source_33 => l_array_source_33(Idx)
146866 , p_source_33_meaning => l_array_source_33_meaning(Idx)
146867 , p_source_53 => l_array_source_53(Idx)
146868 , p_source_55 => l_array_source_55(Idx)
146869 , p_source_57 => l_array_source_57(Idx)
146870 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
146871 , p_source_64 => l_array_source_64(Idx)
146872 , p_source_65 => l_array_source_65(Idx)
146873 , p_source_66 => l_array_source_66(Idx)
146874 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
146875 , p_source_68 => l_array_source_68(Idx)
146876 , p_source_69 => l_array_source_69(Idx)
146877 , p_source_70 => l_array_source_70(Idx)
146878 , p_source_71 => l_array_source_71(Idx)
146879 , p_source_72 => l_array_source_72(Idx)
146880 , p_source_73 => l_array_source_73(Idx)
146881 , p_source_77 => l_array_source_77(Idx)
146882 , p_source_78 => l_array_source_78(Idx)
146883 , p_source_79 => l_array_source_79(Idx)
146884 , p_source_80 => l_array_source_80(Idx)
146885 , p_source_80_meaning => l_array_source_80_meaning(Idx)
146886 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146887 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
146888 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
146889 , p_source_84 => l_array_source_84(Idx)
146890 , p_source_85 => l_array_source_85(Idx)
146891 , p_source_86 => l_array_source_86(Idx)
146892 , p_source_87 => l_array_source_87(Idx)
146893 , p_source_88 => l_array_source_88(Idx)
146894 , p_source_89 => l_array_source_89(Idx)
146895 , p_source_90 => l_array_source_90(Idx)
146896 , p_source_91 => l_array_source_91(Idx)
146897 , p_source_92 => l_array_source_92(Idx)
146898 , p_source_93 => l_array_source_93(Idx)
146899 , p_source_94 => l_array_source_94(Idx)
146900 , p_source_95 => l_array_source_95(Idx)
146901 , p_source_96 => l_array_source_96(Idx)
146902 , p_source_96_meaning => l_array_source_96_meaning(Idx)
146903 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
146904 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
146905 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
146906 );
146907 If(l_balance_type_code = 'A') THEN
146908 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146909 END IF;
146910
146911 --
146912
146913
146914 --
146915 AcctLineType_220 (
146916 p_application_id => p_application_id
146917 ,p_event_id => l_event_id
146918 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146919 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146920 ,p_actual_flag => l_actual_flag
146921 ,p_balance_type_code => l_balance_type_code
146922 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146923
146924 , p_source_1 => l_array_source_1(Idx)
146925 , p_source_21 => l_array_source_21(Idx)
146926 , p_source_30 => l_array_source_30(Idx)
146927 , p_source_33 => l_array_source_33(Idx)
146928 , p_source_33_meaning => l_array_source_33_meaning(Idx)
146929 , p_source_53 => l_array_source_53(Idx)
146930 , p_source_55 => l_array_source_55(Idx)
146931 , p_source_57 => l_array_source_57(Idx)
146932 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
146933 , p_source_64 => l_array_source_64(Idx)
146934 , p_source_65 => l_array_source_65(Idx)
146935 , p_source_66 => l_array_source_66(Idx)
146936 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
146937 , p_source_68 => l_array_source_68(Idx)
146941 , p_source_72 => l_array_source_72(Idx)
146938 , p_source_69 => l_array_source_69(Idx)
146939 , p_source_70 => l_array_source_70(Idx)
146940 , p_source_71 => l_array_source_71(Idx)
146942 , p_source_73 => l_array_source_73(Idx)
146943 , p_source_77 => l_array_source_77(Idx)
146944 , p_source_78 => l_array_source_78(Idx)
146945 , p_source_79 => l_array_source_79(Idx)
146946 , p_source_80 => l_array_source_80(Idx)
146947 , p_source_80_meaning => l_array_source_80_meaning(Idx)
146948 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
146949 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
146950 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
146951 , p_source_84 => l_array_source_84(Idx)
146952 , p_source_85 => l_array_source_85(Idx)
146953 , p_source_86 => l_array_source_86(Idx)
146954 , p_source_87 => l_array_source_87(Idx)
146955 , p_source_88 => l_array_source_88(Idx)
146956 , p_source_89 => l_array_source_89(Idx)
146957 , p_source_90 => l_array_source_90(Idx)
146958 , p_source_91 => l_array_source_91(Idx)
146959 , p_source_92 => l_array_source_92(Idx)
146960 , p_source_93 => l_array_source_93(Idx)
146961 , p_source_94 => l_array_source_94(Idx)
146962 , p_source_95 => l_array_source_95(Idx)
146963 , p_source_96 => l_array_source_96(Idx)
146964 , p_source_96_meaning => l_array_source_96_meaning(Idx)
146965 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
146966 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
146967 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
146968 );
146969 If(l_balance_type_code = 'A') THEN
146970 l_actual_gain_loss_ref := l_gain_or_loss_ref;
146971 END IF;
146972
146973 --
146974
146975
146976 --
146977 AcctLineType_226 (
146978 p_application_id => p_application_id
146979 ,p_event_id => l_event_id
146980 ,p_calculate_acctd_flag => l_calculate_acctd_flag
146981 ,p_calculate_g_l_flag => l_calculate_g_l_flag
146982 ,p_actual_flag => l_actual_flag
146983 ,p_balance_type_code => l_balance_type_code
146984 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
146985
146986 , p_source_1 => l_array_source_1(Idx)
146987 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
146988 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
146989 , p_source_21 => l_array_source_21(Idx)
146990 , p_source_30 => l_array_source_30(Idx)
146991 , p_source_33 => l_array_source_33(Idx)
146992 , p_source_33_meaning => l_array_source_33_meaning(Idx)
146993 , p_source_43 => l_array_source_43(Idx)
146994 , p_source_53 => l_array_source_53(Idx)
146995 , p_source_55 => l_array_source_55(Idx)
146996 , p_source_57 => l_array_source_57(Idx)
146997 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
146998 , p_source_64 => l_array_source_64(Idx)
146999 , p_source_65 => l_array_source_65(Idx)
147000 , p_source_66 => l_array_source_66(Idx)
147001 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
147002 , p_source_68 => l_array_source_68(Idx)
147003 , p_source_69 => l_array_source_69(Idx)
147004 , p_source_70 => l_array_source_70(Idx)
147005 , p_source_71 => l_array_source_71(Idx)
147006 , p_source_72 => l_array_source_72(Idx)
147007 , p_source_73 => l_array_source_73(Idx)
147008 , p_source_77 => l_array_source_77(Idx)
147009 , p_source_78 => l_array_source_78(Idx)
147010 , p_source_79 => l_array_source_79(Idx)
147011 , p_source_80 => l_array_source_80(Idx)
147012 , p_source_80_meaning => l_array_source_80_meaning(Idx)
147013 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
147014 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
147015 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
147016 , p_source_84 => l_array_source_84(Idx)
147017 , p_source_85 => l_array_source_85(Idx)
147018 , p_source_86 => l_array_source_86(Idx)
147019 , p_source_87 => l_array_source_87(Idx)
147020 , p_source_88 => l_array_source_88(Idx)
147021 , p_source_89 => l_array_source_89(Idx)
147022 , p_source_90 => l_array_source_90(Idx)
147023 , p_source_91 => l_array_source_91(Idx)
147024 , p_source_92 => l_array_source_92(Idx)
147025 , p_source_93 => l_array_source_93(Idx)
147026 , p_source_94 => l_array_source_94(Idx)
147027 , p_source_95 => l_array_source_95(Idx)
147028 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
147029 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
147030 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
147031 );
147032 If(l_balance_type_code = 'A') THEN
147033 l_actual_gain_loss_ref := l_gain_or_loss_ref;
147034 END IF;
147035
147036 --
147037
147038 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
147039 -- or secondary ledger that has different currency with primary
147040 -- or alc that is calculated by sla
147041 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
147042 (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'))
147043
147044 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
147045 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
147046 AND (l_actual_flag = 'A')) THEN
147047 XLA_AE_LINES_PKG.CreateGainOrLossLines(
147051 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
147048 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
147049 ,p_application_id => p_application_id
147050 ,p_amb_context_code => 'DEFAULT'
147052 ,p_event_class_code => C_EVENT_CLASS_CODE
147053 ,p_event_type_code => C_EVENT_TYPE_CODE
147054
147055 ,p_gain_ccid => -1
147056 ,p_loss_ccid => -1
147057
147058 ,p_actual_flag => l_actual_flag
147059 ,p_enc_flag => null
147060 ,p_actual_g_l_ref => l_actual_gain_loss_ref
147061 ,p_enc_g_l_ref => null
147062 );
147063 END IF;
147064 END IF;
147065 END IF;
147066
147067 ELSE
147068 --
147069 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
147070 --
147071 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
147072 trace
147073 (p_msg => 'Trancaction revesal option is Y'
147074 ,p_level => C_LEVEL_STATEMENT
147075 ,p_module => l_log_module);
147076 END IF;
147077 END IF;
147078
147079 END LOOP;
147080 l_result := XLA_AE_LINES_PKG.InsertLines ;
147081 end loop;
147082 close line_cur;
147083
147084
147085 --
147086 -- insert headers into xla_ae_headers_gt table
147087 --
147088 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
147089
147090 -- insert into errors table here.
147091
147092 END LOOP;
147093
147094 --
147095 -- 4865292
147096 --
147097 -- Compare g_hdr_extract_count with event count in
147098 -- CreateHeadersAndLines.
147099 --
147100 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
147101
147102 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
147103 trace (p_msg => '# rows extracted from header extract objects '
147104 || ' (running total): '
147105 || g_hdr_extract_count
147106 ,p_level => C_LEVEL_STATEMENT
147107 ,p_module => l_log_module);
147108 END IF;
147109
147110 CLOSE header_cur;
147111 --
147112
147113 --
147114 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
147115 trace
147116 (p_msg => 'END of EventClass_230'
147117 ,p_level => C_LEVEL_PROCEDURE
147118 ,p_module => l_log_module);
147119 END IF;
147120 --
147121 RETURN l_result;
147122 EXCEPTION
147123 WHEN xla_exceptions_pkg.application_exception THEN
147124
147125 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
147126
147127
147128 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
147129
147130 RAISE;
147131
147132 WHEN NO_DATA_FOUND THEN
147133
147134 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
147135 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
147136
147137 FOR header_record IN header_cur
147138 LOOP
147139 l_array_header_events(header_record.event_id) := header_record.event_id;
147140 END LOOP;
147141
147142 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
147143 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
147144
147145 fnd_file.put_line(fnd_file.LOG, ' ');
147146 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
147147 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
147148 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
147149
147150 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
147151 LOOP
147152 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
147153 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
147154 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
147155 END IF;
147156 END LOOP;
147157
147158 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
147159 fnd_file.put_line(fnd_file.LOG, ' ');
147160
147161
147162 xla_exceptions_pkg.raise_message
147163 (p_location => 'XLA_00200_AAD_S_000002_PKG.EventClass_230');
147164
147165
147166 WHEN OTHERS THEN
147167 xla_exceptions_pkg.raise_message
147168 (p_location => 'XLA_00200_AAD_S_000002_PKG.EventClass_230');
147169 END EventClass_230;
147170 --
147171
147172 ---------------------------------------
147173 --
147174 -- PRIVATE PROCEDURE
147175 -- insert_sources_231
147176 --
147177 ----------------------------------------
147178 --
147179 PROCEDURE insert_sources_231(
147180 p_target_ledger_id IN NUMBER
147181 , p_language IN VARCHAR2
147182 , p_sla_ledger_id IN NUMBER
147183 , p_pad_start_date IN DATE
147184 , p_pad_end_date IN DATE
147185 )
147186 IS
147187
147188 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'DEBIT MEMOS_ALL';
147189 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'DEBIT MEMOS';
147190 p_apps_owner VARCHAR2(30);
147191 l_log_module VARCHAR2(240);
147192 BEGIN
147193 IF g_log_enabled THEN
147197
147194 l_log_module := C_DEFAULT_MODULE||'.insert_sources_231';
147195 END IF;
147196 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
147198 trace
147199 (p_msg => 'BEGIN of insert_sources_231'
147200 ,p_level => C_LEVEL_PROCEDURE
147201 ,p_module => l_log_module);
147202
147203 END IF;
147204
147205 -- select APPS owner
147206 SELECT oracle_username
147207 INTO p_apps_owner
147208 FROM fnd_oracle_userid
147209 WHERE read_only_flag = 'U'
147210 ;
147211
147212 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
147213 trace
147214 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
147215 ' - p_language = '||p_language||
147216 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
147217 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
147218 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
147219 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
147220 ,p_level => C_LEVEL_STATEMENT
147221 ,p_module => l_log_module);
147222 END IF;
147223
147224
147225 --
147226 INSERT INTO xla_diag_sources --hdr2
147227 (
147228 event_id
147229 , ledger_id
147230 , sla_ledger_id
147231 , description_language
147232 , object_name
147233 , object_type_code
147234 , line_number
147235 , source_application_id
147236 , source_type_code
147237 , source_code
147238 , source_value
147239 , source_meaning
147240 , created_by
147241 , creation_date
147242 , last_update_date
147243 , last_updated_by
147244 , last_update_login
147245 , program_update_date
147246 , program_application_id
147247 , program_id
147248 , request_id
147249 )
147250 SELECT
147251 event_id
147252 , p_target_ledger_id
147253 , p_sla_ledger_id
147254 , p_language
147255 , object_name
147256 , object_type_code
147257 , line_number
147258 , source_application_id
147259 , source_type_code
147260 , source_code
147261 , SUBSTR(source_value ,1,1996)
147262 , SUBSTR(source_meaning ,1,200)
147263 , xla_environment_pkg.g_Usr_Id
147264 , TRUNC(SYSDATE)
147265 , TRUNC(SYSDATE)
147266 , xla_environment_pkg.g_Usr_Id
147267 , xla_environment_pkg.g_Login_Id
147268 , TRUNC(SYSDATE)
147269 , xla_environment_pkg.g_Prog_Appl_Id
147270 , xla_environment_pkg.g_Prog_Id
147271 , xla_environment_pkg.g_Req_Id
147272 FROM (
147273 SELECT xet.event_id event_id
147274 , 0 line_number
147275 , CASE r
147276 WHEN 1 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147277 WHEN 2 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147278 WHEN 3 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147279 WHEN 4 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147280 WHEN 5 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147281 WHEN 6 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147282 WHEN 7 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
147283 WHEN 8 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
147284 WHEN 9 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
147285 WHEN 10 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147286 WHEN 11 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
147287 WHEN 12 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
147288 WHEN 13 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147289 WHEN 14 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147290 WHEN 15 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147291 WHEN 16 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147292 WHEN 17 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147293 WHEN 18 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147294 WHEN 19 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147295 WHEN 20 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147296 WHEN 21 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
147297
147298 ELSE null
147299 END object_name
147300 , CASE r
147301 WHEN 1 THEN 'HEADER'
147302 WHEN 2 THEN 'HEADER'
147303 WHEN 3 THEN 'HEADER'
147304 WHEN 4 THEN 'HEADER'
147305 WHEN 5 THEN 'HEADER'
147306 WHEN 6 THEN 'HEADER'
147307 WHEN 7 THEN 'HEADER'
147308 WHEN 8 THEN 'HEADER'
147309 WHEN 9 THEN 'HEADER'
147310 WHEN 10 THEN 'HEADER'
147311 WHEN 11 THEN 'HEADER'
147312 WHEN 12 THEN 'HEADER'
147313 WHEN 13 THEN 'HEADER'
147314 WHEN 14 THEN 'HEADER'
147315 WHEN 15 THEN 'HEADER'
147316 WHEN 16 THEN 'HEADER'
147317 WHEN 17 THEN 'HEADER'
147318 WHEN 18 THEN 'HEADER'
147319 WHEN 19 THEN 'HEADER'
147320 WHEN 20 THEN 'HEADER'
147321 WHEN 21 THEN 'HEADER'
147322
147323 ELSE null
147324 END object_type_code
147325 , CASE r
147326 WHEN 1 THEN '200'
147327 WHEN 2 THEN '200'
147331 WHEN 6 THEN '200'
147328 WHEN 3 THEN '200'
147329 WHEN 4 THEN '200'
147330 WHEN 5 THEN '200'
147332 WHEN 7 THEN '200'
147333 WHEN 8 THEN '200'
147334 WHEN 9 THEN '200'
147335 WHEN 10 THEN '200'
147336 WHEN 11 THEN '200'
147337 WHEN 12 THEN '200'
147338 WHEN 13 THEN '200'
147339 WHEN 14 THEN '200'
147340 WHEN 15 THEN '200'
147341 WHEN 16 THEN '200'
147342 WHEN 17 THEN '200'
147343 WHEN 18 THEN '200'
147344 WHEN 19 THEN '200'
147345 WHEN 20 THEN '200'
147346 WHEN 21 THEN '200'
147347
147348 ELSE null
147349 END source_application_id
147350 , 'S' source_type_code
147351 , CASE r
147352 WHEN 1 THEN 'INV_TRANSACTION_NUMBER'
147353 WHEN 2 THEN 'AI_INVOICE_DATE'
147354 WHEN 3 THEN 'INV_DOC_SEQUENCE_CATEGORY'
147355 WHEN 4 THEN 'DOC_SEQUENCE_NAME'
147356 WHEN 5 THEN 'INV_DOC_SEQUENCE_VALUE'
147357 WHEN 6 THEN 'AI_DESCRIPTION'
147358 WHEN 7 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
147359 WHEN 8 THEN 'ASP_RATE_VAR_GAIN_CCID'
147360 WHEN 9 THEN 'ASP_RATE_VAR_LOSS_CCID'
147361 WHEN 10 THEN 'AI_ACCTS_PAY_CCID'
147362 WHEN 11 THEN 'FSP_RETAINAGE_ACCOUNT'
147363 WHEN 12 THEN 'ASP_AUTO_OFFSET_FLAG'
147364 WHEN 13 THEN 'AI_INVOICE_ID'
147365 WHEN 14 THEN 'AI_INVOICE_CURRENCY_CODE'
147366 WHEN 15 THEN 'AI_VENDOR_ID'
147367 WHEN 16 THEN 'AI_VENDOR_SITE_ID'
147368 WHEN 17 THEN 'THIRD_PARTY_TYPE'
147369 WHEN 18 THEN 'INV_EXCHANGE_DATE'
147370 WHEN 19 THEN 'INV_EXCHANGE_RATE'
147371 WHEN 20 THEN 'INV_EXCHANGE_RATE_TYPE'
147372 WHEN 21 THEN 'INV_DOC_SEQUENCE_IDENTIFIER'
147373
147374 ELSE null
147375 END source_code
147376 , CASE r
147377 WHEN 1 THEN TO_CHAR(h2.INV_TRANSACTION_NUMBER)
147378 WHEN 2 THEN TO_CHAR(h2.AI_INVOICE_DATE)
147379 WHEN 3 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_CATEGORY)
147380 WHEN 4 THEN TO_CHAR(h2.DOC_SEQUENCE_NAME)
147381 WHEN 5 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_VALUE)
147382 WHEN 6 THEN TO_CHAR(h2.AI_DESCRIPTION)
147383 WHEN 7 THEN TO_CHAR(h4.ASP_AUTOMATIC_OFFSETS_VALUE)
147384 WHEN 8 THEN TO_CHAR(h4.ASP_RATE_VAR_GAIN_CCID)
147385 WHEN 9 THEN TO_CHAR(h4.ASP_RATE_VAR_LOSS_CCID)
147386 WHEN 10 THEN TO_CHAR(h2.AI_ACCTS_PAY_CCID)
147387 WHEN 11 THEN TO_CHAR(h4.FSP_RETAINAGE_ACCOUNT)
147388 WHEN 12 THEN TO_CHAR(h4.ASP_AUTO_OFFSET_FLAG)
147389 WHEN 13 THEN TO_CHAR(h2.AI_INVOICE_ID)
147390 WHEN 14 THEN TO_CHAR(h2.AI_INVOICE_CURRENCY_CODE)
147391 WHEN 15 THEN TO_CHAR(h2.AI_VENDOR_ID)
147392 WHEN 16 THEN TO_CHAR(h2.AI_VENDOR_SITE_ID)
147393 WHEN 17 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
147394 WHEN 18 THEN TO_CHAR(h2.INV_EXCHANGE_DATE)
147395 WHEN 19 THEN TO_CHAR(h2.INV_EXCHANGE_RATE)
147396 WHEN 20 THEN TO_CHAR(h2.INV_EXCHANGE_RATE_TYPE)
147397 WHEN 21 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_IDENTIFIER)
147398
147399 ELSE null
147400 END source_value
147401 , CASE r
147402 WHEN 7 THEN fvl15.meaning
147403 WHEN 12 THEN fvl47.meaning
147404
147405 ELSE null
147406 END source_meaning
147407 FROM xla_events_gt xet
147408 , AP_INVOICE_EXTRACT_HEADER_V h2
147409 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
147410 , fnd_lookup_values fvl15
147411 , fnd_lookup_values fvl47
147412 ,(select rownum r from all_objects where rownum <= 21 and owner = p_apps_owner)
147413 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
147414 AND xet.event_class_code = C_EVENT_CLASS_CODE
147415 AND h2.event_id = xet.event_id
147416 AND h4.asp_org_id= h2.ai_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
147417 AND fvl15.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
147418 AND fvl15.view_application_id(+) = 200
147419 AND fvl15.language(+) = USERENV('LANG')
147420 AND fvl47.lookup_type(+) = 'YES_NO'
147421 AND fvl47.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
147422 AND fvl47.view_application_id(+) = 0
147423 AND fvl47.language(+) = USERENV('LANG')
147424
147425 )
147426 ;
147427 --
147428 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
147429
147430 trace
147431 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
147432 ,p_level => C_LEVEL_STATEMENT
147433 ,p_module => l_log_module);
147434
147435 END IF;
147436 --
147437
147438
147439
147440 --
147441 INSERT INTO xla_diag_sources --line2
147442 (
147443 event_id
147444 , ledger_id
147445 , sla_ledger_id
147449 , line_number
147446 , description_language
147447 , object_name
147448 , object_type_code
147450 , source_application_id
147451 , source_type_code
147452 , source_code
147453 , source_value
147454 , source_meaning
147455 , created_by
147456 , creation_date
147457 , last_update_date
147458 , last_updated_by
147459 , last_update_login
147460 , program_update_date
147461 , program_application_id
147462 , program_id
147463 , request_id
147464 )
147465 SELECT event_id
147466 , p_target_ledger_id
147467 , p_sla_ledger_id
147468 , p_language
147469 , object_name
147470 , object_type_code
147471 , line_number
147472 , source_application_id
147473 , source_type_code
147474 , source_code
147475 , SUBSTR(source_value,1,1996)
147476 , SUBSTR(source_meaning ,1,200)
147477 , xla_environment_pkg.g_Usr_Id
147478 , TRUNC(SYSDATE)
147479 , TRUNC(SYSDATE)
147480 , xla_environment_pkg.g_Usr_Id
147481 , xla_environment_pkg.g_Login_Id
147482 , TRUNC(SYSDATE)
147483 , xla_environment_pkg.g_Prog_Appl_Id
147484 , xla_environment_pkg.g_Prog_Id
147485 , xla_environment_pkg.g_Req_Id
147486 FROM (
147487 SELECT xet.event_id event_id
147488 , l1.line_number line_number
147489 , CASE r
147490 WHEN 1 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147491 WHEN 2 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147492 WHEN 3 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147493 WHEN 4 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147494 WHEN 5 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147495 WHEN 6 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147496 WHEN 7 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147497 WHEN 8 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147498 WHEN 9 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147499 WHEN 10 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147500 WHEN 11 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147501 WHEN 12 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147502 WHEN 13 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147503 WHEN 14 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147504 WHEN 15 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147505 WHEN 16 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147506 WHEN 17 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147507 WHEN 18 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147508 WHEN 19 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147509 WHEN 20 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147510 WHEN 21 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147511 WHEN 22 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147512 WHEN 23 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147513 WHEN 24 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147514 WHEN 25 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147515 WHEN 26 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147516 WHEN 27 THEN 'AP_PO_HEADERS_EXTRACT_V'
147517 WHEN 28 THEN 'AP_PO_HEADERS_EXTRACT_V'
147518 WHEN 29 THEN 'AP_PO_HEADERS_EXTRACT_V'
147519 WHEN 30 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147520 WHEN 31 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147521 WHEN 32 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147522 WHEN 33 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147523 WHEN 34 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147524 WHEN 35 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
147525 WHEN 36 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
147526 WHEN 37 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147527 WHEN 38 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147528 WHEN 39 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147529 WHEN 40 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147530 WHEN 41 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147531 WHEN 42 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147532 WHEN 43 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147533 WHEN 44 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147534 WHEN 45 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147535 WHEN 46 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
147536
147537 ELSE null
147538 END object_name
147539 , CASE r
147540 WHEN 1 THEN 'LINE'
147541 WHEN 2 THEN 'LINE'
147542 WHEN 3 THEN 'LINE'
147543 WHEN 4 THEN 'LINE'
147544 WHEN 5 THEN 'LINE'
147545 WHEN 6 THEN 'LINE'
147546 WHEN 7 THEN 'LINE'
147547 WHEN 8 THEN 'LINE'
147548 WHEN 9 THEN 'LINE'
147549 WHEN 10 THEN 'LINE'
147550 WHEN 11 THEN 'LINE'
147551 WHEN 12 THEN 'LINE'
147552 WHEN 13 THEN 'LINE'
147553 WHEN 14 THEN 'LINE'
147554 WHEN 15 THEN 'LINE'
147555 WHEN 16 THEN 'LINE'
147556 WHEN 17 THEN 'LINE'
147557 WHEN 18 THEN 'LINE'
147558 WHEN 19 THEN 'LINE'
147559 WHEN 20 THEN 'LINE'
147560 WHEN 21 THEN 'LINE'
147561 WHEN 22 THEN 'LINE'
147562 WHEN 23 THEN 'LINE'
147566 WHEN 27 THEN 'LINE'
147563 WHEN 24 THEN 'LINE'
147564 WHEN 25 THEN 'LINE'
147565 WHEN 26 THEN 'LINE'
147567 WHEN 28 THEN 'LINE'
147568 WHEN 29 THEN 'LINE'
147569 WHEN 30 THEN 'LINE'
147570 WHEN 31 THEN 'LINE'
147571 WHEN 32 THEN 'LINE'
147572 WHEN 33 THEN 'LINE'
147573 WHEN 34 THEN 'LINE'
147574 WHEN 35 THEN 'LINE'
147575 WHEN 36 THEN 'LINE'
147576 WHEN 37 THEN 'LINE'
147577 WHEN 38 THEN 'LINE'
147578 WHEN 39 THEN 'LINE'
147579 WHEN 40 THEN 'LINE'
147580 WHEN 41 THEN 'LINE'
147581 WHEN 42 THEN 'LINE'
147582 WHEN 43 THEN 'LINE'
147583 WHEN 44 THEN 'LINE'
147584 WHEN 45 THEN 'LINE'
147585 WHEN 46 THEN 'LINE'
147586
147587 ELSE null
147588 END object_type_code
147589 , CASE r
147590 WHEN 1 THEN '200'
147591 WHEN 2 THEN '200'
147592 WHEN 3 THEN '200'
147593 WHEN 4 THEN '200'
147594 WHEN 5 THEN '200'
147595 WHEN 6 THEN '200'
147596 WHEN 7 THEN '200'
147597 WHEN 8 THEN '200'
147598 WHEN 9 THEN '200'
147599 WHEN 10 THEN '200'
147600 WHEN 11 THEN '200'
147601 WHEN 12 THEN '200'
147602 WHEN 13 THEN '200'
147603 WHEN 14 THEN '200'
147604 WHEN 15 THEN '200'
147605 WHEN 16 THEN '200'
147606 WHEN 17 THEN '200'
147607 WHEN 18 THEN '200'
147608 WHEN 19 THEN '200'
147609 WHEN 20 THEN '200'
147610 WHEN 21 THEN '200'
147611 WHEN 22 THEN '200'
147612 WHEN 23 THEN '200'
147613 WHEN 24 THEN '200'
147614 WHEN 25 THEN '200'
147615 WHEN 26 THEN '200'
147616 WHEN 27 THEN '200'
147617 WHEN 28 THEN '200'
147618 WHEN 29 THEN '200'
147619 WHEN 30 THEN '200'
147620 WHEN 31 THEN '200'
147621 WHEN 32 THEN '200'
147622 WHEN 33 THEN '200'
147623 WHEN 34 THEN '200'
147624 WHEN 35 THEN '200'
147625 WHEN 36 THEN '200'
147626 WHEN 37 THEN '200'
147627 WHEN 38 THEN '200'
147628 WHEN 39 THEN '200'
147629 WHEN 40 THEN '200'
147630 WHEN 41 THEN '200'
147631 WHEN 42 THEN '200'
147632 WHEN 43 THEN '200'
147633 WHEN 44 THEN '200'
147634 WHEN 45 THEN '200'
147635 WHEN 46 THEN '200'
147636
147637 ELSE null
147638 END source_application_id
147639 , 'S' source_type_code
147640 , CASE r
147641 WHEN 1 THEN 'AID_DESCRIPTION'
147642 WHEN 2 THEN 'INV_DIST_BASE_AMOUNT'
147643 WHEN 3 THEN 'RELATED_INV_DIST_DEST_TYPE'
147644 WHEN 4 THEN 'AID_DIST_CCID'
147645 WHEN 5 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
147646 WHEN 6 THEN 'AID_RET_RELATED_DIST_CCID'
147647 WHEN 7 THEN 'AWT_RELATED_DIST_ACCOUNT'
147648 WHEN 8 THEN 'SELF_ASSESSED_TAX_ACCOUNT'
147649 WHEN 9 THEN 'ASAT_LIAB_CCID'
147650 WHEN 10 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
147651 WHEN 11 THEN 'DISTRIBUTION_LINK_TYPE'
147652 WHEN 12 THEN 'ALLOC_TO_MAIN_DIST_ID'
147653 WHEN 13 THEN 'BUS_FLOW_PO_APP_ID'
147654 WHEN 14 THEN 'BUS_FLOW_PO_DIST_TYPE'
147655 WHEN 15 THEN 'BUS_FLOW_PO_ENTITY_CODE'
147656 WHEN 16 THEN 'BUS_FLOW_PO_DIST_ID'
147657 WHEN 17 THEN 'BUS_FLOW_PO_DOC_ID'
147658 WHEN 18 THEN 'AID_INVOICE_DIST_ID'
147659 WHEN 19 THEN 'UPG_ENC_CR_CCID'
147660 WHEN 20 THEN 'UPG_ENC_CR_AMT'
147661 WHEN 21 THEN 'UPG_ENC_CR_BASE_AMT'
147662 WHEN 22 THEN 'UPG_ENC_DR_CCID'
147663 WHEN 23 THEN 'UPG_ENC_DR_AMT'
147664 WHEN 24 THEN 'UPG_ENC_DR_BASE_AMT'
147665 WHEN 25 THEN 'UPG_AP_ENCUM_OPTION'
147666 WHEN 26 THEN 'AID_AMOUNT'
147667 WHEN 27 THEN 'POH_RATE_DATE'
147668 WHEN 28 THEN 'POH_RATE'
147669 WHEN 29 THEN 'POH_RATE_TYPE'
147670 WHEN 30 THEN 'DEFERRED_END_DATE'
147671 WHEN 31 THEN 'DEFERRED_OPTION'
147672 WHEN 32 THEN 'DEFERRED_START_DATE'
147673 WHEN 33 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
147674 WHEN 34 THEN 'AID_PARENT_REVERSAL_ID'
147675 WHEN 35 THEN 'TAX_LINE_ID'
147676 WHEN 36 THEN 'REC_NREC_TAX_DIST_ID'
147677 WHEN 37 THEN 'SUMMARY_TAX_LINE_ID'
147678 WHEN 38 THEN 'UPG_CR_ENC_TYPE_ID'
147679 WHEN 39 THEN 'UPG_DR_ENC_TYPE_ID'
147680 WHEN 40 THEN 'BUS_FLOW_AP_APP_ID'
147684 WHEN 44 THEN 'BUS_FLOW_INV_ID'
147681 WHEN 41 THEN 'BUS_FLOW_INV_DIST_TYPE'
147682 WHEN 42 THEN 'BUS_FLOW_INV_ENTITY_CODE'
147683 WHEN 43 THEN 'BUS_FLOW_INV_DIST_ID'
147685 WHEN 45 THEN 'POD_ACCRUE_ON_RECEIPT_FLAG'
147686 WHEN 46 THEN 'SELF_ASSESSED_TAX_FLAG'
147687
147688 ELSE null
147689 END source_code
147690 , CASE r
147691 WHEN 1 THEN TO_CHAR(l1.AID_DESCRIPTION)
147692 WHEN 2 THEN TO_CHAR(l1.INV_DIST_BASE_AMOUNT)
147693 WHEN 3 THEN TO_CHAR(l1.RELATED_INV_DIST_DEST_TYPE)
147694 WHEN 4 THEN TO_CHAR(l1.AID_DIST_CCID)
147695 WHEN 5 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
147696 WHEN 6 THEN TO_CHAR(l1.AID_RET_RELATED_DIST_CCID)
147697 WHEN 7 THEN TO_CHAR(l1.AWT_RELATED_DIST_ACCOUNT)
147698 WHEN 8 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_ACCOUNT)
147699 WHEN 9 THEN TO_CHAR(l1.ASAT_LIAB_CCID)
147700 WHEN 10 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
147701 WHEN 11 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
147702 WHEN 12 THEN TO_CHAR(l1.ALLOC_TO_MAIN_DIST_ID)
147703 WHEN 13 THEN TO_CHAR(l1.BUS_FLOW_PO_APP_ID)
147704 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_TYPE)
147705 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_PO_ENTITY_CODE)
147706 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_ID)
147707 WHEN 17 THEN TO_CHAR(l1.BUS_FLOW_PO_DOC_ID)
147708 WHEN 18 THEN TO_CHAR(l1.AID_INVOICE_DIST_ID)
147709 WHEN 19 THEN TO_CHAR(l1.UPG_ENC_CR_CCID)
147710 WHEN 20 THEN TO_CHAR(l1.UPG_ENC_CR_AMT)
147711 WHEN 21 THEN TO_CHAR(l1.UPG_ENC_CR_BASE_AMT)
147712 WHEN 22 THEN TO_CHAR(l1.UPG_ENC_DR_CCID)
147713 WHEN 23 THEN TO_CHAR(l1.UPG_ENC_DR_AMT)
147714 WHEN 24 THEN TO_CHAR(l1.UPG_ENC_DR_BASE_AMT)
147715 WHEN 25 THEN TO_CHAR(l1.UPG_AP_ENCUM_OPTION)
147716 WHEN 26 THEN TO_CHAR(l1.AID_AMOUNT)
147717 WHEN 27 THEN TO_CHAR(l3.POH_RATE_DATE)
147718 WHEN 28 THEN TO_CHAR(l3.POH_RATE)
147719 WHEN 29 THEN TO_CHAR(l3.POH_RATE_TYPE)
147720 WHEN 30 THEN TO_CHAR(l1.DEFERRED_END_DATE)
147721 WHEN 31 THEN TO_CHAR(l1.DEFERRED_OPTION)
147722 WHEN 32 THEN TO_CHAR(l1.DEFERRED_START_DATE)
147723 WHEN 33 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
147724 WHEN 34 THEN TO_CHAR(l1.AID_PARENT_REVERSAL_ID)
147725 WHEN 35 THEN TO_CHAR(l5.TAX_LINE_ID)
147726 WHEN 36 THEN TO_CHAR(l6.REC_NREC_TAX_DIST_ID)
147727 WHEN 37 THEN TO_CHAR(l1.SUMMARY_TAX_LINE_ID)
147728 WHEN 38 THEN TO_CHAR(l1.UPG_CR_ENC_TYPE_ID)
147729 WHEN 39 THEN TO_CHAR(l1.UPG_DR_ENC_TYPE_ID)
147730 WHEN 40 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
147731 WHEN 41 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
147732 WHEN 42 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
147733 WHEN 43 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
147734 WHEN 44 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
147735 WHEN 45 THEN TO_CHAR(l1.POD_ACCRUE_ON_RECEIPT_FLAG)
147736 WHEN 46 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_FLAG)
147737
147738 ELSE null
147739 END source_value
147740 , CASE r
147741 WHEN 3 THEN fvl22.meaning
147742 WHEN 5 THEN fvl33.meaning
147743 WHEN 33 THEN fvl80.meaning
147744 WHEN 45 THEN fvl96.meaning
147745 WHEN 46 THEN fvl142.meaning
147746
147747 ELSE null
147748 END source_meaning
147749 FROM xla_events_gt xet
147750 , AP_INVOICE_EXTRACT_DETAILS_V l1
147751 , AP_PO_HEADERS_EXTRACT_V l3
147752 , ZX_AP_DEF_TAX_EXTRACT_V l5
147753 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
147754 , fnd_lookup_values fvl22
147755 , fnd_lookup_values fvl33
147756 , fnd_lookup_values fvl80
147757 , fnd_lookup_values fvl96
147758 , fnd_lookup_values fvl142
147759 , (select rownum r from all_objects where rownum <= 46 and owner = p_apps_owner)
147760 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
147761 AND xet.event_class_code = C_EVENT_CLASS_CODE
147762 AND l1.event_id = xet.event_id
147763 AND l1.pod_po_header_id = l3.po_header_id (+) AND l1.zrnd_tax_dist_id = l5.rec_nrec_tax_dist_id (+) AND l1.zrnd_tax_dist_id = l6.rec_nrec_tax_dist_id (+) AND fvl22.lookup_type(+) = 'DESTINATION TYPE'
147764 AND fvl22.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
147765 AND fvl22.view_application_id(+) = 201
147766 AND fvl22.language(+) = USERENV('LANG')
147767 AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
147768 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
147769 AND fvl33.view_application_id(+) = 200
147770 AND fvl33.language(+) = USERENV('LANG')
147771 AND fvl80.lookup_type(+) = 'YES_NO'
147772 AND fvl80.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
147773 AND fvl80.view_application_id(+) = 0
147777 AND fvl96.view_application_id(+) = 0
147774 AND fvl80.language(+) = USERENV('LANG')
147775 AND fvl96.lookup_type(+) = 'YES_NO'
147776 AND fvl96.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
147778 AND fvl96.language(+) = USERENV('LANG')
147779 AND fvl142.lookup_type(+) = 'YES_NO'
147780 AND fvl142.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
147781 AND fvl142.view_application_id(+) = 0
147782 AND fvl142.language(+) = USERENV('LANG')
147783
147784 )
147785 ;
147786 --
147787 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
147788
147789 trace
147790 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
147791 ,p_level => C_LEVEL_STATEMENT
147792 ,p_module => l_log_module);
147793
147794 END IF;
147795
147796
147797 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
147798 trace
147799 (p_msg => 'END of insert_sources_231'
147800 ,p_level => C_LEVEL_PROCEDURE
147801 ,p_module => l_log_module);
147802 END IF;
147803 EXCEPTION
147804 WHEN xla_exceptions_pkg.application_exception THEN
147805 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
147806 trace
147807 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
147808 ,p_level => C_LEVEL_EXCEPTION
147809 ,p_module => l_log_module);
147810 END IF;
147811 RAISE;
147812 WHEN OTHERS THEN
147813 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
147814 trace
147815 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
147816 ,p_level => C_LEVEL_EXCEPTION
147817 ,p_module => l_log_module);
147818 END IF;
147819 xla_exceptions_pkg.raise_message
147820 (p_location => 'XLA_00200_AAD_S_000002_PKG.insert_sources_231');
147821 END insert_sources_231;
147822 --
147823
147824 ---------------------------------------
147825 --
147826 -- PRIVATE FUNCTION
147827 -- EventClass_231
147828 --
147829 ----------------------------------------
147830 --
147831 FUNCTION EventClass_231
147832 (p_application_id IN NUMBER
147833 ,p_base_ledger_id IN NUMBER
147834 ,p_target_ledger_id IN NUMBER
147835 ,p_language IN VARCHAR2
147836 ,p_currency_code IN VARCHAR2
147837 ,p_sla_ledger_id IN NUMBER
147838 ,p_pad_start_date IN DATE
147839 ,p_pad_end_date IN DATE
147840 ,p_primary_ledger_id IN NUMBER)
147841 RETURN BOOLEAN IS
147842 --
147843 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'DEBIT MEMOS_ALL';
147844 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'DEBIT MEMOS';
147845
147846 l_calculate_acctd_flag VARCHAR2(1) :='N';
147847 l_calculate_g_l_flag VARCHAR2(1) :='N';
147848 --
147849 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
147850 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
147851 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
147852 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
147853 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
147854 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
147855 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
147856 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
147857 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
147858 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
147859 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
147860 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
147861 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
147862 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
147863 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
147864 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
147865 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
147866 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
147867 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
147868 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
147869 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
147870 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
147871 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
147872 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
147873 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
147874 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
147875
147876 l_event_id NUMBER;
147877 l_previous_event_id NUMBER;
147878 l_first_event_id NUMBER;
147879 l_last_event_id NUMBER;
147880
147881 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
147882 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
147883 --
147884 --
147885 l_result BOOLEAN := TRUE;
147886 l_rows NUMBER := 1000;
147890 l_transaction_reversal NUMBER;
147887 l_event_type_name VARCHAR2(80) := 'All';
147888 l_event_class_name VARCHAR2(80) := 'Debit Memos';
147889 l_description VARCHAR2(4000);
147891 l_ae_header_id NUMBER;
147892 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
147893 l_log_module VARCHAR2(240);
147894 --
147895 l_acct_reversal_source VARCHAR2(30);
147896 l_trx_reversal_source VARCHAR2(30);
147897
147898 l_continue_with_lines BOOLEAN := TRUE;
147899 --
147900 l_acc_rev_gl_date_source DATE; -- 4262811
147901 --
147902 type t_array_event_id is table of number index by binary_integer;
147903
147904 l_rec_array_event t_rec_array_event;
147905 l_null_rec_array_event t_rec_array_event;
147906 l_array_ae_header_id xla_number_array_type;
147907 l_actual_flag VARCHAR2(1) := NULL;
147908 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
147909 l_balance_type_code VARCHAR2(1) :=NULL;
147910 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
147911
147912 --
147913 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
147914 --
147915
147916 TYPE t_array_source_3 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_TRANSACTION_NUMBER%TYPE INDEX BY BINARY_INTEGER;
147917 TYPE t_array_source_4 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_DATE%TYPE INDEX BY BINARY_INTEGER;
147918 TYPE t_array_source_5 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_CATEGORY%TYPE INDEX BY BINARY_INTEGER;
147919 TYPE t_array_source_6 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.DOC_SEQUENCE_NAME%TYPE INDEX BY BINARY_INTEGER;
147920 TYPE t_array_source_7 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
147921 TYPE t_array_source_8 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
147922 TYPE t_array_source_15 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
147923 TYPE t_array_source_20 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
147924 TYPE t_array_source_23 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
147925 TYPE t_array_source_34 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_ACCTS_PAY_CCID%TYPE INDEX BY BINARY_INTEGER;
147926 TYPE t_array_source_40 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_RETAINAGE_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
147927 TYPE t_array_source_47 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
147928 TYPE t_array_source_58 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_ID%TYPE INDEX BY BINARY_INTEGER;
147929 TYPE t_array_source_67 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
147930 TYPE t_array_source_81 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
147931 TYPE t_array_source_82 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
147932 TYPE t_array_source_83 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
147933 TYPE t_array_source_143 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
147934 TYPE t_array_source_144 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
147935 TYPE t_array_source_145 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
147936 TYPE t_array_source_168 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
147937
147938 TYPE t_array_source_1 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
147939 TYPE t_array_source_21 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.INV_DIST_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
147940 TYPE t_array_source_22 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.RELATED_INV_DIST_DEST_TYPE%TYPE INDEX BY BINARY_INTEGER;
147941 TYPE t_array_source_30 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
147942 TYPE t_array_source_33 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
147943 TYPE t_array_source_42 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_RET_RELATED_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
147944 TYPE t_array_source_43 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AWT_RELATED_DIST_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
147945 TYPE t_array_source_50 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
147946 TYPE t_array_source_51 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ASAT_LIAB_CCID%TYPE INDEX BY BINARY_INTEGER;
147947 TYPE t_array_source_53 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
147948 TYPE t_array_source_55 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
147949 TYPE t_array_source_57 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ALLOC_TO_MAIN_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
147950 TYPE t_array_source_59 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_APP_ID%TYPE INDEX BY BINARY_INTEGER;
147951 TYPE t_array_source_60 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
147952 TYPE t_array_source_61 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
147953 TYPE t_array_source_62 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
147954 TYPE t_array_source_63 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DOC_ID%TYPE INDEX BY BINARY_INTEGER;
147958 TYPE t_array_source_68 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
147955 TYPE t_array_source_64 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_INVOICE_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
147956 TYPE t_array_source_65 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_CCID%TYPE INDEX BY BINARY_INTEGER;
147957 TYPE t_array_source_66 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_AMT%TYPE INDEX BY BINARY_INTEGER;
147959 TYPE t_array_source_69 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_CCID%TYPE INDEX BY BINARY_INTEGER;
147960 TYPE t_array_source_70 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_AMT%TYPE INDEX BY BINARY_INTEGER;
147961 TYPE t_array_source_71 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
147962 TYPE t_array_source_72 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_AP_ENCUM_OPTION%TYPE INDEX BY BINARY_INTEGER;
147963 TYPE t_array_source_73 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
147964 TYPE t_array_source_74 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_DATE%TYPE INDEX BY BINARY_INTEGER;
147965 TYPE t_array_source_75 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE%TYPE INDEX BY BINARY_INTEGER;
147966 TYPE t_array_source_76 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
147967 TYPE t_array_source_77 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_END_DATE%TYPE INDEX BY BINARY_INTEGER;
147968 TYPE t_array_source_78 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_OPTION%TYPE INDEX BY BINARY_INTEGER;
147969 TYPE t_array_source_79 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_START_DATE%TYPE INDEX BY BINARY_INTEGER;
147970 TYPE t_array_source_80 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
147971 TYPE t_array_source_84 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_PARENT_REVERSAL_ID%TYPE INDEX BY BINARY_INTEGER;
147972 TYPE t_array_source_86 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
147973 TYPE t_array_source_87 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
147974 TYPE t_array_source_88 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
147975 TYPE t_array_source_89 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
147976 TYPE t_array_source_90 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
147977 TYPE t_array_source_91 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
147978 TYPE t_array_source_92 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
147979 TYPE t_array_source_93 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
147980 TYPE t_array_source_94 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
147981 TYPE t_array_source_95 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
147982 TYPE t_array_source_96 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.POD_ACCRUE_ON_RECEIPT_FLAG%TYPE INDEX BY BINARY_INTEGER;
147983 TYPE t_array_source_142 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_FLAG%TYPE INDEX BY BINARY_INTEGER;
147984
147985 l_array_source_3 t_array_source_3;
147986 l_array_source_4 t_array_source_4;
147987 l_array_source_5 t_array_source_5;
147988 l_array_source_6 t_array_source_6;
147989 l_array_source_7 t_array_source_7;
147990 l_array_source_8 t_array_source_8;
147991 l_array_source_15 t_array_source_15;
147992 l_array_source_15_meaning t_array_lookup_meaning;
147993 l_array_source_20 t_array_source_20;
147994 l_array_source_23 t_array_source_23;
147995 l_array_source_34 t_array_source_34;
147996 l_array_source_40 t_array_source_40;
147997 l_array_source_47 t_array_source_47;
147998 l_array_source_47_meaning t_array_lookup_meaning;
147999 l_array_source_58 t_array_source_58;
148000 l_array_source_67 t_array_source_67;
148001 l_array_source_81 t_array_source_81;
148002 l_array_source_82 t_array_source_82;
148003 l_array_source_83 t_array_source_83;
148004 l_array_source_143 t_array_source_143;
148005 l_array_source_144 t_array_source_144;
148006 l_array_source_145 t_array_source_145;
148007 l_array_source_168 t_array_source_168;
148008
148009 l_array_source_1 t_array_source_1;
148010 l_array_source_21 t_array_source_21;
148011 l_array_source_22 t_array_source_22;
148012 l_array_source_22_meaning t_array_lookup_meaning;
148013 l_array_source_30 t_array_source_30;
148014 l_array_source_33 t_array_source_33;
148015 l_array_source_33_meaning t_array_lookup_meaning;
148016 l_array_source_42 t_array_source_42;
148017 l_array_source_43 t_array_source_43;
148018 l_array_source_50 t_array_source_50;
148019 l_array_source_51 t_array_source_51;
148020 l_array_source_53 t_array_source_53;
148021 l_array_source_55 t_array_source_55;
148022 l_array_source_57 t_array_source_57;
148023 l_array_source_59 t_array_source_59;
148024 l_array_source_60 t_array_source_60;
148025 l_array_source_61 t_array_source_61;
148026 l_array_source_62 t_array_source_62;
148027 l_array_source_63 t_array_source_63;
148028 l_array_source_64 t_array_source_64;
148032 l_array_source_69 t_array_source_69;
148029 l_array_source_65 t_array_source_65;
148030 l_array_source_66 t_array_source_66;
148031 l_array_source_68 t_array_source_68;
148033 l_array_source_70 t_array_source_70;
148034 l_array_source_71 t_array_source_71;
148035 l_array_source_72 t_array_source_72;
148036 l_array_source_73 t_array_source_73;
148037 l_array_source_74 t_array_source_74;
148038 l_array_source_75 t_array_source_75;
148039 l_array_source_76 t_array_source_76;
148040 l_array_source_77 t_array_source_77;
148041 l_array_source_78 t_array_source_78;
148042 l_array_source_79 t_array_source_79;
148043 l_array_source_80 t_array_source_80;
148044 l_array_source_80_meaning t_array_lookup_meaning;
148045 l_array_source_84 t_array_source_84;
148046 l_array_source_86 t_array_source_86;
148047 l_array_source_87 t_array_source_87;
148048 l_array_source_88 t_array_source_88;
148049 l_array_source_89 t_array_source_89;
148050 l_array_source_90 t_array_source_90;
148051 l_array_source_91 t_array_source_91;
148052 l_array_source_92 t_array_source_92;
148053 l_array_source_93 t_array_source_93;
148054 l_array_source_94 t_array_source_94;
148055 l_array_source_95 t_array_source_95;
148056 l_array_source_96 t_array_source_96;
148057 l_array_source_96_meaning t_array_lookup_meaning;
148058 l_array_source_142 t_array_source_142;
148059 l_array_source_142_meaning t_array_lookup_meaning;
148060
148061 --
148062 CURSOR header_cur
148063 IS
148064 SELECT /*+ leading(xet) cardinality(xet,1) */
148065 -- Event Class Code: DEBIT MEMOS
148066 xet.entity_id
148067 ,xet.legal_entity_id
148068 ,xet.entity_code
148069 ,xet.transaction_number
148070 ,xet.event_id
148071 ,xet.event_class_code
148072 ,xet.event_type_code
148073 ,xet.event_number
148074 ,xet.event_date
148075 ,xet.transaction_date
148076 ,xet.reference_num_1
148077 ,xet.reference_num_2
148078 ,xet.reference_num_3
148079 ,xet.reference_num_4
148080 ,xet.reference_char_1
148081 ,xet.reference_char_2
148082 ,xet.reference_char_3
148083 ,xet.reference_char_4
148084 ,xet.reference_date_1
148085 ,xet.reference_date_2
148086 ,xet.reference_date_3
148087 ,xet.reference_date_4
148088 ,xet.event_created_by
148089 ,xet.budgetary_control_flag
148090 , h2.INV_TRANSACTION_NUMBER source_3
148091 , h2.AI_INVOICE_DATE source_4
148092 , h2.INV_DOC_SEQUENCE_CATEGORY source_5
148093 , h2.DOC_SEQUENCE_NAME source_6
148094 , h2.INV_DOC_SEQUENCE_VALUE source_7
148095 , h2.AI_DESCRIPTION source_8
148096 , h4.ASP_AUTOMATIC_OFFSETS_VALUE source_15
148097 , fvl15.meaning source_15_meaning
148098 , h4.ASP_RATE_VAR_GAIN_CCID source_20
148099 , h4.ASP_RATE_VAR_LOSS_CCID source_23
148100 , h2.AI_ACCTS_PAY_CCID source_34
148101 , h4.FSP_RETAINAGE_ACCOUNT source_40
148102 , h4.ASP_AUTO_OFFSET_FLAG source_47
148103 , fvl47.meaning source_47_meaning
148104 , h2.AI_INVOICE_ID source_58
148105 , h2.AI_INVOICE_CURRENCY_CODE source_67
148106 , h2.AI_VENDOR_ID source_81
148107 , h2.AI_VENDOR_SITE_ID source_82
148108 , h2.THIRD_PARTY_TYPE source_83
148109 , h2.INV_EXCHANGE_DATE source_143
148110 , h2.INV_EXCHANGE_RATE source_144
148111 , h2.INV_EXCHANGE_RATE_TYPE source_145
148112 , h2.INV_DOC_SEQUENCE_IDENTIFIER source_168
148113 FROM xla_events_gt xet
148114 , AP_INVOICE_EXTRACT_HEADER_V h2
148115 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
148116 , fnd_lookup_values fvl15
148117 , fnd_lookup_values fvl47
148118 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
148119 and xet.event_class_code = C_EVENT_CLASS_CODE
148120 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
148121 AND h4.asp_org_id= h2.ai_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
148122 AND fvl15.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
148123 AND fvl15.view_application_id(+) = 200
148124 AND fvl15.language(+) = USERENV('LANG')
148125 AND fvl47.lookup_type(+) = 'YES_NO'
148126 AND fvl47.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
148127 AND fvl47.view_application_id(+) = 0
148128 AND fvl47.language(+) = USERENV('LANG')
148129
148130 ORDER BY event_id
148131 ;
148132
148133
148134 --
148135 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
148136 IS
148137 SELECT /*+ leading(xet) cardinality(xet,1) */
148138 -- Event Class Code: DEBIT MEMOS
148139 xet.entity_id
148140 ,xet.legal_entity_id
148141 ,xet.entity_code
148142 ,xet.transaction_number
148143 ,xet.event_id
148144 ,xet.event_class_code
148145 ,xet.event_type_code
148146 ,xet.event_number
148147 ,xet.event_date
148148 ,xet.transaction_date
148149 ,xet.reference_num_1
148150 ,xet.reference_num_2
148151 ,xet.reference_num_3
148152 ,xet.reference_num_4
148153 ,xet.reference_char_1
148154 ,xet.reference_char_2
148155 ,xet.reference_char_3
148156 ,xet.reference_char_4
148157 ,xet.reference_date_1
148158 ,xet.reference_date_2
148159 ,xet.reference_date_3
148160 ,xet.reference_date_4
148161 ,xet.event_created_by
148162 ,xet.budgetary_control_flag
148163 , l1.LINE_NUMBER
148164 , l1.AID_DESCRIPTION source_1
148168 , l1.AID_DIST_CCID source_30
148165 , l1.INV_DIST_BASE_AMOUNT source_21
148166 , l1.RELATED_INV_DIST_DEST_TYPE source_22
148167 , fvl22.meaning source_22_meaning
148169 , l1.AID_LINE_TYPE_LOOKUP_CODE source_33
148170 , fvl33.meaning source_33_meaning
148171 , l1.AID_RET_RELATED_DIST_CCID source_42
148172 , l1.AWT_RELATED_DIST_ACCOUNT source_43
148173 , l1.SELF_ASSESSED_TAX_ACCOUNT source_50
148174 , l1.ASAT_LIAB_CCID source_51
148175 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_53
148176 , l1.DISTRIBUTION_LINK_TYPE source_55
148177 , l1.ALLOC_TO_MAIN_DIST_ID source_57
148178 , l1.BUS_FLOW_PO_APP_ID source_59
148179 , l1.BUS_FLOW_PO_DIST_TYPE source_60
148180 , l1.BUS_FLOW_PO_ENTITY_CODE source_61
148181 , l1.BUS_FLOW_PO_DIST_ID source_62
148182 , l1.BUS_FLOW_PO_DOC_ID source_63
148183 , l1.AID_INVOICE_DIST_ID source_64
148184 , l1.UPG_ENC_CR_CCID source_65
148185 , l1.UPG_ENC_CR_AMT source_66
148186 , l1.UPG_ENC_CR_BASE_AMT source_68
148187 , l1.UPG_ENC_DR_CCID source_69
148188 , l1.UPG_ENC_DR_AMT source_70
148189 , l1.UPG_ENC_DR_BASE_AMT source_71
148190 , l1.UPG_AP_ENCUM_OPTION source_72
148191 , l1.AID_AMOUNT source_73
148192 , l3.POH_RATE_DATE source_74
148193 , l3.POH_RATE source_75
148194 , l3.POH_RATE_TYPE source_76
148195 , l1.DEFERRED_END_DATE source_77
148196 , l1.DEFERRED_OPTION source_78
148197 , l1.DEFERRED_START_DATE source_79
148198 , l1.OVERRIDE_ACCTD_AMT_FLAG source_80
148199 , fvl80.meaning source_80_meaning
148200 , l1.AID_PARENT_REVERSAL_ID source_84
148201 , l5.TAX_LINE_ID source_86
148202 , l6.REC_NREC_TAX_DIST_ID source_87
148203 , l1.SUMMARY_TAX_LINE_ID source_88
148204 , l1.UPG_CR_ENC_TYPE_ID source_89
148205 , l1.UPG_DR_ENC_TYPE_ID source_90
148206 , l1.BUS_FLOW_AP_APP_ID source_91
148207 , l1.BUS_FLOW_INV_DIST_TYPE source_92
148208 , l1.BUS_FLOW_INV_ENTITY_CODE source_93
148209 , l1.BUS_FLOW_INV_DIST_ID source_94
148210 , l1.BUS_FLOW_INV_ID source_95
148211 , l1.POD_ACCRUE_ON_RECEIPT_FLAG source_96
148212 , fvl96.meaning source_96_meaning
148213 , l1.SELF_ASSESSED_TAX_FLAG source_142
148214 , fvl142.meaning source_142_meaning
148215 FROM xla_events_gt xet
148216 , AP_INVOICE_EXTRACT_DETAILS_V l1
148217 , AP_PO_HEADERS_EXTRACT_V l3
148218 , ZX_AP_DEF_TAX_EXTRACT_V l5
148219 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
148220 , fnd_lookup_values fvl22
148221 , fnd_lookup_values fvl33
148222 , fnd_lookup_values fvl80
148223 , fnd_lookup_values fvl96
148224 , fnd_lookup_values fvl142
148225 WHERE xet.event_id between x_first_event_id and x_last_event_id
148226 and xet.event_date between p_pad_start_date and p_pad_end_date
148227 and xet.event_class_code = C_EVENT_CLASS_CODE
148228 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
148229 AND l1.POD_PO_Header_Id = l3.PO_Header_Id (+) AND l1.ZRND_tax_dist_id = l5.REC_NREC_TAX_DIST_ID (+) AND l1.ZRND_tax_dist_id = l6.REC_NREC_TAX_DIST_ID (+) AND fvl22.lookup_type(+) = 'DESTINATION TYPE'
148230 AND fvl22.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
148231 AND fvl22.view_application_id(+) = 201
148232 AND fvl22.language(+) = USERENV('LANG')
148233 AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
148234 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
148235 AND fvl33.view_application_id(+) = 200
148236 AND fvl33.language(+) = USERENV('LANG')
148237 AND fvl80.lookup_type(+) = 'YES_NO'
148238 AND fvl80.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
148239 AND fvl80.view_application_id(+) = 0
148240 AND fvl80.language(+) = USERENV('LANG')
148241 AND fvl96.lookup_type(+) = 'YES_NO'
148242 AND fvl96.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
148243 AND fvl96.view_application_id(+) = 0
148244 AND fvl96.language(+) = USERENV('LANG')
148245 AND fvl142.lookup_type(+) = 'YES_NO'
148246 AND fvl142.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
148247 AND fvl142.view_application_id(+) = 0
148248 AND fvl142.language(+) = USERENV('LANG')
148249 ;
148250
148251 --
148252 BEGIN
148253 IF g_log_enabled THEN
148254 l_log_module := C_DEFAULT_MODULE||'.EventClass_231';
148255 END IF;
148256 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
148257 trace
148258 (p_msg => 'BEGIN of EventClass_231'
148259 ,p_level => C_LEVEL_PROCEDURE
148260 ,p_module => l_log_module);
148261 END IF;
148262
148263 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
148264 trace
148265 (p_msg => 'p_application_id = '||p_application_id||
148266 ' - p_base_ledger_id = '||p_base_ledger_id||
148267 ' - p_target_ledger_id = '||p_target_ledger_id||
148268 ' - p_language = '||p_language||
148269 ' - p_currency_code = '||p_currency_code||
148270 ' - p_sla_ledger_id = '||p_sla_ledger_id
148271 ,p_level => C_LEVEL_STATEMENT
148272 ,p_module => l_log_module);
148273 END IF;
148274 --
148275 -- initialze arrays
148276 --
148277 g_array_event.DELETE;
148278 l_rec_array_event := l_null_rec_array_event;
148279 --
148280 --------------------------------------
148281 -- 4262811 Initialze MPA Line Number
148282 --------------------------------------
148283 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
148284
148285 --
148289 --
148286
148287 --
148288 OPEN header_cur;
148290 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
148291 trace
148292 (p_msg => 'SQL - FETCH header_cur'
148293 ,p_level => C_LEVEL_STATEMENT
148294 ,p_module => l_log_module);
148295 END IF;
148296 --
148297 LOOP
148298 FETCH header_cur BULK COLLECT INTO
148299 l_array_entity_id
148300 , l_array_legal_entity_id
148301 , l_array_entity_code
148302 , l_array_transaction_num
148303 , l_array_event_id
148304 , l_array_class_code
148305 , l_array_event_type
148306 , l_array_event_number
148307 , l_array_event_date
148308 , l_array_transaction_date
148309 , l_array_reference_num_1
148310 , l_array_reference_num_2
148311 , l_array_reference_num_3
148312 , l_array_reference_num_4
148313 , l_array_reference_char_1
148314 , l_array_reference_char_2
148315 , l_array_reference_char_3
148316 , l_array_reference_char_4
148317 , l_array_reference_date_1
148318 , l_array_reference_date_2
148319 , l_array_reference_date_3
148320 , l_array_reference_date_4
148321 , l_array_event_created_by
148322 , l_array_budgetary_control_flag
148323 , l_array_source_3
148324 , l_array_source_4
148325 , l_array_source_5
148326 , l_array_source_6
148327 , l_array_source_7
148328 , l_array_source_8
148329 , l_array_source_15
148330 , l_array_source_15_meaning
148331 , l_array_source_20
148332 , l_array_source_23
148333 , l_array_source_34
148334 , l_array_source_40
148335 , l_array_source_47
148336 , l_array_source_47_meaning
148337 , l_array_source_58
148338 , l_array_source_67
148339 , l_array_source_81
148340 , l_array_source_82
148341 , l_array_source_83
148342 , l_array_source_143
148343 , l_array_source_144
148344 , l_array_source_145
148345 , l_array_source_168
148346 LIMIT l_rows;
148347 --
148348 IF (C_LEVEL_EVENT >= g_log_level) THEN
148349 trace
148350 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
148351 ,p_level => C_LEVEL_EVENT
148352 ,p_module => l_log_module);
148353 END IF;
148354 --
148355 EXIT WHEN l_array_entity_id.COUNT = 0;
148356
148357 -- initialize arrays
148358 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
148359 XLA_AE_LINES_PKG.g_rec_lines := NULL;
148360
148361 --
148362 -- Bug 4458708
148363 --
148364 XLA_AE_LINES_PKG.g_LineNumber := 0;
148365
148366
148367 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
148368 g_last_hdr_idx := l_array_event_id.LAST;
148369 --
148370 -- loop for the headers. Each iteration is for each header extract row
148371 -- fetched in header cursor
148372 --
148373 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
148374
148375 --
148376 -- set event info as cache for other routines to refer event attributes
148377 --
148378 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
148379 (p_application_id => p_application_id
148380 ,p_primary_ledger_id => p_primary_ledger_id
148381 ,p_base_ledger_id => p_base_ledger_id
148382 ,p_target_ledger_id => p_target_ledger_id
148383 ,p_entity_id => l_array_entity_id(hdr_idx)
148384 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
148385 ,p_entity_code => l_array_entity_code(hdr_idx)
148386 ,p_transaction_num => l_array_transaction_num(hdr_idx)
148387 ,p_event_id => l_array_event_id(hdr_idx)
148388 ,p_event_class_code => l_array_class_code(hdr_idx)
148389 ,p_event_type_code => l_array_event_type(hdr_idx)
148390 ,p_event_number => l_array_event_number(hdr_idx)
148391 ,p_event_date => l_array_event_date(hdr_idx)
148392 ,p_transaction_date => l_array_transaction_date(hdr_idx)
148393 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
148394 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
148395 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
148396 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
148397 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
148398 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
148399 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
148400 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
148401 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
148402 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
148403 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
148404 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
148405 ,p_event_created_by => l_array_event_created_by(hdr_idx)
148406 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
148407
148408 --
148409 -- set the status of entry to C_VALID (0)
148410 --
148411 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
148412
148413 --
148414 -- initialize a row for ae header
148415 --
148416 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
148417
148418 l_event_id := l_array_event_id(hdr_idx);
148419
148420 --
148424
148421 -- storing the hdr_idx for event. May be used by line cursor.
148422 --
148423 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
148425 --
148426 -- store sources from header extract. This can be improved to
148427 -- store only those sources from header extract that may be used in lines
148428 --
148429
148430 g_array_event(l_event_id).array_value_char('source_3') := l_array_source_3(hdr_idx);
148431 g_array_event(l_event_id).array_value_date('source_4') := l_array_source_4(hdr_idx);
148432 g_array_event(l_event_id).array_value_char('source_5') := l_array_source_5(hdr_idx);
148433 g_array_event(l_event_id).array_value_char('source_6') := l_array_source_6(hdr_idx);
148434 g_array_event(l_event_id).array_value_num('source_7') := l_array_source_7(hdr_idx);
148435 g_array_event(l_event_id).array_value_char('source_8') := l_array_source_8(hdr_idx);
148436 g_array_event(l_event_id).array_value_char('source_15') := l_array_source_15(hdr_idx);
148437 g_array_event(l_event_id).array_value_char('source_15_meaning') := l_array_source_15_meaning(hdr_idx);
148438 g_array_event(l_event_id).array_value_num('source_20') := l_array_source_20(hdr_idx);
148439 g_array_event(l_event_id).array_value_num('source_23') := l_array_source_23(hdr_idx);
148440 g_array_event(l_event_id).array_value_num('source_34') := l_array_source_34(hdr_idx);
148441 g_array_event(l_event_id).array_value_num('source_40') := l_array_source_40(hdr_idx);
148442 g_array_event(l_event_id).array_value_char('source_47') := l_array_source_47(hdr_idx);
148443 g_array_event(l_event_id).array_value_char('source_47_meaning') := l_array_source_47_meaning(hdr_idx);
148444 g_array_event(l_event_id).array_value_num('source_58') := l_array_source_58(hdr_idx);
148445 g_array_event(l_event_id).array_value_char('source_67') := l_array_source_67(hdr_idx);
148446 g_array_event(l_event_id).array_value_num('source_81') := l_array_source_81(hdr_idx);
148447 g_array_event(l_event_id).array_value_num('source_82') := l_array_source_82(hdr_idx);
148448 g_array_event(l_event_id).array_value_char('source_83') := l_array_source_83(hdr_idx);
148449 g_array_event(l_event_id).array_value_date('source_143') := l_array_source_143(hdr_idx);
148450 g_array_event(l_event_id).array_value_num('source_144') := l_array_source_144(hdr_idx);
148451 g_array_event(l_event_id).array_value_char('source_145') := l_array_source_145(hdr_idx);
148452 g_array_event(l_event_id).array_value_num('source_168') := l_array_source_168(hdr_idx);
148453
148454 --
148455 -- initilaize the status of ae headers for diffrent balance types
148456 -- the status is initialised to C_NOT_CREATED (2)
148457 --
148458 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
148459 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
148460 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
148461
148462 --
148463 -- call api to validate and store accounting attributes for header
148464 --
148465
148466 ------------------------------------------------------------
148467 -- Accrual Reversal : to get date for Standard Source (NONE)
148468 ------------------------------------------------------------
148469 l_acc_rev_gl_date_source := NULL;
148470
148471 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
148472 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_5');
148473 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
148474 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_168');
148475 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
148476 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_7');
148477 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
148478 l_rec_acct_attrs.array_date_value(4) :=
148479 xla_ae_sources_pkg.GetSystemSourceDate(
148480 p_source_code => 'XLA_EVENT_DATE'
148481 , p_source_type_code => 'Y'
148482 , p_source_application_id => 602
148483 );
148484
148485
148486 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
148487
148488 XLA_AE_HEADER_PKG.SetJeCategoryName;
148489
148490 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
148491 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
148492 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
148493 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
148494 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
148495
148496
148497 --
148498 xla_ae_header_pkg.SetHdrDescription(
148499 p_description => Description_2 (
148500 p_application_id => p_application_id
148501 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
148502 , p_source_4 => g_array_event(l_event_id).array_value_date('source_4')
148503 , p_source_5 => g_array_event(l_event_id).array_value_char('source_5')
148504 , p_source_6 => g_array_event(l_event_id).array_value_char('source_6')
148505 , p_source_7 => g_array_event(l_event_id).array_value_num('source_7')
148506 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
148507 )
148508 );
148509 --
148510
148511 -- No header level analytical criteria
148512
148513 --
148514 --accounting attribute enhancement, bug 3612931
148515 --
148516 l_trx_reversal_source := SUBSTR(NULL, 1,30);
148517
148521 xla_accounting_err_pkg.build_message
148518 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
148519 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
148520
148522 (p_appli_s_name => 'XLA'
148523 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
148524 ,p_token_1 => 'ACCT_ATTR_NAME'
148525 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
148526 ,p_token_2 => 'PRODUCT_NAME'
148527 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
148528 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
148529 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
148530 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
148531
148532 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
148533 --
148534 -- following sets the accounting attributes needed to reverse
148535 -- accounting for a distributeion
148536 --
148537 xla_ae_lines_pkg.SetTrxReversalAttrs
148538 (p_event_id => l_event_id
148539 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
148540 ,p_trx_reversal_source => l_trx_reversal_source);
148541
148542 END IF;
148543
148544
148545 ----------------------------------------------------------------
148546 -- 4262811 - update the header statuses to invalid in need be
148547 ----------------------------------------------------------------
148548 --
148549 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
148550
148551
148552 -----------------------------------------------
148553 -- No accrual reversal for the event class/type
148554 -----------------------------------------------
148555 ----------------------------------------------------------------
148556
148557 --
148558 -- this ends the header loop iteration for one bulk fetch
148559 --
148560 END LOOP;
148561
148562 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
148563 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
148564
148565 --
148566 -- insert dummy rows into lines gt table that were created due to
148567 -- transaction reversals
148568 --
148569 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
148570 l_result := XLA_AE_LINES_PKG.InsertLines;
148571 END IF;
148572
148573 --
148574 -- reset the temp_line_num for each set of events fetched from header
148575 -- cursor rather than doing it for each new event in line cursor
148576 -- Bug 3939231
148577 --
148578 xla_ae_lines_pkg.g_temp_line_num := 0;
148579
148580
148581
148582 --
148583 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
148584 --
148585 --
148586 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
148587
148588 trace
148589 (p_msg => 'SQL - FETCH line_cur'
148590 ,p_level => C_LEVEL_STATEMENT
148591 ,p_module => l_log_module);
148592
148593 END IF;
148594 --
148595 --
148596 LOOP
148597 --
148598 FETCH line_cur BULK COLLECT INTO
148599 l_array_entity_id
148600 , l_array_legal_entity_id
148601 , l_array_entity_code
148602 , l_array_transaction_num
148603 , l_array_event_id
148604 , l_array_class_code
148605 , l_array_event_type
148606 , l_array_event_number
148607 , l_array_event_date
148608 , l_array_transaction_date
148609 , l_array_reference_num_1
148610 , l_array_reference_num_2
148611 , l_array_reference_num_3
148612 , l_array_reference_num_4
148613 , l_array_reference_char_1
148614 , l_array_reference_char_2
148615 , l_array_reference_char_3
148616 , l_array_reference_char_4
148617 , l_array_reference_date_1
148618 , l_array_reference_date_2
148619 , l_array_reference_date_3
148620 , l_array_reference_date_4
148621 , l_array_event_created_by
148622 , l_array_budgetary_control_flag
148623 , l_array_extract_line_num
148624 , l_array_source_1
148625 , l_array_source_21
148626 , l_array_source_22
148627 , l_array_source_22_meaning
148628 , l_array_source_30
148629 , l_array_source_33
148630 , l_array_source_33_meaning
148631 , l_array_source_42
148632 , l_array_source_43
148633 , l_array_source_50
148634 , l_array_source_51
148635 , l_array_source_53
148636 , l_array_source_55
148637 , l_array_source_57
148638 , l_array_source_59
148639 , l_array_source_60
148640 , l_array_source_61
148641 , l_array_source_62
148642 , l_array_source_63
148643 , l_array_source_64
148644 , l_array_source_65
148645 , l_array_source_66
148646 , l_array_source_68
148647 , l_array_source_69
148648 , l_array_source_70
148649 , l_array_source_71
148650 , l_array_source_72
148651 , l_array_source_73
148652 , l_array_source_74
148653 , l_array_source_75
148654 , l_array_source_76
148655 , l_array_source_77
148656 , l_array_source_78
148657 , l_array_source_79
148658 , l_array_source_80
148659 , l_array_source_80_meaning
148660 , l_array_source_84
148664 , l_array_source_89
148661 , l_array_source_86
148662 , l_array_source_87
148663 , l_array_source_88
148665 , l_array_source_90
148666 , l_array_source_91
148667 , l_array_source_92
148668 , l_array_source_93
148669 , l_array_source_94
148670 , l_array_source_95
148671 , l_array_source_96
148672 , l_array_source_96_meaning
148673 , l_array_source_142
148674 , l_array_source_142_meaning
148675 LIMIT l_rows;
148676
148677 --
148678 IF (C_LEVEL_EVENT >= g_log_level) THEN
148679 trace
148680 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
148681 ,p_level => C_LEVEL_EVENT
148682 ,p_module => l_log_module);
148683 END IF;
148684 --
148685 EXIT WHEN l_array_entity_id.count = 0;
148686
148687 XLA_AE_LINES_PKG.g_rec_lines := null;
148688
148689 --
148690 -- Bug 4458708
148691 --
148692 XLA_AE_LINES_PKG.g_LineNumber := 0;
148693 --
148694 --
148695
148696 FOR Idx IN 1..l_array_event_id.count LOOP
148697 --
148698 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
148699 --
148700 l_event_id := l_array_event_id(idx); -- 5648433
148701
148702 --
148703 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
148704 --
148705
148706 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
148707 (g_array_event(l_event_id).array_value_num('header_index'))
148708 ,'N'
148709 ) <> 'Y'
148710 THEN
148711 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
148712 trace
148713 (p_msg => 'Trancaction revesal option is not Y '
148714 ,p_level => C_LEVEL_STATEMENT
148715 ,p_module => l_log_module);
148716 END IF;
148717
148718 --
148719 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
148720 --
148721 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
148722 --
148723 -- set event info as cache for other routines to refer event attributes
148724 --
148725
148726 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
148727 l_previous_event_id := l_event_id;
148728
148729 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
148730 (p_application_id => p_application_id
148731 ,p_primary_ledger_id => p_primary_ledger_id
148732 ,p_base_ledger_id => p_base_ledger_id
148733 ,p_target_ledger_id => p_target_ledger_id
148734 ,p_entity_id => l_array_entity_id(Idx)
148735 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
148736 ,p_entity_code => l_array_entity_code(Idx)
148737 ,p_transaction_num => l_array_transaction_num(Idx)
148738 ,p_event_id => l_array_event_id(Idx)
148739 ,p_event_class_code => l_array_class_code(Idx)
148740 ,p_event_type_code => l_array_event_type(Idx)
148741 ,p_event_number => l_array_event_number(Idx)
148742 ,p_event_date => l_array_event_date(Idx)
148743 ,p_transaction_date => l_array_transaction_date(Idx)
148744 ,p_reference_num_1 => l_array_reference_num_1(Idx)
148745 ,p_reference_num_2 => l_array_reference_num_2(Idx)
148746 ,p_reference_num_3 => l_array_reference_num_3(Idx)
148747 ,p_reference_num_4 => l_array_reference_num_4(Idx)
148748 ,p_reference_char_1 => l_array_reference_char_1(Idx)
148749 ,p_reference_char_2 => l_array_reference_char_2(Idx)
148750 ,p_reference_char_3 => l_array_reference_char_3(Idx)
148751 ,p_reference_char_4 => l_array_reference_char_4(Idx)
148752 ,p_reference_date_1 => l_array_reference_date_1(Idx)
148753 ,p_reference_date_2 => l_array_reference_date_2(Idx)
148754 ,p_reference_date_3 => l_array_reference_date_3(Idx)
148755 ,p_reference_date_4 => l_array_reference_date_4(Idx)
148756 ,p_event_created_by => l_array_event_created_by(Idx)
148757 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
148758 --
148759 END IF;
148760
148761
148762
148763 --
148764 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
148765
148766 l_acct_reversal_source := SUBSTR(l_array_source_53(Idx), 1,30);
148767
148768 IF l_continue_with_lines THEN
148769 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
148770 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
148771
148772 xla_accounting_err_pkg.build_message
148773 (p_appli_s_name => 'XLA'
148774 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
148775 ,p_token_1 => 'LINE_NUMBER'
148776 ,p_value_1 => l_array_extract_line_num(Idx)
148777 ,p_token_2 => 'PRODUCT_NAME'
148778 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
148779 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
148780 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
148781 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
148782
148786 -- accounting for a distributeion
148783 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
148784 --
148785 -- following sets the accounting attributes needed to reverse
148787 --
148788
148789 --
148790 -- 5217187
148791 --
148792 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
148793 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
148794 g_array_event(l_event_id).array_value_num('header_index'));
148795 --
148796 --
148797
148798 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
148799 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_53(Idx);
148800 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
148801 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_64(Idx);
148802 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
148803 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_55(Idx);
148804 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'ENC_UPG_CR_CCID';
148805 l_rec_rev_acct_attrs.array_num_value(5) := l_array_source_65(Idx);
148806 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_ENTERED_AMT';
148807 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_66(Idx);
148808 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_ENTERED_CURR';
148809 l_rec_rev_acct_attrs.array_char_value(7) := g_array_event(l_event_id).array_value_char('source_67');
148810 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_LEDGER_AMT';
148811 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_68(Idx);
148812 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_DR_CCID';
148813 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_69(Idx);
148814 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_DR_ENTERED_AMT';
148815 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_70(Idx);
148816 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_ENTERED_CURR';
148817 l_rec_rev_acct_attrs.array_char_value(11) := g_array_event(l_event_id).array_value_char('source_67');
148818 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_LEDGER_AMT';
148819 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_71(Idx);
148820 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_OPTION';
148821 l_rec_rev_acct_attrs.array_char_value(13) := l_array_source_72(Idx);
148822 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
148823 l_rec_rev_acct_attrs.array_char_value(14) := g_array_event(l_event_id).array_value_char('source_83');
148824 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
148825 l_rec_rev_acct_attrs.array_num_value(15) := l_array_source_84(Idx);
148826 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
148827 l_rec_rev_acct_attrs.array_char_value(16) := l_array_source_55(Idx);
148828 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
148829 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_86(Idx);
148830 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
148831 l_rec_rev_acct_attrs.array_num_value(18) := l_array_source_87(Idx);
148832 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
148833 l_rec_rev_acct_attrs.array_num_value(19) := l_array_source_88(Idx);
148834 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'UPG_CR_ENC_TYPE_ID';
148835 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_89(Idx);
148836 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
148837 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_90(Idx);
148838
148839
148840 xla_ae_lines_pkg.SetAcctReversalAttrs
148841 (p_event_id => l_event_id
148842 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
148843 ,p_calculate_acctd_flag => l_calculate_acctd_flag
148844 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
148845 END IF;
148846
148847 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
148848 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
148849
148850 --
148851 AcctLineType_48 (
148852 p_application_id => p_application_id
148853 ,p_event_id => l_event_id
148854 ,p_calculate_acctd_flag => l_calculate_acctd_flag
148855 ,p_calculate_g_l_flag => l_calculate_g_l_flag
148856 ,p_actual_flag => l_actual_flag
148857 ,p_balance_type_code => l_balance_type_code
148858 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
148859
148860 , p_source_1 => l_array_source_1(Idx)
148861 , p_source_21 => l_array_source_21(Idx)
148862 , p_source_30 => l_array_source_30(Idx)
148863 , p_source_33 => l_array_source_33(Idx)
148864 , p_source_33_meaning => l_array_source_33_meaning(Idx)
148865 , p_source_53 => l_array_source_53(Idx)
148866 , p_source_55 => l_array_source_55(Idx)
148867 , p_source_57 => l_array_source_57(Idx)
148868 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
148869 , p_source_59 => l_array_source_59(Idx)
148870 , p_source_60 => l_array_source_60(Idx)
148871 , p_source_61 => l_array_source_61(Idx)
148872 , p_source_62 => l_array_source_62(Idx)
148873 , p_source_63 => l_array_source_63(Idx)
148874 , p_source_64 => l_array_source_64(Idx)
148875 , p_source_65 => l_array_source_65(Idx)
148876 , p_source_66 => l_array_source_66(Idx)
148880 , p_source_70 => l_array_source_70(Idx)
148877 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
148878 , p_source_68 => l_array_source_68(Idx)
148879 , p_source_69 => l_array_source_69(Idx)
148881 , p_source_71 => l_array_source_71(Idx)
148882 , p_source_72 => l_array_source_72(Idx)
148883 , p_source_73 => l_array_source_73(Idx)
148884 , p_source_74 => l_array_source_74(Idx)
148885 , p_source_75 => l_array_source_75(Idx)
148886 , p_source_76 => l_array_source_76(Idx)
148887 , p_source_77 => l_array_source_77(Idx)
148888 , p_source_78 => l_array_source_78(Idx)
148889 , p_source_79 => l_array_source_79(Idx)
148890 , p_source_80 => l_array_source_80(Idx)
148891 , p_source_80_meaning => l_array_source_80_meaning(Idx)
148892 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
148893 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
148894 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
148895 , p_source_84 => l_array_source_84(Idx)
148896 , p_source_86 => l_array_source_86(Idx)
148897 , p_source_87 => l_array_source_87(Idx)
148898 , p_source_88 => l_array_source_88(Idx)
148899 , p_source_89 => l_array_source_89(Idx)
148900 , p_source_90 => l_array_source_90(Idx)
148901 );
148902 If(l_balance_type_code = 'A') THEN
148903 l_actual_gain_loss_ref := l_gain_or_loss_ref;
148904 END IF;
148905
148906 --
148907
148908
148909 --
148910 AcctLineType_52 (
148911 p_application_id => p_application_id
148912 ,p_event_id => l_event_id
148913 ,p_calculate_acctd_flag => l_calculate_acctd_flag
148914 ,p_calculate_g_l_flag => l_calculate_g_l_flag
148915 ,p_actual_flag => l_actual_flag
148916 ,p_balance_type_code => l_balance_type_code
148917 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
148918
148919 , p_source_1 => l_array_source_1(Idx)
148920 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
148921 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
148922 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
148923 , p_source_21 => l_array_source_21(Idx)
148924 , p_source_22 => l_array_source_22(Idx)
148925 , p_source_22_meaning => l_array_source_22_meaning(Idx)
148926 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
148927 , p_source_30 => l_array_source_30(Idx)
148928 , p_source_33 => l_array_source_33(Idx)
148929 , p_source_33_meaning => l_array_source_33_meaning(Idx)
148930 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
148931 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
148932 , p_source_53 => l_array_source_53(Idx)
148933 , p_source_55 => l_array_source_55(Idx)
148934 , p_source_57 => l_array_source_57(Idx)
148935 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
148936 , p_source_64 => l_array_source_64(Idx)
148937 , p_source_65 => l_array_source_65(Idx)
148938 , p_source_66 => l_array_source_66(Idx)
148939 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
148940 , p_source_68 => l_array_source_68(Idx)
148941 , p_source_69 => l_array_source_69(Idx)
148942 , p_source_70 => l_array_source_70(Idx)
148943 , p_source_71 => l_array_source_71(Idx)
148944 , p_source_72 => l_array_source_72(Idx)
148945 , p_source_77 => l_array_source_77(Idx)
148946 , p_source_78 => l_array_source_78(Idx)
148947 , p_source_79 => l_array_source_79(Idx)
148948 , p_source_80 => l_array_source_80(Idx)
148949 , p_source_80_meaning => l_array_source_80_meaning(Idx)
148950 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
148951 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
148952 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
148953 , p_source_84 => l_array_source_84(Idx)
148954 , p_source_86 => l_array_source_86(Idx)
148955 , p_source_87 => l_array_source_87(Idx)
148956 , p_source_88 => l_array_source_88(Idx)
148957 , p_source_89 => l_array_source_89(Idx)
148958 , p_source_90 => l_array_source_90(Idx)
148959 , p_source_91 => l_array_source_91(Idx)
148960 , p_source_92 => l_array_source_92(Idx)
148961 , p_source_93 => l_array_source_93(Idx)
148962 , p_source_94 => l_array_source_94(Idx)
148963 , p_source_95 => l_array_source_95(Idx)
148964 );
148965 If(l_balance_type_code = 'A') THEN
148966 l_actual_gain_loss_ref := l_gain_or_loss_ref;
148967 END IF;
148968
148969 --
148970
148971
148972 --
148973 AcctLineType_56 (
148974 p_application_id => p_application_id
148975 ,p_event_id => l_event_id
148976 ,p_calculate_acctd_flag => l_calculate_acctd_flag
148977 ,p_calculate_g_l_flag => l_calculate_g_l_flag
148978 ,p_actual_flag => l_actual_flag
148979 ,p_balance_type_code => l_balance_type_code
148980 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
148981
148982 , p_source_1 => l_array_source_1(Idx)
148983 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
148984 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
148985 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
148986 , p_source_21 => l_array_source_21(Idx)
148987 , p_source_22 => l_array_source_22(Idx)
148988 , p_source_22_meaning => l_array_source_22_meaning(Idx)
148989 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
148990 , p_source_30 => l_array_source_30(Idx)
148991 , p_source_33 => l_array_source_33(Idx)
148992 , p_source_33_meaning => l_array_source_33_meaning(Idx)
148996 , p_source_55 => l_array_source_55(Idx)
148993 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
148994 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
148995 , p_source_53 => l_array_source_53(Idx)
148997 , p_source_57 => l_array_source_57(Idx)
148998 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
148999 , p_source_64 => l_array_source_64(Idx)
149000 , p_source_65 => l_array_source_65(Idx)
149001 , p_source_66 => l_array_source_66(Idx)
149002 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
149003 , p_source_68 => l_array_source_68(Idx)
149004 , p_source_69 => l_array_source_69(Idx)
149005 , p_source_70 => l_array_source_70(Idx)
149006 , p_source_71 => l_array_source_71(Idx)
149007 , p_source_72 => l_array_source_72(Idx)
149008 , p_source_77 => l_array_source_77(Idx)
149009 , p_source_78 => l_array_source_78(Idx)
149010 , p_source_79 => l_array_source_79(Idx)
149011 , p_source_80 => l_array_source_80(Idx)
149012 , p_source_80_meaning => l_array_source_80_meaning(Idx)
149013 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149014 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
149015 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
149016 , p_source_84 => l_array_source_84(Idx)
149017 , p_source_86 => l_array_source_86(Idx)
149018 , p_source_87 => l_array_source_87(Idx)
149019 , p_source_88 => l_array_source_88(Idx)
149020 , p_source_89 => l_array_source_89(Idx)
149021 , p_source_90 => l_array_source_90(Idx)
149022 , p_source_91 => l_array_source_91(Idx)
149023 , p_source_92 => l_array_source_92(Idx)
149024 , p_source_93 => l_array_source_93(Idx)
149025 , p_source_94 => l_array_source_94(Idx)
149026 , p_source_95 => l_array_source_95(Idx)
149027 , p_source_96 => l_array_source_96(Idx)
149028 , p_source_96_meaning => l_array_source_96_meaning(Idx)
149029 );
149030 If(l_balance_type_code = 'A') THEN
149031 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149032 END IF;
149033
149034 --
149035
149036
149037 --
149038 AcctLineType_108 (
149039 p_application_id => p_application_id
149040 ,p_event_id => l_event_id
149041 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149042 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149043 ,p_actual_flag => l_actual_flag
149044 ,p_balance_type_code => l_balance_type_code
149045 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149046
149047 , p_source_1 => l_array_source_1(Idx)
149048 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
149049 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
149050 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
149051 , p_source_21 => l_array_source_21(Idx)
149052 , p_source_22 => l_array_source_22(Idx)
149053 , p_source_22_meaning => l_array_source_22_meaning(Idx)
149054 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
149055 , p_source_30 => l_array_source_30(Idx)
149056 , p_source_33 => l_array_source_33(Idx)
149057 , p_source_33_meaning => l_array_source_33_meaning(Idx)
149058 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
149059 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
149060 , p_source_53 => l_array_source_53(Idx)
149061 , p_source_55 => l_array_source_55(Idx)
149062 , p_source_57 => l_array_source_57(Idx)
149063 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
149064 , p_source_64 => l_array_source_64(Idx)
149065 , p_source_65 => l_array_source_65(Idx)
149066 , p_source_66 => l_array_source_66(Idx)
149067 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
149068 , p_source_68 => l_array_source_68(Idx)
149069 , p_source_69 => l_array_source_69(Idx)
149070 , p_source_70 => l_array_source_70(Idx)
149071 , p_source_71 => l_array_source_71(Idx)
149072 , p_source_72 => l_array_source_72(Idx)
149073 , p_source_73 => l_array_source_73(Idx)
149074 , p_source_77 => l_array_source_77(Idx)
149075 , p_source_78 => l_array_source_78(Idx)
149076 , p_source_79 => l_array_source_79(Idx)
149077 , p_source_80 => l_array_source_80(Idx)
149078 , p_source_80_meaning => l_array_source_80_meaning(Idx)
149079 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149080 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
149081 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
149082 , p_source_84 => l_array_source_84(Idx)
149083 , p_source_86 => l_array_source_86(Idx)
149084 , p_source_87 => l_array_source_87(Idx)
149085 , p_source_88 => l_array_source_88(Idx)
149086 , p_source_89 => l_array_source_89(Idx)
149087 , p_source_90 => l_array_source_90(Idx)
149088 , p_source_91 => l_array_source_91(Idx)
149089 , p_source_92 => l_array_source_92(Idx)
149090 , p_source_93 => l_array_source_93(Idx)
149091 , p_source_94 => l_array_source_94(Idx)
149092 , p_source_95 => l_array_source_95(Idx)
149093 , p_source_96 => l_array_source_96(Idx)
149094 , p_source_96_meaning => l_array_source_96_meaning(Idx)
149095 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
149096 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
149097 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
149098 );
149099 If(l_balance_type_code = 'A') THEN
149100 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149101 END IF;
149102
149103 --
149104
149105
149106 --
149107 AcctLineType_117 (
149111 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149108 p_application_id => p_application_id
149109 ,p_event_id => l_event_id
149110 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149112 ,p_actual_flag => l_actual_flag
149113 ,p_balance_type_code => l_balance_type_code
149114 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149115
149116 , p_source_1 => l_array_source_1(Idx)
149117 , p_source_21 => l_array_source_21(Idx)
149118 , p_source_30 => l_array_source_30(Idx)
149119 , p_source_33 => l_array_source_33(Idx)
149120 , p_source_33_meaning => l_array_source_33_meaning(Idx)
149121 , p_source_53 => l_array_source_53(Idx)
149122 , p_source_55 => l_array_source_55(Idx)
149123 , p_source_57 => l_array_source_57(Idx)
149124 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
149125 , p_source_64 => l_array_source_64(Idx)
149126 , p_source_65 => l_array_source_65(Idx)
149127 , p_source_66 => l_array_source_66(Idx)
149128 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
149129 , p_source_68 => l_array_source_68(Idx)
149130 , p_source_69 => l_array_source_69(Idx)
149131 , p_source_70 => l_array_source_70(Idx)
149132 , p_source_71 => l_array_source_71(Idx)
149133 , p_source_72 => l_array_source_72(Idx)
149134 , p_source_73 => l_array_source_73(Idx)
149135 , p_source_77 => l_array_source_77(Idx)
149136 , p_source_78 => l_array_source_78(Idx)
149137 , p_source_79 => l_array_source_79(Idx)
149138 , p_source_80 => l_array_source_80(Idx)
149139 , p_source_80_meaning => l_array_source_80_meaning(Idx)
149140 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149141 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
149142 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
149143 , p_source_84 => l_array_source_84(Idx)
149144 , p_source_86 => l_array_source_86(Idx)
149145 , p_source_87 => l_array_source_87(Idx)
149146 , p_source_88 => l_array_source_88(Idx)
149147 , p_source_89 => l_array_source_89(Idx)
149148 , p_source_90 => l_array_source_90(Idx)
149149 , p_source_91 => l_array_source_91(Idx)
149150 , p_source_92 => l_array_source_92(Idx)
149151 , p_source_93 => l_array_source_93(Idx)
149152 , p_source_94 => l_array_source_94(Idx)
149153 , p_source_95 => l_array_source_95(Idx)
149154 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
149155 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
149156 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
149157 );
149158 If(l_balance_type_code = 'A') THEN
149159 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149160 END IF;
149161
149162 --
149163
149164
149165 --
149166 AcctLineType_139 (
149167 p_application_id => p_application_id
149168 ,p_event_id => l_event_id
149169 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149170 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149171 ,p_actual_flag => l_actual_flag
149172 ,p_balance_type_code => l_balance_type_code
149173 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149174
149175 , p_source_1 => l_array_source_1(Idx)
149176 , p_source_21 => l_array_source_21(Idx)
149177 , p_source_30 => l_array_source_30(Idx)
149178 , p_source_33 => l_array_source_33(Idx)
149179 , p_source_33_meaning => l_array_source_33_meaning(Idx)
149180 , p_source_53 => l_array_source_53(Idx)
149181 , p_source_55 => l_array_source_55(Idx)
149182 , p_source_57 => l_array_source_57(Idx)
149183 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
149184 , p_source_64 => l_array_source_64(Idx)
149185 , p_source_65 => l_array_source_65(Idx)
149186 , p_source_66 => l_array_source_66(Idx)
149187 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
149188 , p_source_68 => l_array_source_68(Idx)
149189 , p_source_69 => l_array_source_69(Idx)
149190 , p_source_70 => l_array_source_70(Idx)
149191 , p_source_71 => l_array_source_71(Idx)
149192 , p_source_72 => l_array_source_72(Idx)
149193 , p_source_73 => l_array_source_73(Idx)
149194 , p_source_77 => l_array_source_77(Idx)
149195 , p_source_78 => l_array_source_78(Idx)
149196 , p_source_79 => l_array_source_79(Idx)
149197 , p_source_80 => l_array_source_80(Idx)
149198 , p_source_80_meaning => l_array_source_80_meaning(Idx)
149199 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149200 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
149201 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
149202 , p_source_84 => l_array_source_84(Idx)
149203 , p_source_86 => l_array_source_86(Idx)
149204 , p_source_87 => l_array_source_87(Idx)
149205 , p_source_88 => l_array_source_88(Idx)
149206 , p_source_89 => l_array_source_89(Idx)
149207 , p_source_90 => l_array_source_90(Idx)
149208 , p_source_91 => l_array_source_91(Idx)
149209 , p_source_92 => l_array_source_92(Idx)
149210 , p_source_93 => l_array_source_93(Idx)
149211 , p_source_94 => l_array_source_94(Idx)
149212 , p_source_95 => l_array_source_95(Idx)
149213 , p_source_96 => l_array_source_96(Idx)
149214 , p_source_96_meaning => l_array_source_96_meaning(Idx)
149215 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
149216 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
149217 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
149218 );
149219 If(l_balance_type_code = 'A') THEN
149220 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149221 END IF;
149222
149223 --
149224
149228 p_application_id => p_application_id
149225
149226 --
149227 AcctLineType_143 (
149229 ,p_event_id => l_event_id
149230 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149231 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149232 ,p_actual_flag => l_actual_flag
149233 ,p_balance_type_code => l_balance_type_code
149234 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149235
149236 , p_source_1 => l_array_source_1(Idx)
149237 , p_source_21 => l_array_source_21(Idx)
149238 , p_source_30 => l_array_source_30(Idx)
149239 , p_source_33 => l_array_source_33(Idx)
149240 , p_source_33_meaning => l_array_source_33_meaning(Idx)
149241 , p_source_53 => l_array_source_53(Idx)
149242 , p_source_55 => l_array_source_55(Idx)
149243 , p_source_57 => l_array_source_57(Idx)
149244 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
149245 , p_source_64 => l_array_source_64(Idx)
149246 , p_source_65 => l_array_source_65(Idx)
149247 , p_source_66 => l_array_source_66(Idx)
149248 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
149249 , p_source_68 => l_array_source_68(Idx)
149250 , p_source_69 => l_array_source_69(Idx)
149251 , p_source_70 => l_array_source_70(Idx)
149252 , p_source_71 => l_array_source_71(Idx)
149253 , p_source_72 => l_array_source_72(Idx)
149254 , p_source_73 => l_array_source_73(Idx)
149255 , p_source_77 => l_array_source_77(Idx)
149256 , p_source_78 => l_array_source_78(Idx)
149257 , p_source_79 => l_array_source_79(Idx)
149258 , p_source_80 => l_array_source_80(Idx)
149259 , p_source_80_meaning => l_array_source_80_meaning(Idx)
149260 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149261 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
149262 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
149263 , p_source_84 => l_array_source_84(Idx)
149264 , p_source_86 => l_array_source_86(Idx)
149265 , p_source_87 => l_array_source_87(Idx)
149266 , p_source_88 => l_array_source_88(Idx)
149267 , p_source_89 => l_array_source_89(Idx)
149268 , p_source_90 => l_array_source_90(Idx)
149269 , p_source_91 => l_array_source_91(Idx)
149270 , p_source_92 => l_array_source_92(Idx)
149271 , p_source_93 => l_array_source_93(Idx)
149272 , p_source_94 => l_array_source_94(Idx)
149273 , p_source_95 => l_array_source_95(Idx)
149274 , p_source_96 => l_array_source_96(Idx)
149275 , p_source_96_meaning => l_array_source_96_meaning(Idx)
149276 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
149277 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
149278 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
149279 );
149280 If(l_balance_type_code = 'A') THEN
149281 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149282 END IF;
149283
149284 --
149285
149286
149287 --
149288 AcctLineType_151 (
149289 p_application_id => p_application_id
149290 ,p_event_id => l_event_id
149291 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149292 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149293 ,p_actual_flag => l_actual_flag
149294 ,p_balance_type_code => l_balance_type_code
149295 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149296
149297 , p_source_1 => l_array_source_1(Idx)
149298 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
149299 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
149300 , p_source_21 => l_array_source_21(Idx)
149301 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
149302 , p_source_53 => l_array_source_53(Idx)
149303 , p_source_55 => l_array_source_55(Idx)
149304 , p_source_57 => l_array_source_57(Idx)
149305 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
149306 , p_source_64 => l_array_source_64(Idx)
149307 , p_source_65 => l_array_source_65(Idx)
149308 , p_source_66 => l_array_source_66(Idx)
149309 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
149310 , p_source_68 => l_array_source_68(Idx)
149311 , p_source_69 => l_array_source_69(Idx)
149312 , p_source_70 => l_array_source_70(Idx)
149313 , p_source_71 => l_array_source_71(Idx)
149314 , p_source_72 => l_array_source_72(Idx)
149315 , p_source_73 => l_array_source_73(Idx)
149316 , p_source_77 => l_array_source_77(Idx)
149317 , p_source_78 => l_array_source_78(Idx)
149318 , p_source_79 => l_array_source_79(Idx)
149319 , p_source_80 => l_array_source_80(Idx)
149320 , p_source_80_meaning => l_array_source_80_meaning(Idx)
149321 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149322 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
149323 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
149324 , p_source_84 => l_array_source_84(Idx)
149325 , p_source_86 => l_array_source_86(Idx)
149326 , p_source_87 => l_array_source_87(Idx)
149327 , p_source_88 => l_array_source_88(Idx)
149328 , p_source_89 => l_array_source_89(Idx)
149329 , p_source_90 => l_array_source_90(Idx)
149330 , p_source_91 => l_array_source_91(Idx)
149331 , p_source_92 => l_array_source_92(Idx)
149332 , p_source_93 => l_array_source_93(Idx)
149333 , p_source_94 => l_array_source_94(Idx)
149334 , p_source_95 => l_array_source_95(Idx)
149335 , p_source_142 => l_array_source_142(Idx)
149336 , p_source_142_meaning => l_array_source_142_meaning(Idx)
149337 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
149338 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
149342 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149339 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
149340 );
149341 If(l_balance_type_code = 'A') THEN
149343 END IF;
149344
149345 --
149346
149347
149348 --
149349 AcctLineType_152 (
149350 p_application_id => p_application_id
149351 ,p_event_id => l_event_id
149352 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149353 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149354 ,p_actual_flag => l_actual_flag
149355 ,p_balance_type_code => l_balance_type_code
149356 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149357
149358 , p_source_1 => l_array_source_1(Idx)
149359 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
149360 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
149361 , p_source_21 => l_array_source_21(Idx)
149362 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
149363 , p_source_53 => l_array_source_53(Idx)
149364 , p_source_55 => l_array_source_55(Idx)
149365 , p_source_57 => l_array_source_57(Idx)
149366 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
149367 , p_source_64 => l_array_source_64(Idx)
149368 , p_source_65 => l_array_source_65(Idx)
149369 , p_source_66 => l_array_source_66(Idx)
149370 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
149371 , p_source_68 => l_array_source_68(Idx)
149372 , p_source_69 => l_array_source_69(Idx)
149373 , p_source_70 => l_array_source_70(Idx)
149374 , p_source_71 => l_array_source_71(Idx)
149375 , p_source_72 => l_array_source_72(Idx)
149376 , p_source_73 => l_array_source_73(Idx)
149377 , p_source_77 => l_array_source_77(Idx)
149378 , p_source_78 => l_array_source_78(Idx)
149379 , p_source_79 => l_array_source_79(Idx)
149380 , p_source_80 => l_array_source_80(Idx)
149381 , p_source_80_meaning => l_array_source_80_meaning(Idx)
149382 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149383 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
149384 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
149385 , p_source_84 => l_array_source_84(Idx)
149386 , p_source_86 => l_array_source_86(Idx)
149387 , p_source_87 => l_array_source_87(Idx)
149388 , p_source_88 => l_array_source_88(Idx)
149389 , p_source_89 => l_array_source_89(Idx)
149390 , p_source_90 => l_array_source_90(Idx)
149391 , p_source_91 => l_array_source_91(Idx)
149392 , p_source_92 => l_array_source_92(Idx)
149393 , p_source_93 => l_array_source_93(Idx)
149394 , p_source_94 => l_array_source_94(Idx)
149395 , p_source_95 => l_array_source_95(Idx)
149396 , p_source_142 => l_array_source_142(Idx)
149397 , p_source_142_meaning => l_array_source_142_meaning(Idx)
149398 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
149399 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
149400 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
149401 );
149402 If(l_balance_type_code = 'A') THEN
149403 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149404 END IF;
149405
149406 --
149407
149408
149409 --
149410 AcctLineType_153 (
149411 p_application_id => p_application_id
149412 ,p_event_id => l_event_id
149413 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149414 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149415 ,p_actual_flag => l_actual_flag
149416 ,p_balance_type_code => l_balance_type_code
149417 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149418
149419 , p_source_1 => l_array_source_1(Idx)
149420 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
149421 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
149422 , p_source_21 => l_array_source_21(Idx)
149423 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
149424 , p_source_53 => l_array_source_53(Idx)
149425 , p_source_55 => l_array_source_55(Idx)
149426 , p_source_57 => l_array_source_57(Idx)
149427 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
149428 , p_source_64 => l_array_source_64(Idx)
149429 , p_source_65 => l_array_source_65(Idx)
149430 , p_source_66 => l_array_source_66(Idx)
149431 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
149432 , p_source_68 => l_array_source_68(Idx)
149433 , p_source_69 => l_array_source_69(Idx)
149434 , p_source_70 => l_array_source_70(Idx)
149435 , p_source_71 => l_array_source_71(Idx)
149436 , p_source_72 => l_array_source_72(Idx)
149437 , p_source_73 => l_array_source_73(Idx)
149438 , p_source_77 => l_array_source_77(Idx)
149439 , p_source_78 => l_array_source_78(Idx)
149440 , p_source_79 => l_array_source_79(Idx)
149441 , p_source_80 => l_array_source_80(Idx)
149442 , p_source_80_meaning => l_array_source_80_meaning(Idx)
149443 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149444 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
149445 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
149446 , p_source_84 => l_array_source_84(Idx)
149447 , p_source_86 => l_array_source_86(Idx)
149448 , p_source_87 => l_array_source_87(Idx)
149449 , p_source_88 => l_array_source_88(Idx)
149450 , p_source_89 => l_array_source_89(Idx)
149451 , p_source_90 => l_array_source_90(Idx)
149452 , p_source_91 => l_array_source_91(Idx)
149453 , p_source_92 => l_array_source_92(Idx)
149454 , p_source_93 => l_array_source_93(Idx)
149455 , p_source_94 => l_array_source_94(Idx)
149459 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
149456 , p_source_95 => l_array_source_95(Idx)
149457 , p_source_142 => l_array_source_142(Idx)
149458 , p_source_142_meaning => l_array_source_142_meaning(Idx)
149460 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
149461 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
149462 );
149463 If(l_balance_type_code = 'A') THEN
149464 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149465 END IF;
149466
149467 --
149468
149469
149470 --
149471 AcctLineType_172 (
149472 p_application_id => p_application_id
149473 ,p_event_id => l_event_id
149474 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149475 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149476 ,p_actual_flag => l_actual_flag
149477 ,p_balance_type_code => l_balance_type_code
149478 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149479
149480 , p_source_1 => l_array_source_1(Idx)
149481 , p_source_21 => l_array_source_21(Idx)
149482 , p_source_30 => l_array_source_30(Idx)
149483 , p_source_33 => l_array_source_33(Idx)
149484 , p_source_33_meaning => l_array_source_33_meaning(Idx)
149485 , p_source_53 => l_array_source_53(Idx)
149486 , p_source_55 => l_array_source_55(Idx)
149487 , p_source_57 => l_array_source_57(Idx)
149488 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
149489 , p_source_64 => l_array_source_64(Idx)
149490 , p_source_65 => l_array_source_65(Idx)
149491 , p_source_66 => l_array_source_66(Idx)
149492 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
149493 , p_source_68 => l_array_source_68(Idx)
149494 , p_source_69 => l_array_source_69(Idx)
149495 , p_source_70 => l_array_source_70(Idx)
149496 , p_source_71 => l_array_source_71(Idx)
149497 , p_source_72 => l_array_source_72(Idx)
149498 , p_source_73 => l_array_source_73(Idx)
149499 , p_source_77 => l_array_source_77(Idx)
149500 , p_source_78 => l_array_source_78(Idx)
149501 , p_source_79 => l_array_source_79(Idx)
149502 , p_source_80 => l_array_source_80(Idx)
149503 , p_source_80_meaning => l_array_source_80_meaning(Idx)
149504 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149505 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
149506 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
149507 , p_source_84 => l_array_source_84(Idx)
149508 , p_source_86 => l_array_source_86(Idx)
149509 , p_source_87 => l_array_source_87(Idx)
149510 , p_source_88 => l_array_source_88(Idx)
149511 , p_source_89 => l_array_source_89(Idx)
149512 , p_source_90 => l_array_source_90(Idx)
149513 , p_source_91 => l_array_source_91(Idx)
149514 , p_source_92 => l_array_source_92(Idx)
149515 , p_source_93 => l_array_source_93(Idx)
149516 , p_source_94 => l_array_source_94(Idx)
149517 , p_source_95 => l_array_source_95(Idx)
149518 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
149519 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
149520 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
149521 );
149522 If(l_balance_type_code = 'A') THEN
149523 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149524 END IF;
149525
149526 --
149527
149528
149529 --
149530 AcctLineType_176 (
149531 p_application_id => p_application_id
149532 ,p_event_id => l_event_id
149533 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149534 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149535 ,p_actual_flag => l_actual_flag
149536 ,p_balance_type_code => l_balance_type_code
149537 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149538
149539 , p_source_1 => l_array_source_1(Idx)
149540 , p_source_21 => l_array_source_21(Idx)
149541 , p_source_30 => l_array_source_30(Idx)
149542 , p_source_33 => l_array_source_33(Idx)
149543 , p_source_33_meaning => l_array_source_33_meaning(Idx)
149544 , p_source_53 => l_array_source_53(Idx)
149545 , p_source_55 => l_array_source_55(Idx)
149546 , p_source_57 => l_array_source_57(Idx)
149547 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
149548 , p_source_64 => l_array_source_64(Idx)
149549 , p_source_65 => l_array_source_65(Idx)
149550 , p_source_66 => l_array_source_66(Idx)
149551 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
149552 , p_source_68 => l_array_source_68(Idx)
149553 , p_source_69 => l_array_source_69(Idx)
149554 , p_source_70 => l_array_source_70(Idx)
149555 , p_source_71 => l_array_source_71(Idx)
149556 , p_source_72 => l_array_source_72(Idx)
149557 , p_source_73 => l_array_source_73(Idx)
149558 , p_source_74 => l_array_source_74(Idx)
149559 , p_source_75 => l_array_source_75(Idx)
149560 , p_source_76 => l_array_source_76(Idx)
149561 , p_source_77 => l_array_source_77(Idx)
149562 , p_source_78 => l_array_source_78(Idx)
149563 , p_source_79 => l_array_source_79(Idx)
149564 , p_source_80 => l_array_source_80(Idx)
149565 , p_source_80_meaning => l_array_source_80_meaning(Idx)
149566 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149567 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
149568 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
149569 , p_source_84 => l_array_source_84(Idx)
149570 , p_source_86 => l_array_source_86(Idx)
149571 , p_source_87 => l_array_source_87(Idx)
149572 , p_source_88 => l_array_source_88(Idx)
149573 , p_source_89 => l_array_source_89(Idx)
149574 , p_source_90 => l_array_source_90(Idx)
149578 , p_source_94 => l_array_source_94(Idx)
149575 , p_source_91 => l_array_source_91(Idx)
149576 , p_source_92 => l_array_source_92(Idx)
149577 , p_source_93 => l_array_source_93(Idx)
149579 , p_source_95 => l_array_source_95(Idx)
149580 , p_source_96 => l_array_source_96(Idx)
149581 , p_source_96_meaning => l_array_source_96_meaning(Idx)
149582 , p_source_142 => l_array_source_142(Idx)
149583 , p_source_142_meaning => l_array_source_142_meaning(Idx)
149584 );
149585 If(l_balance_type_code = 'A') THEN
149586 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149587 END IF;
149588
149589 --
149590
149591
149592 --
149593 AcctLineType_179 (
149594 p_application_id => p_application_id
149595 ,p_event_id => l_event_id
149596 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149597 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149598 ,p_actual_flag => l_actual_flag
149599 ,p_balance_type_code => l_balance_type_code
149600 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149601
149602 , p_source_1 => l_array_source_1(Idx)
149603 , p_source_21 => l_array_source_21(Idx)
149604 , p_source_30 => l_array_source_30(Idx)
149605 , p_source_33 => l_array_source_33(Idx)
149606 , p_source_33_meaning => l_array_source_33_meaning(Idx)
149607 , p_source_53 => l_array_source_53(Idx)
149608 , p_source_55 => l_array_source_55(Idx)
149609 , p_source_57 => l_array_source_57(Idx)
149610 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
149611 , p_source_64 => l_array_source_64(Idx)
149612 , p_source_65 => l_array_source_65(Idx)
149613 , p_source_66 => l_array_source_66(Idx)
149614 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
149615 , p_source_68 => l_array_source_68(Idx)
149616 , p_source_69 => l_array_source_69(Idx)
149617 , p_source_70 => l_array_source_70(Idx)
149618 , p_source_71 => l_array_source_71(Idx)
149619 , p_source_72 => l_array_source_72(Idx)
149620 , p_source_73 => l_array_source_73(Idx)
149621 , p_source_77 => l_array_source_77(Idx)
149622 , p_source_78 => l_array_source_78(Idx)
149623 , p_source_79 => l_array_source_79(Idx)
149624 , p_source_80 => l_array_source_80(Idx)
149625 , p_source_80_meaning => l_array_source_80_meaning(Idx)
149626 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149627 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
149628 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
149629 , p_source_84 => l_array_source_84(Idx)
149630 , p_source_86 => l_array_source_86(Idx)
149631 , p_source_87 => l_array_source_87(Idx)
149632 , p_source_88 => l_array_source_88(Idx)
149633 , p_source_89 => l_array_source_89(Idx)
149634 , p_source_90 => l_array_source_90(Idx)
149635 , p_source_91 => l_array_source_91(Idx)
149636 , p_source_92 => l_array_source_92(Idx)
149637 , p_source_93 => l_array_source_93(Idx)
149638 , p_source_94 => l_array_source_94(Idx)
149639 , p_source_95 => l_array_source_95(Idx)
149640 , p_source_96 => l_array_source_96(Idx)
149641 , p_source_96_meaning => l_array_source_96_meaning(Idx)
149642 , p_source_142 => l_array_source_142(Idx)
149643 , p_source_142_meaning => l_array_source_142_meaning(Idx)
149644 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
149645 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
149646 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
149647 );
149648 If(l_balance_type_code = 'A') THEN
149649 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149650 END IF;
149651
149652 --
149653
149654
149655 --
149656 AcctLineType_188 (
149657 p_application_id => p_application_id
149658 ,p_event_id => l_event_id
149659 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149660 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149661 ,p_actual_flag => l_actual_flag
149662 ,p_balance_type_code => l_balance_type_code
149663 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149664
149665 , p_source_1 => l_array_source_1(Idx)
149666 , p_source_21 => l_array_source_21(Idx)
149667 , p_source_30 => l_array_source_30(Idx)
149668 , p_source_33 => l_array_source_33(Idx)
149669 , p_source_33_meaning => l_array_source_33_meaning(Idx)
149670 , p_source_53 => l_array_source_53(Idx)
149671 , p_source_55 => l_array_source_55(Idx)
149672 , p_source_57 => l_array_source_57(Idx)
149673 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
149674 , p_source_64 => l_array_source_64(Idx)
149675 , p_source_65 => l_array_source_65(Idx)
149676 , p_source_66 => l_array_source_66(Idx)
149677 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
149678 , p_source_68 => l_array_source_68(Idx)
149679 , p_source_69 => l_array_source_69(Idx)
149680 , p_source_70 => l_array_source_70(Idx)
149681 , p_source_71 => l_array_source_71(Idx)
149682 , p_source_72 => l_array_source_72(Idx)
149683 , p_source_73 => l_array_source_73(Idx)
149684 , p_source_77 => l_array_source_77(Idx)
149685 , p_source_78 => l_array_source_78(Idx)
149686 , p_source_79 => l_array_source_79(Idx)
149687 , p_source_80 => l_array_source_80(Idx)
149688 , p_source_80_meaning => l_array_source_80_meaning(Idx)
149689 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149690 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
149691 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
149692 , p_source_84 => l_array_source_84(Idx)
149693 , p_source_86 => l_array_source_86(Idx)
149694 , p_source_87 => l_array_source_87(Idx)
149698 , p_source_91 => l_array_source_91(Idx)
149695 , p_source_88 => l_array_source_88(Idx)
149696 , p_source_89 => l_array_source_89(Idx)
149697 , p_source_90 => l_array_source_90(Idx)
149699 , p_source_92 => l_array_source_92(Idx)
149700 , p_source_93 => l_array_source_93(Idx)
149701 , p_source_94 => l_array_source_94(Idx)
149702 , p_source_95 => l_array_source_95(Idx)
149703 , p_source_142 => l_array_source_142(Idx)
149704 , p_source_142_meaning => l_array_source_142_meaning(Idx)
149705 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
149706 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
149707 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
149708 );
149709 If(l_balance_type_code = 'A') THEN
149710 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149711 END IF;
149712
149713 --
149714
149715
149716 --
149717 AcctLineType_193 (
149718 p_application_id => p_application_id
149719 ,p_event_id => l_event_id
149720 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149721 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149722 ,p_actual_flag => l_actual_flag
149723 ,p_balance_type_code => l_balance_type_code
149724 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149725
149726 , p_source_1 => l_array_source_1(Idx)
149727 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
149728 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
149729 , p_source_21 => l_array_source_21(Idx)
149730 , p_source_30 => l_array_source_30(Idx)
149731 , p_source_33 => l_array_source_33(Idx)
149732 , p_source_33_meaning => l_array_source_33_meaning(Idx)
149733 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
149734 , p_source_42 => l_array_source_42(Idx)
149735 , p_source_53 => l_array_source_53(Idx)
149736 , p_source_55 => l_array_source_55(Idx)
149737 , p_source_57 => l_array_source_57(Idx)
149738 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
149739 , p_source_64 => l_array_source_64(Idx)
149740 , p_source_65 => l_array_source_65(Idx)
149741 , p_source_66 => l_array_source_66(Idx)
149742 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
149743 , p_source_68 => l_array_source_68(Idx)
149744 , p_source_69 => l_array_source_69(Idx)
149745 , p_source_70 => l_array_source_70(Idx)
149746 , p_source_71 => l_array_source_71(Idx)
149747 , p_source_72 => l_array_source_72(Idx)
149748 , p_source_73 => l_array_source_73(Idx)
149749 , p_source_77 => l_array_source_77(Idx)
149750 , p_source_78 => l_array_source_78(Idx)
149751 , p_source_79 => l_array_source_79(Idx)
149752 , p_source_80 => l_array_source_80(Idx)
149753 , p_source_80_meaning => l_array_source_80_meaning(Idx)
149754 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149755 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
149756 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
149757 , p_source_84 => l_array_source_84(Idx)
149758 , p_source_86 => l_array_source_86(Idx)
149759 , p_source_87 => l_array_source_87(Idx)
149760 , p_source_88 => l_array_source_88(Idx)
149761 , p_source_89 => l_array_source_89(Idx)
149762 , p_source_90 => l_array_source_90(Idx)
149763 , p_source_91 => l_array_source_91(Idx)
149764 , p_source_92 => l_array_source_92(Idx)
149765 , p_source_93 => l_array_source_93(Idx)
149766 , p_source_94 => l_array_source_94(Idx)
149767 , p_source_95 => l_array_source_95(Idx)
149768 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
149769 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
149770 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
149771 );
149772 If(l_balance_type_code = 'A') THEN
149773 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149774 END IF;
149775
149776 --
149777
149778
149779 --
149780 AcctLineType_197 (
149781 p_application_id => p_application_id
149782 ,p_event_id => l_event_id
149783 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149784 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149785 ,p_actual_flag => l_actual_flag
149786 ,p_balance_type_code => l_balance_type_code
149787 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149788
149789 , p_source_1 => l_array_source_1(Idx)
149790 , p_source_21 => l_array_source_21(Idx)
149791 , p_source_33 => l_array_source_33(Idx)
149792 , p_source_33_meaning => l_array_source_33_meaning(Idx)
149793 , p_source_50 => l_array_source_50(Idx)
149794 , p_source_53 => l_array_source_53(Idx)
149795 , p_source_55 => l_array_source_55(Idx)
149796 , p_source_57 => l_array_source_57(Idx)
149797 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
149798 , p_source_64 => l_array_source_64(Idx)
149799 , p_source_65 => l_array_source_65(Idx)
149800 , p_source_66 => l_array_source_66(Idx)
149801 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
149802 , p_source_68 => l_array_source_68(Idx)
149803 , p_source_69 => l_array_source_69(Idx)
149804 , p_source_70 => l_array_source_70(Idx)
149805 , p_source_71 => l_array_source_71(Idx)
149806 , p_source_72 => l_array_source_72(Idx)
149807 , p_source_73 => l_array_source_73(Idx)
149808 , p_source_77 => l_array_source_77(Idx)
149809 , p_source_78 => l_array_source_78(Idx)
149810 , p_source_79 => l_array_source_79(Idx)
149811 , p_source_80 => l_array_source_80(Idx)
149812 , p_source_80_meaning => l_array_source_80_meaning(Idx)
149816 , p_source_84 => l_array_source_84(Idx)
149813 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149814 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
149815 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
149817 , p_source_86 => l_array_source_86(Idx)
149818 , p_source_87 => l_array_source_87(Idx)
149819 , p_source_88 => l_array_source_88(Idx)
149820 , p_source_89 => l_array_source_89(Idx)
149821 , p_source_90 => l_array_source_90(Idx)
149822 , p_source_91 => l_array_source_91(Idx)
149823 , p_source_92 => l_array_source_92(Idx)
149824 , p_source_93 => l_array_source_93(Idx)
149825 , p_source_94 => l_array_source_94(Idx)
149826 , p_source_95 => l_array_source_95(Idx)
149827 , p_source_96 => l_array_source_96(Idx)
149828 , p_source_96_meaning => l_array_source_96_meaning(Idx)
149829 , p_source_142 => l_array_source_142(Idx)
149830 , p_source_142_meaning => l_array_source_142_meaning(Idx)
149831 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
149832 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
149833 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
149834 );
149835 If(l_balance_type_code = 'A') THEN
149836 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149837 END IF;
149838
149839 --
149840
149841
149842 --
149843 AcctLineType_201 (
149844 p_application_id => p_application_id
149845 ,p_event_id => l_event_id
149846 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149847 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149848 ,p_actual_flag => l_actual_flag
149849 ,p_balance_type_code => l_balance_type_code
149850 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149851
149852 , p_source_1 => l_array_source_1(Idx)
149853 , p_source_21 => l_array_source_21(Idx)
149854 , p_source_33 => l_array_source_33(Idx)
149855 , p_source_33_meaning => l_array_source_33_meaning(Idx)
149856 , p_source_50 => l_array_source_50(Idx)
149857 , p_source_53 => l_array_source_53(Idx)
149858 , p_source_55 => l_array_source_55(Idx)
149859 , p_source_57 => l_array_source_57(Idx)
149860 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
149861 , p_source_64 => l_array_source_64(Idx)
149862 , p_source_65 => l_array_source_65(Idx)
149863 , p_source_66 => l_array_source_66(Idx)
149864 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
149865 , p_source_68 => l_array_source_68(Idx)
149866 , p_source_69 => l_array_source_69(Idx)
149867 , p_source_70 => l_array_source_70(Idx)
149868 , p_source_71 => l_array_source_71(Idx)
149869 , p_source_72 => l_array_source_72(Idx)
149870 , p_source_73 => l_array_source_73(Idx)
149871 , p_source_77 => l_array_source_77(Idx)
149872 , p_source_78 => l_array_source_78(Idx)
149873 , p_source_79 => l_array_source_79(Idx)
149874 , p_source_80 => l_array_source_80(Idx)
149875 , p_source_80_meaning => l_array_source_80_meaning(Idx)
149876 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149877 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
149878 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
149879 , p_source_84 => l_array_source_84(Idx)
149880 , p_source_86 => l_array_source_86(Idx)
149881 , p_source_87 => l_array_source_87(Idx)
149882 , p_source_88 => l_array_source_88(Idx)
149883 , p_source_89 => l_array_source_89(Idx)
149884 , p_source_90 => l_array_source_90(Idx)
149885 , p_source_91 => l_array_source_91(Idx)
149886 , p_source_92 => l_array_source_92(Idx)
149887 , p_source_93 => l_array_source_93(Idx)
149888 , p_source_94 => l_array_source_94(Idx)
149889 , p_source_95 => l_array_source_95(Idx)
149890 , p_source_142 => l_array_source_142(Idx)
149891 , p_source_142_meaning => l_array_source_142_meaning(Idx)
149892 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
149893 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
149894 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
149895 );
149896 If(l_balance_type_code = 'A') THEN
149897 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149898 END IF;
149899
149900 --
149901
149902
149903 --
149904 AcctLineType_204 (
149905 p_application_id => p_application_id
149906 ,p_event_id => l_event_id
149907 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149908 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149909 ,p_actual_flag => l_actual_flag
149910 ,p_balance_type_code => l_balance_type_code
149911 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149912
149913 , p_source_1 => l_array_source_1(Idx)
149914 , p_source_21 => l_array_source_21(Idx)
149915 , p_source_33 => l_array_source_33(Idx)
149916 , p_source_33_meaning => l_array_source_33_meaning(Idx)
149917 , p_source_51 => l_array_source_51(Idx)
149918 , p_source_53 => l_array_source_53(Idx)
149919 , p_source_55 => l_array_source_55(Idx)
149920 , p_source_57 => l_array_source_57(Idx)
149921 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
149922 , p_source_64 => l_array_source_64(Idx)
149923 , p_source_65 => l_array_source_65(Idx)
149924 , p_source_66 => l_array_source_66(Idx)
149925 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
149926 , p_source_68 => l_array_source_68(Idx)
149927 , p_source_69 => l_array_source_69(Idx)
149928 , p_source_70 => l_array_source_70(Idx)
149929 , p_source_71 => l_array_source_71(Idx)
149930 , p_source_72 => l_array_source_72(Idx)
149934 , p_source_79 => l_array_source_79(Idx)
149931 , p_source_73 => l_array_source_73(Idx)
149932 , p_source_77 => l_array_source_77(Idx)
149933 , p_source_78 => l_array_source_78(Idx)
149935 , p_source_80 => l_array_source_80(Idx)
149936 , p_source_80_meaning => l_array_source_80_meaning(Idx)
149937 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
149938 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
149939 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
149940 , p_source_84 => l_array_source_84(Idx)
149941 , p_source_86 => l_array_source_86(Idx)
149942 , p_source_87 => l_array_source_87(Idx)
149943 , p_source_88 => l_array_source_88(Idx)
149944 , p_source_89 => l_array_source_89(Idx)
149945 , p_source_90 => l_array_source_90(Idx)
149946 , p_source_91 => l_array_source_91(Idx)
149947 , p_source_92 => l_array_source_92(Idx)
149948 , p_source_93 => l_array_source_93(Idx)
149949 , p_source_94 => l_array_source_94(Idx)
149950 , p_source_95 => l_array_source_95(Idx)
149951 , p_source_142 => l_array_source_142(Idx)
149952 , p_source_142_meaning => l_array_source_142_meaning(Idx)
149953 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
149954 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
149955 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
149956 );
149957 If(l_balance_type_code = 'A') THEN
149958 l_actual_gain_loss_ref := l_gain_or_loss_ref;
149959 END IF;
149960
149961 --
149962
149963
149964 --
149965 AcctLineType_209 (
149966 p_application_id => p_application_id
149967 ,p_event_id => l_event_id
149968 ,p_calculate_acctd_flag => l_calculate_acctd_flag
149969 ,p_calculate_g_l_flag => l_calculate_g_l_flag
149970 ,p_actual_flag => l_actual_flag
149971 ,p_balance_type_code => l_balance_type_code
149972 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
149973
149974 , p_source_1 => l_array_source_1(Idx)
149975 , p_source_21 => l_array_source_21(Idx)
149976 , p_source_33 => l_array_source_33(Idx)
149977 , p_source_33_meaning => l_array_source_33_meaning(Idx)
149978 , p_source_50 => l_array_source_50(Idx)
149979 , p_source_53 => l_array_source_53(Idx)
149980 , p_source_55 => l_array_source_55(Idx)
149981 , p_source_57 => l_array_source_57(Idx)
149982 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
149983 , p_source_64 => l_array_source_64(Idx)
149984 , p_source_65 => l_array_source_65(Idx)
149985 , p_source_66 => l_array_source_66(Idx)
149986 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
149987 , p_source_68 => l_array_source_68(Idx)
149988 , p_source_69 => l_array_source_69(Idx)
149989 , p_source_70 => l_array_source_70(Idx)
149990 , p_source_71 => l_array_source_71(Idx)
149991 , p_source_72 => l_array_source_72(Idx)
149992 , p_source_73 => l_array_source_73(Idx)
149993 , p_source_74 => l_array_source_74(Idx)
149994 , p_source_75 => l_array_source_75(Idx)
149995 , p_source_76 => l_array_source_76(Idx)
149996 , p_source_77 => l_array_source_77(Idx)
149997 , p_source_78 => l_array_source_78(Idx)
149998 , p_source_79 => l_array_source_79(Idx)
149999 , p_source_80 => l_array_source_80(Idx)
150000 , p_source_80_meaning => l_array_source_80_meaning(Idx)
150001 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
150002 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
150003 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
150004 , p_source_84 => l_array_source_84(Idx)
150005 , p_source_86 => l_array_source_86(Idx)
150006 , p_source_87 => l_array_source_87(Idx)
150007 , p_source_88 => l_array_source_88(Idx)
150008 , p_source_89 => l_array_source_89(Idx)
150009 , p_source_90 => l_array_source_90(Idx)
150010 , p_source_91 => l_array_source_91(Idx)
150011 , p_source_92 => l_array_source_92(Idx)
150012 , p_source_93 => l_array_source_93(Idx)
150013 , p_source_94 => l_array_source_94(Idx)
150014 , p_source_95 => l_array_source_95(Idx)
150015 , p_source_96 => l_array_source_96(Idx)
150016 , p_source_96_meaning => l_array_source_96_meaning(Idx)
150017 , p_source_142 => l_array_source_142(Idx)
150018 , p_source_142_meaning => l_array_source_142_meaning(Idx)
150019 );
150020 If(l_balance_type_code = 'A') THEN
150021 l_actual_gain_loss_ref := l_gain_or_loss_ref;
150022 END IF;
150023
150024 --
150025
150026
150027 --
150028 AcctLineType_213 (
150029 p_application_id => p_application_id
150030 ,p_event_id => l_event_id
150031 ,p_calculate_acctd_flag => l_calculate_acctd_flag
150032 ,p_calculate_g_l_flag => l_calculate_g_l_flag
150033 ,p_actual_flag => l_actual_flag
150034 ,p_balance_type_code => l_balance_type_code
150035 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
150036
150037 , p_source_1 => l_array_source_1(Idx)
150038 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
150039 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
150040 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
150041 , p_source_21 => l_array_source_21(Idx)
150042 , p_source_22 => l_array_source_22(Idx)
150043 , p_source_22_meaning => l_array_source_22_meaning(Idx)
150044 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
150045 , p_source_30 => l_array_source_30(Idx)
150046 , p_source_33 => l_array_source_33(Idx)
150047 , p_source_33_meaning => l_array_source_33_meaning(Idx)
150048 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
150052 , p_source_57 => l_array_source_57(Idx)
150049 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
150050 , p_source_53 => l_array_source_53(Idx)
150051 , p_source_55 => l_array_source_55(Idx)
150053 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
150054 , p_source_64 => l_array_source_64(Idx)
150055 , p_source_65 => l_array_source_65(Idx)
150056 , p_source_66 => l_array_source_66(Idx)
150057 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
150058 , p_source_68 => l_array_source_68(Idx)
150059 , p_source_69 => l_array_source_69(Idx)
150060 , p_source_70 => l_array_source_70(Idx)
150061 , p_source_71 => l_array_source_71(Idx)
150062 , p_source_72 => l_array_source_72(Idx)
150063 , p_source_73 => l_array_source_73(Idx)
150064 , p_source_77 => l_array_source_77(Idx)
150065 , p_source_78 => l_array_source_78(Idx)
150066 , p_source_79 => l_array_source_79(Idx)
150067 , p_source_80 => l_array_source_80(Idx)
150068 , p_source_80_meaning => l_array_source_80_meaning(Idx)
150069 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
150070 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
150071 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
150072 , p_source_84 => l_array_source_84(Idx)
150073 , p_source_86 => l_array_source_86(Idx)
150074 , p_source_87 => l_array_source_87(Idx)
150075 , p_source_88 => l_array_source_88(Idx)
150076 , p_source_89 => l_array_source_89(Idx)
150077 , p_source_90 => l_array_source_90(Idx)
150078 , p_source_91 => l_array_source_91(Idx)
150079 , p_source_92 => l_array_source_92(Idx)
150080 , p_source_93 => l_array_source_93(Idx)
150081 , p_source_94 => l_array_source_94(Idx)
150082 , p_source_95 => l_array_source_95(Idx)
150083 , p_source_96 => l_array_source_96(Idx)
150084 , p_source_96_meaning => l_array_source_96_meaning(Idx)
150085 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
150086 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
150087 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
150088 );
150089 If(l_balance_type_code = 'A') THEN
150090 l_actual_gain_loss_ref := l_gain_or_loss_ref;
150091 END IF;
150092
150093 --
150094
150095
150096 --
150097 AcctLineType_217 (
150098 p_application_id => p_application_id
150099 ,p_event_id => l_event_id
150100 ,p_calculate_acctd_flag => l_calculate_acctd_flag
150101 ,p_calculate_g_l_flag => l_calculate_g_l_flag
150102 ,p_actual_flag => l_actual_flag
150103 ,p_balance_type_code => l_balance_type_code
150104 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
150105
150106 , p_source_1 => l_array_source_1(Idx)
150107 , p_source_21 => l_array_source_21(Idx)
150108 , p_source_30 => l_array_source_30(Idx)
150109 , p_source_33 => l_array_source_33(Idx)
150110 , p_source_33_meaning => l_array_source_33_meaning(Idx)
150111 , p_source_53 => l_array_source_53(Idx)
150112 , p_source_55 => l_array_source_55(Idx)
150113 , p_source_57 => l_array_source_57(Idx)
150114 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
150115 , p_source_64 => l_array_source_64(Idx)
150116 , p_source_65 => l_array_source_65(Idx)
150117 , p_source_66 => l_array_source_66(Idx)
150118 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
150119 , p_source_68 => l_array_source_68(Idx)
150120 , p_source_69 => l_array_source_69(Idx)
150121 , p_source_70 => l_array_source_70(Idx)
150122 , p_source_71 => l_array_source_71(Idx)
150123 , p_source_72 => l_array_source_72(Idx)
150124 , p_source_73 => l_array_source_73(Idx)
150125 , p_source_77 => l_array_source_77(Idx)
150126 , p_source_78 => l_array_source_78(Idx)
150127 , p_source_79 => l_array_source_79(Idx)
150128 , p_source_80 => l_array_source_80(Idx)
150129 , p_source_80_meaning => l_array_source_80_meaning(Idx)
150130 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
150131 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
150132 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
150133 , p_source_84 => l_array_source_84(Idx)
150134 , p_source_86 => l_array_source_86(Idx)
150135 , p_source_87 => l_array_source_87(Idx)
150136 , p_source_88 => l_array_source_88(Idx)
150137 , p_source_89 => l_array_source_89(Idx)
150138 , p_source_90 => l_array_source_90(Idx)
150139 , p_source_91 => l_array_source_91(Idx)
150140 , p_source_92 => l_array_source_92(Idx)
150141 , p_source_93 => l_array_source_93(Idx)
150142 , p_source_94 => l_array_source_94(Idx)
150143 , p_source_95 => l_array_source_95(Idx)
150144 , p_source_96 => l_array_source_96(Idx)
150145 , p_source_96_meaning => l_array_source_96_meaning(Idx)
150146 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
150147 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
150148 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
150149 );
150150 If(l_balance_type_code = 'A') THEN
150151 l_actual_gain_loss_ref := l_gain_or_loss_ref;
150152 END IF;
150153
150154 --
150155
150156
150157 --
150158 AcctLineType_221 (
150159 p_application_id => p_application_id
150160 ,p_event_id => l_event_id
150161 ,p_calculate_acctd_flag => l_calculate_acctd_flag
150162 ,p_calculate_g_l_flag => l_calculate_g_l_flag
150163 ,p_actual_flag => l_actual_flag
150164 ,p_balance_type_code => l_balance_type_code
150165 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
150166
150170 , p_source_33 => l_array_source_33(Idx)
150167 , p_source_1 => l_array_source_1(Idx)
150168 , p_source_21 => l_array_source_21(Idx)
150169 , p_source_30 => l_array_source_30(Idx)
150171 , p_source_33_meaning => l_array_source_33_meaning(Idx)
150172 , p_source_53 => l_array_source_53(Idx)
150173 , p_source_55 => l_array_source_55(Idx)
150174 , p_source_57 => l_array_source_57(Idx)
150175 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
150176 , p_source_64 => l_array_source_64(Idx)
150177 , p_source_65 => l_array_source_65(Idx)
150178 , p_source_66 => l_array_source_66(Idx)
150179 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
150180 , p_source_68 => l_array_source_68(Idx)
150181 , p_source_69 => l_array_source_69(Idx)
150182 , p_source_70 => l_array_source_70(Idx)
150183 , p_source_71 => l_array_source_71(Idx)
150184 , p_source_72 => l_array_source_72(Idx)
150185 , p_source_73 => l_array_source_73(Idx)
150186 , p_source_77 => l_array_source_77(Idx)
150187 , p_source_78 => l_array_source_78(Idx)
150188 , p_source_79 => l_array_source_79(Idx)
150189 , p_source_80 => l_array_source_80(Idx)
150190 , p_source_80_meaning => l_array_source_80_meaning(Idx)
150191 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
150192 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
150193 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
150194 , p_source_84 => l_array_source_84(Idx)
150195 , p_source_86 => l_array_source_86(Idx)
150196 , p_source_87 => l_array_source_87(Idx)
150197 , p_source_88 => l_array_source_88(Idx)
150198 , p_source_89 => l_array_source_89(Idx)
150199 , p_source_90 => l_array_source_90(Idx)
150200 , p_source_91 => l_array_source_91(Idx)
150201 , p_source_92 => l_array_source_92(Idx)
150202 , p_source_93 => l_array_source_93(Idx)
150203 , p_source_94 => l_array_source_94(Idx)
150204 , p_source_95 => l_array_source_95(Idx)
150205 , p_source_96 => l_array_source_96(Idx)
150206 , p_source_96_meaning => l_array_source_96_meaning(Idx)
150207 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
150208 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
150209 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
150210 );
150211 If(l_balance_type_code = 'A') THEN
150212 l_actual_gain_loss_ref := l_gain_or_loss_ref;
150213 END IF;
150214
150215 --
150216
150217
150218 --
150219 AcctLineType_227 (
150220 p_application_id => p_application_id
150221 ,p_event_id => l_event_id
150222 ,p_calculate_acctd_flag => l_calculate_acctd_flag
150223 ,p_calculate_g_l_flag => l_calculate_g_l_flag
150224 ,p_actual_flag => l_actual_flag
150225 ,p_balance_type_code => l_balance_type_code
150226 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
150227
150228 , p_source_1 => l_array_source_1(Idx)
150229 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
150230 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
150231 , p_source_21 => l_array_source_21(Idx)
150232 , p_source_30 => l_array_source_30(Idx)
150233 , p_source_33 => l_array_source_33(Idx)
150234 , p_source_33_meaning => l_array_source_33_meaning(Idx)
150235 , p_source_43 => l_array_source_43(Idx)
150236 , p_source_53 => l_array_source_53(Idx)
150237 , p_source_55 => l_array_source_55(Idx)
150238 , p_source_57 => l_array_source_57(Idx)
150239 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
150240 , p_source_64 => l_array_source_64(Idx)
150241 , p_source_65 => l_array_source_65(Idx)
150242 , p_source_66 => l_array_source_66(Idx)
150243 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
150244 , p_source_68 => l_array_source_68(Idx)
150245 , p_source_69 => l_array_source_69(Idx)
150246 , p_source_70 => l_array_source_70(Idx)
150247 , p_source_71 => l_array_source_71(Idx)
150248 , p_source_72 => l_array_source_72(Idx)
150249 , p_source_73 => l_array_source_73(Idx)
150250 , p_source_77 => l_array_source_77(Idx)
150251 , p_source_78 => l_array_source_78(Idx)
150252 , p_source_79 => l_array_source_79(Idx)
150253 , p_source_80 => l_array_source_80(Idx)
150254 , p_source_80_meaning => l_array_source_80_meaning(Idx)
150255 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
150256 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
150257 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
150258 , p_source_84 => l_array_source_84(Idx)
150259 , p_source_86 => l_array_source_86(Idx)
150260 , p_source_87 => l_array_source_87(Idx)
150261 , p_source_88 => l_array_source_88(Idx)
150262 , p_source_89 => l_array_source_89(Idx)
150263 , p_source_90 => l_array_source_90(Idx)
150264 , p_source_91 => l_array_source_91(Idx)
150265 , p_source_92 => l_array_source_92(Idx)
150266 , p_source_93 => l_array_source_93(Idx)
150267 , p_source_94 => l_array_source_94(Idx)
150268 , p_source_95 => l_array_source_95(Idx)
150269 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
150270 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
150271 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
150272 );
150273 If(l_balance_type_code = 'A') THEN
150274 l_actual_gain_loss_ref := l_gain_or_loss_ref;
150275 END IF;
150276
150277 --
150278
150282 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
150279 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
150280 -- or secondary ledger that has different currency with primary
150281 -- or alc that is calculated by sla
150283 (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'))
150284
150285 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
150286 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
150287 AND (l_actual_flag = 'A')) THEN
150288 XLA_AE_LINES_PKG.CreateGainOrLossLines(
150289 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
150290 ,p_application_id => p_application_id
150291 ,p_amb_context_code => 'DEFAULT'
150292 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
150293 ,p_event_class_code => C_EVENT_CLASS_CODE
150294 ,p_event_type_code => C_EVENT_TYPE_CODE
150295
150296 ,p_gain_ccid => -1
150297 ,p_loss_ccid => -1
150298
150299 ,p_actual_flag => l_actual_flag
150300 ,p_enc_flag => null
150301 ,p_actual_g_l_ref => l_actual_gain_loss_ref
150302 ,p_enc_g_l_ref => null
150303 );
150304 END IF;
150305 END IF;
150306 END IF;
150307
150308 ELSE
150309 --
150310 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
150311 --
150312 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
150313 trace
150314 (p_msg => 'Trancaction revesal option is Y'
150315 ,p_level => C_LEVEL_STATEMENT
150316 ,p_module => l_log_module);
150317 END IF;
150318 END IF;
150319
150320 END LOOP;
150321 l_result := XLA_AE_LINES_PKG.InsertLines ;
150322 end loop;
150323 close line_cur;
150324
150325
150326 --
150327 -- insert headers into xla_ae_headers_gt table
150328 --
150329 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
150330
150331 -- insert into errors table here.
150332
150333 END LOOP;
150334
150335 --
150336 -- 4865292
150337 --
150338 -- Compare g_hdr_extract_count with event count in
150339 -- CreateHeadersAndLines.
150340 --
150341 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
150342
150343 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
150344 trace (p_msg => '# rows extracted from header extract objects '
150345 || ' (running total): '
150346 || g_hdr_extract_count
150347 ,p_level => C_LEVEL_STATEMENT
150348 ,p_module => l_log_module);
150349 END IF;
150350
150351 CLOSE header_cur;
150352 --
150353
150354 --
150355 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
150356 trace
150357 (p_msg => 'END of EventClass_231'
150358 ,p_level => C_LEVEL_PROCEDURE
150359 ,p_module => l_log_module);
150360 END IF;
150361 --
150362 RETURN l_result;
150363 EXCEPTION
150364 WHEN xla_exceptions_pkg.application_exception THEN
150365
150366 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
150367
150368
150369 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
150370
150371 RAISE;
150372
150373 WHEN NO_DATA_FOUND THEN
150374
150375 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
150376 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
150377
150378 FOR header_record IN header_cur
150379 LOOP
150380 l_array_header_events(header_record.event_id) := header_record.event_id;
150381 END LOOP;
150382
150383 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
150384 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
150385
150386 fnd_file.put_line(fnd_file.LOG, ' ');
150387 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
150388 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
150389 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
150390
150391 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
150392 LOOP
150393 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
150394 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
150395 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
150396 END IF;
150397 END LOOP;
150398
150399 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
150400 fnd_file.put_line(fnd_file.LOG, ' ');
150401
150402
150403 xla_exceptions_pkg.raise_message
150404 (p_location => 'XLA_00200_AAD_S_000002_PKG.EventClass_231');
150405
150406
150407 WHEN OTHERS THEN
150408 xla_exceptions_pkg.raise_message
150409 (p_location => 'XLA_00200_AAD_S_000002_PKG.EventClass_231');
150410 END EventClass_231;
150411 --
150412
150413 ---------------------------------------
150414 --
150415 -- PRIVATE PROCEDURE
150416 -- insert_sources_232
150417 --
150421 p_target_ledger_id IN NUMBER
150418 ----------------------------------------
150419 --
150420 PROCEDURE insert_sources_232(
150422 , p_language IN VARCHAR2
150423 , p_sla_ledger_id IN NUMBER
150424 , p_pad_start_date IN DATE
150425 , p_pad_end_date IN DATE
150426 )
150427 IS
150428
150429 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'FUTURE DATED PAYMENTS_ALL';
150430 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'FUTURE DATED PAYMENTS';
150431 p_apps_owner VARCHAR2(30);
150432 l_log_module VARCHAR2(240);
150433 BEGIN
150434 IF g_log_enabled THEN
150435 l_log_module := C_DEFAULT_MODULE||'.insert_sources_232';
150436 END IF;
150437 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
150438
150439 trace
150440 (p_msg => 'BEGIN of insert_sources_232'
150441 ,p_level => C_LEVEL_PROCEDURE
150442 ,p_module => l_log_module);
150443
150444 END IF;
150445
150446 -- select APPS owner
150447 SELECT oracle_username
150448 INTO p_apps_owner
150449 FROM fnd_oracle_userid
150450 WHERE read_only_flag = 'U'
150451 ;
150452
150453 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
150454 trace
150455 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
150456 ' - p_language = '||p_language||
150457 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
150458 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
150459 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
150460 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
150461 ,p_level => C_LEVEL_STATEMENT
150462 ,p_module => l_log_module);
150463 END IF;
150464
150465
150466 --
150467 INSERT INTO xla_diag_sources --hdr2
150468 (
150469 event_id
150470 , ledger_id
150471 , sla_ledger_id
150472 , description_language
150473 , object_name
150474 , object_type_code
150475 , line_number
150476 , source_application_id
150477 , source_type_code
150478 , source_code
150479 , source_value
150480 , source_meaning
150481 , created_by
150482 , creation_date
150483 , last_update_date
150484 , last_updated_by
150485 , last_update_login
150486 , program_update_date
150487 , program_application_id
150488 , program_id
150489 , request_id
150490 )
150491 SELECT
150492 event_id
150493 , p_target_ledger_id
150494 , p_sla_ledger_id
150495 , p_language
150496 , object_name
150497 , object_type_code
150498 , line_number
150499 , source_application_id
150500 , source_type_code
150501 , source_code
150502 , SUBSTR(source_value ,1,1996)
150503 , SUBSTR(source_meaning ,1,200)
150504 , xla_environment_pkg.g_Usr_Id
150505 , TRUNC(SYSDATE)
150506 , TRUNC(SYSDATE)
150507 , xla_environment_pkg.g_Usr_Id
150508 , xla_environment_pkg.g_Login_Id
150509 , TRUNC(SYSDATE)
150510 , xla_environment_pkg.g_Prog_Appl_Id
150511 , xla_environment_pkg.g_Prog_Id
150512 , xla_environment_pkg.g_Req_Id
150513 FROM (
150514 SELECT xet.event_id event_id
150515 , 0 line_number
150516 , CASE r
150517 WHEN 1 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150518 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150519 WHEN 3 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150520 WHEN 4 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150521 WHEN 5 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150522 WHEN 6 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150523 WHEN 7 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
150524 WHEN 8 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150525 WHEN 9 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150526 WHEN 10 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150527 WHEN 11 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
150528 WHEN 12 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150529 WHEN 13 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
150530 WHEN 14 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
150531 WHEN 15 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
150532 WHEN 16 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150533 WHEN 17 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
150534 WHEN 18 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150535 WHEN 19 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150536 WHEN 20 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150537 WHEN 21 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150538 WHEN 22 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150539 WHEN 23 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150540 WHEN 24 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150541 WHEN 25 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150542 WHEN 26 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
150543
150544 ELSE null
150545 END object_name
150546 , CASE r
150547 WHEN 1 THEN 'HEADER'
150551 WHEN 5 THEN 'HEADER'
150548 WHEN 2 THEN 'HEADER'
150549 WHEN 3 THEN 'HEADER'
150550 WHEN 4 THEN 'HEADER'
150552 WHEN 6 THEN 'HEADER'
150553 WHEN 7 THEN 'HEADER'
150554 WHEN 8 THEN 'HEADER'
150555 WHEN 9 THEN 'HEADER'
150556 WHEN 10 THEN 'HEADER'
150557 WHEN 11 THEN 'HEADER'
150558 WHEN 12 THEN 'HEADER'
150559 WHEN 13 THEN 'HEADER'
150560 WHEN 14 THEN 'HEADER'
150561 WHEN 15 THEN 'HEADER'
150562 WHEN 16 THEN 'HEADER'
150563 WHEN 17 THEN 'HEADER'
150564 WHEN 18 THEN 'HEADER'
150565 WHEN 19 THEN 'HEADER'
150566 WHEN 20 THEN 'HEADER'
150567 WHEN 21 THEN 'HEADER'
150568 WHEN 22 THEN 'HEADER'
150569 WHEN 23 THEN 'HEADER'
150570 WHEN 24 THEN 'HEADER'
150571 WHEN 25 THEN 'HEADER'
150572 WHEN 26 THEN 'HEADER'
150573
150574 ELSE null
150575 END object_type_code
150576 , CASE r
150577 WHEN 1 THEN '200'
150578 WHEN 2 THEN '200'
150579 WHEN 3 THEN '200'
150580 WHEN 4 THEN '200'
150581 WHEN 5 THEN '200'
150582 WHEN 6 THEN '200'
150583 WHEN 7 THEN '200'
150584 WHEN 8 THEN '200'
150585 WHEN 9 THEN '200'
150586 WHEN 10 THEN '200'
150587 WHEN 11 THEN '200'
150588 WHEN 12 THEN '200'
150589 WHEN 13 THEN '200'
150590 WHEN 14 THEN '200'
150591 WHEN 15 THEN '200'
150592 WHEN 16 THEN '200'
150593 WHEN 17 THEN '200'
150594 WHEN 18 THEN '200'
150595 WHEN 19 THEN '200'
150596 WHEN 20 THEN '200'
150597 WHEN 21 THEN '200'
150598 WHEN 22 THEN '200'
150599 WHEN 23 THEN '200'
150600 WHEN 24 THEN '200'
150601 WHEN 25 THEN '200'
150602 WHEN 26 THEN '200'
150603
150604 ELSE null
150605 END source_application_id
150606 , 'S' source_type_code
150607 , CASE r
150608 WHEN 1 THEN 'DOC_SEQUENCE_NAME'
150609 WHEN 2 THEN 'AC_DOC_SEQUENCE_VALUE'
150610 WHEN 3 THEN 'PAYMENT_TRANSACTION_NUMBER'
150611 WHEN 4 THEN 'AC_CHECK_DATE'
150612 WHEN 5 THEN 'CBA_BANK_ACCOUNT_NAME'
150613 WHEN 6 THEN 'AC_CURRENCY_CODE'
150614 WHEN 7 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
150615 WHEN 8 THEN 'CGAC_AP_ASSET_CCID'
150616 WHEN 9 THEN 'CGAC_CASH_CLEARING_CCID'
150617 WHEN 10 THEN 'CGAC_GAIN_CCID'
150618 WHEN 11 THEN 'ASP_GAIN_CCID'
150619 WHEN 12 THEN 'CGAC_LOSS_CCID'
150620 WHEN 13 THEN 'ASP_LOSS_CCID'
150621 WHEN 14 THEN 'ASP_AUTO_OFFSET_FLAG'
150622 WHEN 15 THEN 'ASP_ROUNDING_ERROR_CCID'
150623 WHEN 16 THEN 'THIRD_PARTY_TYPE'
150624 WHEN 17 THEN 'ASP_WHEN_TO_ACCOUNT_PMT'
150625 WHEN 18 THEN 'AC_VENDOR_ID'
150626 WHEN 19 THEN 'AC_VENDOR_SITE_ID'
150627 WHEN 20 THEN 'CBA_POOLED_BANK_ACOUNT_FLAG'
150628 WHEN 21 THEN 'AC_FUTURE_PAY_DUE_DATE'
150629 WHEN 22 THEN 'AC_EXCHANGE_DATE'
150630 WHEN 23 THEN 'AC_EXCHANGE_RATE'
150631 WHEN 24 THEN 'AC_EXCHANGE_RATE_TYPE'
150632 WHEN 25 THEN 'AC_DOC_CATEGORY_CODE'
150633 WHEN 26 THEN 'PAYMENT_DOCUMENT_SEQUENCE_ID'
150634
150635 ELSE null
150636 END source_code
150637 , CASE r
150638 WHEN 1 THEN TO_CHAR(h2.DOC_SEQUENCE_NAME)
150639 WHEN 2 THEN TO_CHAR(h2.AC_DOC_SEQUENCE_VALUE)
150640 WHEN 3 THEN TO_CHAR(h2.PAYMENT_TRANSACTION_NUMBER)
150641 WHEN 4 THEN TO_CHAR(h2.AC_CHECK_DATE)
150642 WHEN 5 THEN TO_CHAR(h2.CBA_BANK_ACCOUNT_NAME)
150643 WHEN 6 THEN TO_CHAR(h2.AC_CURRENCY_CODE)
150644 WHEN 7 THEN TO_CHAR(h3.ASP_AUTOMATIC_OFFSETS_VALUE)
150645 WHEN 8 THEN TO_CHAR(h2.CGAC_AP_ASSET_CCID)
150646 WHEN 9 THEN TO_CHAR(h2.CGAC_CASH_CLEARING_CCID)
150647 WHEN 10 THEN TO_CHAR(h2.CGAC_GAIN_CCID)
150648 WHEN 11 THEN TO_CHAR(h3.ASP_GAIN_CCID)
150649 WHEN 12 THEN TO_CHAR(h2.CGAC_LOSS_CCID)
150650 WHEN 13 THEN TO_CHAR(h3.ASP_LOSS_CCID)
150651 WHEN 14 THEN TO_CHAR(h3.ASP_AUTO_OFFSET_FLAG)
150652 WHEN 15 THEN TO_CHAR(h3.ASP_ROUNDING_ERROR_CCID)
150653 WHEN 16 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
150654 WHEN 17 THEN TO_CHAR(h3.ASP_WHEN_TO_ACCOUNT_PMT)
150655 WHEN 18 THEN TO_CHAR(h2.AC_VENDOR_ID)
150656 WHEN 19 THEN TO_CHAR(h2.AC_VENDOR_SITE_ID)
150657 WHEN 20 THEN TO_CHAR(h2.CBA_POOLED_BANK_ACOUNT_FLAG)
150658 WHEN 21 THEN TO_CHAR(h2.AC_FUTURE_PAY_DUE_DATE)
150662 WHEN 25 THEN TO_CHAR(h2.AC_DOC_CATEGORY_CODE)
150659 WHEN 22 THEN TO_CHAR(h2.AC_EXCHANGE_DATE)
150660 WHEN 23 THEN TO_CHAR(h2.AC_EXCHANGE_RATE)
150661 WHEN 24 THEN TO_CHAR(h2.AC_EXCHANGE_RATE_TYPE)
150663 WHEN 26 THEN TO_CHAR(h2.PAYMENT_DOCUMENT_SEQUENCE_ID)
150664
150665 ELSE null
150666 END source_value
150667 , CASE r
150668 WHEN 7 THEN fvl15.meaning
150669 WHEN 14 THEN fvl47.meaning
150670 WHEN 20 THEN fvl113.meaning
150671
150672 ELSE null
150673 END source_meaning
150674 FROM xla_events_gt xet
150675 , AP_PAYMENT_EXTRACT_HEADER_V h2
150676 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
150677 , fnd_lookup_values fvl15
150678 , fnd_lookup_values fvl47
150679 , fnd_lookup_values fvl113
150680 ,(select rownum r from all_objects where rownum <= 26 and owner = p_apps_owner)
150681 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
150682 AND xet.event_class_code = C_EVENT_CLASS_CODE
150683 AND h2.event_id = xet.event_id
150684 AND h3.asp_org_id = h2.ac_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
150685 AND fvl15.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
150686 AND fvl15.view_application_id(+) = 200
150687 AND fvl15.language(+) = USERENV('LANG')
150688 AND fvl47.lookup_type(+) = 'YES_NO'
150689 AND fvl47.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
150690 AND fvl47.view_application_id(+) = 0
150691 AND fvl47.language(+) = USERENV('LANG')
150692 AND fvl113.lookup_type(+) = 'YES_NO'
150693 AND fvl113.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
150694 AND fvl113.view_application_id(+) = 0
150695 AND fvl113.language(+) = USERENV('LANG')
150696
150697 )
150698 ;
150699 --
150700 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
150701
150702 trace
150703 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
150704 ,p_level => C_LEVEL_STATEMENT
150705 ,p_module => l_log_module);
150706
150707 END IF;
150708 --
150709
150710
150711
150712 --
150713 INSERT INTO xla_diag_sources --line2
150714 (
150715 event_id
150716 , ledger_id
150717 , sla_ledger_id
150718 , description_language
150719 , object_name
150720 , object_type_code
150721 , line_number
150722 , source_application_id
150723 , source_type_code
150724 , source_code
150725 , source_value
150726 , source_meaning
150727 , created_by
150728 , creation_date
150729 , last_update_date
150730 , last_updated_by
150731 , last_update_login
150732 , program_update_date
150733 , program_application_id
150734 , program_id
150735 , request_id
150736 )
150737 SELECT event_id
150738 , p_target_ledger_id
150739 , p_sla_ledger_id
150740 , p_language
150741 , object_name
150742 , object_type_code
150743 , line_number
150744 , source_application_id
150745 , source_type_code
150746 , source_code
150747 , SUBSTR(source_value,1,1996)
150748 , SUBSTR(source_meaning ,1,200)
150749 , xla_environment_pkg.g_Usr_Id
150750 , TRUNC(SYSDATE)
150751 , TRUNC(SYSDATE)
150752 , xla_environment_pkg.g_Usr_Id
150753 , xla_environment_pkg.g_Login_Id
150754 , TRUNC(SYSDATE)
150755 , xla_environment_pkg.g_Prog_Appl_Id
150756 , xla_environment_pkg.g_Prog_Id
150757 , xla_environment_pkg.g_Req_Id
150758 FROM (
150759 SELECT xet.event_id event_id
150760 , l1.line_number line_number
150761 , CASE r
150762 WHEN 1 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150763 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150764 WHEN 3 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
150765 WHEN 4 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150766 WHEN 5 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150767 WHEN 6 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150768 WHEN 7 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150769 WHEN 8 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150770 WHEN 9 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150771 WHEN 10 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150772 WHEN 11 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150773 WHEN 12 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150774 WHEN 13 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150775 WHEN 14 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150776 WHEN 15 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150777 WHEN 16 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150778 WHEN 17 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150779 WHEN 18 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150780 WHEN 19 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150781 WHEN 20 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150782 WHEN 21 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150783 WHEN 22 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150784 WHEN 23 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
150788 ELSE null
150785 WHEN 24 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150786 WHEN 25 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
150787
150789 END object_name
150790 , CASE r
150791 WHEN 1 THEN 'LINE'
150792 WHEN 2 THEN 'LINE'
150793 WHEN 3 THEN 'LINE'
150794 WHEN 4 THEN 'LINE'
150795 WHEN 5 THEN 'LINE'
150796 WHEN 6 THEN 'LINE'
150797 WHEN 7 THEN 'LINE'
150798 WHEN 8 THEN 'LINE'
150799 WHEN 9 THEN 'LINE'
150800 WHEN 10 THEN 'LINE'
150801 WHEN 11 THEN 'LINE'
150802 WHEN 12 THEN 'LINE'
150803 WHEN 13 THEN 'LINE'
150804 WHEN 14 THEN 'LINE'
150805 WHEN 15 THEN 'LINE'
150806 WHEN 16 THEN 'LINE'
150807 WHEN 17 THEN 'LINE'
150808 WHEN 18 THEN 'LINE'
150809 WHEN 19 THEN 'LINE'
150810 WHEN 20 THEN 'LINE'
150811 WHEN 21 THEN 'LINE'
150812 WHEN 22 THEN 'LINE'
150813 WHEN 23 THEN 'LINE'
150814 WHEN 24 THEN 'LINE'
150815 WHEN 25 THEN 'LINE'
150816
150817 ELSE null
150818 END object_type_code
150819 , CASE r
150820 WHEN 1 THEN '200'
150821 WHEN 2 THEN '200'
150822 WHEN 3 THEN '200'
150823 WHEN 4 THEN '200'
150824 WHEN 5 THEN '200'
150825 WHEN 6 THEN '200'
150826 WHEN 7 THEN '200'
150827 WHEN 8 THEN '200'
150828 WHEN 9 THEN '200'
150829 WHEN 10 THEN '200'
150830 WHEN 11 THEN '200'
150831 WHEN 12 THEN '200'
150832 WHEN 13 THEN '200'
150833 WHEN 14 THEN '200'
150834 WHEN 15 THEN '200'
150835 WHEN 16 THEN '200'
150836 WHEN 17 THEN '200'
150837 WHEN 18 THEN '200'
150838 WHEN 19 THEN '200'
150839 WHEN 20 THEN '200'
150840 WHEN 21 THEN '200'
150841 WHEN 22 THEN '200'
150842 WHEN 23 THEN '200'
150843 WHEN 24 THEN '200'
150844 WHEN 25 THEN '200'
150845
150846 ELSE null
150847 END source_application_id
150848 , 'S' source_type_code
150849 , CASE r
150850 WHEN 1 THEN 'AID_DIST_CCID'
150851 WHEN 2 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
150852 WHEN 3 THEN 'TAX_ACCOUNT_CCID'
150853 WHEN 4 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
150854 WHEN 5 THEN 'DISTRIBUTION_LINK_TYPE'
150855 WHEN 6 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
150856 WHEN 7 THEN 'BUS_FLOW_AP_APP_ID'
150857 WHEN 8 THEN 'BUS_FLOW_INV_DIST_TYPE'
150858 WHEN 9 THEN 'BUS_FLOW_INV_ENTITY_CODE'
150859 WHEN 10 THEN 'BUS_FLOW_INV_DIST_ID'
150860 WHEN 11 THEN 'BUS_FLOW_INV_ID'
150861 WHEN 12 THEN 'APHD_PAY_DIST_LOOKUP_CODE'
150862 WHEN 13 THEN 'APHD_AMOUNT'
150863 WHEN 14 THEN 'BUS_FLOW_PAYMENT_DIST_TYPE'
150864 WHEN 15 THEN 'BUS_FLOW_PAYMENT_ENTITY_CODE'
150865 WHEN 16 THEN 'BUS_FLOW_PAYMENT_DIST_ID'
150866 WHEN 17 THEN 'BUS_FLOW_PAYMENT_ID'
150867 WHEN 18 THEN 'APHD_PAYMENT_HIST_DIST_ID'
150868 WHEN 19 THEN 'APHD_REV_PAY_HIST_DIST_ID'
150869 WHEN 20 THEN 'APHD_PAYMENT_BASE_AMT'
150870 WHEN 21 THEN 'APHD_INVOICE_BASE_AMT'
150871 WHEN 22 THEN 'APHD_MATURED_BASE_AMOUNT'
150872 WHEN 23 THEN 'DEF_REC_SETTLEMENT_OPTION_CODE'
150873 WHEN 24 THEN 'PMT_MAT_BASE_AMT_DIFF'
150874 WHEN 25 THEN 'PMT_MAT_GAIN_LOSS_INDICATOR'
150875
150876 ELSE null
150877 END source_code
150878 , CASE r
150879 WHEN 1 THEN TO_CHAR(l1.AID_DIST_CCID)
150880 WHEN 2 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
150881 WHEN 3 THEN TO_CHAR(l4.TAX_ACCOUNT_CCID)
150882 WHEN 4 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
150883 WHEN 5 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
150884 WHEN 6 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
150885 WHEN 7 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
150886 WHEN 8 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
150887 WHEN 9 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
150888 WHEN 10 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
150889 WHEN 11 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
150890 WHEN 12 THEN TO_CHAR(l1.APHD_PAY_DIST_LOOKUP_CODE)
150891 WHEN 13 THEN TO_CHAR(l1.APHD_AMOUNT)
150892 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_DIST_TYPE)
150893 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_ENTITY_CODE)
150894 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_DIST_ID)
150895 WHEN 17 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_ID)
150896 WHEN 18 THEN TO_CHAR(l1.APHD_PAYMENT_HIST_DIST_ID)
150900 WHEN 22 THEN TO_CHAR(l1.APHD_MATURED_BASE_AMOUNT)
150897 WHEN 19 THEN TO_CHAR(l1.APHD_REV_PAY_HIST_DIST_ID)
150898 WHEN 20 THEN TO_CHAR(l1.APHD_PAYMENT_BASE_AMT)
150899 WHEN 21 THEN TO_CHAR(l1.APHD_INVOICE_BASE_AMT)
150901 WHEN 23 THEN TO_CHAR(l4.DEF_REC_SETTLEMENT_OPTION_CODE)
150902 WHEN 24 THEN TO_CHAR(l1.PMT_MAT_BASE_AMT_DIFF)
150903 WHEN 25 THEN TO_CHAR(l1.PMT_MAT_GAIN_LOSS_INDICATOR)
150904
150905 ELSE null
150906 END source_value
150907 , CASE r
150908 WHEN 2 THEN fvl33.meaning
150909 WHEN 6 THEN fvl80.meaning
150910 WHEN 12 THEN fvl98.meaning
150911 WHEN 23 THEN fvl137.meaning
150912
150913 ELSE null
150914 END source_meaning
150915 FROM xla_events_gt xet
150916 , AP_PAYMENT_EXTRACT_DETAILS_V l1
150917 , ZX_AP_DEF_TAX_EXTRACT_V l4
150918 , fnd_lookup_values fvl33
150919 , fnd_lookup_values fvl80
150920 , fnd_lookup_values fvl98
150921 , fnd_lookup_values fvl137
150922 , (select rownum r from all_objects where rownum <= 25 and owner = p_apps_owner)
150923 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
150924 AND xet.event_class_code = C_EVENT_CLASS_CODE
150925 AND l1.event_id = xet.event_id
150926 AND l1.aid_detail_tax_dist_id = l4.rec_nrec_tax_dist_id (+) AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
150927 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
150928 AND fvl33.view_application_id(+) = 200
150929 AND fvl33.language(+) = USERENV('LANG')
150930 AND fvl80.lookup_type(+) = 'YES_NO'
150931 AND fvl80.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
150932 AND fvl80.view_application_id(+) = 0
150933 AND fvl80.language(+) = USERENV('LANG')
150934 AND fvl98.lookup_type(+) = 'PAY_DIST_TYPES'
150935 AND fvl98.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
150936 AND fvl98.view_application_id(+) = 200
150937 AND fvl98.language(+) = USERENV('LANG')
150938 AND fvl137.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
150939 AND fvl137.lookup_code(+) = l4.DEF_REC_SETTLEMENT_OPTION_CODE
150940 AND fvl137.view_application_id(+) = 0
150941 AND fvl137.language(+) = USERENV('LANG')
150942
150943 )
150944 ;
150945 --
150946 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
150947
150948 trace
150949 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
150950 ,p_level => C_LEVEL_STATEMENT
150951 ,p_module => l_log_module);
150952
150953 END IF;
150954
150955
150956 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
150957 trace
150958 (p_msg => 'END of insert_sources_232'
150959 ,p_level => C_LEVEL_PROCEDURE
150960 ,p_module => l_log_module);
150961 END IF;
150962 EXCEPTION
150963 WHEN xla_exceptions_pkg.application_exception THEN
150964 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
150965 trace
150966 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
150967 ,p_level => C_LEVEL_EXCEPTION
150968 ,p_module => l_log_module);
150969 END IF;
150970 RAISE;
150971 WHEN OTHERS THEN
150972 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
150973 trace
150974 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
150975 ,p_level => C_LEVEL_EXCEPTION
150976 ,p_module => l_log_module);
150977 END IF;
150978 xla_exceptions_pkg.raise_message
150979 (p_location => 'XLA_00200_AAD_S_000002_PKG.insert_sources_232');
150980 END insert_sources_232;
150981 --
150982
150983 ---------------------------------------
150984 --
150985 -- PRIVATE FUNCTION
150986 -- EventClass_232
150987 --
150988 ----------------------------------------
150989 --
150990 FUNCTION EventClass_232
150991 (p_application_id IN NUMBER
150992 ,p_base_ledger_id IN NUMBER
150993 ,p_target_ledger_id IN NUMBER
150994 ,p_language IN VARCHAR2
150995 ,p_currency_code IN VARCHAR2
150996 ,p_sla_ledger_id IN NUMBER
150997 ,p_pad_start_date IN DATE
150998 ,p_pad_end_date IN DATE
150999 ,p_primary_ledger_id IN NUMBER)
151000 RETURN BOOLEAN IS
151001 --
151002 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'FUTURE DATED PAYMENTS_ALL';
151003 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'FUTURE DATED PAYMENTS';
151004
151005 l_calculate_acctd_flag VARCHAR2(1) :='N';
151006 l_calculate_g_l_flag VARCHAR2(1) :='N';
151007 --
151008 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
151009 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
151010 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
151011 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
151012 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
151013 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
151014 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
151018 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
151015 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
151016 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
151017 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
151019 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
151020 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
151021 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
151022 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
151023 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
151024 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
151025 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
151026 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
151027 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
151028 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
151029 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
151030 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
151031 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
151032 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
151033 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
151034
151035 l_event_id NUMBER;
151036 l_previous_event_id NUMBER;
151037 l_first_event_id NUMBER;
151038 l_last_event_id NUMBER;
151039
151040 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
151041 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
151042 --
151043 --
151044 l_result BOOLEAN := TRUE;
151045 l_rows NUMBER := 1000;
151046 l_event_type_name VARCHAR2(80) := 'All';
151047 l_event_class_name VARCHAR2(80) := 'Future Dated Payments';
151048 l_description VARCHAR2(4000);
151049 l_transaction_reversal NUMBER;
151050 l_ae_header_id NUMBER;
151051 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
151052 l_log_module VARCHAR2(240);
151053 --
151054 l_acct_reversal_source VARCHAR2(30);
151055 l_trx_reversal_source VARCHAR2(30);
151056
151057 l_continue_with_lines BOOLEAN := TRUE;
151058 --
151059 l_acc_rev_gl_date_source DATE; -- 4262811
151060 --
151061 type t_array_event_id is table of number index by binary_integer;
151062
151063 l_rec_array_event t_rec_array_event;
151064 l_null_rec_array_event t_rec_array_event;
151065 l_array_ae_header_id xla_number_array_type;
151066 l_actual_flag VARCHAR2(1) := NULL;
151067 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
151068 l_balance_type_code VARCHAR2(1) :=NULL;
151069 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
151070
151071 --
151072 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
151073 --
151074
151075 TYPE t_array_source_6 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.DOC_SEQUENCE_NAME%TYPE INDEX BY BINARY_INTEGER;
151076 TYPE t_array_source_9 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
151077 TYPE t_array_source_10 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_TRANSACTION_NUMBER%TYPE INDEX BY BINARY_INTEGER;
151078 TYPE t_array_source_11 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CHECK_DATE%TYPE INDEX BY BINARY_INTEGER;
151079 TYPE t_array_source_12 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CBA_BANK_ACCOUNT_NAME%TYPE INDEX BY BINARY_INTEGER;
151080 TYPE t_array_source_13 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
151081 TYPE t_array_source_15 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
151082 TYPE t_array_source_17 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_AP_ASSET_CCID%TYPE INDEX BY BINARY_INTEGER;
151083 TYPE t_array_source_35 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_CASH_CLEARING_CCID%TYPE INDEX BY BINARY_INTEGER;
151084 TYPE t_array_source_36 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
151085 TYPE t_array_source_37 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
151086 TYPE t_array_source_38 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
151087 TYPE t_array_source_39 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
151088 TYPE t_array_source_47 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
151089 TYPE t_array_source_49 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_ROUNDING_ERROR_CCID%TYPE INDEX BY BINARY_INTEGER;
151090 TYPE t_array_source_83 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
151091 TYPE t_array_source_97 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_WHEN_TO_ACCOUNT_PMT%TYPE INDEX BY BINARY_INTEGER;
151092 TYPE t_array_source_110 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
151093 TYPE t_array_source_111 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
151094 TYPE t_array_source_113 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CBA_POOLED_BANK_ACOUNT_FLAG%TYPE INDEX BY BINARY_INTEGER;
151098 TYPE t_array_source_119 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
151095 TYPE t_array_source_114 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_FUTURE_PAY_DUE_DATE%TYPE INDEX BY BINARY_INTEGER;
151096 TYPE t_array_source_117 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
151097 TYPE t_array_source_118 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
151099 TYPE t_array_source_170 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_CATEGORY_CODE%TYPE INDEX BY BINARY_INTEGER;
151100 TYPE t_array_source_171 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_DOCUMENT_SEQUENCE_ID%TYPE INDEX BY BINARY_INTEGER;
151101
151102 TYPE t_array_source_30 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
151103 TYPE t_array_source_33 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
151104 TYPE t_array_source_52 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_ACCOUNT_CCID%TYPE INDEX BY BINARY_INTEGER;
151105 TYPE t_array_source_53 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
151106 TYPE t_array_source_55 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
151107 TYPE t_array_source_80 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
151108 TYPE t_array_source_91 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
151109 TYPE t_array_source_92 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
151110 TYPE t_array_source_93 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
151111 TYPE t_array_source_94 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
151112 TYPE t_array_source_95 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
151113 TYPE t_array_source_98 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAY_DIST_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
151114 TYPE t_array_source_99 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
151115 TYPE t_array_source_100 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
151116 TYPE t_array_source_101 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
151117 TYPE t_array_source_102 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
151118 TYPE t_array_source_103 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_ID%TYPE INDEX BY BINARY_INTEGER;
151119 TYPE t_array_source_104 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
151120 TYPE t_array_source_112 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_REV_PAY_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
151121 TYPE t_array_source_115 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
151122 TYPE t_array_source_116 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_INVOICE_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
151123 TYPE t_array_source_121 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_MATURED_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
151124 TYPE t_array_source_137 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.DEF_REC_SETTLEMENT_OPTION_CODE%TYPE INDEX BY BINARY_INTEGER;
151125 TYPE t_array_source_154 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.PMT_MAT_BASE_AMT_DIFF%TYPE INDEX BY BINARY_INTEGER;
151126 TYPE t_array_source_161 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.PMT_MAT_GAIN_LOSS_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
151127
151128 l_array_source_6 t_array_source_6;
151129 l_array_source_9 t_array_source_9;
151130 l_array_source_10 t_array_source_10;
151131 l_array_source_11 t_array_source_11;
151132 l_array_source_12 t_array_source_12;
151133 l_array_source_13 t_array_source_13;
151134 l_array_source_15 t_array_source_15;
151135 l_array_source_15_meaning t_array_lookup_meaning;
151136 l_array_source_17 t_array_source_17;
151137 l_array_source_35 t_array_source_35;
151138 l_array_source_36 t_array_source_36;
151139 l_array_source_37 t_array_source_37;
151140 l_array_source_38 t_array_source_38;
151141 l_array_source_39 t_array_source_39;
151142 l_array_source_47 t_array_source_47;
151143 l_array_source_47_meaning t_array_lookup_meaning;
151144 l_array_source_49 t_array_source_49;
151145 l_array_source_83 t_array_source_83;
151146 l_array_source_97 t_array_source_97;
151147 l_array_source_110 t_array_source_110;
151148 l_array_source_111 t_array_source_111;
151149 l_array_source_113 t_array_source_113;
151150 l_array_source_113_meaning t_array_lookup_meaning;
151151 l_array_source_114 t_array_source_114;
151152 l_array_source_117 t_array_source_117;
151153 l_array_source_118 t_array_source_118;
151154 l_array_source_119 t_array_source_119;
151155 l_array_source_170 t_array_source_170;
151156 l_array_source_171 t_array_source_171;
151157
151158 l_array_source_30 t_array_source_30;
151159 l_array_source_33 t_array_source_33;
151160 l_array_source_33_meaning t_array_lookup_meaning;
151161 l_array_source_52 t_array_source_52;
151162 l_array_source_53 t_array_source_53;
151163 l_array_source_55 t_array_source_55;
151164 l_array_source_80 t_array_source_80;
151165 l_array_source_80_meaning t_array_lookup_meaning;
151166 l_array_source_91 t_array_source_91;
151170 l_array_source_95 t_array_source_95;
151167 l_array_source_92 t_array_source_92;
151168 l_array_source_93 t_array_source_93;
151169 l_array_source_94 t_array_source_94;
151171 l_array_source_98 t_array_source_98;
151172 l_array_source_98_meaning t_array_lookup_meaning;
151173 l_array_source_99 t_array_source_99;
151174 l_array_source_100 t_array_source_100;
151175 l_array_source_101 t_array_source_101;
151176 l_array_source_102 t_array_source_102;
151177 l_array_source_103 t_array_source_103;
151178 l_array_source_104 t_array_source_104;
151179 l_array_source_112 t_array_source_112;
151180 l_array_source_115 t_array_source_115;
151181 l_array_source_116 t_array_source_116;
151182 l_array_source_121 t_array_source_121;
151183 l_array_source_137 t_array_source_137;
151184 l_array_source_137_meaning t_array_lookup_meaning;
151185 l_array_source_154 t_array_source_154;
151186 l_array_source_161 t_array_source_161;
151187
151188 --
151189 CURSOR header_cur
151190 IS
151191 SELECT /*+ leading(xet) cardinality(xet,1) */
151192 -- Event Class Code: FUTURE DATED PAYMENTS
151193 xet.entity_id
151194 ,xet.legal_entity_id
151195 ,xet.entity_code
151196 ,xet.transaction_number
151197 ,xet.event_id
151198 ,xet.event_class_code
151199 ,xet.event_type_code
151200 ,xet.event_number
151201 ,xet.event_date
151202 ,xet.transaction_date
151203 ,xet.reference_num_1
151204 ,xet.reference_num_2
151205 ,xet.reference_num_3
151206 ,xet.reference_num_4
151207 ,xet.reference_char_1
151208 ,xet.reference_char_2
151209 ,xet.reference_char_3
151210 ,xet.reference_char_4
151211 ,xet.reference_date_1
151212 ,xet.reference_date_2
151213 ,xet.reference_date_3
151214 ,xet.reference_date_4
151215 ,xet.event_created_by
151216 ,xet.budgetary_control_flag
151217 , h2.DOC_SEQUENCE_NAME source_6
151218 , h2.AC_DOC_SEQUENCE_VALUE source_9
151219 , h2.PAYMENT_TRANSACTION_NUMBER source_10
151220 , h2.AC_CHECK_DATE source_11
151221 , h2.CBA_BANK_ACCOUNT_NAME source_12
151222 , h2.AC_CURRENCY_CODE source_13
151223 , h3.ASP_AUTOMATIC_OFFSETS_VALUE source_15
151224 , fvl15.meaning source_15_meaning
151225 , h2.CGAC_AP_ASSET_CCID source_17
151226 , h2.CGAC_CASH_CLEARING_CCID source_35
151227 , h2.CGAC_GAIN_CCID source_36
151228 , h3.ASP_GAIN_CCID source_37
151229 , h2.CGAC_LOSS_CCID source_38
151230 , h3.ASP_LOSS_CCID source_39
151231 , h3.ASP_AUTO_OFFSET_FLAG source_47
151232 , fvl47.meaning source_47_meaning
151233 , h3.ASP_ROUNDING_ERROR_CCID source_49
151234 , h2.THIRD_PARTY_TYPE source_83
151235 , h3.ASP_WHEN_TO_ACCOUNT_PMT source_97
151236 , h2.AC_VENDOR_ID source_110
151237 , h2.AC_VENDOR_SITE_ID source_111
151238 , h2.CBA_POOLED_BANK_ACOUNT_FLAG source_113
151239 , fvl113.meaning source_113_meaning
151240 , h2.AC_FUTURE_PAY_DUE_DATE source_114
151241 , h2.AC_EXCHANGE_DATE source_117
151242 , h2.AC_EXCHANGE_RATE source_118
151243 , h2.AC_EXCHANGE_RATE_TYPE source_119
151244 , h2.AC_DOC_CATEGORY_CODE source_170
151245 , h2.PAYMENT_DOCUMENT_SEQUENCE_ID source_171
151246 FROM xla_events_gt xet
151247 , AP_PAYMENT_EXTRACT_HEADER_V h2
151248 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
151249 , fnd_lookup_values fvl15
151250 , fnd_lookup_values fvl47
151251 , fnd_lookup_values fvl113
151252 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
151253 and xet.event_class_code = C_EVENT_CLASS_CODE
151254 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
151255 AND h3.asp_org_id = h2.ac_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
151256 AND fvl15.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
151257 AND fvl15.view_application_id(+) = 200
151258 AND fvl15.language(+) = USERENV('LANG')
151259 AND fvl47.lookup_type(+) = 'YES_NO'
151260 AND fvl47.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
151261 AND fvl47.view_application_id(+) = 0
151262 AND fvl47.language(+) = USERENV('LANG')
151263 AND fvl113.lookup_type(+) = 'YES_NO'
151264 AND fvl113.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
151265 AND fvl113.view_application_id(+) = 0
151266 AND fvl113.language(+) = USERENV('LANG')
151267
151268 ORDER BY event_id
151269 ;
151270
151271
151272 --
151273 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
151274 IS
151275 SELECT /*+ leading(xet) cardinality(xet,1) */
151276 -- Event Class Code: FUTURE DATED PAYMENTS
151277 xet.entity_id
151278 ,xet.legal_entity_id
151279 ,xet.entity_code
151280 ,xet.transaction_number
151281 ,xet.event_id
151282 ,xet.event_class_code
151283 ,xet.event_type_code
151284 ,xet.event_number
151285 ,xet.event_date
151286 ,xet.transaction_date
151287 ,xet.reference_num_1
151288 ,xet.reference_num_2
151289 ,xet.reference_num_3
151290 ,xet.reference_num_4
151291 ,xet.reference_char_1
151292 ,xet.reference_char_2
151293 ,xet.reference_char_3
151294 ,xet.reference_char_4
151295 ,xet.reference_date_1
151296 ,xet.reference_date_2
151297 ,xet.reference_date_3
151298 ,xet.reference_date_4
151299 ,xet.event_created_by
151300 ,xet.budgetary_control_flag
151301 , l1.LINE_NUMBER
151305 , l4.TAX_ACCOUNT_CCID source_52
151302 , l1.AID_DIST_CCID source_30
151303 , l1.AID_LINE_TYPE_LOOKUP_CODE source_33
151304 , fvl33.meaning source_33_meaning
151306 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_53
151307 , l1.DISTRIBUTION_LINK_TYPE source_55
151308 , l1.OVERRIDE_ACCTD_AMT_FLAG source_80
151309 , fvl80.meaning source_80_meaning
151310 , l1.BUS_FLOW_AP_APP_ID source_91
151311 , l1.BUS_FLOW_INV_DIST_TYPE source_92
151312 , l1.BUS_FLOW_INV_ENTITY_CODE source_93
151313 , l1.BUS_FLOW_INV_DIST_ID source_94
151314 , l1.BUS_FLOW_INV_ID source_95
151315 , l1.APHD_PAY_DIST_LOOKUP_CODE source_98
151316 , fvl98.meaning source_98_meaning
151317 , l1.APHD_AMOUNT source_99
151318 , l1.BUS_FLOW_PAYMENT_DIST_TYPE source_100
151319 , l1.BUS_FLOW_PAYMENT_ENTITY_CODE source_101
151320 , l1.BUS_FLOW_PAYMENT_DIST_ID source_102
151321 , l1.BUS_FLOW_PAYMENT_ID source_103
151322 , l1.APHD_PAYMENT_HIST_DIST_ID source_104
151323 , l1.APHD_REV_PAY_HIST_DIST_ID source_112
151324 , l1.APHD_PAYMENT_BASE_AMT source_115
151325 , l1.APHD_INVOICE_BASE_AMT source_116
151326 , l1.APHD_MATURED_BASE_AMOUNT source_121
151327 , l4.DEF_REC_SETTLEMENT_OPTION_CODE source_137
151328 , fvl137.meaning source_137_meaning
151329 , l1.PMT_MAT_BASE_AMT_DIFF source_154
151330 , l1.PMT_MAT_GAIN_LOSS_INDICATOR source_161
151331 FROM xla_events_gt xet
151332 , AP_PAYMENT_EXTRACT_DETAILS_V l1
151333 , ZX_AP_DEF_TAX_EXTRACT_V l4
151334 , fnd_lookup_values fvl33
151335 , fnd_lookup_values fvl80
151336 , fnd_lookup_values fvl98
151337 , fnd_lookup_values fvl137
151338 WHERE xet.event_id between x_first_event_id and x_last_event_id
151339 and xet.event_date between p_pad_start_date and p_pad_end_date
151340 and xet.event_class_code = C_EVENT_CLASS_CODE
151341 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
151342 AND l1.AID_DETAIL_TAX_DIST_ID = l4.REC_NREC_TAX_DIST_ID (+) AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
151343 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
151344 AND fvl33.view_application_id(+) = 200
151345 AND fvl33.language(+) = USERENV('LANG')
151346 AND fvl80.lookup_type(+) = 'YES_NO'
151347 AND fvl80.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
151348 AND fvl80.view_application_id(+) = 0
151349 AND fvl80.language(+) = USERENV('LANG')
151350 AND fvl98.lookup_type(+) = 'PAY_DIST_TYPES'
151351 AND fvl98.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
151352 AND fvl98.view_application_id(+) = 200
151353 AND fvl98.language(+) = USERENV('LANG')
151354 AND fvl137.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
151355 AND fvl137.lookup_code(+) = l4.DEF_REC_SETTLEMENT_OPTION_CODE
151356 AND fvl137.view_application_id(+) = 0
151357 AND fvl137.language(+) = USERENV('LANG')
151358 ;
151359
151360 --
151361 BEGIN
151362 IF g_log_enabled THEN
151363 l_log_module := C_DEFAULT_MODULE||'.EventClass_232';
151364 END IF;
151365 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
151366 trace
151367 (p_msg => 'BEGIN of EventClass_232'
151368 ,p_level => C_LEVEL_PROCEDURE
151369 ,p_module => l_log_module);
151370 END IF;
151371
151372 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
151373 trace
151374 (p_msg => 'p_application_id = '||p_application_id||
151375 ' - p_base_ledger_id = '||p_base_ledger_id||
151376 ' - p_target_ledger_id = '||p_target_ledger_id||
151377 ' - p_language = '||p_language||
151378 ' - p_currency_code = '||p_currency_code||
151379 ' - p_sla_ledger_id = '||p_sla_ledger_id
151380 ,p_level => C_LEVEL_STATEMENT
151381 ,p_module => l_log_module);
151382 END IF;
151383 --
151384 -- initialze arrays
151385 --
151386 g_array_event.DELETE;
151387 l_rec_array_event := l_null_rec_array_event;
151388 --
151389 --------------------------------------
151390 -- 4262811 Initialze MPA Line Number
151391 --------------------------------------
151392 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
151393
151394 --
151395
151396 --
151397 OPEN header_cur;
151398 --
151399 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
151400 trace
151401 (p_msg => 'SQL - FETCH header_cur'
151402 ,p_level => C_LEVEL_STATEMENT
151403 ,p_module => l_log_module);
151404 END IF;
151405 --
151406 LOOP
151407 FETCH header_cur BULK COLLECT INTO
151408 l_array_entity_id
151409 , l_array_legal_entity_id
151410 , l_array_entity_code
151411 , l_array_transaction_num
151412 , l_array_event_id
151413 , l_array_class_code
151414 , l_array_event_type
151415 , l_array_event_number
151416 , l_array_event_date
151417 , l_array_transaction_date
151418 , l_array_reference_num_1
151419 , l_array_reference_num_2
151420 , l_array_reference_num_3
151421 , l_array_reference_num_4
151422 , l_array_reference_char_1
151423 , l_array_reference_char_2
151424 , l_array_reference_char_3
151425 , l_array_reference_char_4
151426 , l_array_reference_date_1
151427 , l_array_reference_date_2
151428 , l_array_reference_date_3
151429 , l_array_reference_date_4
151430 , l_array_event_created_by
151434 , l_array_source_10
151431 , l_array_budgetary_control_flag
151432 , l_array_source_6
151433 , l_array_source_9
151435 , l_array_source_11
151436 , l_array_source_12
151437 , l_array_source_13
151438 , l_array_source_15
151439 , l_array_source_15_meaning
151440 , l_array_source_17
151441 , l_array_source_35
151442 , l_array_source_36
151443 , l_array_source_37
151444 , l_array_source_38
151445 , l_array_source_39
151446 , l_array_source_47
151447 , l_array_source_47_meaning
151448 , l_array_source_49
151449 , l_array_source_83
151450 , l_array_source_97
151451 , l_array_source_110
151452 , l_array_source_111
151453 , l_array_source_113
151454 , l_array_source_113_meaning
151455 , l_array_source_114
151456 , l_array_source_117
151457 , l_array_source_118
151458 , l_array_source_119
151459 , l_array_source_170
151460 , l_array_source_171
151461 LIMIT l_rows;
151462 --
151463 IF (C_LEVEL_EVENT >= g_log_level) THEN
151464 trace
151465 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
151466 ,p_level => C_LEVEL_EVENT
151467 ,p_module => l_log_module);
151468 END IF;
151469 --
151470 EXIT WHEN l_array_entity_id.COUNT = 0;
151471
151472 -- initialize arrays
151473 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
151474 XLA_AE_LINES_PKG.g_rec_lines := NULL;
151475
151476 --
151477 -- Bug 4458708
151478 --
151479 XLA_AE_LINES_PKG.g_LineNumber := 0;
151480
151481
151482 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
151483 g_last_hdr_idx := l_array_event_id.LAST;
151484 --
151485 -- loop for the headers. Each iteration is for each header extract row
151486 -- fetched in header cursor
151487 --
151488 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
151489
151490 --
151491 -- set event info as cache for other routines to refer event attributes
151492 --
151493 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
151494 (p_application_id => p_application_id
151495 ,p_primary_ledger_id => p_primary_ledger_id
151496 ,p_base_ledger_id => p_base_ledger_id
151497 ,p_target_ledger_id => p_target_ledger_id
151498 ,p_entity_id => l_array_entity_id(hdr_idx)
151499 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
151500 ,p_entity_code => l_array_entity_code(hdr_idx)
151501 ,p_transaction_num => l_array_transaction_num(hdr_idx)
151502 ,p_event_id => l_array_event_id(hdr_idx)
151503 ,p_event_class_code => l_array_class_code(hdr_idx)
151504 ,p_event_type_code => l_array_event_type(hdr_idx)
151505 ,p_event_number => l_array_event_number(hdr_idx)
151506 ,p_event_date => l_array_event_date(hdr_idx)
151507 ,p_transaction_date => l_array_transaction_date(hdr_idx)
151508 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
151509 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
151510 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
151511 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
151512 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
151513 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
151514 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
151515 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
151516 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
151517 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
151518 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
151519 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
151520 ,p_event_created_by => l_array_event_created_by(hdr_idx)
151521 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
151522
151523 --
151524 -- set the status of entry to C_VALID (0)
151525 --
151526 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
151527
151528 --
151529 -- initialize a row for ae header
151530 --
151531 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
151532
151533 l_event_id := l_array_event_id(hdr_idx);
151534
151535 --
151536 -- storing the hdr_idx for event. May be used by line cursor.
151537 --
151538 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
151539
151540 --
151541 -- store sources from header extract. This can be improved to
151542 -- store only those sources from header extract that may be used in lines
151543 --
151544
151545 g_array_event(l_event_id).array_value_char('source_6') := l_array_source_6(hdr_idx);
151546 g_array_event(l_event_id).array_value_num('source_9') := l_array_source_9(hdr_idx);
151547 g_array_event(l_event_id).array_value_num('source_10') := l_array_source_10(hdr_idx);
151548 g_array_event(l_event_id).array_value_date('source_11') := l_array_source_11(hdr_idx);
151549 g_array_event(l_event_id).array_value_char('source_12') := l_array_source_12(hdr_idx);
151550 g_array_event(l_event_id).array_value_char('source_13') := l_array_source_13(hdr_idx);
151551 g_array_event(l_event_id).array_value_char('source_15') := l_array_source_15(hdr_idx);
151555 g_array_event(l_event_id).array_value_num('source_36') := l_array_source_36(hdr_idx);
151552 g_array_event(l_event_id).array_value_char('source_15_meaning') := l_array_source_15_meaning(hdr_idx);
151553 g_array_event(l_event_id).array_value_num('source_17') := l_array_source_17(hdr_idx);
151554 g_array_event(l_event_id).array_value_num('source_35') := l_array_source_35(hdr_idx);
151556 g_array_event(l_event_id).array_value_num('source_37') := l_array_source_37(hdr_idx);
151557 g_array_event(l_event_id).array_value_num('source_38') := l_array_source_38(hdr_idx);
151558 g_array_event(l_event_id).array_value_num('source_39') := l_array_source_39(hdr_idx);
151559 g_array_event(l_event_id).array_value_char('source_47') := l_array_source_47(hdr_idx);
151560 g_array_event(l_event_id).array_value_char('source_47_meaning') := l_array_source_47_meaning(hdr_idx);
151561 g_array_event(l_event_id).array_value_num('source_49') := l_array_source_49(hdr_idx);
151562 g_array_event(l_event_id).array_value_char('source_83') := l_array_source_83(hdr_idx);
151563 g_array_event(l_event_id).array_value_char('source_97') := l_array_source_97(hdr_idx);
151564 g_array_event(l_event_id).array_value_num('source_110') := l_array_source_110(hdr_idx);
151565 g_array_event(l_event_id).array_value_num('source_111') := l_array_source_111(hdr_idx);
151566 g_array_event(l_event_id).array_value_char('source_113') := l_array_source_113(hdr_idx);
151567 g_array_event(l_event_id).array_value_char('source_113_meaning') := l_array_source_113_meaning(hdr_idx);
151568 g_array_event(l_event_id).array_value_date('source_114') := l_array_source_114(hdr_idx);
151569 g_array_event(l_event_id).array_value_date('source_117') := l_array_source_117(hdr_idx);
151570 g_array_event(l_event_id).array_value_num('source_118') := l_array_source_118(hdr_idx);
151571 g_array_event(l_event_id).array_value_char('source_119') := l_array_source_119(hdr_idx);
151572 g_array_event(l_event_id).array_value_char('source_170') := l_array_source_170(hdr_idx);
151573 g_array_event(l_event_id).array_value_num('source_171') := l_array_source_171(hdr_idx);
151574
151575 --
151576 -- initilaize the status of ae headers for diffrent balance types
151577 -- the status is initialised to C_NOT_CREATED (2)
151578 --
151579 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
151580 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
151581 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
151582
151583 --
151584 -- call api to validate and store accounting attributes for header
151585 --
151586
151587 ------------------------------------------------------------
151588 -- Accrual Reversal : to get date for Standard Source (NONE)
151589 ------------------------------------------------------------
151590 l_acc_rev_gl_date_source := NULL;
151591
151592 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
151593 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_170');
151594 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
151595 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_171');
151596 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
151597 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_9');
151598 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
151599 l_rec_acct_attrs.array_date_value(4) :=
151600 xla_ae_sources_pkg.GetSystemSourceDate(
151601 p_source_code => 'XLA_EVENT_DATE'
151602 , p_source_type_code => 'Y'
151603 , p_source_application_id => 602
151604 );
151605
151606
151607 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
151608
151609 XLA_AE_HEADER_PKG.SetJeCategoryName;
151610
151611 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
151612 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
151613 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
151614 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
151615 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
151616
151617
151618 --
151619 xla_ae_header_pkg.SetHdrDescription(
151620 p_description => Description_3 (
151621 p_application_id => p_application_id
151622 , p_source_6 => g_array_event(l_event_id).array_value_char('source_6')
151623 , p_source_9 => g_array_event(l_event_id).array_value_num('source_9')
151624 , p_source_10 => g_array_event(l_event_id).array_value_num('source_10')
151625 , p_source_11 => g_array_event(l_event_id).array_value_date('source_11')
151626 , p_source_12 => g_array_event(l_event_id).array_value_char('source_12')
151627 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
151628 )
151629 );
151630 --
151631
151632 -- No header level analytical criteria
151633
151634 --
151635 --accounting attribute enhancement, bug 3612931
151636 --
151637 l_trx_reversal_source := SUBSTR(NULL, 1,30);
151638
151639 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
151640 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
151641
151642 xla_accounting_err_pkg.build_message
151643 (p_appli_s_name => 'XLA'
151644 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
151648 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
151645 ,p_token_1 => 'ACCT_ATTR_NAME'
151646 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
151647 ,p_token_2 => 'PRODUCT_NAME'
151649 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
151650 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
151651 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
151652
151653 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
151654 --
151655 -- following sets the accounting attributes needed to reverse
151656 -- accounting for a distributeion
151657 --
151658 xla_ae_lines_pkg.SetTrxReversalAttrs
151659 (p_event_id => l_event_id
151660 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
151661 ,p_trx_reversal_source => l_trx_reversal_source);
151662
151663 END IF;
151664
151665
151666 ----------------------------------------------------------------
151667 -- 4262811 - update the header statuses to invalid in need be
151668 ----------------------------------------------------------------
151669 --
151670 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
151671
151672
151673 -----------------------------------------------
151674 -- No accrual reversal for the event class/type
151675 -----------------------------------------------
151676 ----------------------------------------------------------------
151677
151678 --
151679 -- this ends the header loop iteration for one bulk fetch
151680 --
151681 END LOOP;
151682
151683 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
151684 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
151685
151686 --
151687 -- insert dummy rows into lines gt table that were created due to
151688 -- transaction reversals
151689 --
151690 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
151691 l_result := XLA_AE_LINES_PKG.InsertLines;
151692 END IF;
151693
151694 --
151695 -- reset the temp_line_num for each set of events fetched from header
151696 -- cursor rather than doing it for each new event in line cursor
151697 -- Bug 3939231
151698 --
151699 xla_ae_lines_pkg.g_temp_line_num := 0;
151700
151701
151702
151703 --
151704 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
151705 --
151706 --
151707 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
151708
151709 trace
151710 (p_msg => 'SQL - FETCH line_cur'
151711 ,p_level => C_LEVEL_STATEMENT
151712 ,p_module => l_log_module);
151713
151714 END IF;
151715 --
151716 --
151717 LOOP
151718 --
151719 FETCH line_cur BULK COLLECT INTO
151720 l_array_entity_id
151721 , l_array_legal_entity_id
151722 , l_array_entity_code
151723 , l_array_transaction_num
151724 , l_array_event_id
151725 , l_array_class_code
151726 , l_array_event_type
151727 , l_array_event_number
151728 , l_array_event_date
151729 , l_array_transaction_date
151730 , l_array_reference_num_1
151731 , l_array_reference_num_2
151732 , l_array_reference_num_3
151733 , l_array_reference_num_4
151734 , l_array_reference_char_1
151735 , l_array_reference_char_2
151736 , l_array_reference_char_3
151737 , l_array_reference_char_4
151738 , l_array_reference_date_1
151739 , l_array_reference_date_2
151740 , l_array_reference_date_3
151741 , l_array_reference_date_4
151742 , l_array_event_created_by
151743 , l_array_budgetary_control_flag
151744 , l_array_extract_line_num
151745 , l_array_source_30
151746 , l_array_source_33
151747 , l_array_source_33_meaning
151748 , l_array_source_52
151749 , l_array_source_53
151750 , l_array_source_55
151751 , l_array_source_80
151752 , l_array_source_80_meaning
151753 , l_array_source_91
151754 , l_array_source_92
151755 , l_array_source_93
151756 , l_array_source_94
151757 , l_array_source_95
151758 , l_array_source_98
151759 , l_array_source_98_meaning
151760 , l_array_source_99
151761 , l_array_source_100
151762 , l_array_source_101
151763 , l_array_source_102
151764 , l_array_source_103
151765 , l_array_source_104
151766 , l_array_source_112
151767 , l_array_source_115
151768 , l_array_source_116
151769 , l_array_source_121
151770 , l_array_source_137
151771 , l_array_source_137_meaning
151772 , l_array_source_154
151773 , l_array_source_161
151774 LIMIT l_rows;
151775
151776 --
151777 IF (C_LEVEL_EVENT >= g_log_level) THEN
151778 trace
151779 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
151780 ,p_level => C_LEVEL_EVENT
151781 ,p_module => l_log_module);
151782 END IF;
151783 --
151784 EXIT WHEN l_array_entity_id.count = 0;
151785
151786 XLA_AE_LINES_PKG.g_rec_lines := null;
151787
151788 --
151789 -- Bug 4458708
151790 --
151794
151791 XLA_AE_LINES_PKG.g_LineNumber := 0;
151792 --
151793 --
151795 FOR Idx IN 1..l_array_event_id.count LOOP
151796 --
151797 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
151798 --
151799 l_event_id := l_array_event_id(idx); -- 5648433
151800
151801 --
151802 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
151803 --
151804
151805 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
151806 (g_array_event(l_event_id).array_value_num('header_index'))
151807 ,'N'
151808 ) <> 'Y'
151809 THEN
151810 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
151811 trace
151812 (p_msg => 'Trancaction revesal option is not Y '
151813 ,p_level => C_LEVEL_STATEMENT
151814 ,p_module => l_log_module);
151815 END IF;
151816
151817 --
151818 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
151819 --
151820 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
151821 --
151822 -- set event info as cache for other routines to refer event attributes
151823 --
151824
151825 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
151826 l_previous_event_id := l_event_id;
151827
151828 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
151829 (p_application_id => p_application_id
151830 ,p_primary_ledger_id => p_primary_ledger_id
151831 ,p_base_ledger_id => p_base_ledger_id
151832 ,p_target_ledger_id => p_target_ledger_id
151833 ,p_entity_id => l_array_entity_id(Idx)
151834 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
151835 ,p_entity_code => l_array_entity_code(Idx)
151836 ,p_transaction_num => l_array_transaction_num(Idx)
151837 ,p_event_id => l_array_event_id(Idx)
151838 ,p_event_class_code => l_array_class_code(Idx)
151839 ,p_event_type_code => l_array_event_type(Idx)
151840 ,p_event_number => l_array_event_number(Idx)
151841 ,p_event_date => l_array_event_date(Idx)
151842 ,p_transaction_date => l_array_transaction_date(Idx)
151843 ,p_reference_num_1 => l_array_reference_num_1(Idx)
151844 ,p_reference_num_2 => l_array_reference_num_2(Idx)
151845 ,p_reference_num_3 => l_array_reference_num_3(Idx)
151846 ,p_reference_num_4 => l_array_reference_num_4(Idx)
151847 ,p_reference_char_1 => l_array_reference_char_1(Idx)
151848 ,p_reference_char_2 => l_array_reference_char_2(Idx)
151849 ,p_reference_char_3 => l_array_reference_char_3(Idx)
151850 ,p_reference_char_4 => l_array_reference_char_4(Idx)
151851 ,p_reference_date_1 => l_array_reference_date_1(Idx)
151852 ,p_reference_date_2 => l_array_reference_date_2(Idx)
151853 ,p_reference_date_3 => l_array_reference_date_3(Idx)
151854 ,p_reference_date_4 => l_array_reference_date_4(Idx)
151855 ,p_event_created_by => l_array_event_created_by(Idx)
151856 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
151857 --
151858 END IF;
151859
151860
151861
151862 --
151863 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
151864
151865 l_acct_reversal_source := SUBSTR(l_array_source_53(Idx), 1,30);
151866
151867 IF l_continue_with_lines THEN
151868 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
151869 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
151870
151871 xla_accounting_err_pkg.build_message
151872 (p_appli_s_name => 'XLA'
151873 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
151874 ,p_token_1 => 'LINE_NUMBER'
151875 ,p_value_1 => l_array_extract_line_num(Idx)
151876 ,p_token_2 => 'PRODUCT_NAME'
151877 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
151878 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
151879 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
151880 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
151881
151882 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
151883 --
151884 -- following sets the accounting attributes needed to reverse
151885 -- accounting for a distributeion
151886 --
151887
151888 --
151889 -- 5217187
151890 --
151891 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
151892 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
151893 g_array_event(l_event_id).array_value_num('header_index'));
151894 --
151895 --
151896
151897 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
151898 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_53(Idx);
151899 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
151900 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_104(Idx);
151901 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
151902 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_55(Idx);
151903 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'PARTY_TYPE';
151907 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'REVERSED_DISTRIBUTION_TYPE';
151904 l_rec_rev_acct_attrs.array_char_value(5) := g_array_event(l_event_id).array_value_char('source_83');
151905 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'REVERSED_DISTRIBUTION_ID1';
151906 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_112(Idx);
151908 l_rec_rev_acct_attrs.array_char_value(7) := l_array_source_55(Idx);
151909
151910
151911 xla_ae_lines_pkg.SetAcctReversalAttrs
151912 (p_event_id => l_event_id
151913 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
151914 ,p_calculate_acctd_flag => l_calculate_acctd_flag
151915 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
151916 END IF;
151917
151918 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
151919 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
151920
151921 --
151922 AcctLineType_66 (
151923 p_application_id => p_application_id
151924 ,p_event_id => l_event_id
151925 ,p_calculate_acctd_flag => l_calculate_acctd_flag
151926 ,p_calculate_g_l_flag => l_calculate_g_l_flag
151927 ,p_actual_flag => l_actual_flag
151928 ,p_balance_type_code => l_balance_type_code
151929 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
151930
151931 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
151932 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
151933 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
151934 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
151935 , p_source_53 => l_array_source_53(Idx)
151936 , p_source_55 => l_array_source_55(Idx)
151937 , p_source_80 => l_array_source_80(Idx)
151938 , p_source_80_meaning => l_array_source_80_meaning(Idx)
151939 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
151940 , p_source_91 => l_array_source_91(Idx)
151941 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
151942 , p_source_98 => l_array_source_98(Idx)
151943 , p_source_98_meaning => l_array_source_98_meaning(Idx)
151944 , p_source_99 => l_array_source_99(Idx)
151945 , p_source_100 => l_array_source_100(Idx)
151946 , p_source_101 => l_array_source_101(Idx)
151947 , p_source_102 => l_array_source_102(Idx)
151948 , p_source_103 => l_array_source_103(Idx)
151949 , p_source_104 => l_array_source_104(Idx)
151950 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
151951 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
151952 , p_source_112 => l_array_source_112(Idx)
151953 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
151954 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
151955 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
151956 , p_source_116 => l_array_source_116(Idx)
151957 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
151958 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
151959 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
151960 );
151961 If(l_balance_type_code = 'A') THEN
151962 l_actual_gain_loss_ref := l_gain_or_loss_ref;
151963 END IF;
151964
151965 --
151966
151967
151968 --
151969 AcctLineType_67 (
151970 p_application_id => p_application_id
151971 ,p_event_id => l_event_id
151972 ,p_calculate_acctd_flag => l_calculate_acctd_flag
151973 ,p_calculate_g_l_flag => l_calculate_g_l_flag
151974 ,p_actual_flag => l_actual_flag
151975 ,p_balance_type_code => l_balance_type_code
151976 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
151977
151981 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
151978 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
151979 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
151980 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
151982 , p_source_53 => l_array_source_53(Idx)
151983 , p_source_55 => l_array_source_55(Idx)
151984 , p_source_80 => l_array_source_80(Idx)
151985 , p_source_80_meaning => l_array_source_80_meaning(Idx)
151986 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
151987 , p_source_91 => l_array_source_91(Idx)
151988 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
151989 , p_source_98 => l_array_source_98(Idx)
151990 , p_source_98_meaning => l_array_source_98_meaning(Idx)
151991 , p_source_99 => l_array_source_99(Idx)
151992 , p_source_100 => l_array_source_100(Idx)
151993 , p_source_101 => l_array_source_101(Idx)
151994 , p_source_102 => l_array_source_102(Idx)
151995 , p_source_103 => l_array_source_103(Idx)
151996 , p_source_104 => l_array_source_104(Idx)
151997 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
151998 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
151999 , p_source_112 => l_array_source_112(Idx)
152000 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
152001 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
152002 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
152003 , p_source_116 => l_array_source_116(Idx)
152004 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
152005 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
152006 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
152007 );
152008 If(l_balance_type_code = 'A') THEN
152009 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152010 END IF;
152011
152012 --
152013
152014
152015 --
152016 AcctLineType_75 (
152017 p_application_id => p_application_id
152018 ,p_event_id => l_event_id
152019 ,p_calculate_acctd_flag => l_calculate_acctd_flag
152020 ,p_calculate_g_l_flag => l_calculate_g_l_flag
152021 ,p_actual_flag => l_actual_flag
152022 ,p_balance_type_code => l_balance_type_code
152023 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
152024
152025 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
152026 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
152027 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
152028 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
152029 , p_source_53 => l_array_source_53(Idx)
152030 , p_source_55 => l_array_source_55(Idx)
152031 , p_source_80 => l_array_source_80(Idx)
152032 , p_source_80_meaning => l_array_source_80_meaning(Idx)
152033 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
152034 , p_source_91 => l_array_source_91(Idx)
152035 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
152036 , p_source_98 => l_array_source_98(Idx)
152037 , p_source_98_meaning => l_array_source_98_meaning(Idx)
152038 , p_source_99 => l_array_source_99(Idx)
152039 , p_source_100 => l_array_source_100(Idx)
152040 , p_source_101 => l_array_source_101(Idx)
152041 , p_source_102 => l_array_source_102(Idx)
152042 , p_source_103 => l_array_source_103(Idx)
152043 , p_source_104 => l_array_source_104(Idx)
152044 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
152045 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
152046 , p_source_112 => l_array_source_112(Idx)
152047 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
152048 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
152049 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
152050 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
152051 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
152052 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
152053 , p_source_121 => l_array_source_121(Idx)
152054 );
152055 If(l_balance_type_code = 'A') THEN
152056 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152057 END IF;
152058
152059 --
152060
152061
152062 --
152063 AcctLineType_76 (
152064 p_application_id => p_application_id
152065 ,p_event_id => l_event_id
152066 ,p_calculate_acctd_flag => l_calculate_acctd_flag
152067 ,p_calculate_g_l_flag => l_calculate_g_l_flag
152068 ,p_actual_flag => l_actual_flag
152069 ,p_balance_type_code => l_balance_type_code
152070 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
152071
152072 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
152073 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
152074 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
152075 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
152076 , p_source_53 => l_array_source_53(Idx)
152077 , p_source_55 => l_array_source_55(Idx)
152078 , p_source_80 => l_array_source_80(Idx)
152079 , p_source_80_meaning => l_array_source_80_meaning(Idx)
152080 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
152081 , p_source_91 => l_array_source_91(Idx)
152082 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
152083 , p_source_98 => l_array_source_98(Idx)
152084 , p_source_98_meaning => l_array_source_98_meaning(Idx)
152085 , p_source_99 => l_array_source_99(Idx)
152086 , p_source_100 => l_array_source_100(Idx)
152087 , p_source_101 => l_array_source_101(Idx)
152088 , p_source_102 => l_array_source_102(Idx)
152089 , p_source_103 => l_array_source_103(Idx)
152090 , p_source_104 => l_array_source_104(Idx)
152091 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
152095 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
152092 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
152093 , p_source_112 => l_array_source_112(Idx)
152094 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
152096 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
152097 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
152098 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
152099 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
152100 , p_source_121 => l_array_source_121(Idx)
152101 );
152102 If(l_balance_type_code = 'A') THEN
152103 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152104 END IF;
152105
152106 --
152107
152108
152109 --
152110 AcctLineType_77 (
152111 p_application_id => p_application_id
152112 ,p_event_id => l_event_id
152113 ,p_calculate_acctd_flag => l_calculate_acctd_flag
152114 ,p_calculate_g_l_flag => l_calculate_g_l_flag
152115 ,p_actual_flag => l_actual_flag
152116 ,p_balance_type_code => l_balance_type_code
152117 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
152118
152119 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
152120 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
152121 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
152122 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
152123 , p_source_53 => l_array_source_53(Idx)
152124 , p_source_55 => l_array_source_55(Idx)
152125 , p_source_80 => l_array_source_80(Idx)
152126 , p_source_80_meaning => l_array_source_80_meaning(Idx)
152127 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
152128 , p_source_91 => l_array_source_91(Idx)
152129 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
152130 , p_source_98 => l_array_source_98(Idx)
152131 , p_source_98_meaning => l_array_source_98_meaning(Idx)
152132 , p_source_99 => l_array_source_99(Idx)
152133 , p_source_100 => l_array_source_100(Idx)
152134 , p_source_101 => l_array_source_101(Idx)
152135 , p_source_102 => l_array_source_102(Idx)
152136 , p_source_103 => l_array_source_103(Idx)
152137 , p_source_104 => l_array_source_104(Idx)
152138 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
152139 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
152140 , p_source_112 => l_array_source_112(Idx)
152141 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
152142 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
152143 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
152144 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
152145 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
152146 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
152147 , p_source_121 => l_array_source_121(Idx)
152148 );
152149 If(l_balance_type_code = 'A') THEN
152150 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152151 END IF;
152152
152153 --
152154
152155
152156 --
152157 AcctLineType_78 (
152158 p_application_id => p_application_id
152159 ,p_event_id => l_event_id
152160 ,p_calculate_acctd_flag => l_calculate_acctd_flag
152161 ,p_calculate_g_l_flag => l_calculate_g_l_flag
152162 ,p_actual_flag => l_actual_flag
152163 ,p_balance_type_code => l_balance_type_code
152164 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
152165
152166 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
152167 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
152168 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
152169 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
152170 , p_source_53 => l_array_source_53(Idx)
152171 , p_source_55 => l_array_source_55(Idx)
152172 , p_source_80 => l_array_source_80(Idx)
152173 , p_source_80_meaning => l_array_source_80_meaning(Idx)
152174 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
152175 , p_source_91 => l_array_source_91(Idx)
152176 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
152177 , p_source_98 => l_array_source_98(Idx)
152178 , p_source_98_meaning => l_array_source_98_meaning(Idx)
152179 , p_source_99 => l_array_source_99(Idx)
152180 , p_source_100 => l_array_source_100(Idx)
152181 , p_source_101 => l_array_source_101(Idx)
152182 , p_source_102 => l_array_source_102(Idx)
152183 , p_source_103 => l_array_source_103(Idx)
152184 , p_source_104 => l_array_source_104(Idx)
152185 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
152186 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
152187 , p_source_112 => l_array_source_112(Idx)
152188 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
152189 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
152190 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
152191 , p_source_116 => l_array_source_116(Idx)
152192 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
152193 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
152194 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
152195 );
152196 If(l_balance_type_code = 'A') THEN
152197 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152198 END IF;
152199
152200 --
152201
152202
152203 --
152204 AcctLineType_88 (
152205 p_application_id => p_application_id
152206 ,p_event_id => l_event_id
152207 ,p_calculate_acctd_flag => l_calculate_acctd_flag
152208 ,p_calculate_g_l_flag => l_calculate_g_l_flag
152209 ,p_actual_flag => l_actual_flag
152210 ,p_balance_type_code => l_balance_type_code
152211 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
152212
152216 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
152213 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
152214 , p_source_17 => g_array_event(l_event_id).array_value_num('source_17')
152215 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
152217 , p_source_53 => l_array_source_53(Idx)
152218 , p_source_55 => l_array_source_55(Idx)
152219 , p_source_80 => l_array_source_80(Idx)
152220 , p_source_80_meaning => l_array_source_80_meaning(Idx)
152221 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
152222 , p_source_91 => l_array_source_91(Idx)
152223 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
152224 , p_source_98 => l_array_source_98(Idx)
152225 , p_source_98_meaning => l_array_source_98_meaning(Idx)
152226 , p_source_99 => l_array_source_99(Idx)
152227 , p_source_100 => l_array_source_100(Idx)
152228 , p_source_101 => l_array_source_101(Idx)
152229 , p_source_102 => l_array_source_102(Idx)
152230 , p_source_103 => l_array_source_103(Idx)
152231 , p_source_104 => l_array_source_104(Idx)
152232 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
152233 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
152234 , p_source_112 => l_array_source_112(Idx)
152235 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
152236 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
152237 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
152238 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
152239 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
152240 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
152241 , p_source_121 => l_array_source_121(Idx)
152242 );
152243 If(l_balance_type_code = 'A') THEN
152244 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152245 END IF;
152246
152247 --
152248
152249
152250 --
152251 AcctLineType_89 (
152252 p_application_id => p_application_id
152253 ,p_event_id => l_event_id
152254 ,p_calculate_acctd_flag => l_calculate_acctd_flag
152255 ,p_calculate_g_l_flag => l_calculate_g_l_flag
152256 ,p_actual_flag => l_actual_flag
152257 ,p_balance_type_code => l_balance_type_code
152258 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
152259
152260 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
152261 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
152262 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
152263 , p_source_17 => g_array_event(l_event_id).array_value_num('source_17')
152264 , p_source_53 => l_array_source_53(Idx)
152265 , p_source_55 => l_array_source_55(Idx)
152266 , p_source_80 => l_array_source_80(Idx)
152267 , p_source_80_meaning => l_array_source_80_meaning(Idx)
152268 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
152269 , p_source_91 => l_array_source_91(Idx)
152270 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
152271 , p_source_98 => l_array_source_98(Idx)
152272 , p_source_98_meaning => l_array_source_98_meaning(Idx)
152273 , p_source_99 => l_array_source_99(Idx)
152274 , p_source_100 => l_array_source_100(Idx)
152275 , p_source_101 => l_array_source_101(Idx)
152276 , p_source_102 => l_array_source_102(Idx)
152277 , p_source_103 => l_array_source_103(Idx)
152278 , p_source_104 => l_array_source_104(Idx)
152279 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
152280 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
152281 , p_source_112 => l_array_source_112(Idx)
152282 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
152283 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
152284 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
152285 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
152286 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
152287 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
152288 , p_source_121 => l_array_source_121(Idx)
152289 );
152290 If(l_balance_type_code = 'A') THEN
152291 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152292 END IF;
152293
152294 --
152295
152296
152297 --
152298 AcctLineType_90 (
152299 p_application_id => p_application_id
152300 ,p_event_id => l_event_id
152301 ,p_calculate_acctd_flag => l_calculate_acctd_flag
152302 ,p_calculate_g_l_flag => l_calculate_g_l_flag
152303 ,p_actual_flag => l_actual_flag
152304 ,p_balance_type_code => l_balance_type_code
152305 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
152306
152307 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
152308 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
152309 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
152310 , p_source_17 => g_array_event(l_event_id).array_value_num('source_17')
152311 , p_source_53 => l_array_source_53(Idx)
152312 , p_source_55 => l_array_source_55(Idx)
152313 , p_source_80 => l_array_source_80(Idx)
152314 , p_source_80_meaning => l_array_source_80_meaning(Idx)
152315 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
152316 , p_source_91 => l_array_source_91(Idx)
152317 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
152318 , p_source_98 => l_array_source_98(Idx)
152319 , p_source_98_meaning => l_array_source_98_meaning(Idx)
152320 , p_source_99 => l_array_source_99(Idx)
152321 , p_source_100 => l_array_source_100(Idx)
152322 , p_source_101 => l_array_source_101(Idx)
152323 , p_source_102 => l_array_source_102(Idx)
152324 , p_source_103 => l_array_source_103(Idx)
152325 , p_source_104 => l_array_source_104(Idx)
152326 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
152327 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
152328 , p_source_112 => l_array_source_112(Idx)
152329 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
152330 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
152331 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
152332 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
152333 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
152334 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
152335 , p_source_121 => l_array_source_121(Idx)
152336 );
152337 If(l_balance_type_code = 'A') THEN
152338 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152339 END IF;
152340
152341 --
152342
152343
152344 --
152345 AcctLineType_97 (
152346 p_application_id => p_application_id
152347 ,p_event_id => l_event_id
152348 ,p_calculate_acctd_flag => l_calculate_acctd_flag
152349 ,p_calculate_g_l_flag => l_calculate_g_l_flag
152350 ,p_actual_flag => l_actual_flag
152351 ,p_balance_type_code => l_balance_type_code
152352 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
152353
152354 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
152355 , p_source_33 => l_array_source_33(Idx)
152356 , p_source_33_meaning => l_array_source_33_meaning(Idx)
152357 , p_source_53 => l_array_source_53(Idx)
152358 , p_source_55 => l_array_source_55(Idx)
152359 , p_source_80 => l_array_source_80(Idx)
152360 , p_source_80_meaning => l_array_source_80_meaning(Idx)
152361 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
152362 , p_source_91 => l_array_source_91(Idx)
152363 , p_source_92 => l_array_source_92(Idx)
152364 , p_source_93 => l_array_source_93(Idx)
152365 , p_source_94 => l_array_source_94(Idx)
152366 , p_source_95 => l_array_source_95(Idx)
152367 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
152368 , p_source_98 => l_array_source_98(Idx)
152372 , p_source_112 => l_array_source_112(Idx)
152369 , p_source_98_meaning => l_array_source_98_meaning(Idx)
152370 , p_source_99 => l_array_source_99(Idx)
152371 , p_source_104 => l_array_source_104(Idx)
152373 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
152374 , p_source_121 => l_array_source_121(Idx)
152375 , p_source_137 => l_array_source_137(Idx)
152376 , p_source_137_meaning => l_array_source_137_meaning(Idx)
152377 );
152378 If(l_balance_type_code = 'A') THEN
152379 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152380 END IF;
152381
152382 --
152383
152384
152385 --
152386 AcctLineType_101 (
152387 p_application_id => p_application_id
152388 ,p_event_id => l_event_id
152389 ,p_calculate_acctd_flag => l_calculate_acctd_flag
152390 ,p_calculate_g_l_flag => l_calculate_g_l_flag
152391 ,p_actual_flag => l_actual_flag
152392 ,p_balance_type_code => l_balance_type_code
152393 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
152394
152395 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
152396 , p_source_33 => l_array_source_33(Idx)
152397 , p_source_33_meaning => l_array_source_33_meaning(Idx)
152398 , p_source_52 => l_array_source_52(Idx)
152399 , p_source_53 => l_array_source_53(Idx)
152400 , p_source_55 => l_array_source_55(Idx)
152401 , p_source_80 => l_array_source_80(Idx)
152402 , p_source_80_meaning => l_array_source_80_meaning(Idx)
152403 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
152404 , p_source_91 => l_array_source_91(Idx)
152405 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
152406 , p_source_98 => l_array_source_98(Idx)
152407 , p_source_98_meaning => l_array_source_98_meaning(Idx)
152408 , p_source_99 => l_array_source_99(Idx)
152409 , p_source_100 => l_array_source_100(Idx)
152410 , p_source_101 => l_array_source_101(Idx)
152411 , p_source_102 => l_array_source_102(Idx)
152412 , p_source_103 => l_array_source_103(Idx)
152413 , p_source_104 => l_array_source_104(Idx)
152414 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
152415 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
152416 , p_source_112 => l_array_source_112(Idx)
152417 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
152418 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
152419 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
152420 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
152421 , p_source_121 => l_array_source_121(Idx)
152422 , p_source_137 => l_array_source_137(Idx)
152423 , p_source_137_meaning => l_array_source_137_meaning(Idx)
152424 );
152425 If(l_balance_type_code = 'A') THEN
152426 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152427 END IF;
152428
152429 --
152430
152431
152432 --
152433 AcctLineType_122 (
152434 p_application_id => p_application_id
152435 ,p_event_id => l_event_id
152436 ,p_calculate_acctd_flag => l_calculate_acctd_flag
152437 ,p_calculate_g_l_flag => l_calculate_g_l_flag
152438 ,p_actual_flag => l_actual_flag
152439 ,p_balance_type_code => l_balance_type_code
152440 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
152441
152442 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
152443 , p_source_53 => l_array_source_53(Idx)
152444 , p_source_55 => l_array_source_55(Idx)
152445 , p_source_80 => l_array_source_80(Idx)
152446 , p_source_80_meaning => l_array_source_80_meaning(Idx)
152447 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
152448 , p_source_91 => l_array_source_91(Idx)
152449 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
152450 , p_source_98 => l_array_source_98(Idx)
152451 , p_source_98_meaning => l_array_source_98_meaning(Idx)
152452 , p_source_99 => l_array_source_99(Idx)
152453 , p_source_100 => l_array_source_100(Idx)
152454 , p_source_101 => l_array_source_101(Idx)
152455 , p_source_102 => l_array_source_102(Idx)
152456 , p_source_103 => l_array_source_103(Idx)
152457 , p_source_104 => l_array_source_104(Idx)
152458 , p_source_112 => l_array_source_112(Idx)
152459 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
152460 , p_source_115 => l_array_source_115(Idx)
152461 );
152462 If(l_balance_type_code = 'A') THEN
152463 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152464 END IF;
152465
152466 --
152467
152468
152469 --
152470 AcctLineType_123 (
152471 p_application_id => p_application_id
152472 ,p_event_id => l_event_id
152473 ,p_calculate_acctd_flag => l_calculate_acctd_flag
152474 ,p_calculate_g_l_flag => l_calculate_g_l_flag
152475 ,p_actual_flag => l_actual_flag
152476 ,p_balance_type_code => l_balance_type_code
152477 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
152478
152479 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
152480 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
152481 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
152482 , p_source_30 => l_array_source_30(Idx)
152483 , p_source_49 => g_array_event(l_event_id).array_value_num('source_49')
152484 , p_source_53 => l_array_source_53(Idx)
152485 , p_source_55 => l_array_source_55(Idx)
152486 , p_source_80 => l_array_source_80(Idx)
152487 , p_source_80_meaning => l_array_source_80_meaning(Idx)
152488 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
152489 , p_source_91 => l_array_source_91(Idx)
152490 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
152491 , p_source_98 => l_array_source_98(Idx)
152492 , p_source_98_meaning => l_array_source_98_meaning(Idx)
152493 , p_source_99 => l_array_source_99(Idx)
152494 , p_source_100 => l_array_source_100(Idx)
152495 , p_source_101 => l_array_source_101(Idx)
152496 , p_source_102 => l_array_source_102(Idx)
152497 , p_source_103 => l_array_source_103(Idx)
152501 , p_source_112 => l_array_source_112(Idx)
152498 , p_source_104 => l_array_source_104(Idx)
152499 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
152500 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
152502 , p_source_115 => l_array_source_115(Idx)
152503 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
152504 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
152505 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
152506 );
152507 If(l_balance_type_code = 'A') THEN
152508 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152509 END IF;
152510
152511 --
152512
152513
152514 --
152515 AcctLineType_127 (
152516 p_application_id => p_application_id
152517 ,p_event_id => l_event_id
152518 ,p_calculate_acctd_flag => l_calculate_acctd_flag
152519 ,p_calculate_g_l_flag => l_calculate_g_l_flag
152520 ,p_actual_flag => l_actual_flag
152521 ,p_balance_type_code => l_balance_type_code
152522 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
152523
152524 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
152525 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
152526 , p_source_30 => l_array_source_30(Idx)
152527 , p_source_36 => g_array_event(l_event_id).array_value_num('source_36')
152528 , p_source_37 => g_array_event(l_event_id).array_value_num('source_37')
152529 , p_source_38 => g_array_event(l_event_id).array_value_num('source_38')
152530 , p_source_39 => g_array_event(l_event_id).array_value_num('source_39')
152531 , p_source_53 => l_array_source_53(Idx)
152532 , p_source_55 => l_array_source_55(Idx)
152533 , p_source_80 => l_array_source_80(Idx)
152534 , p_source_80_meaning => l_array_source_80_meaning(Idx)
152535 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
152536 , p_source_91 => l_array_source_91(Idx)
152537 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
152538 , p_source_98 => l_array_source_98(Idx)
152539 , p_source_98_meaning => l_array_source_98_meaning(Idx)
152540 , p_source_100 => l_array_source_100(Idx)
152541 , p_source_101 => l_array_source_101(Idx)
152542 , p_source_102 => l_array_source_102(Idx)
152543 , p_source_103 => l_array_source_103(Idx)
152544 , p_source_104 => l_array_source_104(Idx)
152545 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
152546 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
152547 , p_source_112 => l_array_source_112(Idx)
152548 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
152549 , p_source_154 => l_array_source_154(Idx)
152550 );
152551 If(l_balance_type_code = 'A') THEN
152552 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152553 END IF;
152554
152555 --
152556
152557
152558 --
152559 AcctLineType_133 (
152560 p_application_id => p_application_id
152561 ,p_event_id => l_event_id
152562 ,p_calculate_acctd_flag => l_calculate_acctd_flag
152563 ,p_calculate_g_l_flag => l_calculate_g_l_flag
152564 ,p_actual_flag => l_actual_flag
152565 ,p_balance_type_code => l_balance_type_code
152566 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
152567
152568 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
152569 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
152570 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
152571 , p_source_30 => l_array_source_30(Idx)
152572 , p_source_36 => g_array_event(l_event_id).array_value_num('source_36')
152573 , p_source_37 => g_array_event(l_event_id).array_value_num('source_37')
152574 , p_source_53 => l_array_source_53(Idx)
152575 , p_source_55 => l_array_source_55(Idx)
152576 , p_source_80 => l_array_source_80(Idx)
152577 , p_source_80_meaning => l_array_source_80_meaning(Idx)
152578 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
152579 , p_source_91 => l_array_source_91(Idx)
152580 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
152581 , p_source_98 => l_array_source_98(Idx)
152582 , p_source_98_meaning => l_array_source_98_meaning(Idx)
152583 , p_source_99 => l_array_source_99(Idx)
152584 , p_source_100 => l_array_source_100(Idx)
152585 , p_source_101 => l_array_source_101(Idx)
152586 , p_source_102 => l_array_source_102(Idx)
152587 , p_source_103 => l_array_source_103(Idx)
152588 , p_source_104 => l_array_source_104(Idx)
152589 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
152590 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
152591 , p_source_112 => l_array_source_112(Idx)
152592 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
152593 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
152594 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
152595 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
152596 , p_source_154 => l_array_source_154(Idx)
152597 , p_source_161 => l_array_source_161(Idx)
152598 );
152599 If(l_balance_type_code = 'A') THEN
152600 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152601 END IF;
152602
152603 --
152604
152605
152606 --
152607 AcctLineType_167 (
152608 p_application_id => p_application_id
152609 ,p_event_id => l_event_id
152610 ,p_calculate_acctd_flag => l_calculate_acctd_flag
152611 ,p_calculate_g_l_flag => l_calculate_g_l_flag
152612 ,p_actual_flag => l_actual_flag
152613 ,p_balance_type_code => l_balance_type_code
152614 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
152615
152616 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
152617 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
152618 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
152619 , p_source_30 => l_array_source_30(Idx)
152620 , p_source_38 => g_array_event(l_event_id).array_value_num('source_38')
152624 , p_source_80 => l_array_source_80(Idx)
152621 , p_source_39 => g_array_event(l_event_id).array_value_num('source_39')
152622 , p_source_53 => l_array_source_53(Idx)
152623 , p_source_55 => l_array_source_55(Idx)
152625 , p_source_80_meaning => l_array_source_80_meaning(Idx)
152626 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
152627 , p_source_91 => l_array_source_91(Idx)
152628 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
152629 , p_source_98 => l_array_source_98(Idx)
152630 , p_source_98_meaning => l_array_source_98_meaning(Idx)
152631 , p_source_99 => l_array_source_99(Idx)
152632 , p_source_100 => l_array_source_100(Idx)
152633 , p_source_101 => l_array_source_101(Idx)
152634 , p_source_102 => l_array_source_102(Idx)
152635 , p_source_103 => l_array_source_103(Idx)
152636 , p_source_104 => l_array_source_104(Idx)
152637 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
152638 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
152639 , p_source_112 => l_array_source_112(Idx)
152640 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
152641 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
152642 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
152643 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
152644 , p_source_154 => l_array_source_154(Idx)
152645 , p_source_161 => l_array_source_161(Idx)
152646 );
152647 If(l_balance_type_code = 'A') THEN
152648 l_actual_gain_loss_ref := l_gain_or_loss_ref;
152649 END IF;
152650
152651 --
152652
152653 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
152654 -- or secondary ledger that has different currency with primary
152655 -- or alc that is calculated by sla
152656 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
152657 (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'))
152658
152659 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
152660 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
152661 AND (l_actual_flag = 'A')) THEN
152662 XLA_AE_LINES_PKG.CreateGainOrLossLines(
152663 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
152664 ,p_application_id => p_application_id
152665 ,p_amb_context_code => 'DEFAULT'
152666 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
152667 ,p_event_class_code => C_EVENT_CLASS_CODE
152668 ,p_event_type_code => C_EVENT_TYPE_CODE
152669
152670 ,p_gain_ccid => -1
152671 ,p_loss_ccid => -1
152672
152673 ,p_actual_flag => l_actual_flag
152674 ,p_enc_flag => null
152675 ,p_actual_g_l_ref => l_actual_gain_loss_ref
152676 ,p_enc_g_l_ref => null
152677 );
152678 END IF;
152679 END IF;
152680 END IF;
152681
152682 ELSE
152683 --
152684 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
152685 --
152686 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
152687 trace
152688 (p_msg => 'Trancaction revesal option is Y'
152689 ,p_level => C_LEVEL_STATEMENT
152690 ,p_module => l_log_module);
152691 END IF;
152692 END IF;
152693
152694 END LOOP;
152695 l_result := XLA_AE_LINES_PKG.InsertLines ;
152696 end loop;
152697 close line_cur;
152698
152699
152700 --
152701 -- insert headers into xla_ae_headers_gt table
152702 --
152703 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
152704
152705 -- insert into errors table here.
152706
152707 END LOOP;
152708
152709 --
152710 -- 4865292
152711 --
152712 -- Compare g_hdr_extract_count with event count in
152713 -- CreateHeadersAndLines.
152714 --
152715 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
152716
152717 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
152718 trace (p_msg => '# rows extracted from header extract objects '
152719 || ' (running total): '
152720 || g_hdr_extract_count
152721 ,p_level => C_LEVEL_STATEMENT
152722 ,p_module => l_log_module);
152723 END IF;
152724
152725 CLOSE header_cur;
152726 --
152727
152728 --
152729 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
152730 trace
152731 (p_msg => 'END of EventClass_232'
152732 ,p_level => C_LEVEL_PROCEDURE
152733 ,p_module => l_log_module);
152734 END IF;
152735 --
152736 RETURN l_result;
152737 EXCEPTION
152738 WHEN xla_exceptions_pkg.application_exception THEN
152739
152740 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
152741
152742
152743 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
152744
152745 RAISE;
152746
152747 WHEN NO_DATA_FOUND THEN
152748
152749 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
152750 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
152751
152752 FOR header_record IN header_cur
152753 LOOP
152754 l_array_header_events(header_record.event_id) := header_record.event_id;
152755 END LOOP;
152756
152757 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
152758 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
152759
152760 fnd_file.put_line(fnd_file.LOG, ' ');
152761 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
152762 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
152766 LOOP
152763 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
152764
152765 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
152767 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
152768 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
152769 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
152770 END IF;
152771 END LOOP;
152772
152773 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
152774 fnd_file.put_line(fnd_file.LOG, ' ');
152775
152776
152777 xla_exceptions_pkg.raise_message
152778 (p_location => 'XLA_00200_AAD_S_000002_PKG.EventClass_232');
152779
152780
152781 WHEN OTHERS THEN
152782 xla_exceptions_pkg.raise_message
152783 (p_location => 'XLA_00200_AAD_S_000002_PKG.EventClass_232');
152784 END EventClass_232;
152785 --
152786
152787 ---------------------------------------
152788 --
152789 -- PRIVATE PROCEDURE
152790 -- insert_sources_233
152791 --
152792 ----------------------------------------
152793 --
152794 PROCEDURE insert_sources_233(
152795 p_target_ledger_id IN NUMBER
152796 , p_language IN VARCHAR2
152797 , p_sla_ledger_id IN NUMBER
152798 , p_pad_start_date IN DATE
152799 , p_pad_end_date IN DATE
152800 )
152801 IS
152802
152803 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'INVOICES_ALL';
152804 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'INVOICES';
152805 p_apps_owner VARCHAR2(30);
152806 l_log_module VARCHAR2(240);
152807 BEGIN
152808 IF g_log_enabled THEN
152809 l_log_module := C_DEFAULT_MODULE||'.insert_sources_233';
152810 END IF;
152811 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
152812
152813 trace
152814 (p_msg => 'BEGIN of insert_sources_233'
152815 ,p_level => C_LEVEL_PROCEDURE
152816 ,p_module => l_log_module);
152817
152818 END IF;
152819
152820 -- select APPS owner
152821 SELECT oracle_username
152822 INTO p_apps_owner
152823 FROM fnd_oracle_userid
152824 WHERE read_only_flag = 'U'
152825 ;
152826
152827 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
152828 trace
152829 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
152830 ' - p_language = '||p_language||
152831 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
152832 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
152833 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
152834 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
152835 ,p_level => C_LEVEL_STATEMENT
152836 ,p_module => l_log_module);
152837 END IF;
152838
152839
152840 --
152841 INSERT INTO xla_diag_sources --hdr2
152842 (
152843 event_id
152844 , ledger_id
152845 , sla_ledger_id
152846 , description_language
152847 , object_name
152848 , object_type_code
152849 , line_number
152850 , source_application_id
152851 , source_type_code
152852 , source_code
152853 , source_value
152854 , source_meaning
152855 , created_by
152856 , creation_date
152857 , last_update_date
152858 , last_updated_by
152859 , last_update_login
152860 , program_update_date
152861 , program_application_id
152862 , program_id
152863 , request_id
152864 )
152865 SELECT
152866 event_id
152867 , p_target_ledger_id
152868 , p_sla_ledger_id
152869 , p_language
152870 , object_name
152871 , object_type_code
152872 , line_number
152873 , source_application_id
152874 , source_type_code
152875 , source_code
152876 , SUBSTR(source_value ,1,1996)
152877 , SUBSTR(source_meaning ,1,200)
152878 , xla_environment_pkg.g_Usr_Id
152879 , TRUNC(SYSDATE)
152880 , TRUNC(SYSDATE)
152881 , xla_environment_pkg.g_Usr_Id
152882 , xla_environment_pkg.g_Login_Id
152883 , TRUNC(SYSDATE)
152884 , xla_environment_pkg.g_Prog_Appl_Id
152885 , xla_environment_pkg.g_Prog_Id
152886 , xla_environment_pkg.g_Req_Id
152887 FROM (
152888 SELECT xet.event_id event_id
152889 , 0 line_number
152890 , CASE r
152891 WHEN 1 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152892 WHEN 2 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152893 WHEN 3 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152894 WHEN 4 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152895 WHEN 5 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152896 WHEN 6 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152897 WHEN 7 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
152898 WHEN 8 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
152899 WHEN 9 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
152900 WHEN 10 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152901 WHEN 11 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
152902 WHEN 12 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
152903 WHEN 13 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152904 WHEN 14 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152905 WHEN 15 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152906 WHEN 16 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152907 WHEN 17 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152911 WHEN 21 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152908 WHEN 18 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152909 WHEN 19 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152910 WHEN 20 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152912 WHEN 22 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152913
152914 ELSE null
152915 END object_name
152916 , CASE r
152917 WHEN 1 THEN 'HEADER'
152918 WHEN 2 THEN 'HEADER'
152919 WHEN 3 THEN 'HEADER'
152920 WHEN 4 THEN 'HEADER'
152921 WHEN 5 THEN 'HEADER'
152922 WHEN 6 THEN 'HEADER'
152923 WHEN 7 THEN 'HEADER'
152924 WHEN 8 THEN 'HEADER'
152925 WHEN 9 THEN 'HEADER'
152926 WHEN 10 THEN 'HEADER'
152927 WHEN 11 THEN 'HEADER'
152928 WHEN 12 THEN 'HEADER'
152929 WHEN 13 THEN 'HEADER'
152930 WHEN 14 THEN 'HEADER'
152931 WHEN 15 THEN 'HEADER'
152932 WHEN 16 THEN 'HEADER'
152933 WHEN 17 THEN 'HEADER'
152934 WHEN 18 THEN 'HEADER'
152935 WHEN 19 THEN 'HEADER'
152936 WHEN 20 THEN 'HEADER'
152937 WHEN 21 THEN 'HEADER'
152938 WHEN 22 THEN 'HEADER'
152939
152940 ELSE null
152941 END object_type_code
152942 , CASE r
152943 WHEN 1 THEN '200'
152944 WHEN 2 THEN '200'
152945 WHEN 3 THEN '200'
152946 WHEN 4 THEN '200'
152947 WHEN 5 THEN '200'
152948 WHEN 6 THEN '200'
152949 WHEN 7 THEN '200'
152950 WHEN 8 THEN '200'
152951 WHEN 9 THEN '200'
152952 WHEN 10 THEN '200'
152953 WHEN 11 THEN '200'
152954 WHEN 12 THEN '200'
152955 WHEN 13 THEN '200'
152956 WHEN 14 THEN '200'
152957 WHEN 15 THEN '200'
152958 WHEN 16 THEN '200'
152959 WHEN 17 THEN '200'
152960 WHEN 18 THEN '200'
152961 WHEN 19 THEN '200'
152962 WHEN 20 THEN '200'
152963 WHEN 21 THEN '200'
152964 WHEN 22 THEN '200'
152965
152966 ELSE null
152967 END source_application_id
152968 , 'S' source_type_code
152969 , CASE r
152970 WHEN 1 THEN 'INV_TRANSACTION_NUMBER'
152971 WHEN 2 THEN 'AI_INVOICE_DATE'
152972 WHEN 3 THEN 'INV_DOC_SEQUENCE_CATEGORY'
152973 WHEN 4 THEN 'DOC_SEQUENCE_NAME'
152974 WHEN 5 THEN 'INV_DOC_SEQUENCE_VALUE'
152975 WHEN 6 THEN 'AI_DESCRIPTION'
152976 WHEN 7 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
152977 WHEN 8 THEN 'ASP_RATE_VAR_GAIN_CCID'
152978 WHEN 9 THEN 'ASP_RATE_VAR_LOSS_CCID'
152979 WHEN 10 THEN 'AI_ACCTS_PAY_CCID'
152980 WHEN 11 THEN 'FSP_RETAINAGE_ACCOUNT'
152981 WHEN 12 THEN 'ASP_AUTO_OFFSET_FLAG'
152982 WHEN 13 THEN 'AI_INVOICE_ID'
152983 WHEN 14 THEN 'AI_INVOICE_CURRENCY_CODE'
152984 WHEN 15 THEN 'AI_VENDOR_ID'
152985 WHEN 16 THEN 'AI_VENDOR_SITE_ID'
152986 WHEN 17 THEN 'THIRD_PARTY_TYPE'
152987 WHEN 18 THEN 'INV_EXCHANGE_DATE'
152988 WHEN 19 THEN 'INV_EXCHANGE_RATE'
152989 WHEN 20 THEN 'INV_EXCHANGE_RATE_TYPE'
152990 WHEN 21 THEN 'AI_INVOICE_TYPE_LOOKUP_CODE'
152991 WHEN 22 THEN 'INV_DOC_SEQUENCE_IDENTIFIER'
152992
152993 ELSE null
152994 END source_code
152995 , CASE r
152996 WHEN 1 THEN TO_CHAR(h2.INV_TRANSACTION_NUMBER)
152997 WHEN 2 THEN TO_CHAR(h2.AI_INVOICE_DATE)
152998 WHEN 3 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_CATEGORY)
152999 WHEN 4 THEN TO_CHAR(h2.DOC_SEQUENCE_NAME)
153000 WHEN 5 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_VALUE)
153001 WHEN 6 THEN TO_CHAR(h2.AI_DESCRIPTION)
153002 WHEN 7 THEN TO_CHAR(h4.ASP_AUTOMATIC_OFFSETS_VALUE)
153003 WHEN 8 THEN TO_CHAR(h4.ASP_RATE_VAR_GAIN_CCID)
153004 WHEN 9 THEN TO_CHAR(h4.ASP_RATE_VAR_LOSS_CCID)
153005 WHEN 10 THEN TO_CHAR(h2.AI_ACCTS_PAY_CCID)
153006 WHEN 11 THEN TO_CHAR(h4.FSP_RETAINAGE_ACCOUNT)
153007 WHEN 12 THEN TO_CHAR(h4.ASP_AUTO_OFFSET_FLAG)
153008 WHEN 13 THEN TO_CHAR(h2.AI_INVOICE_ID)
153009 WHEN 14 THEN TO_CHAR(h2.AI_INVOICE_CURRENCY_CODE)
153010 WHEN 15 THEN TO_CHAR(h2.AI_VENDOR_ID)
153011 WHEN 16 THEN TO_CHAR(h2.AI_VENDOR_SITE_ID)
153012 WHEN 17 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
153013 WHEN 18 THEN TO_CHAR(h2.INV_EXCHANGE_DATE)
153014 WHEN 19 THEN TO_CHAR(h2.INV_EXCHANGE_RATE)
153015 WHEN 20 THEN TO_CHAR(h2.INV_EXCHANGE_RATE_TYPE)
153016 WHEN 21 THEN TO_CHAR(h2.AI_INVOICE_TYPE_LOOKUP_CODE)
153017 WHEN 22 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_IDENTIFIER)
153018
153019 ELSE null
153020 END source_value
153021 , CASE r
153022 WHEN 7 THEN fvl15.meaning
153023 WHEN 12 THEN fvl47.meaning
153024 WHEN 21 THEN fvl165.meaning
153025
153026 ELSE null
153027 END source_meaning
153028 FROM xla_events_gt xet
153032 , fnd_lookup_values fvl47
153029 , AP_INVOICE_EXTRACT_HEADER_V h2
153030 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
153031 , fnd_lookup_values fvl15
153033 , fnd_lookup_values fvl165
153034 ,(select rownum r from all_objects where rownum <= 22 and owner = p_apps_owner)
153035 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
153036 AND xet.event_class_code = C_EVENT_CLASS_CODE
153037 AND h2.event_id = xet.event_id
153038 AND h4.asp_org_id = h2.ai_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
153039 AND fvl15.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
153040 AND fvl15.view_application_id(+) = 200
153041 AND fvl15.language(+) = USERENV('LANG')
153042 AND fvl47.lookup_type(+) = 'YES_NO'
153043 AND fvl47.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
153044 AND fvl47.view_application_id(+) = 0
153045 AND fvl47.language(+) = USERENV('LANG')
153046 AND fvl165.lookup_type(+) = 'INVOICE TYPE'
153047 AND fvl165.lookup_code(+) = h2.AI_INVOICE_TYPE_LOOKUP_CODE
153048 AND fvl165.view_application_id(+) = 200
153049 AND fvl165.language(+) = USERENV('LANG')
153050
153051 )
153052 ;
153053 --
153054 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
153055
153056 trace
153057 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
153058 ,p_level => C_LEVEL_STATEMENT
153059 ,p_module => l_log_module);
153060
153061 END IF;
153062 --
153063
153064
153065
153066 --
153067 INSERT INTO xla_diag_sources --line2
153068 (
153069 event_id
153070 , ledger_id
153071 , sla_ledger_id
153072 , description_language
153073 , object_name
153074 , object_type_code
153075 , line_number
153076 , source_application_id
153077 , source_type_code
153078 , source_code
153079 , source_value
153080 , source_meaning
153081 , created_by
153082 , creation_date
153083 , last_update_date
153084 , last_updated_by
153085 , last_update_login
153086 , program_update_date
153087 , program_application_id
153088 , program_id
153089 , request_id
153090 )
153091 SELECT event_id
153092 , p_target_ledger_id
153093 , p_sla_ledger_id
153094 , p_language
153095 , object_name
153096 , object_type_code
153097 , line_number
153098 , source_application_id
153099 , source_type_code
153100 , source_code
153101 , SUBSTR(source_value,1,1996)
153102 , SUBSTR(source_meaning ,1,200)
153103 , xla_environment_pkg.g_Usr_Id
153104 , TRUNC(SYSDATE)
153105 , TRUNC(SYSDATE)
153106 , xla_environment_pkg.g_Usr_Id
153107 , xla_environment_pkg.g_Login_Id
153108 , TRUNC(SYSDATE)
153109 , xla_environment_pkg.g_Prog_Appl_Id
153110 , xla_environment_pkg.g_Prog_Id
153111 , xla_environment_pkg.g_Req_Id
153112 FROM (
153113 SELECT xet.event_id event_id
153114 , l1.line_number line_number
153115 , CASE r
153116 WHEN 1 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153117 WHEN 2 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153118 WHEN 3 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153119 WHEN 4 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153120 WHEN 5 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153121 WHEN 6 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153122 WHEN 7 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153123 WHEN 8 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153124 WHEN 9 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153125 WHEN 10 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153126 WHEN 11 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153127 WHEN 12 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153128 WHEN 13 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153129 WHEN 14 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153130 WHEN 15 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153131 WHEN 16 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153132 WHEN 17 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153133 WHEN 18 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153134 WHEN 19 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153135 WHEN 20 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153136 WHEN 21 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153137 WHEN 22 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153138 WHEN 23 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153139 WHEN 24 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153140 WHEN 25 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153141 WHEN 26 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153142 WHEN 27 THEN 'AP_PO_HEADERS_EXTRACT_V'
153143 WHEN 28 THEN 'AP_PO_HEADERS_EXTRACT_V'
153144 WHEN 29 THEN 'AP_PO_HEADERS_EXTRACT_V'
153145 WHEN 30 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153146 WHEN 31 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153147 WHEN 32 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153148 WHEN 33 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153149 WHEN 34 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153150 WHEN 35 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153151 WHEN 36 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
153152 WHEN 37 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
153153 WHEN 38 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153154 WHEN 39 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153155 WHEN 40 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153156 WHEN 41 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153157 WHEN 42 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153161 WHEN 46 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153158 WHEN 43 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153159 WHEN 44 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153160 WHEN 45 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153162 WHEN 47 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153163 WHEN 48 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153164 WHEN 49 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
153165
153166 ELSE null
153167 END object_name
153168 , CASE r
153169 WHEN 1 THEN 'LINE'
153170 WHEN 2 THEN 'LINE'
153171 WHEN 3 THEN 'LINE'
153172 WHEN 4 THEN 'LINE'
153173 WHEN 5 THEN 'LINE'
153174 WHEN 6 THEN 'LINE'
153175 WHEN 7 THEN 'LINE'
153176 WHEN 8 THEN 'LINE'
153177 WHEN 9 THEN 'LINE'
153178 WHEN 10 THEN 'LINE'
153179 WHEN 11 THEN 'LINE'
153180 WHEN 12 THEN 'LINE'
153181 WHEN 13 THEN 'LINE'
153182 WHEN 14 THEN 'LINE'
153183 WHEN 15 THEN 'LINE'
153184 WHEN 16 THEN 'LINE'
153185 WHEN 17 THEN 'LINE'
153186 WHEN 18 THEN 'LINE'
153187 WHEN 19 THEN 'LINE'
153188 WHEN 20 THEN 'LINE'
153189 WHEN 21 THEN 'LINE'
153190 WHEN 22 THEN 'LINE'
153191 WHEN 23 THEN 'LINE'
153192 WHEN 24 THEN 'LINE'
153193 WHEN 25 THEN 'LINE'
153194 WHEN 26 THEN 'LINE'
153195 WHEN 27 THEN 'LINE'
153196 WHEN 28 THEN 'LINE'
153197 WHEN 29 THEN 'LINE'
153198 WHEN 30 THEN 'LINE'
153199 WHEN 31 THEN 'LINE'
153200 WHEN 32 THEN 'LINE'
153201 WHEN 33 THEN 'LINE'
153202 WHEN 34 THEN 'LINE'
153203 WHEN 35 THEN 'LINE'
153204 WHEN 36 THEN 'LINE'
153205 WHEN 37 THEN 'LINE'
153206 WHEN 38 THEN 'LINE'
153207 WHEN 39 THEN 'LINE'
153208 WHEN 40 THEN 'LINE'
153209 WHEN 41 THEN 'LINE'
153210 WHEN 42 THEN 'LINE'
153211 WHEN 43 THEN 'LINE'
153212 WHEN 44 THEN 'LINE'
153213 WHEN 45 THEN 'LINE'
153214 WHEN 46 THEN 'LINE'
153215 WHEN 47 THEN 'LINE'
153216 WHEN 48 THEN 'LINE'
153217 WHEN 49 THEN 'LINE'
153218
153219 ELSE null
153220 END object_type_code
153221 , CASE r
153222 WHEN 1 THEN '200'
153223 WHEN 2 THEN '200'
153224 WHEN 3 THEN '200'
153225 WHEN 4 THEN '200'
153226 WHEN 5 THEN '200'
153227 WHEN 6 THEN '200'
153228 WHEN 7 THEN '200'
153229 WHEN 8 THEN '200'
153230 WHEN 9 THEN '200'
153231 WHEN 10 THEN '200'
153232 WHEN 11 THEN '200'
153233 WHEN 12 THEN '200'
153234 WHEN 13 THEN '200'
153235 WHEN 14 THEN '200'
153236 WHEN 15 THEN '200'
153237 WHEN 16 THEN '200'
153238 WHEN 17 THEN '200'
153239 WHEN 18 THEN '200'
153240 WHEN 19 THEN '200'
153241 WHEN 20 THEN '200'
153242 WHEN 21 THEN '200'
153243 WHEN 22 THEN '200'
153244 WHEN 23 THEN '200'
153245 WHEN 24 THEN '200'
153246 WHEN 25 THEN '200'
153247 WHEN 26 THEN '200'
153248 WHEN 27 THEN '200'
153249 WHEN 28 THEN '200'
153250 WHEN 29 THEN '200'
153251 WHEN 30 THEN '200'
153252 WHEN 31 THEN '200'
153253 WHEN 32 THEN '200'
153254 WHEN 33 THEN '200'
153255 WHEN 34 THEN '200'
153256 WHEN 35 THEN '200'
153257 WHEN 36 THEN '200'
153258 WHEN 37 THEN '200'
153259 WHEN 38 THEN '200'
153260 WHEN 39 THEN '200'
153261 WHEN 40 THEN '200'
153262 WHEN 41 THEN '200'
153263 WHEN 42 THEN '200'
153264 WHEN 43 THEN '200'
153265 WHEN 44 THEN '200'
153266 WHEN 45 THEN '200'
153267 WHEN 46 THEN '200'
153268 WHEN 47 THEN '200'
153269 WHEN 48 THEN '200'
153270 WHEN 49 THEN '200'
153271
153272 ELSE null
153273 END source_application_id
153274 , 'S' source_type_code
153275 , CASE r
153276 WHEN 1 THEN 'AID_DESCRIPTION'
153277 WHEN 2 THEN 'INV_DIST_BASE_AMOUNT'
153278 WHEN 3 THEN 'RELATED_INV_DIST_DEST_TYPE'
153279 WHEN 4 THEN 'AID_DIST_CCID'
153280 WHEN 5 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
153281 WHEN 6 THEN 'AID_RET_RELATED_DIST_CCID'
153282 WHEN 7 THEN 'AWT_RELATED_DIST_ACCOUNT'
153283 WHEN 8 THEN 'SELF_ASSESSED_TAX_ACCOUNT'
153284 WHEN 9 THEN 'ASAT_LIAB_CCID'
153285 WHEN 10 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
153286 WHEN 11 THEN 'DISTRIBUTION_LINK_TYPE'
153287 WHEN 12 THEN 'ALLOC_TO_MAIN_DIST_ID'
153288 WHEN 13 THEN 'BUS_FLOW_PO_APP_ID'
153289 WHEN 14 THEN 'BUS_FLOW_PO_DIST_TYPE'
153293 WHEN 18 THEN 'AID_INVOICE_DIST_ID'
153290 WHEN 15 THEN 'BUS_FLOW_PO_ENTITY_CODE'
153291 WHEN 16 THEN 'BUS_FLOW_PO_DIST_ID'
153292 WHEN 17 THEN 'BUS_FLOW_PO_DOC_ID'
153294 WHEN 19 THEN 'UPG_ENC_CR_CCID'
153295 WHEN 20 THEN 'UPG_ENC_CR_AMT'
153296 WHEN 21 THEN 'UPG_ENC_CR_BASE_AMT'
153297 WHEN 22 THEN 'UPG_ENC_DR_CCID'
153298 WHEN 23 THEN 'UPG_ENC_DR_AMT'
153299 WHEN 24 THEN 'UPG_ENC_DR_BASE_AMT'
153300 WHEN 25 THEN 'UPG_AP_ENCUM_OPTION'
153301 WHEN 26 THEN 'AID_AMOUNT'
153302 WHEN 27 THEN 'POH_RATE_DATE'
153303 WHEN 28 THEN 'POH_RATE'
153304 WHEN 29 THEN 'POH_RATE_TYPE'
153305 WHEN 30 THEN 'DEFERRED_END_DATE'
153306 WHEN 31 THEN 'DEFERRED_OPTION'
153307 WHEN 32 THEN 'DEFERRED_START_DATE'
153308 WHEN 33 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
153309 WHEN 34 THEN 'AID_PARENT_REVERSAL_ID'
153310 WHEN 35 THEN 'AID_STAT_AMOUNT'
153311 WHEN 36 THEN 'TAX_LINE_ID'
153312 WHEN 37 THEN 'REC_NREC_TAX_DIST_ID'
153313 WHEN 38 THEN 'SUMMARY_TAX_LINE_ID'
153314 WHEN 39 THEN 'UPG_CR_ENC_TYPE_ID'
153315 WHEN 40 THEN 'UPG_DR_ENC_TYPE_ID'
153316 WHEN 41 THEN 'BUS_FLOW_AP_APP_ID'
153317 WHEN 42 THEN 'BUS_FLOW_INV_DIST_TYPE'
153318 WHEN 43 THEN 'BUS_FLOW_INV_ENTITY_CODE'
153319 WHEN 44 THEN 'BUS_FLOW_INV_DIST_ID'
153320 WHEN 45 THEN 'BUS_FLOW_INV_ID'
153321 WHEN 46 THEN 'POD_ACCRUE_ON_RECEIPT_FLAG'
153322 WHEN 47 THEN 'SELF_ASSESSED_TAX_FLAG'
153323 WHEN 48 THEN 'BUS_FLOW_RET_INV_DIST_ID'
153324 WHEN 49 THEN 'BUS_FLOW_RET_INV_ID'
153325
153326 ELSE null
153327 END source_code
153328 , CASE r
153329 WHEN 1 THEN TO_CHAR(l1.AID_DESCRIPTION)
153330 WHEN 2 THEN TO_CHAR(l1.INV_DIST_BASE_AMOUNT)
153331 WHEN 3 THEN TO_CHAR(l1.RELATED_INV_DIST_DEST_TYPE)
153332 WHEN 4 THEN TO_CHAR(l1.AID_DIST_CCID)
153333 WHEN 5 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
153334 WHEN 6 THEN TO_CHAR(l1.AID_RET_RELATED_DIST_CCID)
153335 WHEN 7 THEN TO_CHAR(l1.AWT_RELATED_DIST_ACCOUNT)
153336 WHEN 8 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_ACCOUNT)
153337 WHEN 9 THEN TO_CHAR(l1.ASAT_LIAB_CCID)
153338 WHEN 10 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
153339 WHEN 11 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
153340 WHEN 12 THEN TO_CHAR(l1.ALLOC_TO_MAIN_DIST_ID)
153341 WHEN 13 THEN TO_CHAR(l1.BUS_FLOW_PO_APP_ID)
153342 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_TYPE)
153343 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_PO_ENTITY_CODE)
153344 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_ID)
153345 WHEN 17 THEN TO_CHAR(l1.BUS_FLOW_PO_DOC_ID)
153346 WHEN 18 THEN TO_CHAR(l1.AID_INVOICE_DIST_ID)
153347 WHEN 19 THEN TO_CHAR(l1.UPG_ENC_CR_CCID)
153348 WHEN 20 THEN TO_CHAR(l1.UPG_ENC_CR_AMT)
153349 WHEN 21 THEN TO_CHAR(l1.UPG_ENC_CR_BASE_AMT)
153350 WHEN 22 THEN TO_CHAR(l1.UPG_ENC_DR_CCID)
153351 WHEN 23 THEN TO_CHAR(l1.UPG_ENC_DR_AMT)
153352 WHEN 24 THEN TO_CHAR(l1.UPG_ENC_DR_BASE_AMT)
153353 WHEN 25 THEN TO_CHAR(l1.UPG_AP_ENCUM_OPTION)
153354 WHEN 26 THEN TO_CHAR(l1.AID_AMOUNT)
153355 WHEN 27 THEN TO_CHAR(l3.POH_RATE_DATE)
153356 WHEN 28 THEN TO_CHAR(l3.POH_RATE)
153357 WHEN 29 THEN TO_CHAR(l3.POH_RATE_TYPE)
153358 WHEN 30 THEN TO_CHAR(l1.DEFERRED_END_DATE)
153359 WHEN 31 THEN TO_CHAR(l1.DEFERRED_OPTION)
153360 WHEN 32 THEN TO_CHAR(l1.DEFERRED_START_DATE)
153361 WHEN 33 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
153362 WHEN 34 THEN TO_CHAR(l1.AID_PARENT_REVERSAL_ID)
153363 WHEN 35 THEN TO_CHAR(l1.AID_STAT_AMOUNT)
153364 WHEN 36 THEN TO_CHAR(l5.TAX_LINE_ID)
153365 WHEN 37 THEN TO_CHAR(l6.REC_NREC_TAX_DIST_ID)
153366 WHEN 38 THEN TO_CHAR(l1.SUMMARY_TAX_LINE_ID)
153367 WHEN 39 THEN TO_CHAR(l1.UPG_CR_ENC_TYPE_ID)
153368 WHEN 40 THEN TO_CHAR(l1.UPG_DR_ENC_TYPE_ID)
153369 WHEN 41 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
153370 WHEN 42 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
153371 WHEN 43 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
153372 WHEN 44 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
153373 WHEN 45 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
153374 WHEN 46 THEN TO_CHAR(l1.POD_ACCRUE_ON_RECEIPT_FLAG)
153375 WHEN 47 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_FLAG)
153376 WHEN 48 THEN TO_CHAR(l1.BUS_FLOW_RET_INV_DIST_ID)
153377 WHEN 49 THEN TO_CHAR(l1.BUS_FLOW_RET_INV_ID)
153378
153379 ELSE null
153380 END source_value
153381 , CASE r
153382 WHEN 3 THEN fvl22.meaning
153383 WHEN 5 THEN fvl33.meaning
153384 WHEN 33 THEN fvl80.meaning
153385 WHEN 46 THEN fvl96.meaning
153386 WHEN 47 THEN fvl142.meaning
153387
153388 ELSE null
153389 END source_meaning
153390 FROM xla_events_gt xet
153391 , AP_INVOICE_EXTRACT_DETAILS_V l1
153392 , AP_PO_HEADERS_EXTRACT_V l3
153393 , ZX_AP_DEF_TAX_EXTRACT_V l5
153394 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
153395 , fnd_lookup_values fvl22
153396 , fnd_lookup_values fvl33
153400 , (select rownum r from all_objects where rownum <= 49 and owner = p_apps_owner)
153397 , fnd_lookup_values fvl80
153398 , fnd_lookup_values fvl96
153399 , fnd_lookup_values fvl142
153401 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
153402 AND xet.event_class_code = C_EVENT_CLASS_CODE
153403 AND l1.event_id = xet.event_id
153404 AND l1.pod_po_header_id = l3.po_header_id (+) AND l1.zrnd_tax_dist_id = l5.rec_nrec_tax_dist_id (+) AND l1.zrnd_tax_dist_id = l6.rec_nrec_tax_dist_id (+) AND fvl22.lookup_type(+) = 'DESTINATION TYPE'
153405 AND fvl22.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
153406 AND fvl22.view_application_id(+) = 201
153407 AND fvl22.language(+) = USERENV('LANG')
153408 AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
153409 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
153410 AND fvl33.view_application_id(+) = 200
153411 AND fvl33.language(+) = USERENV('LANG')
153412 AND fvl80.lookup_type(+) = 'YES_NO'
153413 AND fvl80.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
153414 AND fvl80.view_application_id(+) = 0
153415 AND fvl80.language(+) = USERENV('LANG')
153416 AND fvl96.lookup_type(+) = 'YES_NO'
153417 AND fvl96.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
153418 AND fvl96.view_application_id(+) = 0
153419 AND fvl96.language(+) = USERENV('LANG')
153420 AND fvl142.lookup_type(+) = 'YES_NO'
153421 AND fvl142.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
153422 AND fvl142.view_application_id(+) = 0
153423 AND fvl142.language(+) = USERENV('LANG')
153424
153425 )
153426 ;
153427 --
153428 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
153429
153430 trace
153431 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
153432 ,p_level => C_LEVEL_STATEMENT
153433 ,p_module => l_log_module);
153434
153435 END IF;
153436
153437
153438 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
153439 trace
153440 (p_msg => 'END of insert_sources_233'
153441 ,p_level => C_LEVEL_PROCEDURE
153442 ,p_module => l_log_module);
153443 END IF;
153444 EXCEPTION
153445 WHEN xla_exceptions_pkg.application_exception THEN
153446 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
153447 trace
153448 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
153449 ,p_level => C_LEVEL_EXCEPTION
153450 ,p_module => l_log_module);
153451 END IF;
153452 RAISE;
153453 WHEN OTHERS THEN
153454 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
153455 trace
153456 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
153457 ,p_level => C_LEVEL_EXCEPTION
153458 ,p_module => l_log_module);
153459 END IF;
153460 xla_exceptions_pkg.raise_message
153461 (p_location => 'XLA_00200_AAD_S_000002_PKG.insert_sources_233');
153462 END insert_sources_233;
153463 --
153464
153465 ---------------------------------------
153466 --
153467 -- PRIVATE FUNCTION
153468 -- EventClass_233
153469 --
153470 ----------------------------------------
153471 --
153472 FUNCTION EventClass_233
153473 (p_application_id IN NUMBER
153474 ,p_base_ledger_id IN NUMBER
153475 ,p_target_ledger_id IN NUMBER
153476 ,p_language IN VARCHAR2
153477 ,p_currency_code IN VARCHAR2
153478 ,p_sla_ledger_id IN NUMBER
153479 ,p_pad_start_date IN DATE
153480 ,p_pad_end_date IN DATE
153481 ,p_primary_ledger_id IN NUMBER)
153482 RETURN BOOLEAN IS
153483 --
153484 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'INVOICES_ALL';
153485 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'INVOICES';
153486
153487 l_calculate_acctd_flag VARCHAR2(1) :='N';
153488 l_calculate_g_l_flag VARCHAR2(1) :='N';
153489 --
153490 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
153491 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
153492 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
153493 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
153494 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
153495 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
153496 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
153497 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
153498 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
153499 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
153500 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
153501 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
153502 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
153503 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
153504 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
153505 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
153506 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
153507 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
153508 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
153509 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
153510 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
153511 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
153512 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
153513 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
153517 l_event_id NUMBER;
153514 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
153515 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
153516
153518 l_previous_event_id NUMBER;
153519 l_first_event_id NUMBER;
153520 l_last_event_id NUMBER;
153521
153522 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
153523 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
153524 --
153525 --
153526 l_result BOOLEAN := TRUE;
153527 l_rows NUMBER := 1000;
153528 l_event_type_name VARCHAR2(80) := 'All';
153529 l_event_class_name VARCHAR2(80) := 'Invoices';
153530 l_description VARCHAR2(4000);
153531 l_transaction_reversal NUMBER;
153532 l_ae_header_id NUMBER;
153533 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
153534 l_log_module VARCHAR2(240);
153535 --
153536 l_acct_reversal_source VARCHAR2(30);
153537 l_trx_reversal_source VARCHAR2(30);
153538
153539 l_continue_with_lines BOOLEAN := TRUE;
153540 --
153541 l_acc_rev_gl_date_source DATE; -- 4262811
153542 --
153543 type t_array_event_id is table of number index by binary_integer;
153544
153545 l_rec_array_event t_rec_array_event;
153546 l_null_rec_array_event t_rec_array_event;
153547 l_array_ae_header_id xla_number_array_type;
153548 l_actual_flag VARCHAR2(1) := NULL;
153549 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
153550 l_balance_type_code VARCHAR2(1) :=NULL;
153551 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
153552
153553 --
153554 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
153555 --
153556
153557 TYPE t_array_source_3 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_TRANSACTION_NUMBER%TYPE INDEX BY BINARY_INTEGER;
153558 TYPE t_array_source_4 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_DATE%TYPE INDEX BY BINARY_INTEGER;
153559 TYPE t_array_source_5 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_CATEGORY%TYPE INDEX BY BINARY_INTEGER;
153560 TYPE t_array_source_6 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.DOC_SEQUENCE_NAME%TYPE INDEX BY BINARY_INTEGER;
153561 TYPE t_array_source_7 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
153562 TYPE t_array_source_8 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
153563 TYPE t_array_source_15 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
153564 TYPE t_array_source_20 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
153565 TYPE t_array_source_23 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
153566 TYPE t_array_source_34 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_ACCTS_PAY_CCID%TYPE INDEX BY BINARY_INTEGER;
153567 TYPE t_array_source_40 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_RETAINAGE_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
153568 TYPE t_array_source_47 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
153569 TYPE t_array_source_58 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_ID%TYPE INDEX BY BINARY_INTEGER;
153570 TYPE t_array_source_67 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
153571 TYPE t_array_source_81 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
153572 TYPE t_array_source_82 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
153573 TYPE t_array_source_83 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
153574 TYPE t_array_source_143 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
153575 TYPE t_array_source_144 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
153576 TYPE t_array_source_145 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
153577 TYPE t_array_source_165 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
153578 TYPE t_array_source_168 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
153579
153580 TYPE t_array_source_1 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
153581 TYPE t_array_source_21 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.INV_DIST_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
153582 TYPE t_array_source_22 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.RELATED_INV_DIST_DEST_TYPE%TYPE INDEX BY BINARY_INTEGER;
153583 TYPE t_array_source_30 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
153584 TYPE t_array_source_33 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
153585 TYPE t_array_source_42 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_RET_RELATED_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
153586 TYPE t_array_source_43 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AWT_RELATED_DIST_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
153587 TYPE t_array_source_50 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
153588 TYPE t_array_source_51 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ASAT_LIAB_CCID%TYPE INDEX BY BINARY_INTEGER;
153589 TYPE t_array_source_53 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
153590 TYPE t_array_source_55 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
153591 TYPE t_array_source_57 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ALLOC_TO_MAIN_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
153592 TYPE t_array_source_59 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_APP_ID%TYPE INDEX BY BINARY_INTEGER;
153593 TYPE t_array_source_60 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
153594 TYPE t_array_source_61 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
153598 TYPE t_array_source_65 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_CCID%TYPE INDEX BY BINARY_INTEGER;
153595 TYPE t_array_source_62 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
153596 TYPE t_array_source_63 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DOC_ID%TYPE INDEX BY BINARY_INTEGER;
153597 TYPE t_array_source_64 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_INVOICE_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
153599 TYPE t_array_source_66 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_AMT%TYPE INDEX BY BINARY_INTEGER;
153600 TYPE t_array_source_68 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
153601 TYPE t_array_source_69 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_CCID%TYPE INDEX BY BINARY_INTEGER;
153602 TYPE t_array_source_70 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_AMT%TYPE INDEX BY BINARY_INTEGER;
153603 TYPE t_array_source_71 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
153604 TYPE t_array_source_72 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_AP_ENCUM_OPTION%TYPE INDEX BY BINARY_INTEGER;
153605 TYPE t_array_source_73 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
153606 TYPE t_array_source_74 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_DATE%TYPE INDEX BY BINARY_INTEGER;
153607 TYPE t_array_source_75 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE%TYPE INDEX BY BINARY_INTEGER;
153608 TYPE t_array_source_76 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
153609 TYPE t_array_source_77 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_END_DATE%TYPE INDEX BY BINARY_INTEGER;
153610 TYPE t_array_source_78 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_OPTION%TYPE INDEX BY BINARY_INTEGER;
153611 TYPE t_array_source_79 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_START_DATE%TYPE INDEX BY BINARY_INTEGER;
153612 TYPE t_array_source_80 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
153613 TYPE t_array_source_84 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_PARENT_REVERSAL_ID%TYPE INDEX BY BINARY_INTEGER;
153614 TYPE t_array_source_85 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_STAT_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
153615 TYPE t_array_source_86 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
153616 TYPE t_array_source_87 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
153617 TYPE t_array_source_88 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
153618 TYPE t_array_source_89 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
153619 TYPE t_array_source_90 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
153620 TYPE t_array_source_91 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
153621 TYPE t_array_source_92 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
153622 TYPE t_array_source_93 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
153623 TYPE t_array_source_94 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
153624 TYPE t_array_source_95 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
153625 TYPE t_array_source_96 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.POD_ACCRUE_ON_RECEIPT_FLAG%TYPE INDEX BY BINARY_INTEGER;
153626 TYPE t_array_source_142 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_FLAG%TYPE INDEX BY BINARY_INTEGER;
153627 TYPE t_array_source_166 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_RET_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
153628 TYPE t_array_source_167 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_RET_INV_ID%TYPE INDEX BY BINARY_INTEGER;
153629
153630 l_array_source_3 t_array_source_3;
153631 l_array_source_4 t_array_source_4;
153632 l_array_source_5 t_array_source_5;
153633 l_array_source_6 t_array_source_6;
153634 l_array_source_7 t_array_source_7;
153635 l_array_source_8 t_array_source_8;
153636 l_array_source_15 t_array_source_15;
153637 l_array_source_15_meaning t_array_lookup_meaning;
153638 l_array_source_20 t_array_source_20;
153639 l_array_source_23 t_array_source_23;
153640 l_array_source_34 t_array_source_34;
153641 l_array_source_40 t_array_source_40;
153642 l_array_source_47 t_array_source_47;
153643 l_array_source_47_meaning t_array_lookup_meaning;
153644 l_array_source_58 t_array_source_58;
153645 l_array_source_67 t_array_source_67;
153646 l_array_source_81 t_array_source_81;
153647 l_array_source_82 t_array_source_82;
153648 l_array_source_83 t_array_source_83;
153649 l_array_source_143 t_array_source_143;
153650 l_array_source_144 t_array_source_144;
153651 l_array_source_145 t_array_source_145;
153652 l_array_source_165 t_array_source_165;
153653 l_array_source_165_meaning t_array_lookup_meaning;
153654 l_array_source_168 t_array_source_168;
153655
153656 l_array_source_1 t_array_source_1;
153657 l_array_source_21 t_array_source_21;
153658 l_array_source_22 t_array_source_22;
153659 l_array_source_22_meaning t_array_lookup_meaning;
153660 l_array_source_30 t_array_source_30;
153661 l_array_source_33 t_array_source_33;
153662 l_array_source_33_meaning t_array_lookup_meaning;
153663 l_array_source_42 t_array_source_42;
153664 l_array_source_43 t_array_source_43;
153665 l_array_source_50 t_array_source_50;
153666 l_array_source_51 t_array_source_51;
153667 l_array_source_53 t_array_source_53;
153668 l_array_source_55 t_array_source_55;
153669 l_array_source_57 t_array_source_57;
153670 l_array_source_59 t_array_source_59;
153671 l_array_source_60 t_array_source_60;
153672 l_array_source_61 t_array_source_61;
153673 l_array_source_62 t_array_source_62;
153674 l_array_source_63 t_array_source_63;
153675 l_array_source_64 t_array_source_64;
153679 l_array_source_69 t_array_source_69;
153676 l_array_source_65 t_array_source_65;
153677 l_array_source_66 t_array_source_66;
153678 l_array_source_68 t_array_source_68;
153680 l_array_source_70 t_array_source_70;
153681 l_array_source_71 t_array_source_71;
153682 l_array_source_72 t_array_source_72;
153683 l_array_source_73 t_array_source_73;
153684 l_array_source_74 t_array_source_74;
153685 l_array_source_75 t_array_source_75;
153686 l_array_source_76 t_array_source_76;
153687 l_array_source_77 t_array_source_77;
153688 l_array_source_78 t_array_source_78;
153689 l_array_source_79 t_array_source_79;
153690 l_array_source_80 t_array_source_80;
153691 l_array_source_80_meaning t_array_lookup_meaning;
153692 l_array_source_84 t_array_source_84;
153693 l_array_source_85 t_array_source_85;
153694 l_array_source_86 t_array_source_86;
153695 l_array_source_87 t_array_source_87;
153696 l_array_source_88 t_array_source_88;
153697 l_array_source_89 t_array_source_89;
153698 l_array_source_90 t_array_source_90;
153699 l_array_source_91 t_array_source_91;
153700 l_array_source_92 t_array_source_92;
153701 l_array_source_93 t_array_source_93;
153702 l_array_source_94 t_array_source_94;
153703 l_array_source_95 t_array_source_95;
153704 l_array_source_96 t_array_source_96;
153705 l_array_source_96_meaning t_array_lookup_meaning;
153706 l_array_source_142 t_array_source_142;
153707 l_array_source_142_meaning t_array_lookup_meaning;
153708 l_array_source_166 t_array_source_166;
153709 l_array_source_167 t_array_source_167;
153710
153711 --
153712 CURSOR header_cur
153713 IS
153714 SELECT /*+ leading(xet) cardinality(xet,1) */
153715 -- Event Class Code: INVOICES
153716 xet.entity_id
153717 ,xet.legal_entity_id
153718 ,xet.entity_code
153719 ,xet.transaction_number
153720 ,xet.event_id
153721 ,xet.event_class_code
153722 ,xet.event_type_code
153723 ,xet.event_number
153724 ,xet.event_date
153725 ,xet.transaction_date
153726 ,xet.reference_num_1
153727 ,xet.reference_num_2
153728 ,xet.reference_num_3
153729 ,xet.reference_num_4
153730 ,xet.reference_char_1
153731 ,xet.reference_char_2
153732 ,xet.reference_char_3
153733 ,xet.reference_char_4
153734 ,xet.reference_date_1
153735 ,xet.reference_date_2
153736 ,xet.reference_date_3
153737 ,xet.reference_date_4
153738 ,xet.event_created_by
153739 ,xet.budgetary_control_flag
153740 , h2.INV_TRANSACTION_NUMBER source_3
153741 , h2.AI_INVOICE_DATE source_4
153742 , h2.INV_DOC_SEQUENCE_CATEGORY source_5
153743 , h2.DOC_SEQUENCE_NAME source_6
153744 , h2.INV_DOC_SEQUENCE_VALUE source_7
153745 , h2.AI_DESCRIPTION source_8
153746 , h4.ASP_AUTOMATIC_OFFSETS_VALUE source_15
153747 , fvl15.meaning source_15_meaning
153748 , h4.ASP_RATE_VAR_GAIN_CCID source_20
153749 , h4.ASP_RATE_VAR_LOSS_CCID source_23
153750 , h2.AI_ACCTS_PAY_CCID source_34
153751 , h4.FSP_RETAINAGE_ACCOUNT source_40
153752 , h4.ASP_AUTO_OFFSET_FLAG source_47
153753 , fvl47.meaning source_47_meaning
153754 , h2.AI_INVOICE_ID source_58
153755 , h2.AI_INVOICE_CURRENCY_CODE source_67
153756 , h2.AI_VENDOR_ID source_81
153757 , h2.AI_VENDOR_SITE_ID source_82
153758 , h2.THIRD_PARTY_TYPE source_83
153759 , h2.INV_EXCHANGE_DATE source_143
153760 , h2.INV_EXCHANGE_RATE source_144
153761 , h2.INV_EXCHANGE_RATE_TYPE source_145
153762 , h2.AI_INVOICE_TYPE_LOOKUP_CODE source_165
153763 , fvl165.meaning source_165_meaning
153764 , h2.INV_DOC_SEQUENCE_IDENTIFIER source_168
153765 FROM xla_events_gt xet
153766 , AP_INVOICE_EXTRACT_HEADER_V h2
153767 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
153768 , fnd_lookup_values fvl15
153769 , fnd_lookup_values fvl47
153770 , fnd_lookup_values fvl165
153771 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
153772 and xet.event_class_code = C_EVENT_CLASS_CODE
153773 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
153774 AND h4.asp_org_id = h2.ai_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
153775 AND fvl15.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
153776 AND fvl15.view_application_id(+) = 200
153777 AND fvl15.language(+) = USERENV('LANG')
153778 AND fvl47.lookup_type(+) = 'YES_NO'
153779 AND fvl47.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
153780 AND fvl47.view_application_id(+) = 0
153781 AND fvl47.language(+) = USERENV('LANG')
153782 AND fvl165.lookup_type(+) = 'INVOICE TYPE'
153783 AND fvl165.lookup_code(+) = h2.AI_INVOICE_TYPE_LOOKUP_CODE
153784 AND fvl165.view_application_id(+) = 200
153785 AND fvl165.language(+) = USERENV('LANG')
153786
153787 ORDER BY event_id
153788 ;
153789
153790
153791 --
153792 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
153793 IS
153794 SELECT /*+ leading(xet) cardinality(xet,1) */
153795 -- Event Class Code: INVOICES
153796 xet.entity_id
153797 ,xet.legal_entity_id
153798 ,xet.entity_code
153799 ,xet.transaction_number
153800 ,xet.event_id
153801 ,xet.event_class_code
153802 ,xet.event_type_code
153803 ,xet.event_number
153804 ,xet.event_date
153805 ,xet.transaction_date
153806 ,xet.reference_num_1
153807 ,xet.reference_num_2
153808 ,xet.reference_num_3
153809 ,xet.reference_num_4
153810 ,xet.reference_char_1
153811 ,xet.reference_char_2
153812 ,xet.reference_char_3
153813 ,xet.reference_char_4
153814 ,xet.reference_date_1
153815 ,xet.reference_date_2
153816 ,xet.reference_date_3
153817 ,xet.reference_date_4
153818 ,xet.event_created_by
153819 ,xet.budgetary_control_flag
153823 , l1.RELATED_INV_DIST_DEST_TYPE source_22
153820 , l1.LINE_NUMBER
153821 , l1.AID_DESCRIPTION source_1
153822 , l1.INV_DIST_BASE_AMOUNT source_21
153824 , fvl22.meaning source_22_meaning
153825 , l1.AID_DIST_CCID source_30
153826 , l1.AID_LINE_TYPE_LOOKUP_CODE source_33
153827 , fvl33.meaning source_33_meaning
153828 , l1.AID_RET_RELATED_DIST_CCID source_42
153829 , l1.AWT_RELATED_DIST_ACCOUNT source_43
153830 , l1.SELF_ASSESSED_TAX_ACCOUNT source_50
153831 , l1.ASAT_LIAB_CCID source_51
153832 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_53
153833 , l1.DISTRIBUTION_LINK_TYPE source_55
153834 , l1.ALLOC_TO_MAIN_DIST_ID source_57
153835 , l1.BUS_FLOW_PO_APP_ID source_59
153836 , l1.BUS_FLOW_PO_DIST_TYPE source_60
153837 , l1.BUS_FLOW_PO_ENTITY_CODE source_61
153838 , l1.BUS_FLOW_PO_DIST_ID source_62
153839 , l1.BUS_FLOW_PO_DOC_ID source_63
153840 , l1.AID_INVOICE_DIST_ID source_64
153841 , l1.UPG_ENC_CR_CCID source_65
153842 , l1.UPG_ENC_CR_AMT source_66
153843 , l1.UPG_ENC_CR_BASE_AMT source_68
153844 , l1.UPG_ENC_DR_CCID source_69
153845 , l1.UPG_ENC_DR_AMT source_70
153846 , l1.UPG_ENC_DR_BASE_AMT source_71
153847 , l1.UPG_AP_ENCUM_OPTION source_72
153848 , l1.AID_AMOUNT source_73
153849 , l3.POH_RATE_DATE source_74
153850 , l3.POH_RATE source_75
153851 , l3.POH_RATE_TYPE source_76
153852 , l1.DEFERRED_END_DATE source_77
153853 , l1.DEFERRED_OPTION source_78
153854 , l1.DEFERRED_START_DATE source_79
153855 , l1.OVERRIDE_ACCTD_AMT_FLAG source_80
153856 , fvl80.meaning source_80_meaning
153857 , l1.AID_PARENT_REVERSAL_ID source_84
153858 , l1.AID_STAT_AMOUNT source_85
153859 , l5.TAX_LINE_ID source_86
153860 , l6.REC_NREC_TAX_DIST_ID source_87
153861 , l1.SUMMARY_TAX_LINE_ID source_88
153862 , l1.UPG_CR_ENC_TYPE_ID source_89
153863 , l1.UPG_DR_ENC_TYPE_ID source_90
153864 , l1.BUS_FLOW_AP_APP_ID source_91
153865 , l1.BUS_FLOW_INV_DIST_TYPE source_92
153866 , l1.BUS_FLOW_INV_ENTITY_CODE source_93
153867 , l1.BUS_FLOW_INV_DIST_ID source_94
153868 , l1.BUS_FLOW_INV_ID source_95
153869 , l1.POD_ACCRUE_ON_RECEIPT_FLAG source_96
153870 , fvl96.meaning source_96_meaning
153871 , l1.SELF_ASSESSED_TAX_FLAG source_142
153872 , fvl142.meaning source_142_meaning
153873 , l1.BUS_FLOW_RET_INV_DIST_ID source_166
153874 , l1.BUS_FLOW_RET_INV_ID source_167
153875 FROM xla_events_gt xet
153876 , AP_INVOICE_EXTRACT_DETAILS_V l1
153877 , AP_PO_HEADERS_EXTRACT_V l3
153878 , ZX_AP_DEF_TAX_EXTRACT_V l5
153879 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
153880 , fnd_lookup_values fvl22
153881 , fnd_lookup_values fvl33
153882 , fnd_lookup_values fvl80
153883 , fnd_lookup_values fvl96
153884 , fnd_lookup_values fvl142
153885 WHERE xet.event_id between x_first_event_id and x_last_event_id
153886 and xet.event_date between p_pad_start_date and p_pad_end_date
153887 and xet.event_class_code = C_EVENT_CLASS_CODE
153888 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
153889 AND l1.POD_PO_Header_Id = l3.PO_Header_Id (+) AND l1.ZRND_tax_dist_id = l5.REC_NREC_TAX_DIST_ID (+) AND l1.ZRND_tax_dist_id = l6.REC_NREC_TAX_DIST_ID (+) AND fvl22.lookup_type(+) = 'DESTINATION TYPE'
153890 AND fvl22.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
153891 AND fvl22.view_application_id(+) = 201
153892 AND fvl22.language(+) = USERENV('LANG')
153893 AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
153894 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
153895 AND fvl33.view_application_id(+) = 200
153896 AND fvl33.language(+) = USERENV('LANG')
153897 AND fvl80.lookup_type(+) = 'YES_NO'
153898 AND fvl80.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
153899 AND fvl80.view_application_id(+) = 0
153900 AND fvl80.language(+) = USERENV('LANG')
153901 AND fvl96.lookup_type(+) = 'YES_NO'
153902 AND fvl96.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
153903 AND fvl96.view_application_id(+) = 0
153904 AND fvl96.language(+) = USERENV('LANG')
153905 AND fvl142.lookup_type(+) = 'YES_NO'
153906 AND fvl142.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
153907 AND fvl142.view_application_id(+) = 0
153908 AND fvl142.language(+) = USERENV('LANG')
153909 ;
153910
153911 --
153912 BEGIN
153913 IF g_log_enabled THEN
153914 l_log_module := C_DEFAULT_MODULE||'.EventClass_233';
153915 END IF;
153916 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
153917 trace
153918 (p_msg => 'BEGIN of EventClass_233'
153919 ,p_level => C_LEVEL_PROCEDURE
153920 ,p_module => l_log_module);
153921 END IF;
153922
153923 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
153924 trace
153925 (p_msg => 'p_application_id = '||p_application_id||
153926 ' - p_base_ledger_id = '||p_base_ledger_id||
153927 ' - p_target_ledger_id = '||p_target_ledger_id||
153928 ' - p_language = '||p_language||
153929 ' - p_currency_code = '||p_currency_code||
153930 ' - p_sla_ledger_id = '||p_sla_ledger_id
153931 ,p_level => C_LEVEL_STATEMENT
153932 ,p_module => l_log_module);
153933 END IF;
153934 --
153935 -- initialze arrays
153936 --
153937 g_array_event.DELETE;
153938 l_rec_array_event := l_null_rec_array_event;
153939 --
153940 --------------------------------------
153941 -- 4262811 Initialze MPA Line Number
153942 --------------------------------------
153943 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
153944
153945 --
153946
153947 --
153948 OPEN header_cur;
153949 --
153950 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
153951 trace
153952 (p_msg => 'SQL - FETCH header_cur'
153956 --
153953 ,p_level => C_LEVEL_STATEMENT
153954 ,p_module => l_log_module);
153955 END IF;
153957 LOOP
153958 FETCH header_cur BULK COLLECT INTO
153959 l_array_entity_id
153960 , l_array_legal_entity_id
153961 , l_array_entity_code
153962 , l_array_transaction_num
153963 , l_array_event_id
153964 , l_array_class_code
153965 , l_array_event_type
153966 , l_array_event_number
153967 , l_array_event_date
153968 , l_array_transaction_date
153969 , l_array_reference_num_1
153970 , l_array_reference_num_2
153971 , l_array_reference_num_3
153972 , l_array_reference_num_4
153973 , l_array_reference_char_1
153974 , l_array_reference_char_2
153975 , l_array_reference_char_3
153976 , l_array_reference_char_4
153977 , l_array_reference_date_1
153978 , l_array_reference_date_2
153979 , l_array_reference_date_3
153980 , l_array_reference_date_4
153981 , l_array_event_created_by
153982 , l_array_budgetary_control_flag
153983 , l_array_source_3
153984 , l_array_source_4
153985 , l_array_source_5
153986 , l_array_source_6
153987 , l_array_source_7
153988 , l_array_source_8
153989 , l_array_source_15
153990 , l_array_source_15_meaning
153991 , l_array_source_20
153992 , l_array_source_23
153993 , l_array_source_34
153994 , l_array_source_40
153995 , l_array_source_47
153996 , l_array_source_47_meaning
153997 , l_array_source_58
153998 , l_array_source_67
153999 , l_array_source_81
154000 , l_array_source_82
154001 , l_array_source_83
154002 , l_array_source_143
154003 , l_array_source_144
154004 , l_array_source_145
154005 , l_array_source_165
154006 , l_array_source_165_meaning
154007 , l_array_source_168
154008 LIMIT l_rows;
154009 --
154010 IF (C_LEVEL_EVENT >= g_log_level) THEN
154011 trace
154012 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
154013 ,p_level => C_LEVEL_EVENT
154014 ,p_module => l_log_module);
154015 END IF;
154016 --
154017 EXIT WHEN l_array_entity_id.COUNT = 0;
154018
154019 -- initialize arrays
154020 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
154021 XLA_AE_LINES_PKG.g_rec_lines := NULL;
154022
154023 --
154024 -- Bug 4458708
154025 --
154026 XLA_AE_LINES_PKG.g_LineNumber := 0;
154027
154028
154029 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
154030 g_last_hdr_idx := l_array_event_id.LAST;
154031 --
154032 -- loop for the headers. Each iteration is for each header extract row
154033 -- fetched in header cursor
154034 --
154035 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
154036
154037 --
154038 -- set event info as cache for other routines to refer event attributes
154039 --
154040 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
154041 (p_application_id => p_application_id
154042 ,p_primary_ledger_id => p_primary_ledger_id
154043 ,p_base_ledger_id => p_base_ledger_id
154044 ,p_target_ledger_id => p_target_ledger_id
154045 ,p_entity_id => l_array_entity_id(hdr_idx)
154046 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
154047 ,p_entity_code => l_array_entity_code(hdr_idx)
154048 ,p_transaction_num => l_array_transaction_num(hdr_idx)
154049 ,p_event_id => l_array_event_id(hdr_idx)
154050 ,p_event_class_code => l_array_class_code(hdr_idx)
154051 ,p_event_type_code => l_array_event_type(hdr_idx)
154052 ,p_event_number => l_array_event_number(hdr_idx)
154053 ,p_event_date => l_array_event_date(hdr_idx)
154054 ,p_transaction_date => l_array_transaction_date(hdr_idx)
154055 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
154056 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
154057 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
154058 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
154059 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
154060 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
154061 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
154062 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
154063 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
154064 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
154065 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
154066 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
154067 ,p_event_created_by => l_array_event_created_by(hdr_idx)
154068 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
154069
154070 --
154071 -- set the status of entry to C_VALID (0)
154072 --
154073 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
154074
154075 --
154076 -- initialize a row for ae header
154077 --
154078 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
154079
154080 l_event_id := l_array_event_id(hdr_idx);
154081
154082 --
154083 -- storing the hdr_idx for event. May be used by line cursor.
154084 --
154085 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
154086
154087 --
154088 -- store sources from header extract. This can be improved to
154089 -- store only those sources from header extract that may be used in lines
154090 --
154091
154092 g_array_event(l_event_id).array_value_char('source_3') := l_array_source_3(hdr_idx);
154093 g_array_event(l_event_id).array_value_date('source_4') := l_array_source_4(hdr_idx);
154097 g_array_event(l_event_id).array_value_char('source_8') := l_array_source_8(hdr_idx);
154094 g_array_event(l_event_id).array_value_char('source_5') := l_array_source_5(hdr_idx);
154095 g_array_event(l_event_id).array_value_char('source_6') := l_array_source_6(hdr_idx);
154096 g_array_event(l_event_id).array_value_num('source_7') := l_array_source_7(hdr_idx);
154098 g_array_event(l_event_id).array_value_char('source_15') := l_array_source_15(hdr_idx);
154099 g_array_event(l_event_id).array_value_char('source_15_meaning') := l_array_source_15_meaning(hdr_idx);
154100 g_array_event(l_event_id).array_value_num('source_20') := l_array_source_20(hdr_idx);
154101 g_array_event(l_event_id).array_value_num('source_23') := l_array_source_23(hdr_idx);
154102 g_array_event(l_event_id).array_value_num('source_34') := l_array_source_34(hdr_idx);
154103 g_array_event(l_event_id).array_value_num('source_40') := l_array_source_40(hdr_idx);
154104 g_array_event(l_event_id).array_value_char('source_47') := l_array_source_47(hdr_idx);
154105 g_array_event(l_event_id).array_value_char('source_47_meaning') := l_array_source_47_meaning(hdr_idx);
154106 g_array_event(l_event_id).array_value_num('source_58') := l_array_source_58(hdr_idx);
154107 g_array_event(l_event_id).array_value_char('source_67') := l_array_source_67(hdr_idx);
154108 g_array_event(l_event_id).array_value_num('source_81') := l_array_source_81(hdr_idx);
154109 g_array_event(l_event_id).array_value_num('source_82') := l_array_source_82(hdr_idx);
154110 g_array_event(l_event_id).array_value_char('source_83') := l_array_source_83(hdr_idx);
154111 g_array_event(l_event_id).array_value_date('source_143') := l_array_source_143(hdr_idx);
154112 g_array_event(l_event_id).array_value_num('source_144') := l_array_source_144(hdr_idx);
154113 g_array_event(l_event_id).array_value_char('source_145') := l_array_source_145(hdr_idx);
154114 g_array_event(l_event_id).array_value_char('source_165') := l_array_source_165(hdr_idx);
154115 g_array_event(l_event_id).array_value_char('source_165_meaning') := l_array_source_165_meaning(hdr_idx);
154116 g_array_event(l_event_id).array_value_num('source_168') := l_array_source_168(hdr_idx);
154117
154118 --
154119 -- initilaize the status of ae headers for diffrent balance types
154120 -- the status is initialised to C_NOT_CREATED (2)
154121 --
154122 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
154123 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
154124 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
154125
154126 --
154127 -- call api to validate and store accounting attributes for header
154128 --
154129
154130 ------------------------------------------------------------
154131 -- Accrual Reversal : to get date for Standard Source (NONE)
154132 ------------------------------------------------------------
154133 l_acc_rev_gl_date_source := NULL;
154134
154135 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
154136 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_5');
154137 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
154138 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_168');
154139 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
154140 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_7');
154141 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
154142 l_rec_acct_attrs.array_date_value(4) :=
154143 xla_ae_sources_pkg.GetSystemSourceDate(
154144 p_source_code => 'XLA_EVENT_DATE'
154145 , p_source_type_code => 'Y'
154146 , p_source_application_id => 602
154147 );
154148
154149
154150 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
154151
154152 XLA_AE_HEADER_PKG.SetJeCategoryName;
154153
154154 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
154155 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
154156 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
154157 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
154158 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
154159
154160
154161 --
154162 xla_ae_header_pkg.SetHdrDescription(
154163 p_description => Description_2 (
154164 p_application_id => p_application_id
154165 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
154166 , p_source_4 => g_array_event(l_event_id).array_value_date('source_4')
154167 , p_source_5 => g_array_event(l_event_id).array_value_char('source_5')
154168 , p_source_6 => g_array_event(l_event_id).array_value_char('source_6')
154169 , p_source_7 => g_array_event(l_event_id).array_value_num('source_7')
154170 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
154171 )
154172 );
154173 --
154174
154175 -- No header level analytical criteria
154176
154177 --
154178 --accounting attribute enhancement, bug 3612931
154179 --
154180 l_trx_reversal_source := SUBSTR(NULL, 1,30);
154181
154182 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
154183 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
154184
154185 xla_accounting_err_pkg.build_message
154186 (p_appli_s_name => 'XLA'
154187 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
154188 ,p_token_1 => 'ACCT_ATTR_NAME'
154189 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
154190 ,p_token_2 => 'PRODUCT_NAME'
154191 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
154192 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
154193 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
154197 --
154194 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
154195
154196 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
154198 -- following sets the accounting attributes needed to reverse
154199 -- accounting for a distributeion
154200 --
154201 xla_ae_lines_pkg.SetTrxReversalAttrs
154202 (p_event_id => l_event_id
154203 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
154204 ,p_trx_reversal_source => l_trx_reversal_source);
154205
154206 END IF;
154207
154208
154209 ----------------------------------------------------------------
154210 -- 4262811 - update the header statuses to invalid in need be
154211 ----------------------------------------------------------------
154212 --
154213 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
154214
154215
154216 -----------------------------------------------
154217 -- No accrual reversal for the event class/type
154218 -----------------------------------------------
154219 ----------------------------------------------------------------
154220
154221 --
154222 -- this ends the header loop iteration for one bulk fetch
154223 --
154224 END LOOP;
154225
154226 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
154227 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
154228
154229 --
154230 -- insert dummy rows into lines gt table that were created due to
154231 -- transaction reversals
154232 --
154233 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
154234 l_result := XLA_AE_LINES_PKG.InsertLines;
154235 END IF;
154236
154237 --
154238 -- reset the temp_line_num for each set of events fetched from header
154239 -- cursor rather than doing it for each new event in line cursor
154240 -- Bug 3939231
154241 --
154242 xla_ae_lines_pkg.g_temp_line_num := 0;
154243
154244
154245
154246 --
154247 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
154248 --
154249 --
154250 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
154251
154252 trace
154253 (p_msg => 'SQL - FETCH line_cur'
154254 ,p_level => C_LEVEL_STATEMENT
154255 ,p_module => l_log_module);
154256
154257 END IF;
154258 --
154259 --
154260 LOOP
154261 --
154262 FETCH line_cur BULK COLLECT INTO
154263 l_array_entity_id
154264 , l_array_legal_entity_id
154265 , l_array_entity_code
154266 , l_array_transaction_num
154267 , l_array_event_id
154268 , l_array_class_code
154269 , l_array_event_type
154270 , l_array_event_number
154271 , l_array_event_date
154272 , l_array_transaction_date
154273 , l_array_reference_num_1
154274 , l_array_reference_num_2
154275 , l_array_reference_num_3
154276 , l_array_reference_num_4
154277 , l_array_reference_char_1
154278 , l_array_reference_char_2
154279 , l_array_reference_char_3
154280 , l_array_reference_char_4
154281 , l_array_reference_date_1
154282 , l_array_reference_date_2
154283 , l_array_reference_date_3
154284 , l_array_reference_date_4
154285 , l_array_event_created_by
154286 , l_array_budgetary_control_flag
154287 , l_array_extract_line_num
154288 , l_array_source_1
154289 , l_array_source_21
154290 , l_array_source_22
154291 , l_array_source_22_meaning
154292 , l_array_source_30
154293 , l_array_source_33
154294 , l_array_source_33_meaning
154295 , l_array_source_42
154296 , l_array_source_43
154297 , l_array_source_50
154298 , l_array_source_51
154299 , l_array_source_53
154300 , l_array_source_55
154301 , l_array_source_57
154302 , l_array_source_59
154303 , l_array_source_60
154304 , l_array_source_61
154305 , l_array_source_62
154306 , l_array_source_63
154307 , l_array_source_64
154308 , l_array_source_65
154309 , l_array_source_66
154310 , l_array_source_68
154311 , l_array_source_69
154312 , l_array_source_70
154313 , l_array_source_71
154314 , l_array_source_72
154315 , l_array_source_73
154316 , l_array_source_74
154317 , l_array_source_75
154318 , l_array_source_76
154319 , l_array_source_77
154320 , l_array_source_78
154321 , l_array_source_79
154322 , l_array_source_80
154323 , l_array_source_80_meaning
154324 , l_array_source_84
154325 , l_array_source_85
154326 , l_array_source_86
154327 , l_array_source_87
154328 , l_array_source_88
154329 , l_array_source_89
154330 , l_array_source_90
154331 , l_array_source_91
154332 , l_array_source_92
154333 , l_array_source_93
154334 , l_array_source_94
154335 , l_array_source_95
154336 , l_array_source_96
154337 , l_array_source_96_meaning
154338 , l_array_source_142
154339 , l_array_source_142_meaning
154340 , l_array_source_166
154341 , l_array_source_167
154342 LIMIT l_rows;
154343
154344 --
154345 IF (C_LEVEL_EVENT >= g_log_level) THEN
154346 trace
154347 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
154348 ,p_level => C_LEVEL_EVENT
154349 ,p_module => l_log_module);
154350 END IF;
154351 --
154352 EXIT WHEN l_array_entity_id.count = 0;
154353
154354 XLA_AE_LINES_PKG.g_rec_lines := null;
154355
154356 --
154357 -- Bug 4458708
154358 --
154359 XLA_AE_LINES_PKG.g_LineNumber := 0;
154363 FOR Idx IN 1..l_array_event_id.count LOOP
154360 --
154361 --
154362
154364 --
154365 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
154366 --
154367 l_event_id := l_array_event_id(idx); -- 5648433
154368
154369 --
154370 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
154371 --
154372
154373 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
154374 (g_array_event(l_event_id).array_value_num('header_index'))
154375 ,'N'
154376 ) <> 'Y'
154377 THEN
154378 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
154379 trace
154380 (p_msg => 'Trancaction revesal option is not Y '
154381 ,p_level => C_LEVEL_STATEMENT
154382 ,p_module => l_log_module);
154383 END IF;
154384
154385 --
154386 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
154387 --
154388 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
154389 --
154390 -- set event info as cache for other routines to refer event attributes
154391 --
154392
154393 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
154394 l_previous_event_id := l_event_id;
154395
154396 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
154397 (p_application_id => p_application_id
154398 ,p_primary_ledger_id => p_primary_ledger_id
154399 ,p_base_ledger_id => p_base_ledger_id
154400 ,p_target_ledger_id => p_target_ledger_id
154401 ,p_entity_id => l_array_entity_id(Idx)
154402 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
154403 ,p_entity_code => l_array_entity_code(Idx)
154404 ,p_transaction_num => l_array_transaction_num(Idx)
154405 ,p_event_id => l_array_event_id(Idx)
154406 ,p_event_class_code => l_array_class_code(Idx)
154407 ,p_event_type_code => l_array_event_type(Idx)
154408 ,p_event_number => l_array_event_number(Idx)
154409 ,p_event_date => l_array_event_date(Idx)
154410 ,p_transaction_date => l_array_transaction_date(Idx)
154411 ,p_reference_num_1 => l_array_reference_num_1(Idx)
154412 ,p_reference_num_2 => l_array_reference_num_2(Idx)
154413 ,p_reference_num_3 => l_array_reference_num_3(Idx)
154414 ,p_reference_num_4 => l_array_reference_num_4(Idx)
154415 ,p_reference_char_1 => l_array_reference_char_1(Idx)
154416 ,p_reference_char_2 => l_array_reference_char_2(Idx)
154417 ,p_reference_char_3 => l_array_reference_char_3(Idx)
154418 ,p_reference_char_4 => l_array_reference_char_4(Idx)
154419 ,p_reference_date_1 => l_array_reference_date_1(Idx)
154420 ,p_reference_date_2 => l_array_reference_date_2(Idx)
154421 ,p_reference_date_3 => l_array_reference_date_3(Idx)
154422 ,p_reference_date_4 => l_array_reference_date_4(Idx)
154423 ,p_event_created_by => l_array_event_created_by(Idx)
154424 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
154425 --
154426 END IF;
154427
154428
154429
154430 --
154431 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
154432
154433 l_acct_reversal_source := SUBSTR(l_array_source_53(Idx), 1,30);
154434
154435 IF l_continue_with_lines THEN
154436 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
154437 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
154438
154439 xla_accounting_err_pkg.build_message
154440 (p_appli_s_name => 'XLA'
154441 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
154442 ,p_token_1 => 'LINE_NUMBER'
154443 ,p_value_1 => l_array_extract_line_num(Idx)
154444 ,p_token_2 => 'PRODUCT_NAME'
154445 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
154446 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
154447 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
154448 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
154449
154450 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
154451 --
154452 -- following sets the accounting attributes needed to reverse
154453 -- accounting for a distributeion
154454 --
154455
154456 --
154457 -- 5217187
154458 --
154459 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
154460 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
154461 g_array_event(l_event_id).array_value_num('header_index'));
154462 --
154463 --
154464
154465 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
154466 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_53(Idx);
154467 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
154468 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_64(Idx);
154469 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
154470 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_55(Idx);
154471 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'ENC_UPG_CR_CCID';
154472 l_rec_rev_acct_attrs.array_num_value(5) := l_array_source_65(Idx);
154473 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_ENTERED_AMT';
154474 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_66(Idx);
154475 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_ENTERED_CURR';
154476 l_rec_rev_acct_attrs.array_char_value(7) := g_array_event(l_event_id).array_value_char('source_67');
154480 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_69(Idx);
154477 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_LEDGER_AMT';
154478 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_68(Idx);
154479 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_DR_CCID';
154481 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_DR_ENTERED_AMT';
154482 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_70(Idx);
154483 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_ENTERED_CURR';
154484 l_rec_rev_acct_attrs.array_char_value(11) := g_array_event(l_event_id).array_value_char('source_67');
154485 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_LEDGER_AMT';
154486 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_71(Idx);
154487 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_OPTION';
154488 l_rec_rev_acct_attrs.array_char_value(13) := l_array_source_72(Idx);
154489 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
154490 l_rec_rev_acct_attrs.array_char_value(14) := g_array_event(l_event_id).array_value_char('source_83');
154491 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
154492 l_rec_rev_acct_attrs.array_num_value(15) := l_array_source_84(Idx);
154493 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
154494 l_rec_rev_acct_attrs.array_char_value(16) := l_array_source_55(Idx);
154495 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
154496 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_86(Idx);
154497 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
154498 l_rec_rev_acct_attrs.array_num_value(18) := l_array_source_87(Idx);
154499 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
154500 l_rec_rev_acct_attrs.array_num_value(19) := l_array_source_88(Idx);
154501 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'UPG_CR_ENC_TYPE_ID';
154502 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_89(Idx);
154503 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
154504 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_90(Idx);
154505
154506
154507 xla_ae_lines_pkg.SetAcctReversalAttrs
154508 (p_event_id => l_event_id
154509 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
154510 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154511 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
154512 END IF;
154513
154514 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
154515 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
154516
154517 --
154518 AcctLineType_49 (
154519 p_application_id => p_application_id
154520 ,p_event_id => l_event_id
154521 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154522 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154523 ,p_actual_flag => l_actual_flag
154524 ,p_balance_type_code => l_balance_type_code
154525 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154526
154527 , p_source_1 => l_array_source_1(Idx)
154528 , p_source_21 => l_array_source_21(Idx)
154529 , p_source_30 => l_array_source_30(Idx)
154530 , p_source_33 => l_array_source_33(Idx)
154531 , p_source_33_meaning => l_array_source_33_meaning(Idx)
154532 , p_source_53 => l_array_source_53(Idx)
154533 , p_source_55 => l_array_source_55(Idx)
154534 , p_source_57 => l_array_source_57(Idx)
154535 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
154536 , p_source_59 => l_array_source_59(Idx)
154537 , p_source_60 => l_array_source_60(Idx)
154538 , p_source_61 => l_array_source_61(Idx)
154539 , p_source_62 => l_array_source_62(Idx)
154540 , p_source_63 => l_array_source_63(Idx)
154541 , p_source_64 => l_array_source_64(Idx)
154542 , p_source_65 => l_array_source_65(Idx)
154543 , p_source_66 => l_array_source_66(Idx)
154544 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
154545 , p_source_68 => l_array_source_68(Idx)
154546 , p_source_69 => l_array_source_69(Idx)
154547 , p_source_70 => l_array_source_70(Idx)
154548 , p_source_71 => l_array_source_71(Idx)
154549 , p_source_72 => l_array_source_72(Idx)
154550 , p_source_73 => l_array_source_73(Idx)
154551 , p_source_74 => l_array_source_74(Idx)
154552 , p_source_75 => l_array_source_75(Idx)
154553 , p_source_76 => l_array_source_76(Idx)
154554 , p_source_77 => l_array_source_77(Idx)
154555 , p_source_78 => l_array_source_78(Idx)
154556 , p_source_79 => l_array_source_79(Idx)
154557 , p_source_80 => l_array_source_80(Idx)
154558 , p_source_80_meaning => l_array_source_80_meaning(Idx)
154559 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
154560 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
154561 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
154562 , p_source_84 => l_array_source_84(Idx)
154563 , p_source_85 => l_array_source_85(Idx)
154564 , p_source_86 => l_array_source_86(Idx)
154565 , p_source_87 => l_array_source_87(Idx)
154566 , p_source_88 => l_array_source_88(Idx)
154567 , p_source_89 => l_array_source_89(Idx)
154568 , p_source_90 => l_array_source_90(Idx)
154569 );
154570 If(l_balance_type_code = 'A') THEN
154571 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154572 END IF;
154573
154574 --
154575
154576
154577 --
154578 AcctLineType_53 (
154579 p_application_id => p_application_id
154580 ,p_event_id => l_event_id
154581 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154582 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154583 ,p_actual_flag => l_actual_flag
154584 ,p_balance_type_code => l_balance_type_code
154585 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154586
154587 , p_source_1 => l_array_source_1(Idx)
154588 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
154589 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
154593 , p_source_22_meaning => l_array_source_22_meaning(Idx)
154590 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
154591 , p_source_21 => l_array_source_21(Idx)
154592 , p_source_22 => l_array_source_22(Idx)
154594 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
154595 , p_source_30 => l_array_source_30(Idx)
154596 , p_source_33 => l_array_source_33(Idx)
154597 , p_source_33_meaning => l_array_source_33_meaning(Idx)
154598 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
154599 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
154600 , p_source_53 => l_array_source_53(Idx)
154601 , p_source_55 => l_array_source_55(Idx)
154602 , p_source_57 => l_array_source_57(Idx)
154603 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
154604 , p_source_64 => l_array_source_64(Idx)
154605 , p_source_65 => l_array_source_65(Idx)
154606 , p_source_66 => l_array_source_66(Idx)
154607 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
154608 , p_source_68 => l_array_source_68(Idx)
154609 , p_source_69 => l_array_source_69(Idx)
154610 , p_source_70 => l_array_source_70(Idx)
154611 , p_source_71 => l_array_source_71(Idx)
154612 , p_source_72 => l_array_source_72(Idx)
154613 , p_source_73 => l_array_source_73(Idx)
154614 , p_source_77 => l_array_source_77(Idx)
154615 , p_source_78 => l_array_source_78(Idx)
154616 , p_source_79 => l_array_source_79(Idx)
154617 , p_source_80 => l_array_source_80(Idx)
154618 , p_source_80_meaning => l_array_source_80_meaning(Idx)
154619 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
154620 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
154621 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
154622 , p_source_84 => l_array_source_84(Idx)
154623 , p_source_85 => l_array_source_85(Idx)
154624 , p_source_86 => l_array_source_86(Idx)
154625 , p_source_87 => l_array_source_87(Idx)
154626 , p_source_88 => l_array_source_88(Idx)
154627 , p_source_89 => l_array_source_89(Idx)
154628 , p_source_90 => l_array_source_90(Idx)
154629 , p_source_91 => l_array_source_91(Idx)
154630 , p_source_92 => l_array_source_92(Idx)
154631 , p_source_93 => l_array_source_93(Idx)
154632 , p_source_94 => l_array_source_94(Idx)
154633 , p_source_95 => l_array_source_95(Idx)
154634 );
154635 If(l_balance_type_code = 'A') THEN
154636 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154637 END IF;
154638
154639 --
154640
154641
154642 --
154643 AcctLineType_57 (
154644 p_application_id => p_application_id
154645 ,p_event_id => l_event_id
154646 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154647 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154648 ,p_actual_flag => l_actual_flag
154649 ,p_balance_type_code => l_balance_type_code
154650 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154651
154652 , p_source_1 => l_array_source_1(Idx)
154653 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
154654 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
154655 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
154656 , p_source_21 => l_array_source_21(Idx)
154657 , p_source_22 => l_array_source_22(Idx)
154658 , p_source_22_meaning => l_array_source_22_meaning(Idx)
154659 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
154660 , p_source_30 => l_array_source_30(Idx)
154661 , p_source_33 => l_array_source_33(Idx)
154662 , p_source_33_meaning => l_array_source_33_meaning(Idx)
154663 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
154664 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
154665 , p_source_53 => l_array_source_53(Idx)
154666 , p_source_55 => l_array_source_55(Idx)
154667 , p_source_57 => l_array_source_57(Idx)
154668 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
154669 , p_source_64 => l_array_source_64(Idx)
154670 , p_source_65 => l_array_source_65(Idx)
154671 , p_source_66 => l_array_source_66(Idx)
154672 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
154673 , p_source_68 => l_array_source_68(Idx)
154674 , p_source_69 => l_array_source_69(Idx)
154675 , p_source_70 => l_array_source_70(Idx)
154676 , p_source_71 => l_array_source_71(Idx)
154677 , p_source_72 => l_array_source_72(Idx)
154678 , p_source_73 => l_array_source_73(Idx)
154679 , p_source_77 => l_array_source_77(Idx)
154680 , p_source_78 => l_array_source_78(Idx)
154681 , p_source_79 => l_array_source_79(Idx)
154682 , p_source_80 => l_array_source_80(Idx)
154683 , p_source_80_meaning => l_array_source_80_meaning(Idx)
154684 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
154685 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
154686 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
154687 , p_source_84 => l_array_source_84(Idx)
154688 , p_source_85 => l_array_source_85(Idx)
154689 , p_source_86 => l_array_source_86(Idx)
154690 , p_source_87 => l_array_source_87(Idx)
154691 , p_source_88 => l_array_source_88(Idx)
154692 , p_source_89 => l_array_source_89(Idx)
154693 , p_source_90 => l_array_source_90(Idx)
154694 , p_source_91 => l_array_source_91(Idx)
154695 , p_source_92 => l_array_source_92(Idx)
154696 , p_source_93 => l_array_source_93(Idx)
154697 , p_source_94 => l_array_source_94(Idx)
154698 , p_source_95 => l_array_source_95(Idx)
154699 , p_source_96 => l_array_source_96(Idx)
154700 , p_source_96_meaning => l_array_source_96_meaning(Idx)
154701 );
154702 If(l_balance_type_code = 'A') THEN
154703 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154704 END IF;
154705
154706 --
154707
154708
154709 --
154710 AcctLineType_109 (
154711 p_application_id => p_application_id
154712 ,p_event_id => l_event_id
154713 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154717 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154714 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154715 ,p_actual_flag => l_actual_flag
154716 ,p_balance_type_code => l_balance_type_code
154718
154719 , p_source_1 => l_array_source_1(Idx)
154720 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
154721 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
154722 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
154723 , p_source_21 => l_array_source_21(Idx)
154724 , p_source_22 => l_array_source_22(Idx)
154725 , p_source_22_meaning => l_array_source_22_meaning(Idx)
154726 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
154727 , p_source_30 => l_array_source_30(Idx)
154728 , p_source_33 => l_array_source_33(Idx)
154729 , p_source_33_meaning => l_array_source_33_meaning(Idx)
154730 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
154731 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
154732 , p_source_53 => l_array_source_53(Idx)
154733 , p_source_55 => l_array_source_55(Idx)
154734 , p_source_57 => l_array_source_57(Idx)
154735 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
154736 , p_source_64 => l_array_source_64(Idx)
154737 , p_source_65 => l_array_source_65(Idx)
154738 , p_source_66 => l_array_source_66(Idx)
154739 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
154740 , p_source_68 => l_array_source_68(Idx)
154741 , p_source_69 => l_array_source_69(Idx)
154742 , p_source_70 => l_array_source_70(Idx)
154743 , p_source_71 => l_array_source_71(Idx)
154744 , p_source_72 => l_array_source_72(Idx)
154745 , p_source_73 => l_array_source_73(Idx)
154746 , p_source_77 => l_array_source_77(Idx)
154747 , p_source_78 => l_array_source_78(Idx)
154748 , p_source_79 => l_array_source_79(Idx)
154749 , p_source_80 => l_array_source_80(Idx)
154750 , p_source_80_meaning => l_array_source_80_meaning(Idx)
154751 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
154752 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
154753 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
154754 , p_source_84 => l_array_source_84(Idx)
154755 , p_source_85 => l_array_source_85(Idx)
154756 , p_source_86 => l_array_source_86(Idx)
154757 , p_source_87 => l_array_source_87(Idx)
154758 , p_source_88 => l_array_source_88(Idx)
154759 , p_source_89 => l_array_source_89(Idx)
154760 , p_source_90 => l_array_source_90(Idx)
154761 , p_source_91 => l_array_source_91(Idx)
154762 , p_source_92 => l_array_source_92(Idx)
154763 , p_source_93 => l_array_source_93(Idx)
154764 , p_source_94 => l_array_source_94(Idx)
154765 , p_source_95 => l_array_source_95(Idx)
154766 , p_source_96 => l_array_source_96(Idx)
154767 , p_source_96_meaning => l_array_source_96_meaning(Idx)
154768 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
154769 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
154770 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
154771 );
154772 If(l_balance_type_code = 'A') THEN
154773 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154774 END IF;
154775
154776 --
154777
154778
154779 --
154780 AcctLineType_118 (
154781 p_application_id => p_application_id
154782 ,p_event_id => l_event_id
154783 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154784 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154785 ,p_actual_flag => l_actual_flag
154786 ,p_balance_type_code => l_balance_type_code
154787 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154788
154789 , p_source_1 => l_array_source_1(Idx)
154790 , p_source_21 => l_array_source_21(Idx)
154791 , p_source_30 => l_array_source_30(Idx)
154792 , p_source_33 => l_array_source_33(Idx)
154793 , p_source_33_meaning => l_array_source_33_meaning(Idx)
154794 , p_source_53 => l_array_source_53(Idx)
154795 , p_source_55 => l_array_source_55(Idx)
154796 , p_source_57 => l_array_source_57(Idx)
154797 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
154798 , p_source_64 => l_array_source_64(Idx)
154799 , p_source_65 => l_array_source_65(Idx)
154800 , p_source_66 => l_array_source_66(Idx)
154801 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
154802 , p_source_68 => l_array_source_68(Idx)
154803 , p_source_69 => l_array_source_69(Idx)
154804 , p_source_70 => l_array_source_70(Idx)
154805 , p_source_71 => l_array_source_71(Idx)
154806 , p_source_72 => l_array_source_72(Idx)
154807 , p_source_73 => l_array_source_73(Idx)
154808 , p_source_77 => l_array_source_77(Idx)
154809 , p_source_78 => l_array_source_78(Idx)
154810 , p_source_79 => l_array_source_79(Idx)
154811 , p_source_80 => l_array_source_80(Idx)
154812 , p_source_80_meaning => l_array_source_80_meaning(Idx)
154813 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
154814 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
154815 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
154816 , p_source_84 => l_array_source_84(Idx)
154817 , p_source_85 => l_array_source_85(Idx)
154818 , p_source_86 => l_array_source_86(Idx)
154819 , p_source_87 => l_array_source_87(Idx)
154820 , p_source_88 => l_array_source_88(Idx)
154821 , p_source_89 => l_array_source_89(Idx)
154822 , p_source_90 => l_array_source_90(Idx)
154823 , p_source_91 => l_array_source_91(Idx)
154824 , p_source_92 => l_array_source_92(Idx)
154825 , p_source_93 => l_array_source_93(Idx)
154826 , p_source_94 => l_array_source_94(Idx)
154827 , p_source_95 => l_array_source_95(Idx)
154828 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
154829 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
154830 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
154831 );
154832 If(l_balance_type_code = 'A') THEN
154836 --
154833 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154834 END IF;
154835
154837
154838
154839 --
154840 AcctLineType_140 (
154841 p_application_id => p_application_id
154842 ,p_event_id => l_event_id
154843 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154844 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154845 ,p_actual_flag => l_actual_flag
154846 ,p_balance_type_code => l_balance_type_code
154847 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154848
154849 , p_source_1 => l_array_source_1(Idx)
154850 , p_source_21 => l_array_source_21(Idx)
154851 , p_source_30 => l_array_source_30(Idx)
154852 , p_source_33 => l_array_source_33(Idx)
154853 , p_source_33_meaning => l_array_source_33_meaning(Idx)
154854 , p_source_53 => l_array_source_53(Idx)
154855 , p_source_55 => l_array_source_55(Idx)
154856 , p_source_57 => l_array_source_57(Idx)
154857 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
154858 , p_source_64 => l_array_source_64(Idx)
154859 , p_source_65 => l_array_source_65(Idx)
154860 , p_source_66 => l_array_source_66(Idx)
154861 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
154862 , p_source_68 => l_array_source_68(Idx)
154863 , p_source_69 => l_array_source_69(Idx)
154864 , p_source_70 => l_array_source_70(Idx)
154865 , p_source_71 => l_array_source_71(Idx)
154866 , p_source_72 => l_array_source_72(Idx)
154867 , p_source_73 => l_array_source_73(Idx)
154868 , p_source_77 => l_array_source_77(Idx)
154869 , p_source_78 => l_array_source_78(Idx)
154870 , p_source_79 => l_array_source_79(Idx)
154871 , p_source_80 => l_array_source_80(Idx)
154872 , p_source_80_meaning => l_array_source_80_meaning(Idx)
154873 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
154874 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
154875 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
154876 , p_source_84 => l_array_source_84(Idx)
154877 , p_source_85 => l_array_source_85(Idx)
154878 , p_source_86 => l_array_source_86(Idx)
154879 , p_source_87 => l_array_source_87(Idx)
154880 , p_source_88 => l_array_source_88(Idx)
154881 , p_source_89 => l_array_source_89(Idx)
154882 , p_source_90 => l_array_source_90(Idx)
154883 , p_source_91 => l_array_source_91(Idx)
154884 , p_source_92 => l_array_source_92(Idx)
154885 , p_source_93 => l_array_source_93(Idx)
154886 , p_source_94 => l_array_source_94(Idx)
154887 , p_source_95 => l_array_source_95(Idx)
154888 , p_source_96 => l_array_source_96(Idx)
154889 , p_source_96_meaning => l_array_source_96_meaning(Idx)
154890 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
154891 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
154892 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
154893 );
154894 If(l_balance_type_code = 'A') THEN
154895 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154896 END IF;
154897
154898 --
154899
154900
154901 --
154902 AcctLineType_144 (
154903 p_application_id => p_application_id
154904 ,p_event_id => l_event_id
154905 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154906 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154907 ,p_actual_flag => l_actual_flag
154908 ,p_balance_type_code => l_balance_type_code
154909 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154910
154911 , p_source_1 => l_array_source_1(Idx)
154912 , p_source_21 => l_array_source_21(Idx)
154913 , p_source_30 => l_array_source_30(Idx)
154914 , p_source_33 => l_array_source_33(Idx)
154915 , p_source_33_meaning => l_array_source_33_meaning(Idx)
154916 , p_source_53 => l_array_source_53(Idx)
154917 , p_source_55 => l_array_source_55(Idx)
154918 , p_source_57 => l_array_source_57(Idx)
154919 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
154920 , p_source_64 => l_array_source_64(Idx)
154921 , p_source_65 => l_array_source_65(Idx)
154922 , p_source_66 => l_array_source_66(Idx)
154923 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
154924 , p_source_68 => l_array_source_68(Idx)
154925 , p_source_69 => l_array_source_69(Idx)
154926 , p_source_70 => l_array_source_70(Idx)
154927 , p_source_71 => l_array_source_71(Idx)
154928 , p_source_72 => l_array_source_72(Idx)
154929 , p_source_73 => l_array_source_73(Idx)
154930 , p_source_77 => l_array_source_77(Idx)
154931 , p_source_78 => l_array_source_78(Idx)
154932 , p_source_79 => l_array_source_79(Idx)
154933 , p_source_80 => l_array_source_80(Idx)
154934 , p_source_80_meaning => l_array_source_80_meaning(Idx)
154935 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
154936 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
154937 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
154938 , p_source_84 => l_array_source_84(Idx)
154939 , p_source_85 => l_array_source_85(Idx)
154940 , p_source_86 => l_array_source_86(Idx)
154941 , p_source_87 => l_array_source_87(Idx)
154942 , p_source_88 => l_array_source_88(Idx)
154943 , p_source_89 => l_array_source_89(Idx)
154944 , p_source_90 => l_array_source_90(Idx)
154945 , p_source_91 => l_array_source_91(Idx)
154946 , p_source_92 => l_array_source_92(Idx)
154947 , p_source_93 => l_array_source_93(Idx)
154948 , p_source_94 => l_array_source_94(Idx)
154949 , p_source_95 => l_array_source_95(Idx)
154950 , p_source_96 => l_array_source_96(Idx)
154951 , p_source_96_meaning => l_array_source_96_meaning(Idx)
154952 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
154953 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
154954 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
154955 );
154956 If(l_balance_type_code = 'A') THEN
154957 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154958 END IF;
154959
154960 --
154961
154962
154963 --
154964 AcctLineType_154 (
154968 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154965 p_application_id => p_application_id
154966 ,p_event_id => l_event_id
154967 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154969 ,p_actual_flag => l_actual_flag
154970 ,p_balance_type_code => l_balance_type_code
154971 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154972
154973 , p_source_1 => l_array_source_1(Idx)
154974 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
154975 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
154976 , p_source_21 => l_array_source_21(Idx)
154977 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
154978 , p_source_53 => l_array_source_53(Idx)
154979 , p_source_55 => l_array_source_55(Idx)
154980 , p_source_57 => l_array_source_57(Idx)
154981 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
154982 , p_source_64 => l_array_source_64(Idx)
154983 , p_source_65 => l_array_source_65(Idx)
154984 , p_source_66 => l_array_source_66(Idx)
154985 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
154986 , p_source_68 => l_array_source_68(Idx)
154987 , p_source_69 => l_array_source_69(Idx)
154988 , p_source_70 => l_array_source_70(Idx)
154989 , p_source_71 => l_array_source_71(Idx)
154990 , p_source_72 => l_array_source_72(Idx)
154991 , p_source_73 => l_array_source_73(Idx)
154992 , p_source_77 => l_array_source_77(Idx)
154993 , p_source_78 => l_array_source_78(Idx)
154994 , p_source_79 => l_array_source_79(Idx)
154995 , p_source_80 => l_array_source_80(Idx)
154996 , p_source_80_meaning => l_array_source_80_meaning(Idx)
154997 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
154998 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
154999 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
155000 , p_source_84 => l_array_source_84(Idx)
155001 , p_source_85 => l_array_source_85(Idx)
155002 , p_source_86 => l_array_source_86(Idx)
155003 , p_source_87 => l_array_source_87(Idx)
155004 , p_source_88 => l_array_source_88(Idx)
155005 , p_source_89 => l_array_source_89(Idx)
155006 , p_source_90 => l_array_source_90(Idx)
155007 , p_source_91 => l_array_source_91(Idx)
155008 , p_source_92 => l_array_source_92(Idx)
155009 , p_source_93 => l_array_source_93(Idx)
155010 , p_source_94 => l_array_source_94(Idx)
155011 , p_source_95 => l_array_source_95(Idx)
155012 , p_source_142 => l_array_source_142(Idx)
155013 , p_source_142_meaning => l_array_source_142_meaning(Idx)
155014 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
155015 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
155016 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
155017 , p_source_165 => g_array_event(l_event_id).array_value_char('source_165')
155018 , p_source_165_meaning => g_array_event(l_event_id).array_value_char('source_165_meaning')
155019 );
155020 If(l_balance_type_code = 'A') THEN
155021 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155022 END IF;
155023
155024 --
155025
155026
155027 --
155028 AcctLineType_155 (
155029 p_application_id => p_application_id
155030 ,p_event_id => l_event_id
155031 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155032 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155033 ,p_actual_flag => l_actual_flag
155034 ,p_balance_type_code => l_balance_type_code
155035 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155036
155037 , p_source_1 => l_array_source_1(Idx)
155038 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
155039 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
155040 , p_source_21 => l_array_source_21(Idx)
155041 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
155042 , p_source_53 => l_array_source_53(Idx)
155043 , p_source_55 => l_array_source_55(Idx)
155044 , p_source_57 => l_array_source_57(Idx)
155045 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
155046 , p_source_64 => l_array_source_64(Idx)
155047 , p_source_65 => l_array_source_65(Idx)
155048 , p_source_66 => l_array_source_66(Idx)
155049 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
155050 , p_source_68 => l_array_source_68(Idx)
155051 , p_source_69 => l_array_source_69(Idx)
155052 , p_source_70 => l_array_source_70(Idx)
155053 , p_source_71 => l_array_source_71(Idx)
155054 , p_source_72 => l_array_source_72(Idx)
155055 , p_source_73 => l_array_source_73(Idx)
155056 , p_source_77 => l_array_source_77(Idx)
155057 , p_source_78 => l_array_source_78(Idx)
155058 , p_source_79 => l_array_source_79(Idx)
155059 , p_source_80 => l_array_source_80(Idx)
155060 , p_source_80_meaning => l_array_source_80_meaning(Idx)
155061 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155062 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
155063 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
155064 , p_source_84 => l_array_source_84(Idx)
155065 , p_source_85 => l_array_source_85(Idx)
155066 , p_source_86 => l_array_source_86(Idx)
155067 , p_source_87 => l_array_source_87(Idx)
155068 , p_source_88 => l_array_source_88(Idx)
155069 , p_source_89 => l_array_source_89(Idx)
155070 , p_source_90 => l_array_source_90(Idx)
155071 , p_source_91 => l_array_source_91(Idx)
155072 , p_source_92 => l_array_source_92(Idx)
155073 , p_source_93 => l_array_source_93(Idx)
155074 , p_source_94 => l_array_source_94(Idx)
155075 , p_source_95 => l_array_source_95(Idx)
155076 , p_source_142 => l_array_source_142(Idx)
155077 , p_source_142_meaning => l_array_source_142_meaning(Idx)
155078 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
155079 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
155080 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
155081 , p_source_165 => g_array_event(l_event_id).array_value_char('source_165')
155085 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155082 , p_source_165_meaning => g_array_event(l_event_id).array_value_char('source_165_meaning')
155083 );
155084 If(l_balance_type_code = 'A') THEN
155086 END IF;
155087
155088 --
155089
155090
155091 --
155092 AcctLineType_156 (
155093 p_application_id => p_application_id
155094 ,p_event_id => l_event_id
155095 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155096 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155097 ,p_actual_flag => l_actual_flag
155098 ,p_balance_type_code => l_balance_type_code
155099 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155100
155101 , p_source_1 => l_array_source_1(Idx)
155102 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
155103 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
155104 , p_source_21 => l_array_source_21(Idx)
155105 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
155106 , p_source_53 => l_array_source_53(Idx)
155107 , p_source_55 => l_array_source_55(Idx)
155108 , p_source_57 => l_array_source_57(Idx)
155109 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
155110 , p_source_64 => l_array_source_64(Idx)
155111 , p_source_65 => l_array_source_65(Idx)
155112 , p_source_66 => l_array_source_66(Idx)
155113 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
155114 , p_source_68 => l_array_source_68(Idx)
155115 , p_source_69 => l_array_source_69(Idx)
155116 , p_source_70 => l_array_source_70(Idx)
155117 , p_source_71 => l_array_source_71(Idx)
155118 , p_source_72 => l_array_source_72(Idx)
155119 , p_source_73 => l_array_source_73(Idx)
155120 , p_source_77 => l_array_source_77(Idx)
155121 , p_source_78 => l_array_source_78(Idx)
155122 , p_source_79 => l_array_source_79(Idx)
155123 , p_source_80 => l_array_source_80(Idx)
155124 , p_source_80_meaning => l_array_source_80_meaning(Idx)
155125 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155126 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
155127 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
155128 , p_source_84 => l_array_source_84(Idx)
155129 , p_source_85 => l_array_source_85(Idx)
155130 , p_source_86 => l_array_source_86(Idx)
155131 , p_source_87 => l_array_source_87(Idx)
155132 , p_source_88 => l_array_source_88(Idx)
155133 , p_source_89 => l_array_source_89(Idx)
155134 , p_source_90 => l_array_source_90(Idx)
155135 , p_source_91 => l_array_source_91(Idx)
155136 , p_source_92 => l_array_source_92(Idx)
155137 , p_source_93 => l_array_source_93(Idx)
155138 , p_source_94 => l_array_source_94(Idx)
155139 , p_source_95 => l_array_source_95(Idx)
155140 , p_source_142 => l_array_source_142(Idx)
155141 , p_source_142_meaning => l_array_source_142_meaning(Idx)
155142 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
155143 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
155144 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
155145 , p_source_165 => g_array_event(l_event_id).array_value_char('source_165')
155146 , p_source_165_meaning => g_array_event(l_event_id).array_value_char('source_165_meaning')
155147 );
155148 If(l_balance_type_code = 'A') THEN
155149 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155150 END IF;
155151
155152 --
155153
155154
155155 --
155156 AcctLineType_173 (
155157 p_application_id => p_application_id
155158 ,p_event_id => l_event_id
155159 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155160 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155161 ,p_actual_flag => l_actual_flag
155162 ,p_balance_type_code => l_balance_type_code
155163 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155164
155165 , p_source_1 => l_array_source_1(Idx)
155166 , p_source_21 => l_array_source_21(Idx)
155167 , p_source_30 => l_array_source_30(Idx)
155168 , p_source_33 => l_array_source_33(Idx)
155169 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155170 , p_source_53 => l_array_source_53(Idx)
155171 , p_source_55 => l_array_source_55(Idx)
155172 , p_source_57 => l_array_source_57(Idx)
155173 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
155174 , p_source_64 => l_array_source_64(Idx)
155175 , p_source_65 => l_array_source_65(Idx)
155176 , p_source_66 => l_array_source_66(Idx)
155177 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
155178 , p_source_68 => l_array_source_68(Idx)
155179 , p_source_69 => l_array_source_69(Idx)
155180 , p_source_70 => l_array_source_70(Idx)
155181 , p_source_71 => l_array_source_71(Idx)
155182 , p_source_72 => l_array_source_72(Idx)
155183 , p_source_73 => l_array_source_73(Idx)
155184 , p_source_77 => l_array_source_77(Idx)
155185 , p_source_78 => l_array_source_78(Idx)
155186 , p_source_79 => l_array_source_79(Idx)
155187 , p_source_80 => l_array_source_80(Idx)
155188 , p_source_80_meaning => l_array_source_80_meaning(Idx)
155189 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155190 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
155191 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
155192 , p_source_84 => l_array_source_84(Idx)
155193 , p_source_85 => l_array_source_85(Idx)
155194 , p_source_86 => l_array_source_86(Idx)
155195 , p_source_87 => l_array_source_87(Idx)
155196 , p_source_88 => l_array_source_88(Idx)
155197 , p_source_89 => l_array_source_89(Idx)
155198 , p_source_90 => l_array_source_90(Idx)
155199 , p_source_91 => l_array_source_91(Idx)
155200 , p_source_92 => l_array_source_92(Idx)
155201 , p_source_93 => l_array_source_93(Idx)
155202 , p_source_94 => l_array_source_94(Idx)
155203 , p_source_95 => l_array_source_95(Idx)
155204 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
155205 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
155209 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155206 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
155207 );
155208 If(l_balance_type_code = 'A') THEN
155210 END IF;
155211
155212 --
155213
155214
155215 --
155216 AcctLineType_177 (
155217 p_application_id => p_application_id
155218 ,p_event_id => l_event_id
155219 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155220 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155221 ,p_actual_flag => l_actual_flag
155222 ,p_balance_type_code => l_balance_type_code
155223 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155224
155225 , p_source_1 => l_array_source_1(Idx)
155226 , p_source_21 => l_array_source_21(Idx)
155227 , p_source_30 => l_array_source_30(Idx)
155228 , p_source_33 => l_array_source_33(Idx)
155229 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155230 , p_source_53 => l_array_source_53(Idx)
155231 , p_source_55 => l_array_source_55(Idx)
155232 , p_source_57 => l_array_source_57(Idx)
155233 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
155234 , p_source_64 => l_array_source_64(Idx)
155235 , p_source_65 => l_array_source_65(Idx)
155236 , p_source_66 => l_array_source_66(Idx)
155237 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
155238 , p_source_68 => l_array_source_68(Idx)
155239 , p_source_69 => l_array_source_69(Idx)
155240 , p_source_70 => l_array_source_70(Idx)
155241 , p_source_71 => l_array_source_71(Idx)
155242 , p_source_72 => l_array_source_72(Idx)
155243 , p_source_73 => l_array_source_73(Idx)
155244 , p_source_74 => l_array_source_74(Idx)
155245 , p_source_75 => l_array_source_75(Idx)
155246 , p_source_76 => l_array_source_76(Idx)
155247 , p_source_77 => l_array_source_77(Idx)
155248 , p_source_78 => l_array_source_78(Idx)
155249 , p_source_79 => l_array_source_79(Idx)
155250 , p_source_80 => l_array_source_80(Idx)
155251 , p_source_80_meaning => l_array_source_80_meaning(Idx)
155252 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155253 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
155254 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
155255 , p_source_84 => l_array_source_84(Idx)
155256 , p_source_85 => l_array_source_85(Idx)
155257 , p_source_86 => l_array_source_86(Idx)
155258 , p_source_87 => l_array_source_87(Idx)
155259 , p_source_88 => l_array_source_88(Idx)
155260 , p_source_89 => l_array_source_89(Idx)
155261 , p_source_90 => l_array_source_90(Idx)
155262 , p_source_91 => l_array_source_91(Idx)
155263 , p_source_92 => l_array_source_92(Idx)
155264 , p_source_93 => l_array_source_93(Idx)
155265 , p_source_94 => l_array_source_94(Idx)
155266 , p_source_95 => l_array_source_95(Idx)
155267 , p_source_96 => l_array_source_96(Idx)
155268 , p_source_96_meaning => l_array_source_96_meaning(Idx)
155269 , p_source_142 => l_array_source_142(Idx)
155270 , p_source_142_meaning => l_array_source_142_meaning(Idx)
155271 );
155272 If(l_balance_type_code = 'A') THEN
155273 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155274 END IF;
155275
155276 --
155277
155278
155279 --
155280 AcctLineType_180 (
155281 p_application_id => p_application_id
155282 ,p_event_id => l_event_id
155283 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155284 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155285 ,p_actual_flag => l_actual_flag
155286 ,p_balance_type_code => l_balance_type_code
155287 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155288
155289 , p_source_1 => l_array_source_1(Idx)
155290 , p_source_21 => l_array_source_21(Idx)
155291 , p_source_30 => l_array_source_30(Idx)
155292 , p_source_33 => l_array_source_33(Idx)
155293 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155294 , p_source_53 => l_array_source_53(Idx)
155295 , p_source_55 => l_array_source_55(Idx)
155296 , p_source_57 => l_array_source_57(Idx)
155297 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
155298 , p_source_64 => l_array_source_64(Idx)
155299 , p_source_65 => l_array_source_65(Idx)
155300 , p_source_66 => l_array_source_66(Idx)
155301 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
155302 , p_source_68 => l_array_source_68(Idx)
155303 , p_source_69 => l_array_source_69(Idx)
155304 , p_source_70 => l_array_source_70(Idx)
155305 , p_source_71 => l_array_source_71(Idx)
155306 , p_source_72 => l_array_source_72(Idx)
155307 , p_source_73 => l_array_source_73(Idx)
155308 , p_source_77 => l_array_source_77(Idx)
155309 , p_source_78 => l_array_source_78(Idx)
155310 , p_source_79 => l_array_source_79(Idx)
155311 , p_source_80 => l_array_source_80(Idx)
155312 , p_source_80_meaning => l_array_source_80_meaning(Idx)
155313 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155314 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
155315 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
155316 , p_source_84 => l_array_source_84(Idx)
155317 , p_source_85 => l_array_source_85(Idx)
155318 , p_source_86 => l_array_source_86(Idx)
155319 , p_source_87 => l_array_source_87(Idx)
155320 , p_source_88 => l_array_source_88(Idx)
155321 , p_source_89 => l_array_source_89(Idx)
155322 , p_source_90 => l_array_source_90(Idx)
155323 , p_source_91 => l_array_source_91(Idx)
155324 , p_source_92 => l_array_source_92(Idx)
155325 , p_source_93 => l_array_source_93(Idx)
155326 , p_source_94 => l_array_source_94(Idx)
155327 , p_source_95 => l_array_source_95(Idx)
155328 , p_source_96 => l_array_source_96(Idx)
155329 , p_source_96_meaning => l_array_source_96_meaning(Idx)
155330 , p_source_142 => l_array_source_142(Idx)
155331 , p_source_142_meaning => l_array_source_142_meaning(Idx)
155332 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
155333 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
155337 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155334 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
155335 );
155336 If(l_balance_type_code = 'A') THEN
155338 END IF;
155339
155340 --
155341
155342
155343 --
155344 AcctLineType_189 (
155345 p_application_id => p_application_id
155346 ,p_event_id => l_event_id
155347 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155348 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155349 ,p_actual_flag => l_actual_flag
155350 ,p_balance_type_code => l_balance_type_code
155351 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155352
155353 , p_source_1 => l_array_source_1(Idx)
155354 , p_source_21 => l_array_source_21(Idx)
155355 , p_source_30 => l_array_source_30(Idx)
155356 , p_source_33 => l_array_source_33(Idx)
155357 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155358 , p_source_53 => l_array_source_53(Idx)
155359 , p_source_55 => l_array_source_55(Idx)
155360 , p_source_57 => l_array_source_57(Idx)
155361 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
155362 , p_source_64 => l_array_source_64(Idx)
155363 , p_source_65 => l_array_source_65(Idx)
155364 , p_source_66 => l_array_source_66(Idx)
155365 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
155366 , p_source_68 => l_array_source_68(Idx)
155367 , p_source_69 => l_array_source_69(Idx)
155368 , p_source_70 => l_array_source_70(Idx)
155369 , p_source_71 => l_array_source_71(Idx)
155370 , p_source_72 => l_array_source_72(Idx)
155371 , p_source_73 => l_array_source_73(Idx)
155372 , p_source_77 => l_array_source_77(Idx)
155373 , p_source_78 => l_array_source_78(Idx)
155374 , p_source_79 => l_array_source_79(Idx)
155375 , p_source_80 => l_array_source_80(Idx)
155376 , p_source_80_meaning => l_array_source_80_meaning(Idx)
155377 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155378 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
155379 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
155380 , p_source_84 => l_array_source_84(Idx)
155381 , p_source_85 => l_array_source_85(Idx)
155382 , p_source_86 => l_array_source_86(Idx)
155383 , p_source_87 => l_array_source_87(Idx)
155384 , p_source_88 => l_array_source_88(Idx)
155385 , p_source_89 => l_array_source_89(Idx)
155386 , p_source_90 => l_array_source_90(Idx)
155387 , p_source_91 => l_array_source_91(Idx)
155388 , p_source_92 => l_array_source_92(Idx)
155389 , p_source_93 => l_array_source_93(Idx)
155390 , p_source_94 => l_array_source_94(Idx)
155391 , p_source_95 => l_array_source_95(Idx)
155392 , p_source_142 => l_array_source_142(Idx)
155393 , p_source_142_meaning => l_array_source_142_meaning(Idx)
155394 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
155395 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
155396 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
155397 );
155398 If(l_balance_type_code = 'A') THEN
155399 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155400 END IF;
155401
155402 --
155403
155404
155405 --
155406 AcctLineType_191 (
155407 p_application_id => p_application_id
155408 ,p_event_id => l_event_id
155409 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155410 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155411 ,p_actual_flag => l_actual_flag
155412 ,p_balance_type_code => l_balance_type_code
155413 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155414
155415 , p_source_1 => l_array_source_1(Idx)
155416 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
155417 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
155418 , p_source_21 => l_array_source_21(Idx)
155419 , p_source_30 => l_array_source_30(Idx)
155420 , p_source_33 => l_array_source_33(Idx)
155421 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155422 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
155423 , p_source_42 => l_array_source_42(Idx)
155424 , p_source_53 => l_array_source_53(Idx)
155425 , p_source_55 => l_array_source_55(Idx)
155426 , p_source_57 => l_array_source_57(Idx)
155427 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
155428 , p_source_64 => l_array_source_64(Idx)
155429 , p_source_65 => l_array_source_65(Idx)
155430 , p_source_66 => l_array_source_66(Idx)
155431 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
155432 , p_source_68 => l_array_source_68(Idx)
155433 , p_source_69 => l_array_source_69(Idx)
155434 , p_source_70 => l_array_source_70(Idx)
155435 , p_source_71 => l_array_source_71(Idx)
155436 , p_source_72 => l_array_source_72(Idx)
155437 , p_source_73 => l_array_source_73(Idx)
155438 , p_source_77 => l_array_source_77(Idx)
155439 , p_source_78 => l_array_source_78(Idx)
155440 , p_source_79 => l_array_source_79(Idx)
155441 , p_source_80 => l_array_source_80(Idx)
155442 , p_source_80_meaning => l_array_source_80_meaning(Idx)
155443 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155444 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
155445 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
155446 , p_source_84 => l_array_source_84(Idx)
155447 , p_source_85 => l_array_source_85(Idx)
155448 , p_source_86 => l_array_source_86(Idx)
155449 , p_source_87 => l_array_source_87(Idx)
155450 , p_source_88 => l_array_source_88(Idx)
155451 , p_source_89 => l_array_source_89(Idx)
155452 , p_source_90 => l_array_source_90(Idx)
155453 , p_source_91 => l_array_source_91(Idx)
155454 , p_source_92 => l_array_source_92(Idx)
155455 , p_source_93 => l_array_source_93(Idx)
155456 , p_source_94 => l_array_source_94(Idx)
155457 , p_source_95 => l_array_source_95(Idx)
155458 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
155459 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
155463 );
155460 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
155461 , p_source_165 => g_array_event(l_event_id).array_value_char('source_165')
155462 , p_source_165_meaning => g_array_event(l_event_id).array_value_char('source_165_meaning')
155464 If(l_balance_type_code = 'A') THEN
155465 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155466 END IF;
155467
155468 --
155469
155470
155471 --
155472 AcctLineType_194 (
155473 p_application_id => p_application_id
155474 ,p_event_id => l_event_id
155475 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155476 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155477 ,p_actual_flag => l_actual_flag
155478 ,p_balance_type_code => l_balance_type_code
155479 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155480
155481 , p_source_1 => l_array_source_1(Idx)
155482 , p_source_21 => l_array_source_21(Idx)
155483 , p_source_33 => l_array_source_33(Idx)
155484 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155485 , p_source_53 => l_array_source_53(Idx)
155486 , p_source_55 => l_array_source_55(Idx)
155487 , p_source_57 => l_array_source_57(Idx)
155488 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
155489 , p_source_64 => l_array_source_64(Idx)
155490 , p_source_65 => l_array_source_65(Idx)
155491 , p_source_66 => l_array_source_66(Idx)
155492 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
155493 , p_source_68 => l_array_source_68(Idx)
155494 , p_source_69 => l_array_source_69(Idx)
155495 , p_source_70 => l_array_source_70(Idx)
155496 , p_source_71 => l_array_source_71(Idx)
155497 , p_source_72 => l_array_source_72(Idx)
155498 , p_source_73 => l_array_source_73(Idx)
155499 , p_source_77 => l_array_source_77(Idx)
155500 , p_source_78 => l_array_source_78(Idx)
155501 , p_source_79 => l_array_source_79(Idx)
155502 , p_source_80 => l_array_source_80(Idx)
155503 , p_source_80_meaning => l_array_source_80_meaning(Idx)
155504 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
155505 , p_source_84 => l_array_source_84(Idx)
155506 , p_source_85 => l_array_source_85(Idx)
155507 , p_source_86 => l_array_source_86(Idx)
155508 , p_source_87 => l_array_source_87(Idx)
155509 , p_source_88 => l_array_source_88(Idx)
155510 , p_source_89 => l_array_source_89(Idx)
155511 , p_source_90 => l_array_source_90(Idx)
155512 , p_source_91 => l_array_source_91(Idx)
155513 , p_source_92 => l_array_source_92(Idx)
155514 , p_source_93 => l_array_source_93(Idx)
155515 , p_source_165 => g_array_event(l_event_id).array_value_char('source_165')
155516 , p_source_165_meaning => g_array_event(l_event_id).array_value_char('source_165_meaning')
155517 , p_source_166 => l_array_source_166(Idx)
155518 , p_source_167 => l_array_source_167(Idx)
155519 );
155520 If(l_balance_type_code = 'A') THEN
155521 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155522 END IF;
155523
155524 --
155525
155526
155527 --
155528 AcctLineType_198 (
155529 p_application_id => p_application_id
155530 ,p_event_id => l_event_id
155531 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155532 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155533 ,p_actual_flag => l_actual_flag
155534 ,p_balance_type_code => l_balance_type_code
155535 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155536
155537 , p_source_1 => l_array_source_1(Idx)
155538 , p_source_21 => l_array_source_21(Idx)
155539 , p_source_33 => l_array_source_33(Idx)
155540 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155541 , p_source_50 => l_array_source_50(Idx)
155542 , p_source_53 => l_array_source_53(Idx)
155543 , p_source_55 => l_array_source_55(Idx)
155544 , p_source_57 => l_array_source_57(Idx)
155545 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
155546 , p_source_64 => l_array_source_64(Idx)
155547 , p_source_65 => l_array_source_65(Idx)
155548 , p_source_66 => l_array_source_66(Idx)
155549 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
155550 , p_source_68 => l_array_source_68(Idx)
155551 , p_source_69 => l_array_source_69(Idx)
155552 , p_source_70 => l_array_source_70(Idx)
155553 , p_source_71 => l_array_source_71(Idx)
155554 , p_source_72 => l_array_source_72(Idx)
155555 , p_source_73 => l_array_source_73(Idx)
155556 , p_source_77 => l_array_source_77(Idx)
155557 , p_source_78 => l_array_source_78(Idx)
155558 , p_source_79 => l_array_source_79(Idx)
155559 , p_source_80 => l_array_source_80(Idx)
155560 , p_source_80_meaning => l_array_source_80_meaning(Idx)
155561 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155562 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
155563 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
155564 , p_source_84 => l_array_source_84(Idx)
155565 , p_source_85 => l_array_source_85(Idx)
155566 , p_source_86 => l_array_source_86(Idx)
155567 , p_source_87 => l_array_source_87(Idx)
155568 , p_source_88 => l_array_source_88(Idx)
155569 , p_source_89 => l_array_source_89(Idx)
155570 , p_source_90 => l_array_source_90(Idx)
155571 , p_source_91 => l_array_source_91(Idx)
155572 , p_source_92 => l_array_source_92(Idx)
155573 , p_source_93 => l_array_source_93(Idx)
155574 , p_source_94 => l_array_source_94(Idx)
155575 , p_source_95 => l_array_source_95(Idx)
155576 , p_source_96 => l_array_source_96(Idx)
155577 , p_source_96_meaning => l_array_source_96_meaning(Idx)
155578 , p_source_142 => l_array_source_142(Idx)
155579 , p_source_142_meaning => l_array_source_142_meaning(Idx)
155580 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
155581 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
155582 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
155583 );
155584 If(l_balance_type_code = 'A') THEN
155585 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155586 END IF;
155587
155588 --
155589
155590
155591 --
155595 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155592 AcctLineType_202 (
155593 p_application_id => p_application_id
155594 ,p_event_id => l_event_id
155596 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155597 ,p_actual_flag => l_actual_flag
155598 ,p_balance_type_code => l_balance_type_code
155599 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155600
155601 , p_source_1 => l_array_source_1(Idx)
155602 , p_source_21 => l_array_source_21(Idx)
155603 , p_source_33 => l_array_source_33(Idx)
155604 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155605 , p_source_50 => l_array_source_50(Idx)
155606 , p_source_53 => l_array_source_53(Idx)
155607 , p_source_55 => l_array_source_55(Idx)
155608 , p_source_57 => l_array_source_57(Idx)
155609 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
155610 , p_source_64 => l_array_source_64(Idx)
155611 , p_source_65 => l_array_source_65(Idx)
155612 , p_source_66 => l_array_source_66(Idx)
155613 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
155614 , p_source_68 => l_array_source_68(Idx)
155615 , p_source_69 => l_array_source_69(Idx)
155616 , p_source_70 => l_array_source_70(Idx)
155617 , p_source_71 => l_array_source_71(Idx)
155618 , p_source_72 => l_array_source_72(Idx)
155619 , p_source_73 => l_array_source_73(Idx)
155620 , p_source_77 => l_array_source_77(Idx)
155621 , p_source_78 => l_array_source_78(Idx)
155622 , p_source_79 => l_array_source_79(Idx)
155623 , p_source_80 => l_array_source_80(Idx)
155624 , p_source_80_meaning => l_array_source_80_meaning(Idx)
155625 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155626 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
155627 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
155628 , p_source_84 => l_array_source_84(Idx)
155629 , p_source_85 => l_array_source_85(Idx)
155630 , p_source_86 => l_array_source_86(Idx)
155631 , p_source_87 => l_array_source_87(Idx)
155632 , p_source_88 => l_array_source_88(Idx)
155633 , p_source_89 => l_array_source_89(Idx)
155634 , p_source_90 => l_array_source_90(Idx)
155635 , p_source_91 => l_array_source_91(Idx)
155636 , p_source_92 => l_array_source_92(Idx)
155637 , p_source_93 => l_array_source_93(Idx)
155638 , p_source_94 => l_array_source_94(Idx)
155639 , p_source_95 => l_array_source_95(Idx)
155640 , p_source_142 => l_array_source_142(Idx)
155641 , p_source_142_meaning => l_array_source_142_meaning(Idx)
155642 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
155643 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
155644 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
155645 );
155646 If(l_balance_type_code = 'A') THEN
155647 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155648 END IF;
155649
155650 --
155651
155652
155653 --
155654 AcctLineType_205 (
155655 p_application_id => p_application_id
155656 ,p_event_id => l_event_id
155657 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155658 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155659 ,p_actual_flag => l_actual_flag
155660 ,p_balance_type_code => l_balance_type_code
155661 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155662
155663 , p_source_1 => l_array_source_1(Idx)
155664 , p_source_21 => l_array_source_21(Idx)
155665 , p_source_33 => l_array_source_33(Idx)
155666 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155667 , p_source_51 => l_array_source_51(Idx)
155668 , p_source_53 => l_array_source_53(Idx)
155669 , p_source_55 => l_array_source_55(Idx)
155670 , p_source_57 => l_array_source_57(Idx)
155671 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
155672 , p_source_64 => l_array_source_64(Idx)
155673 , p_source_65 => l_array_source_65(Idx)
155674 , p_source_66 => l_array_source_66(Idx)
155675 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
155676 , p_source_68 => l_array_source_68(Idx)
155677 , p_source_69 => l_array_source_69(Idx)
155678 , p_source_70 => l_array_source_70(Idx)
155679 , p_source_71 => l_array_source_71(Idx)
155680 , p_source_72 => l_array_source_72(Idx)
155681 , p_source_73 => l_array_source_73(Idx)
155682 , p_source_77 => l_array_source_77(Idx)
155683 , p_source_78 => l_array_source_78(Idx)
155684 , p_source_79 => l_array_source_79(Idx)
155685 , p_source_80 => l_array_source_80(Idx)
155686 , p_source_80_meaning => l_array_source_80_meaning(Idx)
155687 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155688 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
155689 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
155690 , p_source_84 => l_array_source_84(Idx)
155691 , p_source_85 => l_array_source_85(Idx)
155692 , p_source_86 => l_array_source_86(Idx)
155693 , p_source_87 => l_array_source_87(Idx)
155694 , p_source_88 => l_array_source_88(Idx)
155695 , p_source_89 => l_array_source_89(Idx)
155696 , p_source_90 => l_array_source_90(Idx)
155697 , p_source_91 => l_array_source_91(Idx)
155698 , p_source_92 => l_array_source_92(Idx)
155699 , p_source_93 => l_array_source_93(Idx)
155700 , p_source_94 => l_array_source_94(Idx)
155701 , p_source_95 => l_array_source_95(Idx)
155702 , p_source_142 => l_array_source_142(Idx)
155703 , p_source_142_meaning => l_array_source_142_meaning(Idx)
155704 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
155705 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
155706 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
155707 );
155708 If(l_balance_type_code = 'A') THEN
155709 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155710 END IF;
155711
155712 --
155713
155714
155715 --
155716 AcctLineType_210 (
155717 p_application_id => p_application_id
155718 ,p_event_id => l_event_id
155719 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155723 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155720 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155721 ,p_actual_flag => l_actual_flag
155722 ,p_balance_type_code => l_balance_type_code
155724
155725 , p_source_1 => l_array_source_1(Idx)
155726 , p_source_21 => l_array_source_21(Idx)
155727 , p_source_33 => l_array_source_33(Idx)
155728 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155729 , p_source_50 => l_array_source_50(Idx)
155730 , p_source_53 => l_array_source_53(Idx)
155731 , p_source_55 => l_array_source_55(Idx)
155732 , p_source_57 => l_array_source_57(Idx)
155733 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
155734 , p_source_64 => l_array_source_64(Idx)
155735 , p_source_65 => l_array_source_65(Idx)
155736 , p_source_66 => l_array_source_66(Idx)
155737 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
155738 , p_source_68 => l_array_source_68(Idx)
155739 , p_source_69 => l_array_source_69(Idx)
155740 , p_source_70 => l_array_source_70(Idx)
155741 , p_source_71 => l_array_source_71(Idx)
155742 , p_source_72 => l_array_source_72(Idx)
155743 , p_source_73 => l_array_source_73(Idx)
155744 , p_source_74 => l_array_source_74(Idx)
155745 , p_source_75 => l_array_source_75(Idx)
155746 , p_source_76 => l_array_source_76(Idx)
155747 , p_source_77 => l_array_source_77(Idx)
155748 , p_source_78 => l_array_source_78(Idx)
155749 , p_source_79 => l_array_source_79(Idx)
155750 , p_source_80 => l_array_source_80(Idx)
155751 , p_source_80_meaning => l_array_source_80_meaning(Idx)
155752 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155753 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
155754 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
155755 , p_source_84 => l_array_source_84(Idx)
155756 , p_source_85 => l_array_source_85(Idx)
155757 , p_source_86 => l_array_source_86(Idx)
155758 , p_source_87 => l_array_source_87(Idx)
155759 , p_source_88 => l_array_source_88(Idx)
155760 , p_source_89 => l_array_source_89(Idx)
155761 , p_source_90 => l_array_source_90(Idx)
155762 , p_source_91 => l_array_source_91(Idx)
155763 , p_source_92 => l_array_source_92(Idx)
155764 , p_source_93 => l_array_source_93(Idx)
155765 , p_source_94 => l_array_source_94(Idx)
155766 , p_source_95 => l_array_source_95(Idx)
155767 , p_source_96 => l_array_source_96(Idx)
155768 , p_source_96_meaning => l_array_source_96_meaning(Idx)
155769 , p_source_142 => l_array_source_142(Idx)
155770 , p_source_142_meaning => l_array_source_142_meaning(Idx)
155771 );
155772 If(l_balance_type_code = 'A') THEN
155773 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155774 END IF;
155775
155776 --
155777
155778
155779 --
155780 AcctLineType_214 (
155781 p_application_id => p_application_id
155782 ,p_event_id => l_event_id
155783 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155784 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155785 ,p_actual_flag => l_actual_flag
155786 ,p_balance_type_code => l_balance_type_code
155787 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155788
155789 , p_source_1 => l_array_source_1(Idx)
155790 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
155791 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
155792 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
155793 , p_source_21 => l_array_source_21(Idx)
155794 , p_source_22 => l_array_source_22(Idx)
155795 , p_source_22_meaning => l_array_source_22_meaning(Idx)
155796 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
155797 , p_source_30 => l_array_source_30(Idx)
155798 , p_source_33 => l_array_source_33(Idx)
155799 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155800 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
155801 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
155802 , p_source_53 => l_array_source_53(Idx)
155803 , p_source_55 => l_array_source_55(Idx)
155804 , p_source_57 => l_array_source_57(Idx)
155805 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
155806 , p_source_64 => l_array_source_64(Idx)
155807 , p_source_65 => l_array_source_65(Idx)
155808 , p_source_66 => l_array_source_66(Idx)
155809 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
155810 , p_source_68 => l_array_source_68(Idx)
155811 , p_source_69 => l_array_source_69(Idx)
155812 , p_source_70 => l_array_source_70(Idx)
155813 , p_source_71 => l_array_source_71(Idx)
155814 , p_source_72 => l_array_source_72(Idx)
155815 , p_source_73 => l_array_source_73(Idx)
155816 , p_source_77 => l_array_source_77(Idx)
155817 , p_source_78 => l_array_source_78(Idx)
155818 , p_source_79 => l_array_source_79(Idx)
155819 , p_source_80 => l_array_source_80(Idx)
155820 , p_source_80_meaning => l_array_source_80_meaning(Idx)
155821 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155822 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
155823 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
155824 , p_source_84 => l_array_source_84(Idx)
155825 , p_source_85 => l_array_source_85(Idx)
155826 , p_source_86 => l_array_source_86(Idx)
155827 , p_source_87 => l_array_source_87(Idx)
155828 , p_source_88 => l_array_source_88(Idx)
155829 , p_source_89 => l_array_source_89(Idx)
155830 , p_source_90 => l_array_source_90(Idx)
155831 , p_source_91 => l_array_source_91(Idx)
155832 , p_source_92 => l_array_source_92(Idx)
155833 , p_source_93 => l_array_source_93(Idx)
155834 , p_source_94 => l_array_source_94(Idx)
155835 , p_source_95 => l_array_source_95(Idx)
155836 , p_source_96 => l_array_source_96(Idx)
155837 , p_source_96_meaning => l_array_source_96_meaning(Idx)
155838 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
155839 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
155843 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155840 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
155841 );
155842 If(l_balance_type_code = 'A') THEN
155844 END IF;
155845
155846 --
155847
155848
155849 --
155850 AcctLineType_218 (
155851 p_application_id => p_application_id
155852 ,p_event_id => l_event_id
155853 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155854 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155855 ,p_actual_flag => l_actual_flag
155856 ,p_balance_type_code => l_balance_type_code
155857 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155858
155859 , p_source_1 => l_array_source_1(Idx)
155860 , p_source_21 => l_array_source_21(Idx)
155861 , p_source_30 => l_array_source_30(Idx)
155862 , p_source_33 => l_array_source_33(Idx)
155863 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155864 , p_source_53 => l_array_source_53(Idx)
155865 , p_source_55 => l_array_source_55(Idx)
155866 , p_source_57 => l_array_source_57(Idx)
155867 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
155868 , p_source_64 => l_array_source_64(Idx)
155869 , p_source_65 => l_array_source_65(Idx)
155870 , p_source_66 => l_array_source_66(Idx)
155871 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
155872 , p_source_68 => l_array_source_68(Idx)
155873 , p_source_69 => l_array_source_69(Idx)
155874 , p_source_70 => l_array_source_70(Idx)
155875 , p_source_71 => l_array_source_71(Idx)
155876 , p_source_72 => l_array_source_72(Idx)
155877 , p_source_73 => l_array_source_73(Idx)
155878 , p_source_77 => l_array_source_77(Idx)
155879 , p_source_78 => l_array_source_78(Idx)
155880 , p_source_79 => l_array_source_79(Idx)
155881 , p_source_80 => l_array_source_80(Idx)
155882 , p_source_80_meaning => l_array_source_80_meaning(Idx)
155883 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155884 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
155885 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
155886 , p_source_84 => l_array_source_84(Idx)
155887 , p_source_85 => l_array_source_85(Idx)
155888 , p_source_86 => l_array_source_86(Idx)
155889 , p_source_87 => l_array_source_87(Idx)
155890 , p_source_88 => l_array_source_88(Idx)
155891 , p_source_89 => l_array_source_89(Idx)
155892 , p_source_90 => l_array_source_90(Idx)
155893 , p_source_91 => l_array_source_91(Idx)
155894 , p_source_92 => l_array_source_92(Idx)
155895 , p_source_93 => l_array_source_93(Idx)
155896 , p_source_94 => l_array_source_94(Idx)
155897 , p_source_95 => l_array_source_95(Idx)
155898 , p_source_96 => l_array_source_96(Idx)
155899 , p_source_96_meaning => l_array_source_96_meaning(Idx)
155900 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
155901 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
155902 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
155903 );
155904 If(l_balance_type_code = 'A') THEN
155905 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155906 END IF;
155907
155908 --
155909
155910
155911 --
155912 AcctLineType_222 (
155913 p_application_id => p_application_id
155914 ,p_event_id => l_event_id
155915 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155916 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155917 ,p_actual_flag => l_actual_flag
155918 ,p_balance_type_code => l_balance_type_code
155919 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155920
155921 , p_source_1 => l_array_source_1(Idx)
155922 , p_source_21 => l_array_source_21(Idx)
155923 , p_source_30 => l_array_source_30(Idx)
155924 , p_source_33 => l_array_source_33(Idx)
155925 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155926 , p_source_53 => l_array_source_53(Idx)
155927 , p_source_55 => l_array_source_55(Idx)
155928 , p_source_57 => l_array_source_57(Idx)
155929 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
155930 , p_source_64 => l_array_source_64(Idx)
155931 , p_source_65 => l_array_source_65(Idx)
155932 , p_source_66 => l_array_source_66(Idx)
155933 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
155934 , p_source_68 => l_array_source_68(Idx)
155935 , p_source_69 => l_array_source_69(Idx)
155936 , p_source_70 => l_array_source_70(Idx)
155937 , p_source_71 => l_array_source_71(Idx)
155938 , p_source_72 => l_array_source_72(Idx)
155939 , p_source_73 => l_array_source_73(Idx)
155940 , p_source_77 => l_array_source_77(Idx)
155941 , p_source_78 => l_array_source_78(Idx)
155942 , p_source_79 => l_array_source_79(Idx)
155943 , p_source_80 => l_array_source_80(Idx)
155944 , p_source_80_meaning => l_array_source_80_meaning(Idx)
155945 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
155946 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
155947 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
155948 , p_source_84 => l_array_source_84(Idx)
155949 , p_source_85 => l_array_source_85(Idx)
155950 , p_source_86 => l_array_source_86(Idx)
155951 , p_source_87 => l_array_source_87(Idx)
155952 , p_source_88 => l_array_source_88(Idx)
155953 , p_source_89 => l_array_source_89(Idx)
155954 , p_source_90 => l_array_source_90(Idx)
155955 , p_source_91 => l_array_source_91(Idx)
155956 , p_source_92 => l_array_source_92(Idx)
155957 , p_source_93 => l_array_source_93(Idx)
155958 , p_source_94 => l_array_source_94(Idx)
155959 , p_source_95 => l_array_source_95(Idx)
155960 , p_source_96 => l_array_source_96(Idx)
155961 , p_source_96_meaning => l_array_source_96_meaning(Idx)
155962 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
155963 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
155964 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
155965 );
155966 If(l_balance_type_code = 'A') THEN
155967 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155968 END IF;
155972
155969
155970 --
155971
155973 --
155974 AcctLineType_228 (
155975 p_application_id => p_application_id
155976 ,p_event_id => l_event_id
155977 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155978 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155979 ,p_actual_flag => l_actual_flag
155980 ,p_balance_type_code => l_balance_type_code
155981 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155982
155983 , p_source_1 => l_array_source_1(Idx)
155984 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
155985 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
155986 , p_source_21 => l_array_source_21(Idx)
155987 , p_source_30 => l_array_source_30(Idx)
155988 , p_source_33 => l_array_source_33(Idx)
155989 , p_source_33_meaning => l_array_source_33_meaning(Idx)
155990 , p_source_43 => l_array_source_43(Idx)
155991 , p_source_53 => l_array_source_53(Idx)
155992 , p_source_55 => l_array_source_55(Idx)
155993 , p_source_57 => l_array_source_57(Idx)
155994 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
155995 , p_source_64 => l_array_source_64(Idx)
155996 , p_source_65 => l_array_source_65(Idx)
155997 , p_source_66 => l_array_source_66(Idx)
155998 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
155999 , p_source_68 => l_array_source_68(Idx)
156000 , p_source_69 => l_array_source_69(Idx)
156001 , p_source_70 => l_array_source_70(Idx)
156002 , p_source_71 => l_array_source_71(Idx)
156003 , p_source_72 => l_array_source_72(Idx)
156004 , p_source_73 => l_array_source_73(Idx)
156005 , p_source_77 => l_array_source_77(Idx)
156006 , p_source_78 => l_array_source_78(Idx)
156007 , p_source_79 => l_array_source_79(Idx)
156008 , p_source_80 => l_array_source_80(Idx)
156009 , p_source_80_meaning => l_array_source_80_meaning(Idx)
156010 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
156011 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
156012 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
156013 , p_source_84 => l_array_source_84(Idx)
156014 , p_source_85 => l_array_source_85(Idx)
156015 , p_source_86 => l_array_source_86(Idx)
156016 , p_source_87 => l_array_source_87(Idx)
156017 , p_source_88 => l_array_source_88(Idx)
156018 , p_source_89 => l_array_source_89(Idx)
156019 , p_source_90 => l_array_source_90(Idx)
156020 , p_source_91 => l_array_source_91(Idx)
156021 , p_source_92 => l_array_source_92(Idx)
156022 , p_source_93 => l_array_source_93(Idx)
156023 , p_source_94 => l_array_source_94(Idx)
156024 , p_source_95 => l_array_source_95(Idx)
156025 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
156026 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
156027 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
156028 );
156029 If(l_balance_type_code = 'A') THEN
156030 l_actual_gain_loss_ref := l_gain_or_loss_ref;
156031 END IF;
156032
156033 --
156034
156035 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
156036 -- or secondary ledger that has different currency with primary
156037 -- or alc that is calculated by sla
156038 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
156039 (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'))
156040
156041 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
156042 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
156043 AND (l_actual_flag = 'A')) THEN
156044 XLA_AE_LINES_PKG.CreateGainOrLossLines(
156045 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
156046 ,p_application_id => p_application_id
156047 ,p_amb_context_code => 'DEFAULT'
156048 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
156049 ,p_event_class_code => C_EVENT_CLASS_CODE
156050 ,p_event_type_code => C_EVENT_TYPE_CODE
156051
156052 ,p_gain_ccid => -1
156053 ,p_loss_ccid => -1
156054
156055 ,p_actual_flag => l_actual_flag
156056 ,p_enc_flag => null
156057 ,p_actual_g_l_ref => l_actual_gain_loss_ref
156058 ,p_enc_g_l_ref => null
156059 );
156060 END IF;
156061 END IF;
156062 END IF;
156063
156064 ELSE
156065 --
156066 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
156067 --
156068 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
156069 trace
156070 (p_msg => 'Trancaction revesal option is Y'
156071 ,p_level => C_LEVEL_STATEMENT
156072 ,p_module => l_log_module);
156073 END IF;
156074 END IF;
156075
156076 END LOOP;
156077 l_result := XLA_AE_LINES_PKG.InsertLines ;
156078 end loop;
156079 close line_cur;
156080
156081
156082 --
156083 -- insert headers into xla_ae_headers_gt table
156084 --
156085 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
156086
156087 -- insert into errors table here.
156088
156089 END LOOP;
156090
156091 --
156092 -- 4865292
156093 --
156094 -- Compare g_hdr_extract_count with event count in
156095 -- CreateHeadersAndLines.
156096 --
156097 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
156098
156099 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
156100 trace (p_msg => '# rows extracted from header extract objects '
156101 || ' (running total): '
156102 || g_hdr_extract_count
156103 ,p_level => C_LEVEL_STATEMENT
156104 ,p_module => l_log_module);
156105 END IF;
156109
156106
156107 CLOSE header_cur;
156108 --
156110 --
156111 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
156112 trace
156113 (p_msg => 'END of EventClass_233'
156114 ,p_level => C_LEVEL_PROCEDURE
156115 ,p_module => l_log_module);
156116 END IF;
156117 --
156118 RETURN l_result;
156119 EXCEPTION
156120 WHEN xla_exceptions_pkg.application_exception THEN
156121
156122 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
156123
156124
156125 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
156126
156127 RAISE;
156128
156129 WHEN NO_DATA_FOUND THEN
156130
156131 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
156132 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
156133
156134 FOR header_record IN header_cur
156135 LOOP
156136 l_array_header_events(header_record.event_id) := header_record.event_id;
156137 END LOOP;
156138
156139 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
156140 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
156141
156142 fnd_file.put_line(fnd_file.LOG, ' ');
156143 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
156144 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
156145 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
156146
156147 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
156148 LOOP
156149 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
156150 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
156151 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
156152 END IF;
156153 END LOOP;
156154
156155 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
156156 fnd_file.put_line(fnd_file.LOG, ' ');
156157
156158
156159 xla_exceptions_pkg.raise_message
156160 (p_location => 'XLA_00200_AAD_S_000002_PKG.EventClass_233');
156161
156162
156163 WHEN OTHERS THEN
156164 xla_exceptions_pkg.raise_message
156165 (p_location => 'XLA_00200_AAD_S_000002_PKG.EventClass_233');
156166 END EventClass_233;
156167 --
156168
156169 ---------------------------------------
156170 --
156171 -- PRIVATE PROCEDURE
156172 -- insert_sources_234
156173 --
156174 ----------------------------------------
156175 --
156176 PROCEDURE insert_sources_234(
156177 p_target_ledger_id IN NUMBER
156178 , p_language IN VARCHAR2
156179 , p_sla_ledger_id IN NUMBER
156180 , p_pad_start_date IN DATE
156181 , p_pad_end_date IN DATE
156182 )
156183 IS
156184
156185 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PAYMENTS_ALL';
156186 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PAYMENTS';
156187 p_apps_owner VARCHAR2(30);
156188 l_log_module VARCHAR2(240);
156189 BEGIN
156190 IF g_log_enabled THEN
156191 l_log_module := C_DEFAULT_MODULE||'.insert_sources_234';
156192 END IF;
156193 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
156194
156195 trace
156196 (p_msg => 'BEGIN of insert_sources_234'
156197 ,p_level => C_LEVEL_PROCEDURE
156198 ,p_module => l_log_module);
156199
156200 END IF;
156201
156202 -- select APPS owner
156203 SELECT oracle_username
156204 INTO p_apps_owner
156205 FROM fnd_oracle_userid
156206 WHERE read_only_flag = 'U'
156207 ;
156208
156209 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
156210 trace
156211 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
156212 ' - p_language = '||p_language||
156213 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
156214 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
156215 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
156216 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
156217 ,p_level => C_LEVEL_STATEMENT
156218 ,p_module => l_log_module);
156219 END IF;
156220
156221
156222 --
156223 INSERT INTO xla_diag_sources --hdr2
156224 (
156225 event_id
156226 , ledger_id
156227 , sla_ledger_id
156228 , description_language
156229 , object_name
156230 , object_type_code
156231 , line_number
156232 , source_application_id
156233 , source_type_code
156234 , source_code
156235 , source_value
156236 , source_meaning
156237 , created_by
156238 , creation_date
156239 , last_update_date
156240 , last_updated_by
156241 , last_update_login
156242 , program_update_date
156243 , program_application_id
156244 , program_id
156245 , request_id
156246 )
156247 SELECT
156248 event_id
156249 , p_target_ledger_id
156250 , p_sla_ledger_id
156251 , p_language
156252 , object_name
156253 , object_type_code
156254 , line_number
156255 , source_application_id
156256 , source_type_code
156257 , source_code
156258 , SUBSTR(source_value ,1,1996)
156259 , SUBSTR(source_meaning ,1,200)
156260 , xla_environment_pkg.g_Usr_Id
156261 , TRUNC(SYSDATE)
156262 , TRUNC(SYSDATE)
156263 , xla_environment_pkg.g_Usr_Id
156264 , xla_environment_pkg.g_Login_Id
156265 , TRUNC(SYSDATE)
156269 FROM (
156266 , xla_environment_pkg.g_Prog_Appl_Id
156267 , xla_environment_pkg.g_Prog_Id
156268 , xla_environment_pkg.g_Req_Id
156270 SELECT xet.event_id event_id
156271 , 0 line_number
156272 , CASE r
156273 WHEN 1 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156274 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156275 WHEN 3 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156276 WHEN 4 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156277 WHEN 5 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156278 WHEN 6 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156279 WHEN 7 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
156280 WHEN 8 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156281 WHEN 9 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
156282 WHEN 10 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
156283 WHEN 11 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156284 WHEN 12 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
156285 WHEN 13 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
156286 WHEN 14 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156287 WHEN 15 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
156288 WHEN 16 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
156289 WHEN 17 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156290 WHEN 18 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156291 WHEN 19 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
156292 WHEN 20 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156293 WHEN 21 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
156294 WHEN 22 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
156295 WHEN 23 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
156296 WHEN 24 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156297 WHEN 25 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
156298 WHEN 26 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156299 WHEN 27 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
156300 WHEN 28 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156301 WHEN 29 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156302 WHEN 30 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156303 WHEN 31 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156304 WHEN 32 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156305 WHEN 33 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156306 WHEN 34 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156307 WHEN 35 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156308 WHEN 36 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156309 WHEN 37 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156310 WHEN 38 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156311 WHEN 39 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
156312
156313 ELSE null
156314 END object_name
156315 , CASE r
156316 WHEN 1 THEN 'HEADER'
156317 WHEN 2 THEN 'HEADER'
156318 WHEN 3 THEN 'HEADER'
156319 WHEN 4 THEN 'HEADER'
156320 WHEN 5 THEN 'HEADER'
156321 WHEN 6 THEN 'HEADER'
156322 WHEN 7 THEN 'HEADER'
156323 WHEN 8 THEN 'HEADER'
156324 WHEN 9 THEN 'HEADER'
156325 WHEN 10 THEN 'HEADER'
156326 WHEN 11 THEN 'HEADER'
156327 WHEN 12 THEN 'HEADER'
156328 WHEN 13 THEN 'HEADER'
156329 WHEN 14 THEN 'HEADER'
156330 WHEN 15 THEN 'HEADER'
156331 WHEN 16 THEN 'HEADER'
156332 WHEN 17 THEN 'HEADER'
156333 WHEN 18 THEN 'HEADER'
156334 WHEN 19 THEN 'HEADER'
156335 WHEN 20 THEN 'HEADER'
156336 WHEN 21 THEN 'HEADER'
156337 WHEN 22 THEN 'HEADER'
156338 WHEN 23 THEN 'HEADER'
156339 WHEN 24 THEN 'HEADER'
156340 WHEN 25 THEN 'HEADER'
156341 WHEN 26 THEN 'HEADER'
156342 WHEN 27 THEN 'HEADER'
156343 WHEN 28 THEN 'HEADER'
156344 WHEN 29 THEN 'HEADER'
156345 WHEN 30 THEN 'HEADER'
156346 WHEN 31 THEN 'HEADER'
156347 WHEN 32 THEN 'HEADER'
156348 WHEN 33 THEN 'HEADER'
156349 WHEN 34 THEN 'HEADER'
156350 WHEN 35 THEN 'HEADER'
156351 WHEN 36 THEN 'HEADER'
156352 WHEN 37 THEN 'HEADER'
156353 WHEN 38 THEN 'HEADER'
156354 WHEN 39 THEN 'HEADER'
156355
156356 ELSE null
156357 END object_type_code
156358 , CASE r
156359 WHEN 1 THEN '200'
156360 WHEN 2 THEN '200'
156361 WHEN 3 THEN '200'
156362 WHEN 4 THEN '200'
156363 WHEN 5 THEN '200'
156364 WHEN 6 THEN '200'
156365 WHEN 7 THEN '200'
156366 WHEN 8 THEN '200'
156367 WHEN 9 THEN '200'
156368 WHEN 10 THEN '200'
156369 WHEN 11 THEN '200'
156370 WHEN 12 THEN '200'
156371 WHEN 13 THEN '200'
156372 WHEN 14 THEN '200'
156373 WHEN 15 THEN '200'
156374 WHEN 16 THEN '200'
156375 WHEN 17 THEN '200'
156376 WHEN 18 THEN '200'
156377 WHEN 19 THEN '200'
156378 WHEN 20 THEN '200'
156379 WHEN 21 THEN '200'
156380 WHEN 22 THEN '200'
156381 WHEN 23 THEN '200'
156382 WHEN 24 THEN '200'
156383 WHEN 25 THEN '200'
156384 WHEN 26 THEN '200'
156385 WHEN 27 THEN '200'
156389 WHEN 31 THEN '200'
156386 WHEN 28 THEN '200'
156387 WHEN 29 THEN '200'
156388 WHEN 30 THEN '200'
156390 WHEN 32 THEN '200'
156391 WHEN 33 THEN '200'
156392 WHEN 34 THEN '200'
156393 WHEN 35 THEN '200'
156394 WHEN 36 THEN '200'
156395 WHEN 37 THEN '200'
156396 WHEN 38 THEN '200'
156397 WHEN 39 THEN '200'
156398
156399 ELSE null
156400 END source_application_id
156401 , 'S' source_type_code
156402 , CASE r
156403 WHEN 1 THEN 'DOC_SEQUENCE_NAME'
156404 WHEN 2 THEN 'AC_DOC_SEQUENCE_VALUE'
156405 WHEN 3 THEN 'PAYMENT_TRANSACTION_NUMBER'
156406 WHEN 4 THEN 'AC_CHECK_DATE'
156407 WHEN 5 THEN 'CBA_BANK_ACCOUNT_NAME'
156408 WHEN 6 THEN 'AC_CURRENCY_CODE'
156409 WHEN 7 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
156410 WHEN 8 THEN 'CGAC_AP_ASSET_CCID'
156411 WHEN 9 THEN 'FSP_DISC_TAKEN_CCID'
156412 WHEN 10 THEN 'ASP_DISCOUNT_DIST_METHOD'
156413 WHEN 11 THEN 'CGAC_FUTURE_DATED_PMT_CCID'
156414 WHEN 12 THEN 'ASP_FD_PMT_ACCT_SOURCE'
156415 WHEN 13 THEN 'FSP_FUTURE_DATED_PAYMENT_CCID'
156416 WHEN 14 THEN 'POS_FDP_CCID'
156417 WHEN 15 THEN 'ASP_INTEREST_CCID'
156418 WHEN 16 THEN 'ASP_PRORATE_INT_ACROSS_DISTS'
156419 WHEN 17 THEN 'CGAC_CASH_CLEARING_CCID'
156420 WHEN 18 THEN 'CGAC_GAIN_CCID'
156421 WHEN 19 THEN 'ASP_GAIN_CCID'
156422 WHEN 20 THEN 'CGAC_LOSS_CCID'
156423 WHEN 21 THEN 'ASP_LOSS_CCID'
156424 WHEN 22 THEN 'ASP_DISC_TAKEN_CCID'
156425 WHEN 23 THEN 'ASP_AUTO_OFFSET_FLAG'
156426 WHEN 24 THEN 'PAYCARD_ACCRUED_ACCOUNT_CCID'
156427 WHEN 25 THEN 'ASP_ROUNDING_ERROR_CCID'
156428 WHEN 26 THEN 'THIRD_PARTY_TYPE'
156429 WHEN 27 THEN 'ASP_WHEN_TO_ACCOUNT_PMT'
156430 WHEN 28 THEN 'AC_VENDOR_ID'
156431 WHEN 29 THEN 'AC_VENDOR_SITE_ID'
156432 WHEN 30 THEN 'CBA_POOLED_BANK_ACOUNT_FLAG'
156433 WHEN 31 THEN 'AC_FUTURE_PAY_DUE_DATE'
156434 WHEN 32 THEN 'AC_EXCHANGE_DATE'
156435 WHEN 33 THEN 'AC_EXCHANGE_RATE'
156436 WHEN 34 THEN 'AC_EXCHANGE_RATE_TYPE'
156437 WHEN 35 THEN 'PAYMENT_TYPE'
156438 WHEN 36 THEN 'PAYMENT_PROCESSING_TYPE'
156439 WHEN 37 THEN 'AC_DOC_CATEGORY_CODE'
156440 WHEN 38 THEN 'PAYMENT_DOCUMENT_SEQUENCE_ID'
156441 WHEN 39 THEN 'TRANSAC_REVERSAL_FLAG'
156442
156443 ELSE null
156444 END source_code
156445 , CASE r
156446 WHEN 1 THEN TO_CHAR(h2.DOC_SEQUENCE_NAME)
156447 WHEN 2 THEN TO_CHAR(h2.AC_DOC_SEQUENCE_VALUE)
156448 WHEN 3 THEN TO_CHAR(h2.PAYMENT_TRANSACTION_NUMBER)
156449 WHEN 4 THEN TO_CHAR(h2.AC_CHECK_DATE)
156450 WHEN 5 THEN TO_CHAR(h2.CBA_BANK_ACCOUNT_NAME)
156451 WHEN 6 THEN TO_CHAR(h2.AC_CURRENCY_CODE)
156452 WHEN 7 THEN TO_CHAR(h3.ASP_AUTOMATIC_OFFSETS_VALUE)
156453 WHEN 8 THEN TO_CHAR(h2.CGAC_AP_ASSET_CCID)
156454 WHEN 9 THEN TO_CHAR(h3.FSP_DISC_TAKEN_CCID)
156455 WHEN 10 THEN TO_CHAR(h3.ASP_DISCOUNT_DIST_METHOD)
156456 WHEN 11 THEN TO_CHAR(h2.CGAC_FUTURE_DATED_PMT_CCID)
156457 WHEN 12 THEN TO_CHAR(h3.ASP_FD_PMT_ACCT_SOURCE)
156458 WHEN 13 THEN TO_CHAR(h3.FSP_FUTURE_DATED_PAYMENT_CCID)
156459 WHEN 14 THEN TO_CHAR(h2.POS_FDP_CCID)
156460 WHEN 15 THEN TO_CHAR(h3.ASP_INTEREST_CCID)
156461 WHEN 16 THEN TO_CHAR(h3.ASP_PRORATE_INT_ACROSS_DISTS)
156462 WHEN 17 THEN TO_CHAR(h2.CGAC_CASH_CLEARING_CCID)
156463 WHEN 18 THEN TO_CHAR(h2.CGAC_GAIN_CCID)
156464 WHEN 19 THEN TO_CHAR(h3.ASP_GAIN_CCID)
156465 WHEN 20 THEN TO_CHAR(h2.CGAC_LOSS_CCID)
156466 WHEN 21 THEN TO_CHAR(h3.ASP_LOSS_CCID)
156467 WHEN 22 THEN TO_CHAR(h3.ASP_DISC_TAKEN_CCID)
156468 WHEN 23 THEN TO_CHAR(h3.ASP_AUTO_OFFSET_FLAG)
156469 WHEN 24 THEN TO_CHAR(h2.PAYCARD_ACCRUED_ACCOUNT_CCID)
156470 WHEN 25 THEN TO_CHAR(h3.ASP_ROUNDING_ERROR_CCID)
156471 WHEN 26 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
156472 WHEN 27 THEN TO_CHAR(h3.ASP_WHEN_TO_ACCOUNT_PMT)
156473 WHEN 28 THEN TO_CHAR(h2.AC_VENDOR_ID)
156474 WHEN 29 THEN TO_CHAR(h2.AC_VENDOR_SITE_ID)
156475 WHEN 30 THEN TO_CHAR(h2.CBA_POOLED_BANK_ACOUNT_FLAG)
156476 WHEN 31 THEN TO_CHAR(h2.AC_FUTURE_PAY_DUE_DATE)
156477 WHEN 32 THEN TO_CHAR(h2.AC_EXCHANGE_DATE)
156478 WHEN 33 THEN TO_CHAR(h2.AC_EXCHANGE_RATE)
156479 WHEN 34 THEN TO_CHAR(h2.AC_EXCHANGE_RATE_TYPE)
156480 WHEN 35 THEN TO_CHAR(h2.PAYMENT_TYPE)
156481 WHEN 36 THEN TO_CHAR(h2.PAYMENT_PROCESSING_TYPE)
156482 WHEN 37 THEN TO_CHAR(h2.AC_DOC_CATEGORY_CODE)
156483 WHEN 38 THEN TO_CHAR(h2.PAYMENT_DOCUMENT_SEQUENCE_ID)
156484 WHEN 39 THEN TO_CHAR(h2.TRANSAC_REVERSAL_FLAG)
156485
156486 ELSE null
156487 END source_value
156488 , CASE r
156489 WHEN 7 THEN fvl15.meaning
156490 WHEN 10 THEN fvl19.meaning
156491 WHEN 12 THEN fvl25.meaning
156492 WHEN 23 THEN fvl47.meaning
156493 WHEN 30 THEN fvl113.meaning
156497 ELSE null
156494 WHEN 35 THEN fvl122.meaning
156495 WHEN 39 THEN fvl172.meaning
156496
156498 END source_meaning
156499 FROM xla_events_gt xet
156500 , AP_PAYMENT_EXTRACT_HEADER_V h2
156501 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
156502 , fnd_lookup_values fvl15
156503 , fnd_lookup_values fvl19
156504 , fnd_lookup_values fvl25
156505 , fnd_lookup_values fvl47
156506 , fnd_lookup_values fvl113
156507 , fnd_lookup_values fvl122
156508 , fnd_lookup_values fvl172
156509 ,(select rownum r from all_objects where rownum <= 39 and owner = p_apps_owner)
156510 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
156511 AND xet.event_class_code = C_EVENT_CLASS_CODE
156512 AND h2.event_id = xet.event_id
156513 AND h3.asp_org_id = h2.ac_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
156514 AND fvl15.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
156515 AND fvl15.view_application_id(+) = 200
156516 AND fvl15.language(+) = USERENV('LANG')
156517 AND fvl19.lookup_type(+) = 'DISCOUNT_DIST_OPTIONS'
156518 AND fvl19.lookup_code(+) = h3.ASP_DISCOUNT_DIST_METHOD
156519 AND fvl19.view_application_id(+) = 200
156520 AND fvl19.language(+) = USERENV('LANG')
156521 AND fvl25.lookup_type(+) = 'FUTURE PAY ACCT SOURCE'
156522 AND fvl25.lookup_code(+) = h3.ASP_FD_PMT_ACCT_SOURCE
156523 AND fvl25.view_application_id(+) = 200
156524 AND fvl25.language(+) = USERENV('LANG')
156525 AND fvl47.lookup_type(+) = 'YES_NO'
156526 AND fvl47.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
156527 AND fvl47.view_application_id(+) = 0
156528 AND fvl47.language(+) = USERENV('LANG')
156529 AND fvl113.lookup_type(+) = 'YES_NO'
156530 AND fvl113.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
156531 AND fvl113.view_application_id(+) = 0
156532 AND fvl113.language(+) = USERENV('LANG')
156533 AND fvl122.lookup_type(+) = 'PAYMENT TYPE'
156534 AND fvl122.lookup_code(+) = h2.PAYMENT_TYPE
156535 AND fvl122.view_application_id(+) = 200
156536 AND fvl122.language(+) = USERENV('LANG')
156537 AND fvl172.lookup_type(+) = 'YES_NO'
156538 AND fvl172.lookup_code(+) = h2.TRANSAC_REVERSAL_FLAG
156539 AND fvl172.view_application_id(+) = 0
156540 AND fvl172.language(+) = USERENV('LANG')
156541
156542 )
156543 ;
156544 --
156545 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
156546
156547 trace
156548 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
156549 ,p_level => C_LEVEL_STATEMENT
156550 ,p_module => l_log_module);
156551
156552 END IF;
156553 --
156554
156555
156556
156557 --
156558 INSERT INTO xla_diag_sources --line2
156559 (
156560 event_id
156561 , ledger_id
156562 , sla_ledger_id
156563 , description_language
156564 , object_name
156565 , object_type_code
156566 , line_number
156567 , source_application_id
156568 , source_type_code
156569 , source_code
156570 , source_value
156571 , source_meaning
156572 , created_by
156573 , creation_date
156574 , last_update_date
156575 , last_updated_by
156576 , last_update_login
156577 , program_update_date
156578 , program_application_id
156579 , program_id
156580 , request_id
156581 )
156582 SELECT event_id
156583 , p_target_ledger_id
156584 , p_sla_ledger_id
156585 , p_language
156586 , object_name
156587 , object_type_code
156588 , line_number
156589 , source_application_id
156590 , source_type_code
156591 , source_code
156592 , SUBSTR(source_value,1,1996)
156593 , SUBSTR(source_meaning ,1,200)
156594 , xla_environment_pkg.g_Usr_Id
156595 , TRUNC(SYSDATE)
156596 , TRUNC(SYSDATE)
156597 , xla_environment_pkg.g_Usr_Id
156598 , xla_environment_pkg.g_Login_Id
156599 , TRUNC(SYSDATE)
156600 , xla_environment_pkg.g_Prog_Appl_Id
156601 , xla_environment_pkg.g_Prog_Id
156602 , xla_environment_pkg.g_Req_Id
156603 FROM (
156604 SELECT xet.event_id event_id
156605 , l1.line_number line_number
156606 , CASE r
156607 WHEN 1 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156608 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156609 WHEN 3 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156610 WHEN 4 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156611 WHEN 5 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156612 WHEN 6 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
156613 WHEN 7 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156614 WHEN 8 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156615 WHEN 9 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156616 WHEN 10 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156617 WHEN 11 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
156618 WHEN 12 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
156619 WHEN 13 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
156620 WHEN 14 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156621 WHEN 15 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156622 WHEN 16 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156623 WHEN 17 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156624 WHEN 18 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156625 WHEN 19 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156626 WHEN 20 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156627 WHEN 21 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156631 WHEN 25 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156628 WHEN 22 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156629 WHEN 23 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156630 WHEN 24 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156632 WHEN 26 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
156633 WHEN 27 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156634 WHEN 28 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156635 WHEN 29 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156636 WHEN 30 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156637 WHEN 31 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156638 WHEN 32 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156639 WHEN 33 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156640 WHEN 34 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
156641
156642 ELSE null
156643 END object_name
156644 , CASE r
156645 WHEN 1 THEN 'LINE'
156646 WHEN 2 THEN 'LINE'
156647 WHEN 3 THEN 'LINE'
156648 WHEN 4 THEN 'LINE'
156649 WHEN 5 THEN 'LINE'
156650 WHEN 6 THEN 'LINE'
156651 WHEN 7 THEN 'LINE'
156652 WHEN 8 THEN 'LINE'
156653 WHEN 9 THEN 'LINE'
156654 WHEN 10 THEN 'LINE'
156655 WHEN 11 THEN 'LINE'
156656 WHEN 12 THEN 'LINE'
156657 WHEN 13 THEN 'LINE'
156658 WHEN 14 THEN 'LINE'
156659 WHEN 15 THEN 'LINE'
156660 WHEN 16 THEN 'LINE'
156661 WHEN 17 THEN 'LINE'
156662 WHEN 18 THEN 'LINE'
156663 WHEN 19 THEN 'LINE'
156664 WHEN 20 THEN 'LINE'
156665 WHEN 21 THEN 'LINE'
156666 WHEN 22 THEN 'LINE'
156667 WHEN 23 THEN 'LINE'
156668 WHEN 24 THEN 'LINE'
156669 WHEN 25 THEN 'LINE'
156670 WHEN 26 THEN 'LINE'
156671 WHEN 27 THEN 'LINE'
156672 WHEN 28 THEN 'LINE'
156673 WHEN 29 THEN 'LINE'
156674 WHEN 30 THEN 'LINE'
156675 WHEN 31 THEN 'LINE'
156676 WHEN 32 THEN 'LINE'
156677 WHEN 33 THEN 'LINE'
156678 WHEN 34 THEN 'LINE'
156679
156680 ELSE null
156681 END object_type_code
156682 , CASE r
156683 WHEN 1 THEN '200'
156684 WHEN 2 THEN '200'
156685 WHEN 3 THEN '200'
156686 WHEN 4 THEN '200'
156687 WHEN 5 THEN '200'
156688 WHEN 6 THEN '200'
156689 WHEN 7 THEN '200'
156690 WHEN 8 THEN '200'
156691 WHEN 9 THEN '200'
156692 WHEN 10 THEN '200'
156693 WHEN 11 THEN '200'
156694 WHEN 12 THEN '200'
156695 WHEN 13 THEN '200'
156696 WHEN 14 THEN '200'
156697 WHEN 15 THEN '200'
156698 WHEN 16 THEN '200'
156699 WHEN 17 THEN '200'
156700 WHEN 18 THEN '200'
156701 WHEN 19 THEN '200'
156702 WHEN 20 THEN '200'
156703 WHEN 21 THEN '200'
156704 WHEN 22 THEN '200'
156705 WHEN 23 THEN '200'
156706 WHEN 24 THEN '200'
156707 WHEN 25 THEN '200'
156708 WHEN 26 THEN '200'
156709 WHEN 27 THEN '200'
156710 WHEN 28 THEN '200'
156711 WHEN 29 THEN '200'
156712 WHEN 30 THEN '200'
156713 WHEN 31 THEN '200'
156714 WHEN 32 THEN '200'
156715 WHEN 33 THEN '200'
156716 WHEN 34 THEN '200'
156717
156718 ELSE null
156719 END source_application_id
156720 , 'S' source_type_code
156721 , CASE r
156722 WHEN 1 THEN 'AID_DIST_CCID'
156723 WHEN 2 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
156724 WHEN 3 THEN 'AWT_RELATED_DIST_ACCOUNT'
156725 WHEN 4 THEN 'POD_CCID'
156726 WHEN 5 THEN 'PO_VARIANCE_ACCOUNT'
156727 WHEN 6 THEN 'TAX_ACCOUNT_CCID'
156728 WHEN 7 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
156729 WHEN 8 THEN 'DISTRIBUTION_LINK_TYPE'
156730 WHEN 9 THEN 'AI_INVOICE_CURRENCY_CODE'
156731 WHEN 10 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
156732 WHEN 11 THEN 'TAX_LINE_ID'
156733 WHEN 12 THEN 'REC_NREC_TAX_DIST_ID'
156734 WHEN 13 THEN 'SUMMARY_TAX_LINE_ID'
156735 WHEN 14 THEN 'BUS_FLOW_AP_APP_ID'
156736 WHEN 15 THEN 'BUS_FLOW_INV_DIST_TYPE'
156737 WHEN 16 THEN 'BUS_FLOW_INV_ENTITY_CODE'
156738 WHEN 17 THEN 'BUS_FLOW_INV_DIST_ID'
156739 WHEN 18 THEN 'BUS_FLOW_INV_ID'
156740 WHEN 19 THEN 'APHD_PAY_DIST_LOOKUP_CODE'
156741 WHEN 20 THEN 'APHD_AMOUNT'
156742 WHEN 21 THEN 'APHD_PAYMENT_HIST_DIST_ID'
156743 WHEN 22 THEN 'APHD_REV_PAY_HIST_DIST_ID'
156744 WHEN 23 THEN 'APHD_PAYMENT_BASE_AMT'
156745 WHEN 24 THEN 'APHD_INVOICE_BASE_AMT'
156746 WHEN 25 THEN 'APHD_INVOICE_DIST_AMOUNT'
156747 WHEN 26 THEN 'DEF_REC_SETTLEMENT_OPTION_CODE'
156748 WHEN 27 THEN 'AWT_RELATED_DIST_TYPE'
156749 WHEN 28 THEN 'INV_EXCHANGE_DATE'
156750 WHEN 29 THEN 'INV_EXCHANGE_RATE'
156751 WHEN 30 THEN 'INV_EXCHANGE_RATE_TYPE'
156755 WHEN 34 THEN 'AWT_AT_PMT_TIME'
156752 WHEN 31 THEN 'INV_PMT_BASE_AMT_DIFF'
156753 WHEN 32 THEN 'INV_PMT_GAIN_LOSS_INDICATOR'
156754 WHEN 33 THEN 'AI_INVOICE_TYPE_PAID'
156756
156757 ELSE null
156758 END source_code
156759 , CASE r
156760 WHEN 1 THEN TO_CHAR(l1.AID_DIST_CCID)
156761 WHEN 2 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
156762 WHEN 3 THEN TO_CHAR(l1.AWT_RELATED_DIST_ACCOUNT)
156763 WHEN 4 THEN TO_CHAR(l1.POD_CCID)
156764 WHEN 5 THEN TO_CHAR(l1.PO_VARIANCE_ACCOUNT)
156765 WHEN 6 THEN TO_CHAR(l4.TAX_ACCOUNT_CCID)
156766 WHEN 7 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
156767 WHEN 8 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
156768 WHEN 9 THEN TO_CHAR(l1.AI_INVOICE_CURRENCY_CODE)
156769 WHEN 10 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
156770 WHEN 11 THEN TO_CHAR(l4.TAX_LINE_ID)
156771 WHEN 12 THEN TO_CHAR(l5.REC_NREC_TAX_DIST_ID)
156772 WHEN 13 THEN TO_CHAR(l4.SUMMARY_TAX_LINE_ID)
156773 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
156774 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
156775 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
156776 WHEN 17 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
156777 WHEN 18 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
156778 WHEN 19 THEN TO_CHAR(l1.APHD_PAY_DIST_LOOKUP_CODE)
156779 WHEN 20 THEN TO_CHAR(l1.APHD_AMOUNT)
156780 WHEN 21 THEN TO_CHAR(l1.APHD_PAYMENT_HIST_DIST_ID)
156781 WHEN 22 THEN TO_CHAR(l1.APHD_REV_PAY_HIST_DIST_ID)
156782 WHEN 23 THEN TO_CHAR(l1.APHD_PAYMENT_BASE_AMT)
156783 WHEN 24 THEN TO_CHAR(l1.APHD_INVOICE_BASE_AMT)
156784 WHEN 25 THEN TO_CHAR(l1.APHD_INVOICE_DIST_AMOUNT)
156785 WHEN 26 THEN TO_CHAR(l4.DEF_REC_SETTLEMENT_OPTION_CODE)
156786 WHEN 27 THEN TO_CHAR(l1.AWT_RELATED_DIST_TYPE)
156787 WHEN 28 THEN TO_CHAR(l1.INV_EXCHANGE_DATE)
156788 WHEN 29 THEN TO_CHAR(l1.INV_EXCHANGE_RATE)
156789 WHEN 30 THEN TO_CHAR(l1.INV_EXCHANGE_RATE_TYPE)
156790 WHEN 31 THEN TO_CHAR(l1.INV_PMT_BASE_AMT_DIFF)
156791 WHEN 32 THEN TO_CHAR(l1.INV_PMT_GAIN_LOSS_INDICATOR)
156792 WHEN 33 THEN TO_CHAR(l1.AI_INVOICE_TYPE_PAID)
156793 WHEN 34 THEN TO_CHAR(l1.AWT_AT_PMT_TIME)
156794
156795 ELSE null
156796 END source_value
156797 , CASE r
156798 WHEN 2 THEN fvl33.meaning
156799 WHEN 10 THEN fvl80.meaning
156800 WHEN 19 THEN fvl98.meaning
156801 WHEN 26 THEN fvl137.meaning
156802 WHEN 33 THEN fvl163.meaning
156803 WHEN 34 THEN fvl164.meaning
156804
156805 ELSE null
156806 END source_meaning
156807 FROM xla_events_gt xet
156808 , AP_PAYMENT_EXTRACT_DETAILS_V l1
156809 , ZX_AP_DEF_TAX_EXTRACT_V l4
156810 , ZX_AP_TAX_JRNL_LINE_DESC_V l5
156811 , fnd_lookup_values fvl33
156812 , fnd_lookup_values fvl80
156813 , fnd_lookup_values fvl98
156814 , fnd_lookup_values fvl137
156815 , fnd_lookup_values fvl163
156816 , fnd_lookup_values fvl164
156817 , (select rownum r from all_objects where rownum <= 34 and owner = p_apps_owner)
156818 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
156819 AND xet.event_class_code = C_EVENT_CLASS_CODE
156820 AND l1.event_id = xet.event_id
156821 AND l1.aid_detail_tax_dist_id = l4.rec_nrec_tax_dist_id (+) AND l1.aid_detail_tax_dist_id = l5.rec_nrec_tax_dist_id (+) AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
156822 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
156823 AND fvl33.view_application_id(+) = 200
156824 AND fvl33.language(+) = USERENV('LANG')
156825 AND fvl80.lookup_type(+) = 'YES_NO'
156826 AND fvl80.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
156827 AND fvl80.view_application_id(+) = 0
156828 AND fvl80.language(+) = USERENV('LANG')
156829 AND fvl98.lookup_type(+) = 'PAY_DIST_TYPES'
156830 AND fvl98.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
156831 AND fvl98.view_application_id(+) = 200
156832 AND fvl98.language(+) = USERENV('LANG')
156833 AND fvl137.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
156834 AND fvl137.lookup_code(+) = l4.DEF_REC_SETTLEMENT_OPTION_CODE
156835 AND fvl137.view_application_id(+) = 0
156836 AND fvl137.language(+) = USERENV('LANG')
156837 AND fvl163.lookup_type(+) = 'INVOICE TYPE'
156838 AND fvl163.lookup_code(+) = l1.AI_INVOICE_TYPE_PAID
156839 AND fvl163.view_application_id(+) = 200
156840 AND fvl163.language(+) = USERENV('LANG')
156841 AND fvl164.lookup_type(+) = 'YES_NO'
156842 AND fvl164.lookup_code(+) = l1.AWT_AT_PMT_TIME
156843 AND fvl164.view_application_id(+) = 0
156844 AND fvl164.language(+) = USERENV('LANG')
156845
156846 )
156847 ;
156848 --
156849 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
156850
156851 trace
156852 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
156853 ,p_level => C_LEVEL_STATEMENT
156854 ,p_module => l_log_module);
156855
156856 END IF;
156857
156858
156859 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
156860 trace
156861 (p_msg => 'END of insert_sources_234'
156862 ,p_level => C_LEVEL_PROCEDURE
156863 ,p_module => l_log_module);
156864 END IF;
156865 EXCEPTION
156866 WHEN xla_exceptions_pkg.application_exception THEN
156870 ,p_level => C_LEVEL_EXCEPTION
156867 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
156868 trace
156869 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
156871 ,p_module => l_log_module);
156872 END IF;
156873 RAISE;
156874 WHEN OTHERS THEN
156875 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
156876 trace
156877 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
156878 ,p_level => C_LEVEL_EXCEPTION
156879 ,p_module => l_log_module);
156880 END IF;
156881 xla_exceptions_pkg.raise_message
156882 (p_location => 'XLA_00200_AAD_S_000002_PKG.insert_sources_234');
156883 END insert_sources_234;
156884 --
156885
156886 ---------------------------------------
156887 --
156888 -- PRIVATE FUNCTION
156889 -- EventClass_234
156890 --
156891 ----------------------------------------
156892 --
156893 FUNCTION EventClass_234
156894 (p_application_id IN NUMBER
156895 ,p_base_ledger_id IN NUMBER
156896 ,p_target_ledger_id IN NUMBER
156897 ,p_language IN VARCHAR2
156898 ,p_currency_code IN VARCHAR2
156899 ,p_sla_ledger_id IN NUMBER
156900 ,p_pad_start_date IN DATE
156901 ,p_pad_end_date IN DATE
156902 ,p_primary_ledger_id IN NUMBER)
156903 RETURN BOOLEAN IS
156904 --
156905 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PAYMENTS_ALL';
156906 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PAYMENTS';
156907
156908 l_calculate_acctd_flag VARCHAR2(1) :='N';
156909 l_calculate_g_l_flag VARCHAR2(1) :='N';
156910 --
156911 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
156912 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
156913 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
156914 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
156915 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
156916 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
156917 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
156918 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
156919 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
156920 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
156921 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
156922 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
156923 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
156924 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
156925 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
156926 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
156927 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
156928 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
156929 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
156930 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
156931 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
156932 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
156933 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
156934 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
156935 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
156936 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
156937
156938 l_event_id NUMBER;
156939 l_previous_event_id NUMBER;
156940 l_first_event_id NUMBER;
156941 l_last_event_id NUMBER;
156942
156943 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
156944 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
156945 --
156946 --
156947 l_result BOOLEAN := TRUE;
156948 l_rows NUMBER := 1000;
156949 l_event_type_name VARCHAR2(80) := 'All';
156950 l_event_class_name VARCHAR2(80) := 'Payments';
156951 l_description VARCHAR2(4000);
156952 l_transaction_reversal NUMBER;
156953 l_ae_header_id NUMBER;
156954 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
156955 l_log_module VARCHAR2(240);
156956 --
156957 l_acct_reversal_source VARCHAR2(30);
156958 l_trx_reversal_source VARCHAR2(30);
156959
156960 l_continue_with_lines BOOLEAN := TRUE;
156961 --
156962 l_acc_rev_gl_date_source DATE; -- 4262811
156963 --
156964 type t_array_event_id is table of number index by binary_integer;
156965
156966 l_rec_array_event t_rec_array_event;
156967 l_null_rec_array_event t_rec_array_event;
156968 l_array_ae_header_id xla_number_array_type;
156969 l_actual_flag VARCHAR2(1) := NULL;
156970 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
156971 l_balance_type_code VARCHAR2(1) :=NULL;
156972 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
156973
156974 --
156975 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
156976 --
156977
156978 TYPE t_array_source_6 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.DOC_SEQUENCE_NAME%TYPE INDEX BY BINARY_INTEGER;
156979 TYPE t_array_source_9 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
156980 TYPE t_array_source_10 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_TRANSACTION_NUMBER%TYPE INDEX BY BINARY_INTEGER;
156984 TYPE t_array_source_15 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
156981 TYPE t_array_source_11 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CHECK_DATE%TYPE INDEX BY BINARY_INTEGER;
156982 TYPE t_array_source_12 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CBA_BANK_ACCOUNT_NAME%TYPE INDEX BY BINARY_INTEGER;
156983 TYPE t_array_source_13 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
156985 TYPE t_array_source_17 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_AP_ASSET_CCID%TYPE INDEX BY BINARY_INTEGER;
156986 TYPE t_array_source_18 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_DISC_TAKEN_CCID%TYPE INDEX BY BINARY_INTEGER;
156987 TYPE t_array_source_19 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_DISCOUNT_DIST_METHOD%TYPE INDEX BY BINARY_INTEGER;
156988 TYPE t_array_source_24 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_FUTURE_DATED_PMT_CCID%TYPE INDEX BY BINARY_INTEGER;
156989 TYPE t_array_source_25 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_FD_PMT_ACCT_SOURCE%TYPE INDEX BY BINARY_INTEGER;
156990 TYPE t_array_source_26 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_FUTURE_DATED_PAYMENT_CCID%TYPE INDEX BY BINARY_INTEGER;
156991 TYPE t_array_source_27 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.POS_FDP_CCID%TYPE INDEX BY BINARY_INTEGER;
156992 TYPE t_array_source_28 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_INTEREST_CCID%TYPE INDEX BY BINARY_INTEGER;
156993 TYPE t_array_source_29 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_PRORATE_INT_ACROSS_DISTS%TYPE INDEX BY BINARY_INTEGER;
156994 TYPE t_array_source_35 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_CASH_CLEARING_CCID%TYPE INDEX BY BINARY_INTEGER;
156995 TYPE t_array_source_36 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
156996 TYPE t_array_source_37 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
156997 TYPE t_array_source_38 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
156998 TYPE t_array_source_39 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
156999 TYPE t_array_source_44 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_DISC_TAKEN_CCID%TYPE INDEX BY BINARY_INTEGER;
157000 TYPE t_array_source_47 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
157001 TYPE t_array_source_48 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYCARD_ACCRUED_ACCOUNT_CCID%TYPE INDEX BY BINARY_INTEGER;
157002 TYPE t_array_source_49 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_ROUNDING_ERROR_CCID%TYPE INDEX BY BINARY_INTEGER;
157003 TYPE t_array_source_83 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
157004 TYPE t_array_source_97 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_WHEN_TO_ACCOUNT_PMT%TYPE INDEX BY BINARY_INTEGER;
157005 TYPE t_array_source_110 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
157006 TYPE t_array_source_111 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
157007 TYPE t_array_source_113 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CBA_POOLED_BANK_ACOUNT_FLAG%TYPE INDEX BY BINARY_INTEGER;
157008 TYPE t_array_source_114 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_FUTURE_PAY_DUE_DATE%TYPE INDEX BY BINARY_INTEGER;
157009 TYPE t_array_source_117 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
157010 TYPE t_array_source_118 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
157011 TYPE t_array_source_119 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
157012 TYPE t_array_source_122 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_TYPE%TYPE INDEX BY BINARY_INTEGER;
157013 TYPE t_array_source_123 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_PROCESSING_TYPE%TYPE INDEX BY BINARY_INTEGER;
157014 TYPE t_array_source_170 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_CATEGORY_CODE%TYPE INDEX BY BINARY_INTEGER;
157015 TYPE t_array_source_171 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_DOCUMENT_SEQUENCE_ID%TYPE INDEX BY BINARY_INTEGER;
157016 TYPE t_array_source_172 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.TRANSAC_REVERSAL_FLAG%TYPE INDEX BY BINARY_INTEGER;
157017
157018 TYPE t_array_source_30 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
157019 TYPE t_array_source_33 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
157020 TYPE t_array_source_43 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AWT_RELATED_DIST_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
157021 TYPE t_array_source_45 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.POD_CCID%TYPE INDEX BY BINARY_INTEGER;
157022 TYPE t_array_source_46 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.PO_VARIANCE_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
157023 TYPE t_array_source_52 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_ACCOUNT_CCID%TYPE INDEX BY BINARY_INTEGER;
157024 TYPE t_array_source_53 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
157025 TYPE t_array_source_55 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
157026 TYPE t_array_source_67 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
157027 TYPE t_array_source_80 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
157028 TYPE t_array_source_86 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
157029 TYPE t_array_source_87 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
157030 TYPE t_array_source_88 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
157031 TYPE t_array_source_91 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
157032 TYPE t_array_source_92 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
157033 TYPE t_array_source_93 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
157034 TYPE t_array_source_94 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
157035 TYPE t_array_source_95 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
157036 TYPE t_array_source_98 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAY_DIST_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
157040 TYPE t_array_source_115 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
157037 TYPE t_array_source_99 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
157038 TYPE t_array_source_104 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
157039 TYPE t_array_source_112 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_REV_PAY_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
157041 TYPE t_array_source_116 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_INVOICE_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
157042 TYPE t_array_source_124 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_INVOICE_DIST_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
157043 TYPE t_array_source_137 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.DEF_REC_SETTLEMENT_OPTION_CODE%TYPE INDEX BY BINARY_INTEGER;
157044 TYPE t_array_source_138 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AWT_RELATED_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
157045 TYPE t_array_source_143 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
157046 TYPE t_array_source_144 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
157047 TYPE t_array_source_145 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
157048 TYPE t_array_source_153 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_PMT_BASE_AMT_DIFF%TYPE INDEX BY BINARY_INTEGER;
157049 TYPE t_array_source_158 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_PMT_GAIN_LOSS_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
157050 TYPE t_array_source_163 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AI_INVOICE_TYPE_PAID%TYPE INDEX BY BINARY_INTEGER;
157051 TYPE t_array_source_164 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AWT_AT_PMT_TIME%TYPE INDEX BY BINARY_INTEGER;
157052
157053 l_array_source_6 t_array_source_6;
157054 l_array_source_9 t_array_source_9;
157055 l_array_source_10 t_array_source_10;
157056 l_array_source_11 t_array_source_11;
157057 l_array_source_12 t_array_source_12;
157058 l_array_source_13 t_array_source_13;
157059 l_array_source_15 t_array_source_15;
157060 l_array_source_15_meaning t_array_lookup_meaning;
157061 l_array_source_17 t_array_source_17;
157062 l_array_source_18 t_array_source_18;
157063 l_array_source_19 t_array_source_19;
157064 l_array_source_19_meaning t_array_lookup_meaning;
157065 l_array_source_24 t_array_source_24;
157066 l_array_source_25 t_array_source_25;
157067 l_array_source_25_meaning t_array_lookup_meaning;
157068 l_array_source_26 t_array_source_26;
157069 l_array_source_27 t_array_source_27;
157070 l_array_source_28 t_array_source_28;
157071 l_array_source_29 t_array_source_29;
157072 l_array_source_35 t_array_source_35;
157073 l_array_source_36 t_array_source_36;
157074 l_array_source_37 t_array_source_37;
157075 l_array_source_38 t_array_source_38;
157076 l_array_source_39 t_array_source_39;
157077 l_array_source_44 t_array_source_44;
157078 l_array_source_47 t_array_source_47;
157079 l_array_source_47_meaning t_array_lookup_meaning;
157080 l_array_source_48 t_array_source_48;
157081 l_array_source_49 t_array_source_49;
157082 l_array_source_83 t_array_source_83;
157083 l_array_source_97 t_array_source_97;
157084 l_array_source_110 t_array_source_110;
157085 l_array_source_111 t_array_source_111;
157086 l_array_source_113 t_array_source_113;
157087 l_array_source_113_meaning t_array_lookup_meaning;
157088 l_array_source_114 t_array_source_114;
157089 l_array_source_117 t_array_source_117;
157090 l_array_source_118 t_array_source_118;
157091 l_array_source_119 t_array_source_119;
157092 l_array_source_122 t_array_source_122;
157093 l_array_source_122_meaning t_array_lookup_meaning;
157094 l_array_source_123 t_array_source_123;
157095 l_array_source_170 t_array_source_170;
157096 l_array_source_171 t_array_source_171;
157097 l_array_source_172 t_array_source_172;
157098 l_array_source_172_meaning t_array_lookup_meaning;
157099
157100 l_array_source_30 t_array_source_30;
157101 l_array_source_33 t_array_source_33;
157102 l_array_source_33_meaning t_array_lookup_meaning;
157103 l_array_source_43 t_array_source_43;
157104 l_array_source_45 t_array_source_45;
157105 l_array_source_46 t_array_source_46;
157106 l_array_source_52 t_array_source_52;
157107 l_array_source_53 t_array_source_53;
157108 l_array_source_55 t_array_source_55;
157109 l_array_source_67 t_array_source_67;
157110 l_array_source_80 t_array_source_80;
157111 l_array_source_80_meaning t_array_lookup_meaning;
157112 l_array_source_86 t_array_source_86;
157113 l_array_source_87 t_array_source_87;
157114 l_array_source_88 t_array_source_88;
157115 l_array_source_91 t_array_source_91;
157116 l_array_source_92 t_array_source_92;
157117 l_array_source_93 t_array_source_93;
157118 l_array_source_94 t_array_source_94;
157119 l_array_source_95 t_array_source_95;
157120 l_array_source_98 t_array_source_98;
157121 l_array_source_98_meaning t_array_lookup_meaning;
157122 l_array_source_99 t_array_source_99;
157123 l_array_source_104 t_array_source_104;
157124 l_array_source_112 t_array_source_112;
157125 l_array_source_115 t_array_source_115;
157126 l_array_source_116 t_array_source_116;
157127 l_array_source_124 t_array_source_124;
157128 l_array_source_137 t_array_source_137;
157129 l_array_source_137_meaning t_array_lookup_meaning;
157130 l_array_source_138 t_array_source_138;
157131 l_array_source_143 t_array_source_143;
157132 l_array_source_144 t_array_source_144;
157133 l_array_source_145 t_array_source_145;
157134 l_array_source_153 t_array_source_153;
157135 l_array_source_158 t_array_source_158;
157139 l_array_source_164_meaning t_array_lookup_meaning;
157136 l_array_source_163 t_array_source_163;
157137 l_array_source_163_meaning t_array_lookup_meaning;
157138 l_array_source_164 t_array_source_164;
157140
157141 --
157142 CURSOR header_cur
157143 IS
157144 SELECT /*+ leading(xet) cardinality(xet,1) */
157145 -- Event Class Code: PAYMENTS
157146 xet.entity_id
157147 ,xet.legal_entity_id
157148 ,xet.entity_code
157149 ,xet.transaction_number
157150 ,xet.event_id
157151 ,xet.event_class_code
157152 ,xet.event_type_code
157153 ,xet.event_number
157154 ,xet.event_date
157155 ,xet.transaction_date
157156 ,xet.reference_num_1
157157 ,xet.reference_num_2
157158 ,xet.reference_num_3
157159 ,xet.reference_num_4
157160 ,xet.reference_char_1
157161 ,xet.reference_char_2
157162 ,xet.reference_char_3
157163 ,xet.reference_char_4
157164 ,xet.reference_date_1
157165 ,xet.reference_date_2
157166 ,xet.reference_date_3
157167 ,xet.reference_date_4
157168 ,xet.event_created_by
157169 ,xet.budgetary_control_flag
157170 , h2.DOC_SEQUENCE_NAME source_6
157171 , h2.AC_DOC_SEQUENCE_VALUE source_9
157172 , h2.PAYMENT_TRANSACTION_NUMBER source_10
157173 , h2.AC_CHECK_DATE source_11
157174 , h2.CBA_BANK_ACCOUNT_NAME source_12
157175 , h2.AC_CURRENCY_CODE source_13
157176 , h3.ASP_AUTOMATIC_OFFSETS_VALUE source_15
157177 , fvl15.meaning source_15_meaning
157178 , h2.CGAC_AP_ASSET_CCID source_17
157179 , h3.FSP_DISC_TAKEN_CCID source_18
157180 , h3.ASP_DISCOUNT_DIST_METHOD source_19
157181 , fvl19.meaning source_19_meaning
157182 , h2.CGAC_FUTURE_DATED_PMT_CCID source_24
157183 , h3.ASP_FD_PMT_ACCT_SOURCE source_25
157184 , fvl25.meaning source_25_meaning
157185 , h3.FSP_FUTURE_DATED_PAYMENT_CCID source_26
157186 , h2.POS_FDP_CCID source_27
157187 , h3.ASP_INTEREST_CCID source_28
157188 , h3.ASP_PRORATE_INT_ACROSS_DISTS source_29
157189 , h2.CGAC_CASH_CLEARING_CCID source_35
157190 , h2.CGAC_GAIN_CCID source_36
157191 , h3.ASP_GAIN_CCID source_37
157192 , h2.CGAC_LOSS_CCID source_38
157193 , h3.ASP_LOSS_CCID source_39
157194 , h3.ASP_DISC_TAKEN_CCID source_44
157195 , h3.ASP_AUTO_OFFSET_FLAG source_47
157196 , fvl47.meaning source_47_meaning
157197 , h2.PAYCARD_ACCRUED_ACCOUNT_CCID source_48
157198 , h3.ASP_ROUNDING_ERROR_CCID source_49
157199 , h2.THIRD_PARTY_TYPE source_83
157200 , h3.ASP_WHEN_TO_ACCOUNT_PMT source_97
157201 , h2.AC_VENDOR_ID source_110
157202 , h2.AC_VENDOR_SITE_ID source_111
157203 , h2.CBA_POOLED_BANK_ACOUNT_FLAG source_113
157204 , fvl113.meaning source_113_meaning
157205 , h2.AC_FUTURE_PAY_DUE_DATE source_114
157206 , h2.AC_EXCHANGE_DATE source_117
157207 , h2.AC_EXCHANGE_RATE source_118
157208 , h2.AC_EXCHANGE_RATE_TYPE source_119
157209 , h2.PAYMENT_TYPE source_122
157210 , fvl122.meaning source_122_meaning
157211 , h2.PAYMENT_PROCESSING_TYPE source_123
157212 , h2.AC_DOC_CATEGORY_CODE source_170
157213 , h2.PAYMENT_DOCUMENT_SEQUENCE_ID source_171
157214 , h2.TRANSAC_REVERSAL_FLAG source_172
157215 , fvl172.meaning source_172_meaning
157216 FROM xla_events_gt xet
157217 , AP_PAYMENT_EXTRACT_HEADER_V h2
157218 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
157219 , fnd_lookup_values fvl15
157220 , fnd_lookup_values fvl19
157221 , fnd_lookup_values fvl25
157222 , fnd_lookup_values fvl47
157223 , fnd_lookup_values fvl113
157224 , fnd_lookup_values fvl122
157225 , fnd_lookup_values fvl172
157226 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
157227 and xet.event_class_code = C_EVENT_CLASS_CODE
157228 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
157229 AND h3.asp_org_id = h2.ac_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
157230 AND fvl15.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
157231 AND fvl15.view_application_id(+) = 200
157232 AND fvl15.language(+) = USERENV('LANG')
157233 AND fvl19.lookup_type(+) = 'DISCOUNT_DIST_OPTIONS'
157234 AND fvl19.lookup_code(+) = h3.ASP_DISCOUNT_DIST_METHOD
157235 AND fvl19.view_application_id(+) = 200
157236 AND fvl19.language(+) = USERENV('LANG')
157237 AND fvl25.lookup_type(+) = 'FUTURE PAY ACCT SOURCE'
157238 AND fvl25.lookup_code(+) = h3.ASP_FD_PMT_ACCT_SOURCE
157239 AND fvl25.view_application_id(+) = 200
157240 AND fvl25.language(+) = USERENV('LANG')
157241 AND fvl47.lookup_type(+) = 'YES_NO'
157242 AND fvl47.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
157243 AND fvl47.view_application_id(+) = 0
157244 AND fvl47.language(+) = USERENV('LANG')
157245 AND fvl113.lookup_type(+) = 'YES_NO'
157246 AND fvl113.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
157247 AND fvl113.view_application_id(+) = 0
157248 AND fvl113.language(+) = USERENV('LANG')
157249 AND fvl122.lookup_type(+) = 'PAYMENT TYPE'
157250 AND fvl122.lookup_code(+) = h2.PAYMENT_TYPE
157251 AND fvl122.view_application_id(+) = 200
157252 AND fvl122.language(+) = USERENV('LANG')
157253 AND fvl172.lookup_type(+) = 'YES_NO'
157254 AND fvl172.lookup_code(+) = h2.TRANSAC_REVERSAL_FLAG
157255 AND fvl172.view_application_id(+) = 0
157256 AND fvl172.language(+) = USERENV('LANG')
157257
157258 ORDER BY event_id
157259 ;
157260
157261
157262 --
157263 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
157264 IS
157265 SELECT /*+ leading(xet) cardinality(xet,1) */
157266 -- Event Class Code: PAYMENTS
157267 xet.entity_id
157268 ,xet.legal_entity_id
157269 ,xet.entity_code
157270 ,xet.transaction_number
157271 ,xet.event_id
157275 ,xet.event_date
157272 ,xet.event_class_code
157273 ,xet.event_type_code
157274 ,xet.event_number
157276 ,xet.transaction_date
157277 ,xet.reference_num_1
157278 ,xet.reference_num_2
157279 ,xet.reference_num_3
157280 ,xet.reference_num_4
157281 ,xet.reference_char_1
157282 ,xet.reference_char_2
157283 ,xet.reference_char_3
157284 ,xet.reference_char_4
157285 ,xet.reference_date_1
157286 ,xet.reference_date_2
157287 ,xet.reference_date_3
157288 ,xet.reference_date_4
157289 ,xet.event_created_by
157290 ,xet.budgetary_control_flag
157291 , l1.LINE_NUMBER
157292 , l1.AID_DIST_CCID source_30
157293 , l1.AID_LINE_TYPE_LOOKUP_CODE source_33
157294 , fvl33.meaning source_33_meaning
157295 , l1.AWT_RELATED_DIST_ACCOUNT source_43
157296 , l1.POD_CCID source_45
157297 , l1.PO_VARIANCE_ACCOUNT source_46
157298 , l4.TAX_ACCOUNT_CCID source_52
157299 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_53
157300 , l1.DISTRIBUTION_LINK_TYPE source_55
157301 , l1.AI_INVOICE_CURRENCY_CODE source_67
157302 , l1.OVERRIDE_ACCTD_AMT_FLAG source_80
157303 , fvl80.meaning source_80_meaning
157304 , l4.TAX_LINE_ID source_86
157305 , l5.REC_NREC_TAX_DIST_ID source_87
157306 , l4.SUMMARY_TAX_LINE_ID source_88
157307 , l1.BUS_FLOW_AP_APP_ID source_91
157308 , l1.BUS_FLOW_INV_DIST_TYPE source_92
157309 , l1.BUS_FLOW_INV_ENTITY_CODE source_93
157310 , l1.BUS_FLOW_INV_DIST_ID source_94
157311 , l1.BUS_FLOW_INV_ID source_95
157312 , l1.APHD_PAY_DIST_LOOKUP_CODE source_98
157313 , fvl98.meaning source_98_meaning
157314 , l1.APHD_AMOUNT source_99
157315 , l1.APHD_PAYMENT_HIST_DIST_ID source_104
157316 , l1.APHD_REV_PAY_HIST_DIST_ID source_112
157317 , l1.APHD_PAYMENT_BASE_AMT source_115
157318 , l1.APHD_INVOICE_BASE_AMT source_116
157319 , l1.APHD_INVOICE_DIST_AMOUNT source_124
157320 , l4.DEF_REC_SETTLEMENT_OPTION_CODE source_137
157321 , fvl137.meaning source_137_meaning
157322 , l1.AWT_RELATED_DIST_TYPE source_138
157323 , l1.INV_EXCHANGE_DATE source_143
157324 , l1.INV_EXCHANGE_RATE source_144
157325 , l1.INV_EXCHANGE_RATE_TYPE source_145
157326 , l1.INV_PMT_BASE_AMT_DIFF source_153
157327 , l1.INV_PMT_GAIN_LOSS_INDICATOR source_158
157328 , l1.AI_INVOICE_TYPE_PAID source_163
157329 , fvl163.meaning source_163_meaning
157330 , l1.AWT_AT_PMT_TIME source_164
157331 , fvl164.meaning source_164_meaning
157332 FROM xla_events_gt xet
157333 , AP_PAYMENT_EXTRACT_DETAILS_V l1
157334 , ZX_AP_DEF_TAX_EXTRACT_V l4
157335 , ZX_AP_TAX_JRNL_LINE_DESC_V l5
157336 , fnd_lookup_values fvl33
157337 , fnd_lookup_values fvl80
157338 , fnd_lookup_values fvl98
157339 , fnd_lookup_values fvl137
157340 , fnd_lookup_values fvl163
157341 , fnd_lookup_values fvl164
157342 WHERE xet.event_id between x_first_event_id and x_last_event_id
157343 and xet.event_date between p_pad_start_date and p_pad_end_date
157344 and xet.event_class_code = C_EVENT_CLASS_CODE
157345 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
157346 AND l1.AID_DETAIL_TAX_DIST_ID = l4.REC_NREC_TAX_DIST_ID (+) AND l1.AID_DETAIL_TAX_DIST_ID = l5.REC_NREC_TAX_DIST_ID (+) AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
157347 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
157348 AND fvl33.view_application_id(+) = 200
157349 AND fvl33.language(+) = USERENV('LANG')
157350 AND fvl80.lookup_type(+) = 'YES_NO'
157351 AND fvl80.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
157352 AND fvl80.view_application_id(+) = 0
157353 AND fvl80.language(+) = USERENV('LANG')
157354 AND fvl98.lookup_type(+) = 'PAY_DIST_TYPES'
157355 AND fvl98.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
157356 AND fvl98.view_application_id(+) = 200
157357 AND fvl98.language(+) = USERENV('LANG')
157358 AND fvl137.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
157359 AND fvl137.lookup_code(+) = l4.DEF_REC_SETTLEMENT_OPTION_CODE
157360 AND fvl137.view_application_id(+) = 0
157361 AND fvl137.language(+) = USERENV('LANG')
157362 AND fvl163.lookup_type(+) = 'INVOICE TYPE'
157363 AND fvl163.lookup_code(+) = l1.AI_INVOICE_TYPE_PAID
157364 AND fvl163.view_application_id(+) = 200
157365 AND fvl163.language(+) = USERENV('LANG')
157366 AND fvl164.lookup_type(+) = 'YES_NO'
157367 AND fvl164.lookup_code(+) = l1.AWT_AT_PMT_TIME
157368 AND fvl164.view_application_id(+) = 0
157369 AND fvl164.language(+) = USERENV('LANG')
157370 ;
157371
157372 --
157373 BEGIN
157374 IF g_log_enabled THEN
157375 l_log_module := C_DEFAULT_MODULE||'.EventClass_234';
157376 END IF;
157377 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
157378 trace
157379 (p_msg => 'BEGIN of EventClass_234'
157380 ,p_level => C_LEVEL_PROCEDURE
157381 ,p_module => l_log_module);
157382 END IF;
157383
157384 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
157385 trace
157386 (p_msg => 'p_application_id = '||p_application_id||
157387 ' - p_base_ledger_id = '||p_base_ledger_id||
157388 ' - p_target_ledger_id = '||p_target_ledger_id||
157389 ' - p_language = '||p_language||
157390 ' - p_currency_code = '||p_currency_code||
157391 ' - p_sla_ledger_id = '||p_sla_ledger_id
157392 ,p_level => C_LEVEL_STATEMENT
157393 ,p_module => l_log_module);
157394 END IF;
157395 --
157396 -- initialze arrays
157397 --
157398 g_array_event.DELETE;
157399 l_rec_array_event := l_null_rec_array_event;
157400 --
157401 --------------------------------------
157402 -- 4262811 Initialze MPA Line Number
157403 --------------------------------------
157407
157404 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
157405
157406 --
157408 --
157409 OPEN header_cur;
157410 --
157411 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
157412 trace
157413 (p_msg => 'SQL - FETCH header_cur'
157414 ,p_level => C_LEVEL_STATEMENT
157415 ,p_module => l_log_module);
157416 END IF;
157417 --
157418 LOOP
157419 FETCH header_cur BULK COLLECT INTO
157420 l_array_entity_id
157421 , l_array_legal_entity_id
157422 , l_array_entity_code
157423 , l_array_transaction_num
157424 , l_array_event_id
157425 , l_array_class_code
157426 , l_array_event_type
157427 , l_array_event_number
157428 , l_array_event_date
157429 , l_array_transaction_date
157430 , l_array_reference_num_1
157431 , l_array_reference_num_2
157432 , l_array_reference_num_3
157433 , l_array_reference_num_4
157434 , l_array_reference_char_1
157435 , l_array_reference_char_2
157436 , l_array_reference_char_3
157437 , l_array_reference_char_4
157438 , l_array_reference_date_1
157439 , l_array_reference_date_2
157440 , l_array_reference_date_3
157441 , l_array_reference_date_4
157442 , l_array_event_created_by
157443 , l_array_budgetary_control_flag
157444 , l_array_source_6
157445 , l_array_source_9
157446 , l_array_source_10
157447 , l_array_source_11
157448 , l_array_source_12
157449 , l_array_source_13
157450 , l_array_source_15
157451 , l_array_source_15_meaning
157452 , l_array_source_17
157453 , l_array_source_18
157454 , l_array_source_19
157455 , l_array_source_19_meaning
157456 , l_array_source_24
157457 , l_array_source_25
157458 , l_array_source_25_meaning
157459 , l_array_source_26
157460 , l_array_source_27
157461 , l_array_source_28
157462 , l_array_source_29
157463 , l_array_source_35
157464 , l_array_source_36
157465 , l_array_source_37
157466 , l_array_source_38
157467 , l_array_source_39
157468 , l_array_source_44
157469 , l_array_source_47
157470 , l_array_source_47_meaning
157471 , l_array_source_48
157472 , l_array_source_49
157473 , l_array_source_83
157474 , l_array_source_97
157475 , l_array_source_110
157476 , l_array_source_111
157477 , l_array_source_113
157478 , l_array_source_113_meaning
157479 , l_array_source_114
157480 , l_array_source_117
157481 , l_array_source_118
157482 , l_array_source_119
157483 , l_array_source_122
157484 , l_array_source_122_meaning
157485 , l_array_source_123
157486 , l_array_source_170
157487 , l_array_source_171
157488 , l_array_source_172
157489 , l_array_source_172_meaning
157490 LIMIT l_rows;
157491 --
157492 IF (C_LEVEL_EVENT >= g_log_level) THEN
157493 trace
157494 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
157495 ,p_level => C_LEVEL_EVENT
157496 ,p_module => l_log_module);
157497 END IF;
157498 --
157499 EXIT WHEN l_array_entity_id.COUNT = 0;
157500
157501 -- initialize arrays
157502 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
157503 XLA_AE_LINES_PKG.g_rec_lines := NULL;
157504
157505 --
157506 -- Bug 4458708
157507 --
157508 XLA_AE_LINES_PKG.g_LineNumber := 0;
157509
157510
157511 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
157512 g_last_hdr_idx := l_array_event_id.LAST;
157513 --
157514 -- loop for the headers. Each iteration is for each header extract row
157515 -- fetched in header cursor
157516 --
157517 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
157518
157519 --
157520 -- set event info as cache for other routines to refer event attributes
157521 --
157522 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
157523 (p_application_id => p_application_id
157524 ,p_primary_ledger_id => p_primary_ledger_id
157525 ,p_base_ledger_id => p_base_ledger_id
157526 ,p_target_ledger_id => p_target_ledger_id
157527 ,p_entity_id => l_array_entity_id(hdr_idx)
157528 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
157529 ,p_entity_code => l_array_entity_code(hdr_idx)
157530 ,p_transaction_num => l_array_transaction_num(hdr_idx)
157531 ,p_event_id => l_array_event_id(hdr_idx)
157532 ,p_event_class_code => l_array_class_code(hdr_idx)
157533 ,p_event_type_code => l_array_event_type(hdr_idx)
157534 ,p_event_number => l_array_event_number(hdr_idx)
157535 ,p_event_date => l_array_event_date(hdr_idx)
157536 ,p_transaction_date => l_array_transaction_date(hdr_idx)
157537 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
157538 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
157539 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
157540 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
157541 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
157542 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
157543 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
157544 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
157545 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
157546 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
157547 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
157548 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
157549 ,p_event_created_by => l_array_event_created_by(hdr_idx)
157553 -- set the status of entry to C_VALID (0)
157550 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
157551
157552 --
157554 --
157555 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
157556
157557 --
157558 -- initialize a row for ae header
157559 --
157560 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
157561
157562 l_event_id := l_array_event_id(hdr_idx);
157563
157564 --
157565 -- storing the hdr_idx for event. May be used by line cursor.
157566 --
157567 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
157568
157569 --
157570 -- store sources from header extract. This can be improved to
157571 -- store only those sources from header extract that may be used in lines
157572 --
157573
157574 g_array_event(l_event_id).array_value_char('source_6') := l_array_source_6(hdr_idx);
157575 g_array_event(l_event_id).array_value_num('source_9') := l_array_source_9(hdr_idx);
157576 g_array_event(l_event_id).array_value_num('source_10') := l_array_source_10(hdr_idx);
157577 g_array_event(l_event_id).array_value_date('source_11') := l_array_source_11(hdr_idx);
157578 g_array_event(l_event_id).array_value_char('source_12') := l_array_source_12(hdr_idx);
157579 g_array_event(l_event_id).array_value_char('source_13') := l_array_source_13(hdr_idx);
157580 g_array_event(l_event_id).array_value_char('source_15') := l_array_source_15(hdr_idx);
157581 g_array_event(l_event_id).array_value_char('source_15_meaning') := l_array_source_15_meaning(hdr_idx);
157582 g_array_event(l_event_id).array_value_num('source_17') := l_array_source_17(hdr_idx);
157583 g_array_event(l_event_id).array_value_num('source_18') := l_array_source_18(hdr_idx);
157584 g_array_event(l_event_id).array_value_char('source_19') := l_array_source_19(hdr_idx);
157585 g_array_event(l_event_id).array_value_char('source_19_meaning') := l_array_source_19_meaning(hdr_idx);
157586 g_array_event(l_event_id).array_value_num('source_24') := l_array_source_24(hdr_idx);
157587 g_array_event(l_event_id).array_value_char('source_25') := l_array_source_25(hdr_idx);
157588 g_array_event(l_event_id).array_value_char('source_25_meaning') := l_array_source_25_meaning(hdr_idx);
157589 g_array_event(l_event_id).array_value_num('source_26') := l_array_source_26(hdr_idx);
157590 g_array_event(l_event_id).array_value_num('source_27') := l_array_source_27(hdr_idx);
157591 g_array_event(l_event_id).array_value_num('source_28') := l_array_source_28(hdr_idx);
157592 g_array_event(l_event_id).array_value_char('source_29') := l_array_source_29(hdr_idx);
157593 g_array_event(l_event_id).array_value_num('source_35') := l_array_source_35(hdr_idx);
157594 g_array_event(l_event_id).array_value_num('source_36') := l_array_source_36(hdr_idx);
157595 g_array_event(l_event_id).array_value_num('source_37') := l_array_source_37(hdr_idx);
157596 g_array_event(l_event_id).array_value_num('source_38') := l_array_source_38(hdr_idx);
157597 g_array_event(l_event_id).array_value_num('source_39') := l_array_source_39(hdr_idx);
157598 g_array_event(l_event_id).array_value_num('source_44') := l_array_source_44(hdr_idx);
157599 g_array_event(l_event_id).array_value_char('source_47') := l_array_source_47(hdr_idx);
157600 g_array_event(l_event_id).array_value_char('source_47_meaning') := l_array_source_47_meaning(hdr_idx);
157601 g_array_event(l_event_id).array_value_num('source_48') := l_array_source_48(hdr_idx);
157602 g_array_event(l_event_id).array_value_num('source_49') := l_array_source_49(hdr_idx);
157603 g_array_event(l_event_id).array_value_char('source_83') := l_array_source_83(hdr_idx);
157604 g_array_event(l_event_id).array_value_char('source_97') := l_array_source_97(hdr_idx);
157605 g_array_event(l_event_id).array_value_num('source_110') := l_array_source_110(hdr_idx);
157606 g_array_event(l_event_id).array_value_num('source_111') := l_array_source_111(hdr_idx);
157607 g_array_event(l_event_id).array_value_char('source_113') := l_array_source_113(hdr_idx);
157608 g_array_event(l_event_id).array_value_char('source_113_meaning') := l_array_source_113_meaning(hdr_idx);
157609 g_array_event(l_event_id).array_value_date('source_114') := l_array_source_114(hdr_idx);
157610 g_array_event(l_event_id).array_value_date('source_117') := l_array_source_117(hdr_idx);
157611 g_array_event(l_event_id).array_value_num('source_118') := l_array_source_118(hdr_idx);
157612 g_array_event(l_event_id).array_value_char('source_119') := l_array_source_119(hdr_idx);
157613 g_array_event(l_event_id).array_value_char('source_122') := l_array_source_122(hdr_idx);
157614 g_array_event(l_event_id).array_value_char('source_122_meaning') := l_array_source_122_meaning(hdr_idx);
157615 g_array_event(l_event_id).array_value_char('source_123') := l_array_source_123(hdr_idx);
157616 g_array_event(l_event_id).array_value_char('source_170') := l_array_source_170(hdr_idx);
157617 g_array_event(l_event_id).array_value_num('source_171') := l_array_source_171(hdr_idx);
157618 g_array_event(l_event_id).array_value_char('source_172') := l_array_source_172(hdr_idx);
157619 g_array_event(l_event_id).array_value_char('source_172_meaning') := l_array_source_172_meaning(hdr_idx);
157620
157621 --
157622 -- initilaize the status of ae headers for diffrent balance types
157623 -- the status is initialised to C_NOT_CREATED (2)
157624 --
157625 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
157626 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
157627 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
157628
157629 --
157630 -- call api to validate and store accounting attributes for header
157631 --
157632
157633 ------------------------------------------------------------
157634 -- Accrual Reversal : to get date for Standard Source (NONE)
157635 ------------------------------------------------------------
157636 l_acc_rev_gl_date_source := NULL;
157637
157638 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
157639 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_170');
157640 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
157641 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_171');
157645 l_rec_acct_attrs.array_date_value(4) :=
157642 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
157643 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_9');
157644 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
157646 xla_ae_sources_pkg.GetSystemSourceDate(
157647 p_source_code => 'XLA_EVENT_DATE'
157648 , p_source_type_code => 'Y'
157649 , p_source_application_id => 602
157650 );
157651 l_rec_acct_attrs.array_acct_attr_code(5) := 'TRX_ACCT_REVERSAL_OPTION';
157652 l_rec_acct_attrs.array_char_value(5) := g_array_event(l_event_id).array_value_char('source_172');
157653
157654
157655 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
157656
157657 XLA_AE_HEADER_PKG.SetJeCategoryName;
157658
157659 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
157660 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
157661 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
157662 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
157663 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
157664
157665
157666 --
157667 xla_ae_header_pkg.SetHdrDescription(
157668 p_description => Description_3 (
157669 p_application_id => p_application_id
157670 , p_source_6 => g_array_event(l_event_id).array_value_char('source_6')
157671 , p_source_9 => g_array_event(l_event_id).array_value_num('source_9')
157672 , p_source_10 => g_array_event(l_event_id).array_value_num('source_10')
157673 , p_source_11 => g_array_event(l_event_id).array_value_date('source_11')
157674 , p_source_12 => g_array_event(l_event_id).array_value_char('source_12')
157675 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
157676 )
157677 );
157678 --
157679
157680 -- No header level analytical criteria
157681
157682 --
157683 --accounting attribute enhancement, bug 3612931
157684 --
157685 l_trx_reversal_source := SUBSTR(g_array_event(l_event_id).array_value_char('source_172'), 1,30);
157686
157687 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
157688 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
157689
157690 xla_accounting_err_pkg.build_message
157691 (p_appli_s_name => 'XLA'
157692 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
157693 ,p_token_1 => 'ACCT_ATTR_NAME'
157694 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
157695 ,p_token_2 => 'PRODUCT_NAME'
157696 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
157697 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
157698 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
157699 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
157700
157701 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
157702 --
157703 -- following sets the accounting attributes needed to reverse
157704 -- accounting for a distributeion
157705 --
157706 xla_ae_lines_pkg.SetTrxReversalAttrs
157707 (p_event_id => l_event_id
157708 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
157709 ,p_trx_reversal_source => l_trx_reversal_source);
157710
157711 END IF;
157712
157713
157714 ----------------------------------------------------------------
157715 -- 4262811 - update the header statuses to invalid in need be
157716 ----------------------------------------------------------------
157717 --
157718 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
157719
157720
157721 -----------------------------------------------
157722 -- No accrual reversal for the event class/type
157723 -----------------------------------------------
157724 ----------------------------------------------------------------
157725
157726 --
157727 -- this ends the header loop iteration for one bulk fetch
157728 --
157729 END LOOP;
157730
157731 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
157732 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
157733
157734 --
157735 -- insert dummy rows into lines gt table that were created due to
157736 -- transaction reversals
157737 --
157738 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
157739 l_result := XLA_AE_LINES_PKG.InsertLines;
157740 END IF;
157741
157742 --
157743 -- reset the temp_line_num for each set of events fetched from header
157744 -- cursor rather than doing it for each new event in line cursor
157745 -- Bug 3939231
157746 --
157747 xla_ae_lines_pkg.g_temp_line_num := 0;
157748
157749
157750
157751 --
157752 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
157753 --
157754 --
157755 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
157756
157757 trace
157758 (p_msg => 'SQL - FETCH line_cur'
157759 ,p_level => C_LEVEL_STATEMENT
157760 ,p_module => l_log_module);
157761
157762 END IF;
157763 --
157764 --
157765 LOOP
157766 --
157767 FETCH line_cur BULK COLLECT INTO
157768 l_array_entity_id
157769 , l_array_legal_entity_id
157770 , l_array_entity_code
157771 , l_array_transaction_num
157772 , l_array_event_id
157773 , l_array_class_code
157774 , l_array_event_type
157775 , l_array_event_number
157776 , l_array_event_date
157777 , l_array_transaction_date
157778 , l_array_reference_num_1
157779 , l_array_reference_num_2
157780 , l_array_reference_num_3
157784 , l_array_reference_char_3
157781 , l_array_reference_num_4
157782 , l_array_reference_char_1
157783 , l_array_reference_char_2
157785 , l_array_reference_char_4
157786 , l_array_reference_date_1
157787 , l_array_reference_date_2
157788 , l_array_reference_date_3
157789 , l_array_reference_date_4
157790 , l_array_event_created_by
157791 , l_array_budgetary_control_flag
157792 , l_array_extract_line_num
157793 , l_array_source_30
157794 , l_array_source_33
157795 , l_array_source_33_meaning
157796 , l_array_source_43
157797 , l_array_source_45
157798 , l_array_source_46
157799 , l_array_source_52
157800 , l_array_source_53
157801 , l_array_source_55
157802 , l_array_source_67
157803 , l_array_source_80
157804 , l_array_source_80_meaning
157805 , l_array_source_86
157806 , l_array_source_87
157807 , l_array_source_88
157808 , l_array_source_91
157809 , l_array_source_92
157810 , l_array_source_93
157811 , l_array_source_94
157812 , l_array_source_95
157813 , l_array_source_98
157814 , l_array_source_98_meaning
157815 , l_array_source_99
157816 , l_array_source_104
157817 , l_array_source_112
157818 , l_array_source_115
157819 , l_array_source_116
157820 , l_array_source_124
157821 , l_array_source_137
157822 , l_array_source_137_meaning
157823 , l_array_source_138
157824 , l_array_source_143
157825 , l_array_source_144
157826 , l_array_source_145
157827 , l_array_source_153
157828 , l_array_source_158
157829 , l_array_source_163
157830 , l_array_source_163_meaning
157831 , l_array_source_164
157832 , l_array_source_164_meaning
157833 LIMIT l_rows;
157834
157835 --
157836 IF (C_LEVEL_EVENT >= g_log_level) THEN
157837 trace
157838 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
157839 ,p_level => C_LEVEL_EVENT
157840 ,p_module => l_log_module);
157841 END IF;
157842 --
157843 EXIT WHEN l_array_entity_id.count = 0;
157844
157845 XLA_AE_LINES_PKG.g_rec_lines := null;
157846
157847 --
157848 -- Bug 4458708
157849 --
157850 XLA_AE_LINES_PKG.g_LineNumber := 0;
157851 --
157852 --
157853
157854 FOR Idx IN 1..l_array_event_id.count LOOP
157855 --
157856 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
157857 --
157858 l_event_id := l_array_event_id(idx); -- 5648433
157859
157860 --
157861 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
157862 --
157863
157864 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
157865 (g_array_event(l_event_id).array_value_num('header_index'))
157866 ,'N'
157867 ) <> 'Y'
157868 THEN
157869 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
157870 trace
157871 (p_msg => 'Trancaction revesal option is not Y '
157872 ,p_level => C_LEVEL_STATEMENT
157873 ,p_module => l_log_module);
157874 END IF;
157875
157876 --
157877 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
157878 --
157879 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
157880 --
157881 -- set event info as cache for other routines to refer event attributes
157882 --
157883
157884 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
157885 l_previous_event_id := l_event_id;
157886
157887 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
157888 (p_application_id => p_application_id
157889 ,p_primary_ledger_id => p_primary_ledger_id
157890 ,p_base_ledger_id => p_base_ledger_id
157891 ,p_target_ledger_id => p_target_ledger_id
157892 ,p_entity_id => l_array_entity_id(Idx)
157893 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
157894 ,p_entity_code => l_array_entity_code(Idx)
157895 ,p_transaction_num => l_array_transaction_num(Idx)
157896 ,p_event_id => l_array_event_id(Idx)
157897 ,p_event_class_code => l_array_class_code(Idx)
157898 ,p_event_type_code => l_array_event_type(Idx)
157899 ,p_event_number => l_array_event_number(Idx)
157900 ,p_event_date => l_array_event_date(Idx)
157901 ,p_transaction_date => l_array_transaction_date(Idx)
157902 ,p_reference_num_1 => l_array_reference_num_1(Idx)
157903 ,p_reference_num_2 => l_array_reference_num_2(Idx)
157904 ,p_reference_num_3 => l_array_reference_num_3(Idx)
157905 ,p_reference_num_4 => l_array_reference_num_4(Idx)
157906 ,p_reference_char_1 => l_array_reference_char_1(Idx)
157907 ,p_reference_char_2 => l_array_reference_char_2(Idx)
157908 ,p_reference_char_3 => l_array_reference_char_3(Idx)
157909 ,p_reference_char_4 => l_array_reference_char_4(Idx)
157910 ,p_reference_date_1 => l_array_reference_date_1(Idx)
157911 ,p_reference_date_2 => l_array_reference_date_2(Idx)
157912 ,p_reference_date_3 => l_array_reference_date_3(Idx)
157913 ,p_reference_date_4 => l_array_reference_date_4(Idx)
157914 ,p_event_created_by => l_array_event_created_by(Idx)
157915 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
157916 --
157917 END IF;
157918
157919
157920
157921 --
157922 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
157923
157924 l_acct_reversal_source := SUBSTR(l_array_source_53(Idx), 1,30);
157928 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
157925
157926 IF l_continue_with_lines THEN
157927 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
157929
157930 xla_accounting_err_pkg.build_message
157931 (p_appli_s_name => 'XLA'
157932 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
157933 ,p_token_1 => 'LINE_NUMBER'
157934 ,p_value_1 => l_array_extract_line_num(Idx)
157935 ,p_token_2 => 'PRODUCT_NAME'
157936 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
157937 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
157938 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
157939 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
157940
157941 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
157942 --
157943 -- following sets the accounting attributes needed to reverse
157944 -- accounting for a distributeion
157945 --
157946
157947 --
157948 -- 5217187
157949 --
157950 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
157951 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
157952 g_array_event(l_event_id).array_value_num('header_index'));
157953 --
157954 --
157955
157956 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
157957 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_53(Idx);
157958 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
157959 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_104(Idx);
157960 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
157961 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_55(Idx);
157962 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'PARTY_TYPE';
157963 l_rec_rev_acct_attrs.array_char_value(5) := g_array_event(l_event_id).array_value_char('source_83');
157964 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'REVERSED_DISTRIBUTION_ID1';
157965 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_112(Idx);
157966 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'REVERSED_DISTRIBUTION_TYPE';
157967 l_rec_rev_acct_attrs.array_char_value(7) := l_array_source_55(Idx);
157968 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'TAX_LINE_REF_ID';
157969 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_86(Idx);
157970 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'TAX_REC_NREC_DIST_REF_ID';
157971 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_87(Idx);
157972 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'TAX_SUMMARY_LINE_REF_ID';
157973 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_88(Idx);
157974
157975
157976 xla_ae_lines_pkg.SetAcctReversalAttrs
157977 (p_event_id => l_event_id
157978 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
157979 ,p_calculate_acctd_flag => l_calculate_acctd_flag
157980 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
157981 END IF;
157982
157983 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
157984 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
157985
157986 --
157987 AcctLineType_69 (
157988 p_application_id => p_application_id
157989 ,p_event_id => l_event_id
157990 ,p_calculate_acctd_flag => l_calculate_acctd_flag
157991 ,p_calculate_g_l_flag => l_calculate_g_l_flag
157992 ,p_actual_flag => l_actual_flag
157993 ,p_balance_type_code => l_balance_type_code
157994 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
157995
157996 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
157997 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
157998 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
157999 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
158000 , p_source_53 => l_array_source_53(Idx)
158001 , p_source_55 => l_array_source_55(Idx)
158002 , p_source_80 => l_array_source_80(Idx)
158003 , p_source_80_meaning => l_array_source_80_meaning(Idx)
158004 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
158005 , p_source_86 => l_array_source_86(Idx)
158006 , p_source_87 => l_array_source_87(Idx)
158007 , p_source_88 => l_array_source_88(Idx)
158008 , p_source_91 => l_array_source_91(Idx)
158009 , p_source_92 => l_array_source_92(Idx)
158010 , p_source_93 => l_array_source_93(Idx)
158011 , p_source_94 => l_array_source_94(Idx)
158012 , p_source_95 => l_array_source_95(Idx)
158013 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
158014 , p_source_98 => l_array_source_98(Idx)
158015 , p_source_98_meaning => l_array_source_98_meaning(Idx)
158016 , p_source_99 => l_array_source_99(Idx)
158017 , p_source_104 => l_array_source_104(Idx)
158018 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158019 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
158020 , p_source_112 => l_array_source_112(Idx)
158021 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
158022 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
158023 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
158024 , p_source_115 => l_array_source_115(Idx)
158025 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
158026 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
158027 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
158028 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158029 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158033 If(l_balance_type_code = 'A') THEN
158030 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158031 , p_source_124 => l_array_source_124(Idx)
158032 );
158034 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158035 END IF;
158036
158037 --
158038
158039
158040 --
158041 AcctLineType_70 (
158042 p_application_id => p_application_id
158043 ,p_event_id => l_event_id
158044 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158045 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158046 ,p_actual_flag => l_actual_flag
158047 ,p_balance_type_code => l_balance_type_code
158048 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158049
158050 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158051 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
158052 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
158053 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
158054 , p_source_53 => l_array_source_53(Idx)
158055 , p_source_55 => l_array_source_55(Idx)
158056 , p_source_80 => l_array_source_80(Idx)
158057 , p_source_80_meaning => l_array_source_80_meaning(Idx)
158058 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
158059 , p_source_86 => l_array_source_86(Idx)
158060 , p_source_87 => l_array_source_87(Idx)
158061 , p_source_88 => l_array_source_88(Idx)
158062 , p_source_91 => l_array_source_91(Idx)
158063 , p_source_92 => l_array_source_92(Idx)
158064 , p_source_93 => l_array_source_93(Idx)
158065 , p_source_94 => l_array_source_94(Idx)
158066 , p_source_95 => l_array_source_95(Idx)
158067 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
158068 , p_source_98 => l_array_source_98(Idx)
158069 , p_source_98_meaning => l_array_source_98_meaning(Idx)
158070 , p_source_99 => l_array_source_99(Idx)
158071 , p_source_104 => l_array_source_104(Idx)
158072 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158073 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
158074 , p_source_112 => l_array_source_112(Idx)
158075 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
158076 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
158077 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
158078 , p_source_115 => l_array_source_115(Idx)
158079 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
158080 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
158081 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
158082 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158083 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158084 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158085 , p_source_124 => l_array_source_124(Idx)
158086 );
158087 If(l_balance_type_code = 'A') THEN
158088 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158089 END IF;
158090
158091 --
158092
158093
158094 --
158095 AcctLineType_71 (
158096 p_application_id => p_application_id
158097 ,p_event_id => l_event_id
158098 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158099 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158100 ,p_actual_flag => l_actual_flag
158101 ,p_balance_type_code => l_balance_type_code
158102 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158103
158104 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158105 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
158106 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
158107 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
158108 , p_source_53 => l_array_source_53(Idx)
158109 , p_source_55 => l_array_source_55(Idx)
158110 , p_source_80 => l_array_source_80(Idx)
158111 , p_source_80_meaning => l_array_source_80_meaning(Idx)
158112 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
158113 , p_source_86 => l_array_source_86(Idx)
158114 , p_source_87 => l_array_source_87(Idx)
158115 , p_source_88 => l_array_source_88(Idx)
158116 , p_source_91 => l_array_source_91(Idx)
158117 , p_source_92 => l_array_source_92(Idx)
158118 , p_source_93 => l_array_source_93(Idx)
158119 , p_source_94 => l_array_source_94(Idx)
158120 , p_source_95 => l_array_source_95(Idx)
158121 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
158122 , p_source_98 => l_array_source_98(Idx)
158123 , p_source_98_meaning => l_array_source_98_meaning(Idx)
158124 , p_source_99 => l_array_source_99(Idx)
158125 , p_source_104 => l_array_source_104(Idx)
158126 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158127 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
158128 , p_source_112 => l_array_source_112(Idx)
158129 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
158130 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
158131 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
158132 , p_source_115 => l_array_source_115(Idx)
158133 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
158134 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
158135 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
158136 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158137 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158138 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158139 , p_source_124 => l_array_source_124(Idx)
158140 );
158141 If(l_balance_type_code = 'A') THEN
158142 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158143 END IF;
158144
158145 --
158146
158147
158148 --
158149 AcctLineType_72 (
158153 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158150 p_application_id => p_application_id
158151 ,p_event_id => l_event_id
158152 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158154 ,p_actual_flag => l_actual_flag
158155 ,p_balance_type_code => l_balance_type_code
158156 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158157
158158 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158159 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
158160 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
158161 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
158162 , p_source_53 => l_array_source_53(Idx)
158163 , p_source_55 => l_array_source_55(Idx)
158164 , p_source_80 => l_array_source_80(Idx)
158165 , p_source_80_meaning => l_array_source_80_meaning(Idx)
158166 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
158167 , p_source_86 => l_array_source_86(Idx)
158168 , p_source_87 => l_array_source_87(Idx)
158169 , p_source_88 => l_array_source_88(Idx)
158170 , p_source_91 => l_array_source_91(Idx)
158171 , p_source_92 => l_array_source_92(Idx)
158172 , p_source_93 => l_array_source_93(Idx)
158173 , p_source_94 => l_array_source_94(Idx)
158174 , p_source_95 => l_array_source_95(Idx)
158175 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
158176 , p_source_98 => l_array_source_98(Idx)
158177 , p_source_98_meaning => l_array_source_98_meaning(Idx)
158178 , p_source_99 => l_array_source_99(Idx)
158179 , p_source_104 => l_array_source_104(Idx)
158180 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158181 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
158182 , p_source_112 => l_array_source_112(Idx)
158183 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
158184 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
158185 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
158186 , p_source_116 => l_array_source_116(Idx)
158187 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
158188 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
158189 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
158190 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158191 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158192 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158193 , p_source_124 => l_array_source_124(Idx)
158194 );
158195 If(l_balance_type_code = 'A') THEN
158196 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158197 END IF;
158198
158199 --
158200
158201
158202 --
158203 AcctLineType_73 (
158204 p_application_id => p_application_id
158205 ,p_event_id => l_event_id
158206 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158207 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158208 ,p_actual_flag => l_actual_flag
158209 ,p_balance_type_code => l_balance_type_code
158210 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158211
158212 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158213 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
158214 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
158215 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
158216 , p_source_53 => l_array_source_53(Idx)
158217 , p_source_55 => l_array_source_55(Idx)
158218 , p_source_80 => l_array_source_80(Idx)
158219 , p_source_80_meaning => l_array_source_80_meaning(Idx)
158220 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
158221 , p_source_86 => l_array_source_86(Idx)
158222 , p_source_87 => l_array_source_87(Idx)
158223 , p_source_88 => l_array_source_88(Idx)
158224 , p_source_91 => l_array_source_91(Idx)
158225 , p_source_92 => l_array_source_92(Idx)
158226 , p_source_93 => l_array_source_93(Idx)
158227 , p_source_94 => l_array_source_94(Idx)
158228 , p_source_95 => l_array_source_95(Idx)
158229 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
158230 , p_source_98 => l_array_source_98(Idx)
158231 , p_source_98_meaning => l_array_source_98_meaning(Idx)
158232 , p_source_99 => l_array_source_99(Idx)
158233 , p_source_104 => l_array_source_104(Idx)
158234 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158235 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
158236 , p_source_112 => l_array_source_112(Idx)
158237 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
158238 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
158239 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
158240 , p_source_116 => l_array_source_116(Idx)
158241 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
158242 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
158243 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
158244 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158245 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158246 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158247 , p_source_124 => l_array_source_124(Idx)
158248 );
158249 If(l_balance_type_code = 'A') THEN
158250 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158251 END IF;
158252
158253 --
158254
158255
158256 --
158257 AcctLineType_74 (
158258 p_application_id => p_application_id
158259 ,p_event_id => l_event_id
158260 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158261 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158262 ,p_actual_flag => l_actual_flag
158263 ,p_balance_type_code => l_balance_type_code
158264 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158265
158269 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
158266 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158267 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
158268 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
158270 , p_source_53 => l_array_source_53(Idx)
158271 , p_source_55 => l_array_source_55(Idx)
158272 , p_source_80 => l_array_source_80(Idx)
158273 , p_source_80_meaning => l_array_source_80_meaning(Idx)
158274 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
158275 , p_source_86 => l_array_source_86(Idx)
158276 , p_source_87 => l_array_source_87(Idx)
158277 , p_source_88 => l_array_source_88(Idx)
158278 , p_source_91 => l_array_source_91(Idx)
158279 , p_source_92 => l_array_source_92(Idx)
158280 , p_source_93 => l_array_source_93(Idx)
158281 , p_source_94 => l_array_source_94(Idx)
158282 , p_source_95 => l_array_source_95(Idx)
158283 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
158284 , p_source_98 => l_array_source_98(Idx)
158285 , p_source_98_meaning => l_array_source_98_meaning(Idx)
158286 , p_source_99 => l_array_source_99(Idx)
158287 , p_source_104 => l_array_source_104(Idx)
158288 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158289 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
158290 , p_source_112 => l_array_source_112(Idx)
158291 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
158292 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
158293 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
158294 , p_source_116 => l_array_source_116(Idx)
158295 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
158296 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
158297 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
158298 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158299 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158300 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158301 , p_source_124 => l_array_source_124(Idx)
158302 );
158303 If(l_balance_type_code = 'A') THEN
158304 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158305 END IF;
158306
158307 --
158308
158309
158310 --
158311 AcctLineType_85 (
158312 p_application_id => p_application_id
158313 ,p_event_id => l_event_id
158314 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158315 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158316 ,p_actual_flag => l_actual_flag
158317 ,p_balance_type_code => l_balance_type_code
158318 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158319
158320 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158321 , p_source_17 => g_array_event(l_event_id).array_value_num('source_17')
158322 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
158323 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
158324 , p_source_53 => l_array_source_53(Idx)
158325 , p_source_55 => l_array_source_55(Idx)
158326 , p_source_80 => l_array_source_80(Idx)
158327 , p_source_80_meaning => l_array_source_80_meaning(Idx)
158328 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
158329 , p_source_86 => l_array_source_86(Idx)
158330 , p_source_87 => l_array_source_87(Idx)
158331 , p_source_88 => l_array_source_88(Idx)
158332 , p_source_91 => l_array_source_91(Idx)
158333 , p_source_92 => l_array_source_92(Idx)
158334 , p_source_93 => l_array_source_93(Idx)
158335 , p_source_94 => l_array_source_94(Idx)
158336 , p_source_95 => l_array_source_95(Idx)
158337 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
158338 , p_source_98 => l_array_source_98(Idx)
158339 , p_source_98_meaning => l_array_source_98_meaning(Idx)
158340 , p_source_99 => l_array_source_99(Idx)
158341 , p_source_104 => l_array_source_104(Idx)
158342 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158343 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
158344 , p_source_112 => l_array_source_112(Idx)
158345 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
158346 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
158347 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
158348 , p_source_115 => l_array_source_115(Idx)
158349 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
158350 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
158351 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
158352 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158353 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158354 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158355 , p_source_124 => l_array_source_124(Idx)
158356 );
158357 If(l_balance_type_code = 'A') THEN
158358 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158359 END IF;
158360
158361 --
158362
158363
158364 --
158365 AcctLineType_86 (
158366 p_application_id => p_application_id
158367 ,p_event_id => l_event_id
158368 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158369 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158370 ,p_actual_flag => l_actual_flag
158371 ,p_balance_type_code => l_balance_type_code
158372 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158373
158374 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158375 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
158376 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
158377 , p_source_17 => g_array_event(l_event_id).array_value_num('source_17')
158378 , p_source_53 => l_array_source_53(Idx)
158382 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
158379 , p_source_55 => l_array_source_55(Idx)
158380 , p_source_80 => l_array_source_80(Idx)
158381 , p_source_80_meaning => l_array_source_80_meaning(Idx)
158383 , p_source_86 => l_array_source_86(Idx)
158384 , p_source_87 => l_array_source_87(Idx)
158385 , p_source_88 => l_array_source_88(Idx)
158386 , p_source_91 => l_array_source_91(Idx)
158387 , p_source_92 => l_array_source_92(Idx)
158388 , p_source_93 => l_array_source_93(Idx)
158389 , p_source_94 => l_array_source_94(Idx)
158390 , p_source_95 => l_array_source_95(Idx)
158391 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
158392 , p_source_98 => l_array_source_98(Idx)
158393 , p_source_98_meaning => l_array_source_98_meaning(Idx)
158394 , p_source_99 => l_array_source_99(Idx)
158395 , p_source_104 => l_array_source_104(Idx)
158396 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158397 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
158398 , p_source_112 => l_array_source_112(Idx)
158399 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
158400 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
158401 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
158402 , p_source_115 => l_array_source_115(Idx)
158403 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
158404 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
158405 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
158406 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158407 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158408 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158409 , p_source_124 => l_array_source_124(Idx)
158410 );
158411 If(l_balance_type_code = 'A') THEN
158412 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158413 END IF;
158414
158415 --
158416
158417
158418 --
158419 AcctLineType_87 (
158420 p_application_id => p_application_id
158421 ,p_event_id => l_event_id
158422 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158423 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158424 ,p_actual_flag => l_actual_flag
158425 ,p_balance_type_code => l_balance_type_code
158426 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158427
158428 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158429 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
158430 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
158431 , p_source_17 => g_array_event(l_event_id).array_value_num('source_17')
158432 , p_source_53 => l_array_source_53(Idx)
158433 , p_source_55 => l_array_source_55(Idx)
158434 , p_source_80 => l_array_source_80(Idx)
158435 , p_source_80_meaning => l_array_source_80_meaning(Idx)
158436 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
158437 , p_source_86 => l_array_source_86(Idx)
158438 , p_source_87 => l_array_source_87(Idx)
158439 , p_source_88 => l_array_source_88(Idx)
158440 , p_source_91 => l_array_source_91(Idx)
158441 , p_source_92 => l_array_source_92(Idx)
158442 , p_source_93 => l_array_source_93(Idx)
158443 , p_source_94 => l_array_source_94(Idx)
158444 , p_source_95 => l_array_source_95(Idx)
158445 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
158446 , p_source_98 => l_array_source_98(Idx)
158447 , p_source_98_meaning => l_array_source_98_meaning(Idx)
158448 , p_source_99 => l_array_source_99(Idx)
158449 , p_source_104 => l_array_source_104(Idx)
158450 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158451 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
158452 , p_source_112 => l_array_source_112(Idx)
158453 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
158454 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
158455 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
158456 , p_source_115 => l_array_source_115(Idx)
158457 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
158458 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
158459 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
158460 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158461 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158462 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158463 , p_source_124 => l_array_source_124(Idx)
158464 );
158465 If(l_balance_type_code = 'A') THEN
158466 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158467 END IF;
158468
158469 --
158470
158471
158472 --
158473 AcctLineType_98 (
158474 p_application_id => p_application_id
158475 ,p_event_id => l_event_id
158476 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158477 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158478 ,p_actual_flag => l_actual_flag
158479 ,p_balance_type_code => l_balance_type_code
158480 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158481
158482 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158483 , p_source_33 => l_array_source_33(Idx)
158484 , p_source_33_meaning => l_array_source_33_meaning(Idx)
158485 , p_source_53 => l_array_source_53(Idx)
158486 , p_source_55 => l_array_source_55(Idx)
158487 , p_source_80 => l_array_source_80(Idx)
158488 , p_source_80_meaning => l_array_source_80_meaning(Idx)
158489 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
158490 , p_source_86 => l_array_source_86(Idx)
158491 , p_source_87 => l_array_source_87(Idx)
158492 , p_source_88 => l_array_source_88(Idx)
158493 , p_source_91 => l_array_source_91(Idx)
158494 , p_source_92 => l_array_source_92(Idx)
158498 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
158495 , p_source_93 => l_array_source_93(Idx)
158496 , p_source_94 => l_array_source_94(Idx)
158497 , p_source_95 => l_array_source_95(Idx)
158499 , p_source_98 => l_array_source_98(Idx)
158500 , p_source_98_meaning => l_array_source_98_meaning(Idx)
158501 , p_source_99 => l_array_source_99(Idx)
158502 , p_source_104 => l_array_source_104(Idx)
158503 , p_source_112 => l_array_source_112(Idx)
158504 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
158505 , p_source_116 => l_array_source_116(Idx)
158506 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158507 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158508 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158509 , p_source_124 => l_array_source_124(Idx)
158510 , p_source_137 => l_array_source_137(Idx)
158511 , p_source_137_meaning => l_array_source_137_meaning(Idx)
158512 , p_source_138 => l_array_source_138(Idx)
158513 );
158514 If(l_balance_type_code = 'A') THEN
158515 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158516 END IF;
158517
158518 --
158519
158520
158521 --
158522 AcctLineType_102 (
158523 p_application_id => p_application_id
158524 ,p_event_id => l_event_id
158525 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158526 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158527 ,p_actual_flag => l_actual_flag
158528 ,p_balance_type_code => l_balance_type_code
158529 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158530
158531 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158532 , p_source_33 => l_array_source_33(Idx)
158533 , p_source_33_meaning => l_array_source_33_meaning(Idx)
158534 , p_source_52 => l_array_source_52(Idx)
158535 , p_source_53 => l_array_source_53(Idx)
158536 , p_source_55 => l_array_source_55(Idx)
158537 , p_source_80 => l_array_source_80(Idx)
158538 , p_source_80_meaning => l_array_source_80_meaning(Idx)
158539 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
158540 , p_source_86 => l_array_source_86(Idx)
158541 , p_source_87 => l_array_source_87(Idx)
158542 , p_source_88 => l_array_source_88(Idx)
158543 , p_source_91 => l_array_source_91(Idx)
158544 , p_source_92 => l_array_source_92(Idx)
158545 , p_source_93 => l_array_source_93(Idx)
158546 , p_source_94 => l_array_source_94(Idx)
158547 , p_source_95 => l_array_source_95(Idx)
158548 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
158549 , p_source_98 => l_array_source_98(Idx)
158550 , p_source_98_meaning => l_array_source_98_meaning(Idx)
158551 , p_source_99 => l_array_source_99(Idx)
158552 , p_source_104 => l_array_source_104(Idx)
158553 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158554 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
158555 , p_source_112 => l_array_source_112(Idx)
158556 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
158557 , p_source_116 => l_array_source_116(Idx)
158558 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158559 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158560 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158561 , p_source_124 => l_array_source_124(Idx)
158562 , p_source_137 => l_array_source_137(Idx)
158563 , p_source_137_meaning => l_array_source_137_meaning(Idx)
158564 , p_source_138 => l_array_source_138(Idx)
158565 , p_source_143 => l_array_source_143(Idx)
158566 , p_source_144 => l_array_source_144(Idx)
158567 , p_source_145 => l_array_source_145(Idx)
158568 );
158569 If(l_balance_type_code = 'A') THEN
158570 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158571 END IF;
158572
158573 --
158574
158575
158576 --
158577 AcctLineType_105 (
158578 p_application_id => p_application_id
158579 ,p_event_id => l_event_id
158580 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158581 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158582 ,p_actual_flag => l_actual_flag
158583 ,p_balance_type_code => l_balance_type_code
158584 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158585
158586 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158587 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
158588 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
158589 , p_source_18 => g_array_event(l_event_id).array_value_num('source_18')
158590 , p_source_19 => g_array_event(l_event_id).array_value_char('source_19')
158591 , p_source_19_meaning => g_array_event(l_event_id).array_value_char('source_19_meaning')
158592 , p_source_30 => l_array_source_30(Idx)
158593 , p_source_33 => l_array_source_33(Idx)
158594 , p_source_33_meaning => l_array_source_33_meaning(Idx)
158595 , p_source_44 => g_array_event(l_event_id).array_value_num('source_44')
158596 , p_source_45 => l_array_source_45(Idx)
158597 , p_source_46 => l_array_source_46(Idx)
158598 , p_source_53 => l_array_source_53(Idx)
158599 , p_source_55 => l_array_source_55(Idx)
158600 , p_source_80 => l_array_source_80(Idx)
158601 , p_source_80_meaning => l_array_source_80_meaning(Idx)
158602 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
158603 , p_source_86 => l_array_source_86(Idx)
158604 , p_source_87 => l_array_source_87(Idx)
158605 , p_source_88 => l_array_source_88(Idx)
158606 , p_source_91 => l_array_source_91(Idx)
158607 , p_source_92 => l_array_source_92(Idx)
158608 , p_source_93 => l_array_source_93(Idx)
158609 , p_source_94 => l_array_source_94(Idx)
158610 , p_source_95 => l_array_source_95(Idx)
158611 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
158612 , p_source_98 => l_array_source_98(Idx)
158613 , p_source_98_meaning => l_array_source_98_meaning(Idx)
158614 , p_source_99 => l_array_source_99(Idx)
158615 , p_source_104 => l_array_source_104(Idx)
158619 , p_source_115 => l_array_source_115(Idx)
158616 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158617 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
158618 , p_source_112 => l_array_source_112(Idx)
158620 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158621 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158622 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158623 , p_source_124 => l_array_source_124(Idx)
158624 , p_source_143 => l_array_source_143(Idx)
158625 , p_source_144 => l_array_source_144(Idx)
158626 , p_source_145 => l_array_source_145(Idx)
158627 );
158628 If(l_balance_type_code = 'A') THEN
158629 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158630 END IF;
158631
158632 --
158633
158634
158635 --
158636 AcctLineType_113 (
158637 p_application_id => p_application_id
158638 ,p_event_id => l_event_id
158639 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158640 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158641 ,p_actual_flag => l_actual_flag
158642 ,p_balance_type_code => l_balance_type_code
158643 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158644
158645 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
158646 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
158647 , p_source_30 => l_array_source_30(Idx)
158648 , p_source_49 => g_array_event(l_event_id).array_value_num('source_49')
158649 , p_source_53 => l_array_source_53(Idx)
158650 , p_source_55 => l_array_source_55(Idx)
158651 , p_source_67 => l_array_source_67(Idx)
158652 , p_source_80 => l_array_source_80(Idx)
158653 , p_source_80_meaning => l_array_source_80_meaning(Idx)
158654 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
158655 , p_source_86 => l_array_source_86(Idx)
158656 , p_source_87 => l_array_source_87(Idx)
158657 , p_source_88 => l_array_source_88(Idx)
158658 , p_source_91 => l_array_source_91(Idx)
158659 , p_source_92 => l_array_source_92(Idx)
158660 , p_source_93 => l_array_source_93(Idx)
158661 , p_source_94 => l_array_source_94(Idx)
158662 , p_source_95 => l_array_source_95(Idx)
158663 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
158664 , p_source_98 => l_array_source_98(Idx)
158665 , p_source_98_meaning => l_array_source_98_meaning(Idx)
158666 , p_source_99 => l_array_source_99(Idx)
158667 , p_source_104 => l_array_source_104(Idx)
158668 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158669 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
158670 , p_source_112 => l_array_source_112(Idx)
158671 , p_source_116 => l_array_source_116(Idx)
158672 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158673 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158674 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158675 , p_source_124 => l_array_source_124(Idx)
158676 , p_source_143 => l_array_source_143(Idx)
158677 , p_source_144 => l_array_source_144(Idx)
158678 , p_source_145 => l_array_source_145(Idx)
158679 );
158680 If(l_balance_type_code = 'A') THEN
158681 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158682 END IF;
158683
158684 --
158685
158686
158687 --
158688 AcctLineType_120 (
158689 p_application_id => p_application_id
158690 ,p_event_id => l_event_id
158691 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158692 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158693 ,p_actual_flag => l_actual_flag
158694 ,p_balance_type_code => l_balance_type_code
158695 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158696
158697 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158698 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
158699 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
158700 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
158701 , p_source_25 => g_array_event(l_event_id).array_value_char('source_25')
158702 , p_source_25_meaning => g_array_event(l_event_id).array_value_char('source_25_meaning')
158703 , p_source_26 => g_array_event(l_event_id).array_value_num('source_26')
158704 , p_source_27 => g_array_event(l_event_id).array_value_num('source_27')
158705 , p_source_30 => l_array_source_30(Idx)
158706 , p_source_53 => l_array_source_53(Idx)
158707 , p_source_55 => l_array_source_55(Idx)
158708 , p_source_80 => l_array_source_80(Idx)
158709 , p_source_80_meaning => l_array_source_80_meaning(Idx)
158710 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
158711 , p_source_86 => l_array_source_86(Idx)
158712 , p_source_87 => l_array_source_87(Idx)
158713 , p_source_88 => l_array_source_88(Idx)
158714 , p_source_91 => l_array_source_91(Idx)
158715 , p_source_92 => l_array_source_92(Idx)
158716 , p_source_93 => l_array_source_93(Idx)
158717 , p_source_94 => l_array_source_94(Idx)
158718 , p_source_95 => l_array_source_95(Idx)
158719 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
158720 , p_source_98 => l_array_source_98(Idx)
158721 , p_source_98_meaning => l_array_source_98_meaning(Idx)
158722 , p_source_99 => l_array_source_99(Idx)
158723 , p_source_104 => l_array_source_104(Idx)
158724 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158725 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
158726 , p_source_112 => l_array_source_112(Idx)
158727 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
158728 , p_source_115 => l_array_source_115(Idx)
158729 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
158730 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
158731 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
158732 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158736 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158733 , p_source_124 => l_array_source_124(Idx)
158734 );
158735 If(l_balance_type_code = 'A') THEN
158737 END IF;
158738
158739 --
158740
158741
158742 --
158743 AcctLineType_121 (
158744 p_application_id => p_application_id
158745 ,p_event_id => l_event_id
158746 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158747 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158748 ,p_actual_flag => l_actual_flag
158749 ,p_balance_type_code => l_balance_type_code
158750 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158751
158752 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158753 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
158754 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
158755 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
158756 , p_source_25 => g_array_event(l_event_id).array_value_char('source_25')
158757 , p_source_25_meaning => g_array_event(l_event_id).array_value_char('source_25_meaning')
158758 , p_source_26 => g_array_event(l_event_id).array_value_num('source_26')
158759 , p_source_27 => g_array_event(l_event_id).array_value_num('source_27')
158760 , p_source_30 => l_array_source_30(Idx)
158761 , p_source_53 => l_array_source_53(Idx)
158762 , p_source_55 => l_array_source_55(Idx)
158763 , p_source_80 => l_array_source_80(Idx)
158764 , p_source_80_meaning => l_array_source_80_meaning(Idx)
158765 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
158766 , p_source_86 => l_array_source_86(Idx)
158767 , p_source_87 => l_array_source_87(Idx)
158768 , p_source_88 => l_array_source_88(Idx)
158769 , p_source_91 => l_array_source_91(Idx)
158770 , p_source_92 => l_array_source_92(Idx)
158771 , p_source_93 => l_array_source_93(Idx)
158772 , p_source_94 => l_array_source_94(Idx)
158773 , p_source_95 => l_array_source_95(Idx)
158774 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
158775 , p_source_98 => l_array_source_98(Idx)
158776 , p_source_98_meaning => l_array_source_98_meaning(Idx)
158777 , p_source_99 => l_array_source_99(Idx)
158778 , p_source_104 => l_array_source_104(Idx)
158779 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158780 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
158781 , p_source_112 => l_array_source_112(Idx)
158782 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
158783 , p_source_116 => l_array_source_116(Idx)
158784 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
158785 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
158786 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
158787 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158788 , p_source_124 => l_array_source_124(Idx)
158789 );
158790 If(l_balance_type_code = 'A') THEN
158791 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158792 END IF;
158793
158794 --
158795
158796
158797 --
158798 AcctLineType_126 (
158799 p_application_id => p_application_id
158800 ,p_event_id => l_event_id
158801 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158802 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158803 ,p_actual_flag => l_actual_flag
158804 ,p_balance_type_code => l_balance_type_code
158805 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158806
158807 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
158808 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
158809 , p_source_30 => l_array_source_30(Idx)
158810 , p_source_36 => g_array_event(l_event_id).array_value_num('source_36')
158811 , p_source_37 => g_array_event(l_event_id).array_value_num('source_37')
158812 , p_source_38 => g_array_event(l_event_id).array_value_num('source_38')
158813 , p_source_39 => g_array_event(l_event_id).array_value_num('source_39')
158814 , p_source_53 => l_array_source_53(Idx)
158815 , p_source_55 => l_array_source_55(Idx)
158816 , p_source_80 => l_array_source_80(Idx)
158817 , p_source_80_meaning => l_array_source_80_meaning(Idx)
158818 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
158819 , p_source_86 => l_array_source_86(Idx)
158820 , p_source_87 => l_array_source_87(Idx)
158821 , p_source_88 => l_array_source_88(Idx)
158822 , p_source_91 => l_array_source_91(Idx)
158823 , p_source_92 => l_array_source_92(Idx)
158824 , p_source_93 => l_array_source_93(Idx)
158825 , p_source_94 => l_array_source_94(Idx)
158826 , p_source_95 => l_array_source_95(Idx)
158827 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
158828 , p_source_98 => l_array_source_98(Idx)
158829 , p_source_98_meaning => l_array_source_98_meaning(Idx)
158830 , p_source_104 => l_array_source_104(Idx)
158831 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158832 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
158833 , p_source_112 => l_array_source_112(Idx)
158834 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158835 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158836 , p_source_124 => l_array_source_124(Idx)
158837 , p_source_153 => l_array_source_153(Idx)
158838 );
158839 If(l_balance_type_code = 'A') THEN
158840 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158841 END IF;
158842
158843 --
158844
158845
158846 --
158847 AcctLineType_131 (
158848 p_application_id => p_application_id
158849 ,p_event_id => l_event_id
158850 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158851 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158852 ,p_actual_flag => l_actual_flag
158853 ,p_balance_type_code => l_balance_type_code
158854 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158855
158856 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158860 , p_source_36 => g_array_event(l_event_id).array_value_num('source_36')
158857 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
158858 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
158859 , p_source_30 => l_array_source_30(Idx)
158861 , p_source_37 => g_array_event(l_event_id).array_value_num('source_37')
158862 , p_source_53 => l_array_source_53(Idx)
158863 , p_source_55 => l_array_source_55(Idx)
158864 , p_source_80 => l_array_source_80(Idx)
158865 , p_source_80_meaning => l_array_source_80_meaning(Idx)
158866 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
158867 , p_source_86 => l_array_source_86(Idx)
158868 , p_source_87 => l_array_source_87(Idx)
158869 , p_source_88 => l_array_source_88(Idx)
158870 , p_source_91 => l_array_source_91(Idx)
158871 , p_source_92 => l_array_source_92(Idx)
158872 , p_source_93 => l_array_source_93(Idx)
158873 , p_source_94 => l_array_source_94(Idx)
158874 , p_source_95 => l_array_source_95(Idx)
158875 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
158876 , p_source_98 => l_array_source_98(Idx)
158877 , p_source_98_meaning => l_array_source_98_meaning(Idx)
158878 , p_source_99 => l_array_source_99(Idx)
158879 , p_source_104 => l_array_source_104(Idx)
158880 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158881 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
158882 , p_source_112 => l_array_source_112(Idx)
158883 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
158884 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
158885 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
158886 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158887 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158888 , p_source_124 => l_array_source_124(Idx)
158889 , p_source_153 => l_array_source_153(Idx)
158890 , p_source_158 => l_array_source_158(Idx)
158891 );
158892 If(l_balance_type_code = 'A') THEN
158893 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158894 END IF;
158895
158896 --
158897
158898
158899 --
158900 AcctLineType_137 (
158901 p_application_id => p_application_id
158902 ,p_event_id => l_event_id
158903 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158904 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158905 ,p_actual_flag => l_actual_flag
158906 ,p_balance_type_code => l_balance_type_code
158907 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158908
158909 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158910 , p_source_28 => g_array_event(l_event_id).array_value_num('source_28')
158911 , p_source_29 => g_array_event(l_event_id).array_value_char('source_29')
158912 , p_source_30 => l_array_source_30(Idx)
158913 , p_source_33 => l_array_source_33(Idx)
158914 , p_source_33_meaning => l_array_source_33_meaning(Idx)
158915 , p_source_53 => l_array_source_53(Idx)
158916 , p_source_55 => l_array_source_55(Idx)
158917 , p_source_80 => l_array_source_80(Idx)
158918 , p_source_80_meaning => l_array_source_80_meaning(Idx)
158919 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
158920 , p_source_86 => l_array_source_86(Idx)
158921 , p_source_87 => l_array_source_87(Idx)
158922 , p_source_88 => l_array_source_88(Idx)
158923 , p_source_91 => l_array_source_91(Idx)
158924 , p_source_92 => l_array_source_92(Idx)
158925 , p_source_93 => l_array_source_93(Idx)
158926 , p_source_94 => l_array_source_94(Idx)
158927 , p_source_95 => l_array_source_95(Idx)
158928 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
158929 , p_source_98 => l_array_source_98(Idx)
158930 , p_source_98_meaning => l_array_source_98_meaning(Idx)
158931 , p_source_99 => l_array_source_99(Idx)
158932 , p_source_104 => l_array_source_104(Idx)
158933 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
158934 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
158935 , p_source_112 => l_array_source_112(Idx)
158936 , p_source_115 => l_array_source_115(Idx)
158937 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
158938 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
158939 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
158940 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158941 , p_source_124 => l_array_source_124(Idx)
158942 , p_source_163 => l_array_source_163(Idx)
158943 , p_source_163_meaning => l_array_source_163_meaning(Idx)
158944 );
158945 If(l_balance_type_code = 'A') THEN
158946 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158947 END IF;
158948
158949 --
158950
158951
158952 --
158953 AcctLineType_146 (
158954 p_application_id => p_application_id
158955 ,p_event_id => l_event_id
158956 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158957 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158958 ,p_actual_flag => l_actual_flag
158959 ,p_balance_type_code => l_balance_type_code
158960 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158961
158962 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
158963 , p_source_53 => l_array_source_53(Idx)
158964 , p_source_55 => l_array_source_55(Idx)
158965 , p_source_80 => l_array_source_80(Idx)
158966 , p_source_80_meaning => l_array_source_80_meaning(Idx)
158967 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
158968 , p_source_86 => l_array_source_86(Idx)
158969 , p_source_87 => l_array_source_87(Idx)
158970 , p_source_88 => l_array_source_88(Idx)
158971 , p_source_91 => l_array_source_91(Idx)
158972 , p_source_92 => l_array_source_92(Idx)
158973 , p_source_93 => l_array_source_93(Idx)
158974 , p_source_94 => l_array_source_94(Idx)
158975 , p_source_95 => l_array_source_95(Idx)
158976 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
158980 , p_source_104 => l_array_source_104(Idx)
158977 , p_source_98 => l_array_source_98(Idx)
158978 , p_source_98_meaning => l_array_source_98_meaning(Idx)
158979 , p_source_99 => l_array_source_99(Idx)
158981 , p_source_112 => l_array_source_112(Idx)
158982 , p_source_116 => l_array_source_116(Idx)
158983 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
158984 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
158985 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
158986 , p_source_124 => l_array_source_124(Idx)
158987 , p_source_163 => l_array_source_163(Idx)
158988 , p_source_163_meaning => l_array_source_163_meaning(Idx)
158989 , p_source_164 => l_array_source_164(Idx)
158990 , p_source_164_meaning => l_array_source_164_meaning(Idx)
158991 );
158992 If(l_balance_type_code = 'A') THEN
158993 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158994 END IF;
158995
158996 --
158997
158998
158999 --
159000 AcctLineType_157 (
159001 p_application_id => p_application_id
159002 ,p_event_id => l_event_id
159003 ,p_calculate_acctd_flag => l_calculate_acctd_flag
159004 ,p_calculate_g_l_flag => l_calculate_g_l_flag
159005 ,p_actual_flag => l_actual_flag
159006 ,p_balance_type_code => l_balance_type_code
159007 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
159008
159009 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
159010 , p_source_53 => l_array_source_53(Idx)
159011 , p_source_55 => l_array_source_55(Idx)
159012 , p_source_80 => l_array_source_80(Idx)
159013 , p_source_80_meaning => l_array_source_80_meaning(Idx)
159014 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
159015 , p_source_86 => l_array_source_86(Idx)
159016 , p_source_87 => l_array_source_87(Idx)
159017 , p_source_88 => l_array_source_88(Idx)
159018 , p_source_91 => l_array_source_91(Idx)
159019 , p_source_92 => l_array_source_92(Idx)
159020 , p_source_93 => l_array_source_93(Idx)
159021 , p_source_94 => l_array_source_94(Idx)
159022 , p_source_95 => l_array_source_95(Idx)
159023 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
159024 , p_source_98 => l_array_source_98(Idx)
159025 , p_source_98_meaning => l_array_source_98_meaning(Idx)
159026 , p_source_99 => l_array_source_99(Idx)
159027 , p_source_104 => l_array_source_104(Idx)
159028 , p_source_112 => l_array_source_112(Idx)
159029 , p_source_116 => l_array_source_116(Idx)
159030 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
159031 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
159032 , p_source_124 => l_array_source_124(Idx)
159033 , p_source_163 => l_array_source_163(Idx)
159034 , p_source_163_meaning => l_array_source_163_meaning(Idx)
159035 );
159036 If(l_balance_type_code = 'A') THEN
159037 l_actual_gain_loss_ref := l_gain_or_loss_ref;
159038 END IF;
159039
159040 --
159041
159042
159043 --
159044 AcctLineType_165 (
159045 p_application_id => p_application_id
159046 ,p_event_id => l_event_id
159047 ,p_calculate_acctd_flag => l_calculate_acctd_flag
159048 ,p_calculate_g_l_flag => l_calculate_g_l_flag
159049 ,p_actual_flag => l_actual_flag
159050 ,p_balance_type_code => l_balance_type_code
159051 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
159052
159053 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
159054 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
159055 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
159056 , p_source_30 => l_array_source_30(Idx)
159057 , p_source_38 => g_array_event(l_event_id).array_value_num('source_38')
159058 , p_source_39 => g_array_event(l_event_id).array_value_num('source_39')
159059 , p_source_53 => l_array_source_53(Idx)
159060 , p_source_55 => l_array_source_55(Idx)
159061 , p_source_80 => l_array_source_80(Idx)
159062 , p_source_80_meaning => l_array_source_80_meaning(Idx)
159063 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
159064 , p_source_86 => l_array_source_86(Idx)
159065 , p_source_87 => l_array_source_87(Idx)
159066 , p_source_88 => l_array_source_88(Idx)
159067 , p_source_91 => l_array_source_91(Idx)
159068 , p_source_92 => l_array_source_92(Idx)
159069 , p_source_93 => l_array_source_93(Idx)
159070 , p_source_94 => l_array_source_94(Idx)
159071 , p_source_95 => l_array_source_95(Idx)
159072 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
159073 , p_source_98 => l_array_source_98(Idx)
159074 , p_source_98_meaning => l_array_source_98_meaning(Idx)
159075 , p_source_99 => l_array_source_99(Idx)
159076 , p_source_104 => l_array_source_104(Idx)
159077 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
159078 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
159079 , p_source_112 => l_array_source_112(Idx)
159080 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
159081 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
159082 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
159083 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
159084 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
159085 , p_source_124 => l_array_source_124(Idx)
159086 , p_source_153 => l_array_source_153(Idx)
159087 , p_source_158 => l_array_source_158(Idx)
159088 );
159089 If(l_balance_type_code = 'A') THEN
159090 l_actual_gain_loss_ref := l_gain_or_loss_ref;
159091 END IF;
159092
159093 --
159094
159095
159096 --
159097 AcctLineType_183 (
159098 p_application_id => p_application_id
159099 ,p_event_id => l_event_id
159100 ,p_calculate_acctd_flag => l_calculate_acctd_flag
159101 ,p_calculate_g_l_flag => l_calculate_g_l_flag
159102 ,p_actual_flag => l_actual_flag
159103 ,p_balance_type_code => l_balance_type_code
159107 , p_source_48 => g_array_event(l_event_id).array_value_num('source_48')
159104 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
159105
159106 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
159108 , p_source_53 => l_array_source_53(Idx)
159109 , p_source_55 => l_array_source_55(Idx)
159110 , p_source_80 => l_array_source_80(Idx)
159111 , p_source_80_meaning => l_array_source_80_meaning(Idx)
159112 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
159113 , p_source_86 => l_array_source_86(Idx)
159114 , p_source_87 => l_array_source_87(Idx)
159115 , p_source_88 => l_array_source_88(Idx)
159116 , p_source_91 => l_array_source_91(Idx)
159117 , p_source_92 => l_array_source_92(Idx)
159118 , p_source_93 => l_array_source_93(Idx)
159119 , p_source_94 => l_array_source_94(Idx)
159120 , p_source_95 => l_array_source_95(Idx)
159121 , p_source_99 => l_array_source_99(Idx)
159122 , p_source_104 => l_array_source_104(Idx)
159123 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
159124 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
159125 , p_source_112 => l_array_source_112(Idx)
159126 , p_source_115 => l_array_source_115(Idx)
159127 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
159128 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
159129 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
159130 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
159131 , p_source_124 => l_array_source_124(Idx)
159132 );
159133 If(l_balance_type_code = 'A') THEN
159134 l_actual_gain_loss_ref := l_gain_or_loss_ref;
159135 END IF;
159136
159137 --
159138
159139
159140 --
159141 AcctLineType_225 (
159142 p_application_id => p_application_id
159143 ,p_event_id => l_event_id
159144 ,p_calculate_acctd_flag => l_calculate_acctd_flag
159145 ,p_calculate_g_l_flag => l_calculate_g_l_flag
159146 ,p_actual_flag => l_actual_flag
159147 ,p_balance_type_code => l_balance_type_code
159148 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
159149
159150 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
159151 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
159152 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
159153 , p_source_30 => l_array_source_30(Idx)
159154 , p_source_43 => l_array_source_43(Idx)
159155 , p_source_53 => l_array_source_53(Idx)
159156 , p_source_55 => l_array_source_55(Idx)
159157 , p_source_80 => l_array_source_80(Idx)
159158 , p_source_80_meaning => l_array_source_80_meaning(Idx)
159159 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
159160 , p_source_86 => l_array_source_86(Idx)
159161 , p_source_87 => l_array_source_87(Idx)
159162 , p_source_88 => l_array_source_88(Idx)
159163 , p_source_91 => l_array_source_91(Idx)
159164 , p_source_92 => l_array_source_92(Idx)
159165 , p_source_93 => l_array_source_93(Idx)
159166 , p_source_94 => l_array_source_94(Idx)
159167 , p_source_95 => l_array_source_95(Idx)
159168 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
159169 , p_source_98 => l_array_source_98(Idx)
159170 , p_source_98_meaning => l_array_source_98_meaning(Idx)
159171 , p_source_99 => l_array_source_99(Idx)
159172 , p_source_104 => l_array_source_104(Idx)
159173 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
159174 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
159175 , p_source_112 => l_array_source_112(Idx)
159176 , p_source_116 => l_array_source_116(Idx)
159177 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
159178 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
159179 , p_source_123 => g_array_event(l_event_id).array_value_char('source_123')
159180 , p_source_124 => l_array_source_124(Idx)
159181 , p_source_143 => l_array_source_143(Idx)
159182 , p_source_144 => l_array_source_144(Idx)
159183 , p_source_145 => l_array_source_145(Idx)
159184 , p_source_164 => l_array_source_164(Idx)
159185 , p_source_164_meaning => l_array_source_164_meaning(Idx)
159186 );
159187 If(l_balance_type_code = 'A') THEN
159188 l_actual_gain_loss_ref := l_gain_or_loss_ref;
159189 END IF;
159190
159191 --
159192
159193 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
159194 -- or secondary ledger that has different currency with primary
159195 -- or alc that is calculated by sla
159196 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
159197 (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'))
159198
159199 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
159200 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
159201 AND (l_actual_flag = 'A')) THEN
159202 XLA_AE_LINES_PKG.CreateGainOrLossLines(
159203 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
159204 ,p_application_id => p_application_id
159205 ,p_amb_context_code => 'DEFAULT'
159206 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
159207 ,p_event_class_code => C_EVENT_CLASS_CODE
159208 ,p_event_type_code => C_EVENT_TYPE_CODE
159209
159210 ,p_gain_ccid => -1
159211 ,p_loss_ccid => -1
159212
159213 ,p_actual_flag => l_actual_flag
159214 ,p_enc_flag => null
159215 ,p_actual_g_l_ref => l_actual_gain_loss_ref
159216 ,p_enc_g_l_ref => null
159217 );
159218 END IF;
159219 END IF;
159220 END IF;
159221
159222 ELSE
159223 --
159227 trace
159224 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
159225 --
159226 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
159228 (p_msg => 'Trancaction revesal option is Y'
159229 ,p_level => C_LEVEL_STATEMENT
159230 ,p_module => l_log_module);
159231 END IF;
159232 END IF;
159233
159234 END LOOP;
159235 l_result := XLA_AE_LINES_PKG.InsertLines ;
159236 end loop;
159237 close line_cur;
159238
159239
159240 --
159241 -- insert headers into xla_ae_headers_gt table
159242 --
159243 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
159244
159245 -- insert into errors table here.
159246
159247 END LOOP;
159248
159249 --
159250 -- 4865292
159251 --
159252 -- Compare g_hdr_extract_count with event count in
159253 -- CreateHeadersAndLines.
159254 --
159255 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
159256
159257 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
159258 trace (p_msg => '# rows extracted from header extract objects '
159259 || ' (running total): '
159260 || g_hdr_extract_count
159261 ,p_level => C_LEVEL_STATEMENT
159262 ,p_module => l_log_module);
159263 END IF;
159264
159265 CLOSE header_cur;
159266 --
159267
159268 --
159269 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
159270 trace
159271 (p_msg => 'END of EventClass_234'
159272 ,p_level => C_LEVEL_PROCEDURE
159273 ,p_module => l_log_module);
159274 END IF;
159275 --
159276 RETURN l_result;
159277 EXCEPTION
159278 WHEN xla_exceptions_pkg.application_exception THEN
159279
159280 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
159281
159282
159283 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
159284
159285 RAISE;
159286
159287 WHEN NO_DATA_FOUND THEN
159288
159289 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
159290 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
159291
159292 FOR header_record IN header_cur
159293 LOOP
159294 l_array_header_events(header_record.event_id) := header_record.event_id;
159295 END LOOP;
159296
159297 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
159298 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
159299
159300 fnd_file.put_line(fnd_file.LOG, ' ');
159301 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
159302 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
159303 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
159304
159305 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
159306 LOOP
159307 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
159308 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
159309 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
159310 END IF;
159311 END LOOP;
159312
159313 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
159314 fnd_file.put_line(fnd_file.LOG, ' ');
159315
159316
159317 xla_exceptions_pkg.raise_message
159318 (p_location => 'XLA_00200_AAD_S_000002_PKG.EventClass_234');
159319
159320
159321 WHEN OTHERS THEN
159322 xla_exceptions_pkg.raise_message
159323 (p_location => 'XLA_00200_AAD_S_000002_PKG.EventClass_234');
159324 END EventClass_234;
159325 --
159326
159327 ---------------------------------------
159328 --
159329 -- PRIVATE PROCEDURE
159330 -- insert_sources_235
159331 --
159332 ----------------------------------------
159333 --
159334 PROCEDURE insert_sources_235(
159335 p_target_ledger_id IN NUMBER
159336 , p_language IN VARCHAR2
159337 , p_sla_ledger_id IN NUMBER
159338 , p_pad_start_date IN DATE
159339 , p_pad_end_date IN DATE
159340 )
159341 IS
159342
159343 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENT APPLICATIONS_ALL';
159344 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENT APPLICATIONS';
159345 p_apps_owner VARCHAR2(30);
159346 l_log_module VARCHAR2(240);
159347 BEGIN
159348 IF g_log_enabled THEN
159349 l_log_module := C_DEFAULT_MODULE||'.insert_sources_235';
159350 END IF;
159351 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
159352
159353 trace
159354 (p_msg => 'BEGIN of insert_sources_235'
159355 ,p_level => C_LEVEL_PROCEDURE
159356 ,p_module => l_log_module);
159357
159358 END IF;
159359
159360 -- select APPS owner
159361 SELECT oracle_username
159362 INTO p_apps_owner
159363 FROM fnd_oracle_userid
159364 WHERE read_only_flag = 'U'
159365 ;
159366
159367 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
159368 trace
159369 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
159370 ' - p_language = '||p_language||
159371 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
159372 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
159373 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
159374 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
159375 ,p_level => C_LEVEL_STATEMENT
159376 ,p_module => l_log_module);
159377 END IF;
159378
159379
159380 --
159384 , ledger_id
159381 INSERT INTO xla_diag_sources --hdr2
159382 (
159383 event_id
159385 , sla_ledger_id
159386 , description_language
159387 , object_name
159388 , object_type_code
159389 , line_number
159390 , source_application_id
159391 , source_type_code
159392 , source_code
159393 , source_value
159394 , source_meaning
159395 , created_by
159396 , creation_date
159397 , last_update_date
159398 , last_updated_by
159399 , last_update_login
159400 , program_update_date
159401 , program_application_id
159402 , program_id
159403 , request_id
159404 )
159405 SELECT
159406 event_id
159407 , p_target_ledger_id
159408 , p_sla_ledger_id
159409 , p_language
159410 , object_name
159411 , object_type_code
159412 , line_number
159413 , source_application_id
159414 , source_type_code
159415 , source_code
159416 , SUBSTR(source_value ,1,1996)
159417 , SUBSTR(source_meaning ,1,200)
159418 , xla_environment_pkg.g_Usr_Id
159419 , TRUNC(SYSDATE)
159420 , TRUNC(SYSDATE)
159421 , xla_environment_pkg.g_Usr_Id
159422 , xla_environment_pkg.g_Login_Id
159423 , TRUNC(SYSDATE)
159424 , xla_environment_pkg.g_Prog_Appl_Id
159425 , xla_environment_pkg.g_Prog_Id
159426 , xla_environment_pkg.g_Req_Id
159427 FROM (
159428 SELECT xet.event_id event_id
159429 , 0 line_number
159430 , CASE r
159431 WHEN 1 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
159432 WHEN 2 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
159433 WHEN 3 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
159434 WHEN 4 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
159435 WHEN 5 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
159436 WHEN 6 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
159437 WHEN 7 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
159438 WHEN 8 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
159439 WHEN 9 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
159440 WHEN 10 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
159441 WHEN 11 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
159442 WHEN 12 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
159443 WHEN 13 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
159444 WHEN 14 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
159445 WHEN 15 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
159446 WHEN 16 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
159447 WHEN 17 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
159448 WHEN 18 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
159449 WHEN 19 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
159450 WHEN 20 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
159451
159452 ELSE null
159453 END object_name
159454 , CASE r
159455 WHEN 1 THEN 'HEADER'
159456 WHEN 2 THEN 'HEADER'
159457 WHEN 3 THEN 'HEADER'
159458 WHEN 4 THEN 'HEADER'
159459 WHEN 5 THEN 'HEADER'
159460 WHEN 6 THEN 'HEADER'
159461 WHEN 7 THEN 'HEADER'
159462 WHEN 8 THEN 'HEADER'
159463 WHEN 9 THEN 'HEADER'
159464 WHEN 10 THEN 'HEADER'
159465 WHEN 11 THEN 'HEADER'
159466 WHEN 12 THEN 'HEADER'
159467 WHEN 13 THEN 'HEADER'
159468 WHEN 14 THEN 'HEADER'
159469 WHEN 15 THEN 'HEADER'
159470 WHEN 16 THEN 'HEADER'
159471 WHEN 17 THEN 'HEADER'
159472 WHEN 18 THEN 'HEADER'
159473 WHEN 19 THEN 'HEADER'
159474 WHEN 20 THEN 'HEADER'
159475
159476 ELSE null
159477 END object_type_code
159478 , CASE r
159479 WHEN 1 THEN '200'
159480 WHEN 2 THEN '200'
159481 WHEN 3 THEN '200'
159482 WHEN 4 THEN '200'
159483 WHEN 5 THEN '200'
159484 WHEN 6 THEN '200'
159485 WHEN 7 THEN '200'
159486 WHEN 8 THEN '200'
159487 WHEN 9 THEN '200'
159488 WHEN 10 THEN '200'
159489 WHEN 11 THEN '200'
159490 WHEN 12 THEN '200'
159491 WHEN 13 THEN '200'
159492 WHEN 14 THEN '200'
159493 WHEN 15 THEN '200'
159494 WHEN 16 THEN '200'
159495 WHEN 17 THEN '200'
159496 WHEN 18 THEN '200'
159497 WHEN 19 THEN '200'
159498 WHEN 20 THEN '200'
159499
159500 ELSE null
159501 END source_application_id
159502 , 'S' source_type_code
159503 , CASE r
159504 WHEN 1 THEN 'INV_TRANSACTION_NUMBER'
159505 WHEN 2 THEN 'AI_INVOICE_DATE'
159506 WHEN 3 THEN 'INV_DOC_SEQUENCE_CATEGORY'
159507 WHEN 4 THEN 'DOC_SEQUENCE_NAME'
159508 WHEN 5 THEN 'INV_DOC_SEQUENCE_VALUE'
159509 WHEN 6 THEN 'AI_DESCRIPTION'
159510 WHEN 7 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
159511 WHEN 8 THEN 'ASP_GAIN_CCID'
159512 WHEN 9 THEN 'ASP_LOSS_CCID'
159513 WHEN 10 THEN 'ASP_PREPAY_TAX_DIFF_CCID'
159514 WHEN 11 THEN 'ASP_ROUNDING_ERROR_CCID'
159515 WHEN 12 THEN 'AI_INVOICE_ID'
159516 WHEN 13 THEN 'AI_INVOICE_CURRENCY_CODE'
159517 WHEN 14 THEN 'AI_VENDOR_ID'
159521 WHEN 18 THEN 'INV_EXCHANGE_RATE'
159518 WHEN 15 THEN 'AI_VENDOR_SITE_ID'
159519 WHEN 16 THEN 'THIRD_PARTY_TYPE'
159520 WHEN 17 THEN 'INV_EXCHANGE_DATE'
159522 WHEN 19 THEN 'INV_EXCHANGE_RATE_TYPE'
159523 WHEN 20 THEN 'INV_DOC_SEQUENCE_IDENTIFIER'
159524
159525 ELSE null
159526 END source_code
159527 , CASE r
159528 WHEN 1 THEN TO_CHAR(h1.INV_TRANSACTION_NUMBER)
159529 WHEN 2 THEN TO_CHAR(h1.AI_INVOICE_DATE)
159530 WHEN 3 THEN TO_CHAR(h1.INV_DOC_SEQUENCE_CATEGORY)
159531 WHEN 4 THEN TO_CHAR(h1.DOC_SEQUENCE_NAME)
159532 WHEN 5 THEN TO_CHAR(h1.INV_DOC_SEQUENCE_VALUE)
159533 WHEN 6 THEN TO_CHAR(h1.AI_DESCRIPTION)
159534 WHEN 7 THEN TO_CHAR(h4.ASP_AUTOMATIC_OFFSETS_VALUE)
159535 WHEN 8 THEN TO_CHAR(h4.ASP_GAIN_CCID)
159536 WHEN 9 THEN TO_CHAR(h4.ASP_LOSS_CCID)
159537 WHEN 10 THEN TO_CHAR(h4.ASP_PREPAY_TAX_DIFF_CCID)
159538 WHEN 11 THEN TO_CHAR(h4.ASP_ROUNDING_ERROR_CCID)
159539 WHEN 12 THEN TO_CHAR(h1.AI_INVOICE_ID)
159540 WHEN 13 THEN TO_CHAR(h1.AI_INVOICE_CURRENCY_CODE)
159541 WHEN 14 THEN TO_CHAR(h1.AI_VENDOR_ID)
159542 WHEN 15 THEN TO_CHAR(h1.AI_VENDOR_SITE_ID)
159543 WHEN 16 THEN TO_CHAR(h1.THIRD_PARTY_TYPE)
159544 WHEN 17 THEN TO_CHAR(h1.INV_EXCHANGE_DATE)
159545 WHEN 18 THEN TO_CHAR(h1.INV_EXCHANGE_RATE)
159546 WHEN 19 THEN TO_CHAR(h1.INV_EXCHANGE_RATE_TYPE)
159547 WHEN 20 THEN TO_CHAR(h1.INV_DOC_SEQUENCE_IDENTIFIER)
159548
159549 ELSE null
159550 END source_value
159551 , CASE r
159552 WHEN 7 THEN fvl15.meaning
159553
159554 ELSE null
159555 END source_meaning
159556 FROM xla_events_gt xet
159557 , AP_INVOICE_EXTRACT_HEADER_V h1
159558 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
159559 , fnd_lookup_values fvl15
159560 ,(select rownum r from all_objects where rownum <= 20 and owner = p_apps_owner)
159561 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
159562 AND xet.event_class_code = C_EVENT_CLASS_CODE
159563 AND h1.event_id = xet.event_id
159564 AND h4.asp_org_id = h1.ai_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
159565 AND fvl15.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
159566 AND fvl15.view_application_id(+) = 200
159567 AND fvl15.language(+) = USERENV('LANG')
159568
159569 )
159570 ;
159571 --
159572 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
159573
159574 trace
159575 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
159576 ,p_level => C_LEVEL_STATEMENT
159577 ,p_module => l_log_module);
159578
159579 END IF;
159580 --
159581
159582
159583
159584 --
159585 INSERT INTO xla_diag_sources --line2
159586 (
159587 event_id
159588 , ledger_id
159589 , sla_ledger_id
159590 , description_language
159591 , object_name
159592 , object_type_code
159593 , line_number
159594 , source_application_id
159595 , source_type_code
159596 , source_code
159597 , source_value
159598 , source_meaning
159599 , created_by
159600 , creation_date
159601 , last_update_date
159602 , last_updated_by
159603 , last_update_login
159604 , program_update_date
159605 , program_application_id
159606 , program_id
159607 , request_id
159608 )
159609 SELECT event_id
159610 , p_target_ledger_id
159611 , p_sla_ledger_id
159612 , p_language
159613 , object_name
159614 , object_type_code
159615 , line_number
159616 , source_application_id
159617 , source_type_code
159618 , source_code
159619 , SUBSTR(source_value,1,1996)
159620 , SUBSTR(source_meaning ,1,200)
159621 , xla_environment_pkg.g_Usr_Id
159622 , TRUNC(SYSDATE)
159623 , TRUNC(SYSDATE)
159624 , xla_environment_pkg.g_Usr_Id
159625 , xla_environment_pkg.g_Login_Id
159626 , TRUNC(SYSDATE)
159627 , xla_environment_pkg.g_Prog_Appl_Id
159628 , xla_environment_pkg.g_Prog_Id
159629 , xla_environment_pkg.g_Req_Id
159630 FROM (
159631 SELECT xet.event_id event_id
159632 , l2.line_number line_number
159633 , CASE r
159634 WHEN 1 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159635 WHEN 2 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159636 WHEN 3 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159637 WHEN 4 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
159638 WHEN 5 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159639 WHEN 6 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159640 WHEN 7 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159641 WHEN 8 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159642 WHEN 9 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159643 WHEN 10 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159644 WHEN 11 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159645 WHEN 12 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159646 WHEN 13 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159647 WHEN 14 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159648 WHEN 15 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159649 WHEN 16 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159650 WHEN 17 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159654 WHEN 21 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159651 WHEN 18 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
159652 WHEN 19 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
159653 WHEN 20 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159655 WHEN 22 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159656 WHEN 23 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159657 WHEN 24 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159658 WHEN 25 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159659 WHEN 26 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159660 WHEN 27 THEN 'AP_PREPAY_DEF_TAX_EXTRACT_V'
159661 WHEN 28 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159662 WHEN 29 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159663 WHEN 30 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159664 WHEN 31 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159665 WHEN 32 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159666 WHEN 33 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159667 WHEN 34 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159668 WHEN 35 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159669 WHEN 36 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159670 WHEN 37 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159671 WHEN 38 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
159672 WHEN 39 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159673 WHEN 40 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159674 WHEN 41 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159675 WHEN 42 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159676 WHEN 43 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159677 WHEN 44 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159678 WHEN 45 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159679 WHEN 46 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159680 WHEN 47 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159681 WHEN 48 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
159682
159683 ELSE null
159684 END object_name
159685 , CASE r
159686 WHEN 1 THEN 'LINE'
159687 WHEN 2 THEN 'LINE'
159688 WHEN 3 THEN 'LINE'
159689 WHEN 4 THEN 'LINE'
159690 WHEN 5 THEN 'LINE'
159691 WHEN 6 THEN 'LINE'
159692 WHEN 7 THEN 'LINE'
159693 WHEN 8 THEN 'LINE'
159694 WHEN 9 THEN 'LINE'
159695 WHEN 10 THEN 'LINE'
159696 WHEN 11 THEN 'LINE'
159697 WHEN 12 THEN 'LINE'
159698 WHEN 13 THEN 'LINE'
159699 WHEN 14 THEN 'LINE'
159700 WHEN 15 THEN 'LINE'
159701 WHEN 16 THEN 'LINE'
159702 WHEN 17 THEN 'LINE'
159703 WHEN 18 THEN 'LINE'
159704 WHEN 19 THEN 'LINE'
159705 WHEN 20 THEN 'LINE'
159706 WHEN 21 THEN 'LINE'
159707 WHEN 22 THEN 'LINE'
159708 WHEN 23 THEN 'LINE'
159709 WHEN 24 THEN 'LINE'
159710 WHEN 25 THEN 'LINE'
159711 WHEN 26 THEN 'LINE'
159712 WHEN 27 THEN 'LINE'
159713 WHEN 28 THEN 'LINE'
159714 WHEN 29 THEN 'LINE'
159715 WHEN 30 THEN 'LINE'
159716 WHEN 31 THEN 'LINE'
159717 WHEN 32 THEN 'LINE'
159718 WHEN 33 THEN 'LINE'
159719 WHEN 34 THEN 'LINE'
159720 WHEN 35 THEN 'LINE'
159721 WHEN 36 THEN 'LINE'
159722 WHEN 37 THEN 'LINE'
159723 WHEN 38 THEN 'LINE'
159724 WHEN 39 THEN 'LINE'
159725 WHEN 40 THEN 'LINE'
159726 WHEN 41 THEN 'LINE'
159727 WHEN 42 THEN 'LINE'
159728 WHEN 43 THEN 'LINE'
159729 WHEN 44 THEN 'LINE'
159730 WHEN 45 THEN 'LINE'
159731 WHEN 46 THEN 'LINE'
159732 WHEN 47 THEN 'LINE'
159733 WHEN 48 THEN 'LINE'
159734
159735 ELSE null
159736 END object_type_code
159737 , CASE r
159738 WHEN 1 THEN '200'
159739 WHEN 2 THEN '200'
159740 WHEN 3 THEN '200'
159741 WHEN 4 THEN '200'
159742 WHEN 5 THEN '200'
159743 WHEN 6 THEN '200'
159744 WHEN 7 THEN '200'
159745 WHEN 8 THEN '200'
159746 WHEN 9 THEN '200'
159747 WHEN 10 THEN '200'
159748 WHEN 11 THEN '200'
159749 WHEN 12 THEN '200'
159750 WHEN 13 THEN '200'
159751 WHEN 14 THEN '200'
159752 WHEN 15 THEN '200'
159753 WHEN 16 THEN '200'
159754 WHEN 17 THEN '200'
159755 WHEN 18 THEN '200'
159756 WHEN 19 THEN '200'
159757 WHEN 20 THEN '200'
159758 WHEN 21 THEN '200'
159759 WHEN 22 THEN '200'
159760 WHEN 23 THEN '200'
159761 WHEN 24 THEN '200'
159762 WHEN 25 THEN '200'
159763 WHEN 26 THEN '200'
159764 WHEN 27 THEN '200'
159765 WHEN 28 THEN '200'
159766 WHEN 29 THEN '200'
159767 WHEN 30 THEN '200'
159768 WHEN 31 THEN '200'
159769 WHEN 32 THEN '200'
159770 WHEN 33 THEN '200'
159771 WHEN 34 THEN '200'
159772 WHEN 35 THEN '200'
159773 WHEN 36 THEN '200'
159774 WHEN 37 THEN '200'
159778 WHEN 41 THEN '200'
159775 WHEN 38 THEN '200'
159776 WHEN 39 THEN '200'
159777 WHEN 40 THEN '200'
159779 WHEN 42 THEN '200'
159780 WHEN 43 THEN '200'
159781 WHEN 44 THEN '200'
159782 WHEN 45 THEN '200'
159783 WHEN 46 THEN '200'
159784 WHEN 47 THEN '200'
159785 WHEN 48 THEN '200'
159786
159787 ELSE null
159788 END source_application_id
159789 , 'S' source_type_code
159790 , CASE r
159791 WHEN 1 THEN 'AID_DIST_CCID'
159792 WHEN 2 THEN 'CGAC_GAIN_CCID'
159793 WHEN 3 THEN 'CGAC_LOSS_CCID'
159794 WHEN 4 THEN 'TAX_ACCOUNT_CCID'
159795 WHEN 5 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
159796 WHEN 6 THEN 'DISTRIBUTION_LINK_TYPE'
159797 WHEN 7 THEN 'UPG_ENC_CR_CCID'
159798 WHEN 8 THEN 'UPG_ENC_CR_AMT'
159799 WHEN 9 THEN 'UPG_ENC_CR_BASE_AMT'
159800 WHEN 10 THEN 'UPG_ENC_DR_CCID'
159801 WHEN 11 THEN 'UPG_ENC_DR_AMT'
159802 WHEN 12 THEN 'UPG_ENC_DR_BASE_AMT'
159803 WHEN 13 THEN 'UPG_AP_ENCUM_OPTION'
159804 WHEN 14 THEN 'DEFERRED_END_DATE'
159805 WHEN 15 THEN 'DEFERRED_OPTION'
159806 WHEN 16 THEN 'DEFERRED_START_DATE'
159807 WHEN 17 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
159808 WHEN 18 THEN 'TAX_LINE_ID'
159809 WHEN 19 THEN 'REC_NREC_TAX_DIST_ID'
159810 WHEN 20 THEN 'SUMMARY_TAX_LINE_ID'
159811 WHEN 21 THEN 'UPG_CR_ENC_TYPE_ID'
159812 WHEN 22 THEN 'UPG_DR_ENC_TYPE_ID'
159813 WHEN 23 THEN 'BUS_FLOW_AP_APP_ID'
159814 WHEN 24 THEN 'BUS_FLOW_INV_DIST_TYPE'
159815 WHEN 25 THEN 'BUS_FLOW_INV_ENTITY_CODE'
159816 WHEN 26 THEN 'APAD_DIST_LOOKUP_CODE'
159817 WHEN 27 THEN 'DEF_REC_PP_SET_OPTION_CODE'
159818 WHEN 28 THEN 'APAD_DISTRIBUTION_IDENTIFIER'
159819 WHEN 29 THEN 'BF_CASH_ALWAYS_PP_DIST_TYPE'
159820 WHEN 30 THEN 'BF_CASH_ALWAYS_PREPAY_ENTITY'
159821 WHEN 31 THEN 'BF_CASHALWAYS_PP_PMT_DIST_ID'
159822 WHEN 32 THEN 'BF_CASHALWAYS_PP_PMT_ID'
159823 WHEN 33 THEN 'UPG_ENC_CR_ACCT_CLASS'
159824 WHEN 34 THEN 'UPG_ENC_DR_ACCT_CLASS'
159825 WHEN 35 THEN 'APAD_AMOUNT'
159826 WHEN 36 THEN 'BASE_AMT_AT_PP_XRATE'
159827 WHEN 37 THEN 'REVERSED_PREPAY_APP_DIST_ID'
159828 WHEN 38 THEN 'DEF_REC_SETTLEMENT_OPTION_CODE'
159829 WHEN 39 THEN 'BF_PREPAY_REC_DIST_ID'
159830 WHEN 40 THEN 'BF_PREPAY_REC_INV'
159831 WHEN 41 THEN 'APAD_BASE_AMOUNT'
159832 WHEN 42 THEN 'BF_ACCRUAL_PREPAY_DIST_TYPE'
159833 WHEN 43 THEN 'BF_ACCRUAL_PREPAY_ENTITY_CODE'
159834 WHEN 44 THEN 'BF_ACCRUAL_PP_DIST_ID'
159835 WHEN 45 THEN 'BF_ACCRUAL_PP_INV'
159836 WHEN 46 THEN 'BASE_AMT_AT_PP_PAY_XRATE'
159837 WHEN 47 THEN 'APAD_BASE_AMOUNT_DIFF'
159838 WHEN 48 THEN 'INV_PREPMT_GAIN_LOSS_INDICATOR'
159839
159840 ELSE null
159841 END source_code
159842 , CASE r
159843 WHEN 1 THEN TO_CHAR(l2.AID_DIST_CCID)
159844 WHEN 2 THEN TO_CHAR(l2.CGAC_GAIN_CCID)
159845 WHEN 3 THEN TO_CHAR(l2.CGAC_LOSS_CCID)
159846 WHEN 4 THEN TO_CHAR(l5.TAX_ACCOUNT_CCID)
159847 WHEN 5 THEN TO_CHAR(l2.DIST_ACCOUNT_REVERSAL_OPTION)
159848 WHEN 6 THEN TO_CHAR(l2.DISTRIBUTION_LINK_TYPE)
159849 WHEN 7 THEN TO_CHAR(l2.UPG_ENC_CR_CCID)
159850 WHEN 8 THEN TO_CHAR(l2.UPG_ENC_CR_AMT)
159851 WHEN 9 THEN TO_CHAR(l2.UPG_ENC_CR_BASE_AMT)
159852 WHEN 10 THEN TO_CHAR(l2.UPG_ENC_DR_CCID)
159853 WHEN 11 THEN TO_CHAR(l2.UPG_ENC_DR_AMT)
159854 WHEN 12 THEN TO_CHAR(l2.UPG_ENC_DR_BASE_AMT)
159855 WHEN 13 THEN TO_CHAR(l2.UPG_AP_ENCUM_OPTION)
159856 WHEN 14 THEN TO_CHAR(l2.DEFERRED_END_DATE)
159857 WHEN 15 THEN TO_CHAR(l2.DEFERRED_OPTION)
159858 WHEN 16 THEN TO_CHAR(l2.DEFERRED_START_DATE)
159859 WHEN 17 THEN TO_CHAR(l2.OVERRIDE_ACCTD_AMT_FLAG)
159860 WHEN 18 THEN TO_CHAR(l5.TAX_LINE_ID)
159861 WHEN 19 THEN TO_CHAR(l6.REC_NREC_TAX_DIST_ID)
159862 WHEN 20 THEN TO_CHAR(l2.SUMMARY_TAX_LINE_ID)
159863 WHEN 21 THEN TO_CHAR(l2.UPG_CR_ENC_TYPE_ID)
159864 WHEN 22 THEN TO_CHAR(l2.UPG_DR_ENC_TYPE_ID)
159865 WHEN 23 THEN TO_CHAR(l2.BUS_FLOW_AP_APP_ID)
159866 WHEN 24 THEN TO_CHAR(l2.BUS_FLOW_INV_DIST_TYPE)
159867 WHEN 25 THEN TO_CHAR(l2.BUS_FLOW_INV_ENTITY_CODE)
159868 WHEN 26 THEN TO_CHAR(l2.APAD_DIST_LOOKUP_CODE)
159869 WHEN 27 THEN TO_CHAR(l3.DEF_REC_PP_SET_OPTION_CODE)
159870 WHEN 28 THEN TO_CHAR(l2.APAD_DISTRIBUTION_IDENTIFIER)
159871 WHEN 29 THEN TO_CHAR(l2.BF_CASH_ALWAYS_PP_DIST_TYPE)
159872 WHEN 30 THEN TO_CHAR(l2.BF_CASH_ALWAYS_PREPAY_ENTITY)
159873 WHEN 31 THEN TO_CHAR(l2.BF_CASHALWAYS_PP_PMT_DIST_ID)
159874 WHEN 32 THEN TO_CHAR(l2.BF_CASHALWAYS_PP_PMT_ID)
159875 WHEN 33 THEN TO_CHAR(l2.UPG_ENC_CR_ACCT_CLASS)
159876 WHEN 34 THEN TO_CHAR(l2.UPG_ENC_DR_ACCT_CLASS)
159877 WHEN 35 THEN TO_CHAR(l2.APAD_AMOUNT)
159878 WHEN 36 THEN TO_CHAR(l2.BASE_AMT_AT_PP_XRATE)
159879 WHEN 37 THEN TO_CHAR(l2.REVERSED_PREPAY_APP_DIST_ID)
159880 WHEN 38 THEN TO_CHAR(l5.DEF_REC_SETTLEMENT_OPTION_CODE)
159884 WHEN 42 THEN TO_CHAR(l2.BF_ACCRUAL_PREPAY_DIST_TYPE)
159881 WHEN 39 THEN TO_CHAR(l2.BF_PREPAY_REC_DIST_ID)
159882 WHEN 40 THEN TO_CHAR(l2.BF_PREPAY_REC_INV)
159883 WHEN 41 THEN TO_CHAR(l2.APAD_BASE_AMOUNT)
159885 WHEN 43 THEN TO_CHAR(l2.BF_ACCRUAL_PREPAY_ENTITY_CODE)
159886 WHEN 44 THEN TO_CHAR(l2.BF_ACCRUAL_PP_DIST_ID)
159887 WHEN 45 THEN TO_CHAR(l2.BF_ACCRUAL_PP_INV)
159888 WHEN 46 THEN TO_CHAR(l2.BASE_AMT_AT_PP_PAY_XRATE)
159889 WHEN 47 THEN TO_CHAR(l2.APAD_BASE_AMOUNT_DIFF)
159890 WHEN 48 THEN TO_CHAR(l2.INV_PREPMT_GAIN_LOSS_INDICATOR)
159891
159892 ELSE null
159893 END source_value
159894 , CASE r
159895 WHEN 17 THEN fvl80.meaning
159896 WHEN 27 THEN fvl126.meaning
159897 WHEN 38 THEN fvl137.meaning
159898
159899 ELSE null
159900 END source_meaning
159901 FROM xla_events_gt xet
159902 , AP_PREPAYAPP_EXTRACT_DETAILS_V l2
159903 , AP_PREPAY_DEF_TAX_EXTRACT_V l3
159904 , ZX_AP_DEF_TAX_EXTRACT_V l5
159905 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
159906 , fnd_lookup_values fvl80
159907 , fnd_lookup_values fvl126
159908 , fnd_lookup_values fvl137
159909 , (select rownum r from all_objects where rownum <= 48 and owner = p_apps_owner)
159910 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
159911 AND xet.event_class_code = C_EVENT_CLASS_CODE
159912 AND l2.event_id = xet.event_id
159913 AND l2.pp_detail_tax_dist_id = l3.rec_nrec_pp_tax_dist_id (+) AND l2.recp_detail_tax_dist_id = l5.rec_nrec_tax_dist_id (+) AND l2.recp_detail_tax_dist_id = l6.rec_nrec_tax_dist_id (+) AND fvl80.lookup_type(+) = 'YES_NO'
159914 AND fvl80.lookup_code(+) = l2.OVERRIDE_ACCTD_AMT_FLAG
159915 AND fvl80.view_application_id(+) = 0
159916 AND fvl80.language(+) = USERENV('LANG')
159917 AND fvl126.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
159918 AND fvl126.lookup_code(+) = l3.DEF_REC_PP_SET_OPTION_CODE
159919 AND fvl126.view_application_id(+) = 0
159920 AND fvl126.language(+) = USERENV('LANG')
159921 AND fvl137.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
159922 AND fvl137.lookup_code(+) = l5.DEF_REC_SETTLEMENT_OPTION_CODE
159923 AND fvl137.view_application_id(+) = 0
159924 AND fvl137.language(+) = USERENV('LANG')
159925
159926 )
159927 ;
159928 --
159929 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
159930
159931 trace
159932 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
159933 ,p_level => C_LEVEL_STATEMENT
159934 ,p_module => l_log_module);
159935
159936 END IF;
159937
159938
159939 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
159940 trace
159941 (p_msg => 'END of insert_sources_235'
159942 ,p_level => C_LEVEL_PROCEDURE
159943 ,p_module => l_log_module);
159944 END IF;
159945 EXCEPTION
159946 WHEN xla_exceptions_pkg.application_exception THEN
159947 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
159948 trace
159949 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
159950 ,p_level => C_LEVEL_EXCEPTION
159951 ,p_module => l_log_module);
159952 END IF;
159953 RAISE;
159954 WHEN OTHERS THEN
159955 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
159956 trace
159957 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
159958 ,p_level => C_LEVEL_EXCEPTION
159959 ,p_module => l_log_module);
159960 END IF;
159961 xla_exceptions_pkg.raise_message
159962 (p_location => 'XLA_00200_AAD_S_000002_PKG.insert_sources_235');
159963 END insert_sources_235;
159964 --
159965
159966 ---------------------------------------
159967 --
159968 -- PRIVATE FUNCTION
159969 -- EventClass_235
159970 --
159971 ----------------------------------------
159972 --
159973 FUNCTION EventClass_235
159974 (p_application_id IN NUMBER
159975 ,p_base_ledger_id IN NUMBER
159976 ,p_target_ledger_id IN NUMBER
159977 ,p_language IN VARCHAR2
159978 ,p_currency_code IN VARCHAR2
159979 ,p_sla_ledger_id IN NUMBER
159980 ,p_pad_start_date IN DATE
159981 ,p_pad_end_date IN DATE
159982 ,p_primary_ledger_id IN NUMBER)
159983 RETURN BOOLEAN IS
159984 --
159985 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENT APPLICATIONS_ALL';
159986 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENT APPLICATIONS';
159987
159988 l_calculate_acctd_flag VARCHAR2(1) :='N';
159989 l_calculate_g_l_flag VARCHAR2(1) :='N';
159990 --
159991 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
159992 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
159993 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
159994 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
159995 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
159996 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
159997 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
159998 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
159999 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
160000 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
160001 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
160002 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
160006 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
160003 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
160004 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
160005 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
160007 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
160008 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
160009 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
160010 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
160011 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
160012 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
160013 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
160014 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
160015 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
160016 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
160017
160018 l_event_id NUMBER;
160019 l_previous_event_id NUMBER;
160020 l_first_event_id NUMBER;
160021 l_last_event_id NUMBER;
160022
160023 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
160024 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
160025 --
160026 --
160027 l_result BOOLEAN := TRUE;
160028 l_rows NUMBER := 1000;
160029 l_event_type_name VARCHAR2(80) := 'All';
160030 l_event_class_name VARCHAR2(80) := 'Prepayment Applications';
160031 l_description VARCHAR2(4000);
160032 l_transaction_reversal NUMBER;
160033 l_ae_header_id NUMBER;
160034 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
160035 l_log_module VARCHAR2(240);
160036 --
160037 l_acct_reversal_source VARCHAR2(30);
160038 l_trx_reversal_source VARCHAR2(30);
160039
160040 l_continue_with_lines BOOLEAN := TRUE;
160041 --
160042 l_acc_rev_gl_date_source DATE; -- 4262811
160043 --
160044 type t_array_event_id is table of number index by binary_integer;
160045
160046 l_rec_array_event t_rec_array_event;
160047 l_null_rec_array_event t_rec_array_event;
160048 l_array_ae_header_id xla_number_array_type;
160049 l_actual_flag VARCHAR2(1) := NULL;
160050 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
160051 l_balance_type_code VARCHAR2(1) :=NULL;
160052 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
160053
160054 --
160055 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
160056 --
160057
160058 TYPE t_array_source_3 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_TRANSACTION_NUMBER%TYPE INDEX BY BINARY_INTEGER;
160059 TYPE t_array_source_4 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_DATE%TYPE INDEX BY BINARY_INTEGER;
160060 TYPE t_array_source_5 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_CATEGORY%TYPE INDEX BY BINARY_INTEGER;
160061 TYPE t_array_source_6 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.DOC_SEQUENCE_NAME%TYPE INDEX BY BINARY_INTEGER;
160062 TYPE t_array_source_7 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
160063 TYPE t_array_source_8 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
160064 TYPE t_array_source_15 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
160065 TYPE t_array_source_37 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
160066 TYPE t_array_source_39 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
160067 TYPE t_array_source_41 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_PREPAY_TAX_DIFF_CCID%TYPE INDEX BY BINARY_INTEGER;
160068 TYPE t_array_source_49 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_ROUNDING_ERROR_CCID%TYPE INDEX BY BINARY_INTEGER;
160069 TYPE t_array_source_58 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_ID%TYPE INDEX BY BINARY_INTEGER;
160070 TYPE t_array_source_67 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
160071 TYPE t_array_source_81 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
160072 TYPE t_array_source_82 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
160073 TYPE t_array_source_83 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
160074 TYPE t_array_source_143 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
160075 TYPE t_array_source_144 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
160076 TYPE t_array_source_145 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
160077 TYPE t_array_source_168 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
160078
160079 TYPE t_array_source_30 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
160080 TYPE t_array_source_36 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.CGAC_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
160081 TYPE t_array_source_38 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.CGAC_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
160082 TYPE t_array_source_52 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_ACCOUNT_CCID%TYPE INDEX BY BINARY_INTEGER;
160083 TYPE t_array_source_53 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
160084 TYPE t_array_source_55 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
160085 TYPE t_array_source_65 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_ENC_CR_CCID%TYPE INDEX BY BINARY_INTEGER;
160086 TYPE t_array_source_66 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_ENC_CR_AMT%TYPE INDEX BY BINARY_INTEGER;
160090 TYPE t_array_source_71 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_ENC_DR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
160087 TYPE t_array_source_68 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_ENC_CR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
160088 TYPE t_array_source_69 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_ENC_DR_CCID%TYPE INDEX BY BINARY_INTEGER;
160089 TYPE t_array_source_70 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_ENC_DR_AMT%TYPE INDEX BY BINARY_INTEGER;
160091 TYPE t_array_source_72 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_AP_ENCUM_OPTION%TYPE INDEX BY BINARY_INTEGER;
160092 TYPE t_array_source_77 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.DEFERRED_END_DATE%TYPE INDEX BY BINARY_INTEGER;
160093 TYPE t_array_source_78 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.DEFERRED_OPTION%TYPE INDEX BY BINARY_INTEGER;
160094 TYPE t_array_source_79 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.DEFERRED_START_DATE%TYPE INDEX BY BINARY_INTEGER;
160095 TYPE t_array_source_80 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
160096 TYPE t_array_source_86 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
160097 TYPE t_array_source_87 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
160098 TYPE t_array_source_88 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
160099 TYPE t_array_source_89 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
160100 TYPE t_array_source_90 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
160101 TYPE t_array_source_91 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
160102 TYPE t_array_source_92 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
160103 TYPE t_array_source_93 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
160104 TYPE t_array_source_125 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.APAD_DIST_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
160105 TYPE t_array_source_126 IS TABLE OF AP_PREPAY_DEF_TAX_EXTRACT_V.DEF_REC_PP_SET_OPTION_CODE%TYPE INDEX BY BINARY_INTEGER;
160106 TYPE t_array_source_127 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.APAD_DISTRIBUTION_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
160107 TYPE t_array_source_128 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BF_CASH_ALWAYS_PP_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
160108 TYPE t_array_source_129 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BF_CASH_ALWAYS_PREPAY_ENTITY%TYPE INDEX BY BINARY_INTEGER;
160109 TYPE t_array_source_130 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BF_CASHALWAYS_PP_PMT_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
160110 TYPE t_array_source_131 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BF_CASHALWAYS_PP_PMT_ID%TYPE INDEX BY BINARY_INTEGER;
160111 TYPE t_array_source_132 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_ENC_CR_ACCT_CLASS%TYPE INDEX BY BINARY_INTEGER;
160112 TYPE t_array_source_133 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_ENC_DR_ACCT_CLASS%TYPE INDEX BY BINARY_INTEGER;
160113 TYPE t_array_source_134 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.APAD_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
160114 TYPE t_array_source_135 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BASE_AMT_AT_PP_XRATE%TYPE INDEX BY BINARY_INTEGER;
160115 TYPE t_array_source_136 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.REVERSED_PREPAY_APP_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
160116 TYPE t_array_source_137 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.DEF_REC_SETTLEMENT_OPTION_CODE%TYPE INDEX BY BINARY_INTEGER;
160117 TYPE t_array_source_139 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BF_PREPAY_REC_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
160118 TYPE t_array_source_140 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BF_PREPAY_REC_INV%TYPE INDEX BY BINARY_INTEGER;
160119 TYPE t_array_source_141 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.APAD_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
160120 TYPE t_array_source_146 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BF_ACCRUAL_PREPAY_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
160121 TYPE t_array_source_147 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BF_ACCRUAL_PREPAY_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
160122 TYPE t_array_source_148 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BF_ACCRUAL_PP_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
160123 TYPE t_array_source_149 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BF_ACCRUAL_PP_INV%TYPE INDEX BY BINARY_INTEGER;
160124 TYPE t_array_source_150 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BASE_AMT_AT_PP_PAY_XRATE%TYPE INDEX BY BINARY_INTEGER;
160125 TYPE t_array_source_155 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.APAD_BASE_AMOUNT_DIFF%TYPE INDEX BY BINARY_INTEGER;
160126 TYPE t_array_source_162 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.INV_PREPMT_GAIN_LOSS_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
160127
160128 l_array_source_3 t_array_source_3;
160129 l_array_source_4 t_array_source_4;
160130 l_array_source_5 t_array_source_5;
160131 l_array_source_6 t_array_source_6;
160132 l_array_source_7 t_array_source_7;
160133 l_array_source_8 t_array_source_8;
160134 l_array_source_15 t_array_source_15;
160135 l_array_source_15_meaning t_array_lookup_meaning;
160136 l_array_source_37 t_array_source_37;
160137 l_array_source_39 t_array_source_39;
160138 l_array_source_41 t_array_source_41;
160139 l_array_source_49 t_array_source_49;
160140 l_array_source_58 t_array_source_58;
160141 l_array_source_67 t_array_source_67;
160142 l_array_source_81 t_array_source_81;
160143 l_array_source_82 t_array_source_82;
160144 l_array_source_83 t_array_source_83;
160145 l_array_source_143 t_array_source_143;
160146 l_array_source_144 t_array_source_144;
160147 l_array_source_145 t_array_source_145;
160148 l_array_source_168 t_array_source_168;
160149
160150 l_array_source_30 t_array_source_30;
160151 l_array_source_36 t_array_source_36;
160152 l_array_source_38 t_array_source_38;
160153 l_array_source_52 t_array_source_52;
160154 l_array_source_53 t_array_source_53;
160155 l_array_source_55 t_array_source_55;
160156 l_array_source_65 t_array_source_65;
160157 l_array_source_66 t_array_source_66;
160161 l_array_source_71 t_array_source_71;
160158 l_array_source_68 t_array_source_68;
160159 l_array_source_69 t_array_source_69;
160160 l_array_source_70 t_array_source_70;
160162 l_array_source_72 t_array_source_72;
160163 l_array_source_77 t_array_source_77;
160164 l_array_source_78 t_array_source_78;
160165 l_array_source_79 t_array_source_79;
160166 l_array_source_80 t_array_source_80;
160167 l_array_source_80_meaning t_array_lookup_meaning;
160168 l_array_source_86 t_array_source_86;
160169 l_array_source_87 t_array_source_87;
160170 l_array_source_88 t_array_source_88;
160171 l_array_source_89 t_array_source_89;
160172 l_array_source_90 t_array_source_90;
160173 l_array_source_91 t_array_source_91;
160174 l_array_source_92 t_array_source_92;
160175 l_array_source_93 t_array_source_93;
160176 l_array_source_125 t_array_source_125;
160177 l_array_source_126 t_array_source_126;
160178 l_array_source_126_meaning t_array_lookup_meaning;
160179 l_array_source_127 t_array_source_127;
160180 l_array_source_128 t_array_source_128;
160181 l_array_source_129 t_array_source_129;
160182 l_array_source_130 t_array_source_130;
160183 l_array_source_131 t_array_source_131;
160184 l_array_source_132 t_array_source_132;
160185 l_array_source_133 t_array_source_133;
160186 l_array_source_134 t_array_source_134;
160187 l_array_source_135 t_array_source_135;
160188 l_array_source_136 t_array_source_136;
160189 l_array_source_137 t_array_source_137;
160190 l_array_source_137_meaning t_array_lookup_meaning;
160191 l_array_source_139 t_array_source_139;
160192 l_array_source_140 t_array_source_140;
160193 l_array_source_141 t_array_source_141;
160194 l_array_source_146 t_array_source_146;
160195 l_array_source_147 t_array_source_147;
160196 l_array_source_148 t_array_source_148;
160197 l_array_source_149 t_array_source_149;
160198 l_array_source_150 t_array_source_150;
160199 l_array_source_155 t_array_source_155;
160200 l_array_source_162 t_array_source_162;
160201
160202 --
160203 CURSOR header_cur
160204 IS
160205 SELECT /*+ leading(xet) cardinality(xet,1) */
160206 -- Event Class Code: PREPAYMENT APPLICATIONS
160207 xet.entity_id
160208 ,xet.legal_entity_id
160209 ,xet.entity_code
160210 ,xet.transaction_number
160211 ,xet.event_id
160212 ,xet.event_class_code
160213 ,xet.event_type_code
160214 ,xet.event_number
160215 ,xet.event_date
160216 ,xet.transaction_date
160217 ,xet.reference_num_1
160218 ,xet.reference_num_2
160219 ,xet.reference_num_3
160220 ,xet.reference_num_4
160221 ,xet.reference_char_1
160222 ,xet.reference_char_2
160223 ,xet.reference_char_3
160224 ,xet.reference_char_4
160225 ,xet.reference_date_1
160226 ,xet.reference_date_2
160227 ,xet.reference_date_3
160228 ,xet.reference_date_4
160229 ,xet.event_created_by
160230 ,xet.budgetary_control_flag
160231 , h1.INV_TRANSACTION_NUMBER source_3
160232 , h1.AI_INVOICE_DATE source_4
160233 , h1.INV_DOC_SEQUENCE_CATEGORY source_5
160234 , h1.DOC_SEQUENCE_NAME source_6
160235 , h1.INV_DOC_SEQUENCE_VALUE source_7
160236 , h1.AI_DESCRIPTION source_8
160237 , h4.ASP_AUTOMATIC_OFFSETS_VALUE source_15
160238 , fvl15.meaning source_15_meaning
160239 , h4.ASP_GAIN_CCID source_37
160240 , h4.ASP_LOSS_CCID source_39
160241 , h4.ASP_PREPAY_TAX_DIFF_CCID source_41
160242 , h4.ASP_ROUNDING_ERROR_CCID source_49
160243 , h1.AI_INVOICE_ID source_58
160244 , h1.AI_INVOICE_CURRENCY_CODE source_67
160245 , h1.AI_VENDOR_ID source_81
160246 , h1.AI_VENDOR_SITE_ID source_82
160247 , h1.THIRD_PARTY_TYPE source_83
160248 , h1.INV_EXCHANGE_DATE source_143
160249 , h1.INV_EXCHANGE_RATE source_144
160250 , h1.INV_EXCHANGE_RATE_TYPE source_145
160251 , h1.INV_DOC_SEQUENCE_IDENTIFIER source_168
160252 FROM xla_events_gt xet
160253 , AP_INVOICE_EXTRACT_HEADER_V h1
160254 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
160255 , fnd_lookup_values fvl15
160256 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
160257 and xet.event_class_code = C_EVENT_CLASS_CODE
160258 and xet.event_status_code <> 'N' AND h1.event_id = xet.event_id
160259 AND h4.asp_org_id = h1.ai_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
160260 AND fvl15.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
160261 AND fvl15.view_application_id(+) = 200
160262 AND fvl15.language(+) = USERENV('LANG')
160263
160264 ORDER BY event_id
160265 ;
160266
160267
160268 --
160269 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
160270 IS
160271 SELECT /*+ leading(xet) cardinality(xet,1) */
160272 -- Event Class Code: PREPAYMENT APPLICATIONS
160273 xet.entity_id
160274 ,xet.legal_entity_id
160275 ,xet.entity_code
160276 ,xet.transaction_number
160277 ,xet.event_id
160278 ,xet.event_class_code
160279 ,xet.event_type_code
160280 ,xet.event_number
160281 ,xet.event_date
160282 ,xet.transaction_date
160283 ,xet.reference_num_1
160284 ,xet.reference_num_2
160285 ,xet.reference_num_3
160286 ,xet.reference_num_4
160287 ,xet.reference_char_1
160288 ,xet.reference_char_2
160289 ,xet.reference_char_3
160290 ,xet.reference_char_4
160291 ,xet.reference_date_1
160292 ,xet.reference_date_2
160293 ,xet.reference_date_3
160294 ,xet.reference_date_4
160295 ,xet.event_created_by
160296 ,xet.budgetary_control_flag
160297 , l2.LINE_NUMBER
160298 , l2.AID_DIST_CCID source_30
160299 , l2.CGAC_GAIN_CCID source_36
160300 , l2.CGAC_LOSS_CCID source_38
160301 , l5.TAX_ACCOUNT_CCID source_52
160305 , l2.UPG_ENC_CR_AMT source_66
160302 , l2.DIST_ACCOUNT_REVERSAL_OPTION source_53
160303 , l2.DISTRIBUTION_LINK_TYPE source_55
160304 , l2.UPG_ENC_CR_CCID source_65
160306 , l2.UPG_ENC_CR_BASE_AMT source_68
160307 , l2.UPG_ENC_DR_CCID source_69
160308 , l2.UPG_ENC_DR_AMT source_70
160309 , l2.UPG_ENC_DR_BASE_AMT source_71
160310 , l2.UPG_AP_ENCUM_OPTION source_72
160311 , l2.DEFERRED_END_DATE source_77
160312 , l2.DEFERRED_OPTION source_78
160313 , l2.DEFERRED_START_DATE source_79
160314 , l2.OVERRIDE_ACCTD_AMT_FLAG source_80
160315 , fvl80.meaning source_80_meaning
160316 , l5.TAX_LINE_ID source_86
160317 , l6.REC_NREC_TAX_DIST_ID source_87
160318 , l2.SUMMARY_TAX_LINE_ID source_88
160319 , l2.UPG_CR_ENC_TYPE_ID source_89
160320 , l2.UPG_DR_ENC_TYPE_ID source_90
160321 , l2.BUS_FLOW_AP_APP_ID source_91
160322 , l2.BUS_FLOW_INV_DIST_TYPE source_92
160323 , l2.BUS_FLOW_INV_ENTITY_CODE source_93
160324 , l2.APAD_DIST_LOOKUP_CODE source_125
160325 , l3.DEF_REC_PP_SET_OPTION_CODE source_126
160326 , fvl126.meaning source_126_meaning
160327 , l2.APAD_DISTRIBUTION_IDENTIFIER source_127
160328 , l2.BF_CASH_ALWAYS_PP_DIST_TYPE source_128
160329 , l2.BF_CASH_ALWAYS_PREPAY_ENTITY source_129
160330 , l2.BF_CASHALWAYS_PP_PMT_DIST_ID source_130
160331 , l2.BF_CASHALWAYS_PP_PMT_ID source_131
160332 , l2.UPG_ENC_CR_ACCT_CLASS source_132
160333 , l2.UPG_ENC_DR_ACCT_CLASS source_133
160334 , l2.APAD_AMOUNT source_134
160335 , l2.BASE_AMT_AT_PP_XRATE source_135
160336 , l2.REVERSED_PREPAY_APP_DIST_ID source_136
160337 , l5.DEF_REC_SETTLEMENT_OPTION_CODE source_137
160338 , fvl137.meaning source_137_meaning
160339 , l2.BF_PREPAY_REC_DIST_ID source_139
160340 , l2.BF_PREPAY_REC_INV source_140
160341 , l2.APAD_BASE_AMOUNT source_141
160342 , l2.BF_ACCRUAL_PREPAY_DIST_TYPE source_146
160343 , l2.BF_ACCRUAL_PREPAY_ENTITY_CODE source_147
160344 , l2.BF_ACCRUAL_PP_DIST_ID source_148
160345 , l2.BF_ACCRUAL_PP_INV source_149
160346 , l2.BASE_AMT_AT_PP_PAY_XRATE source_150
160347 , l2.APAD_BASE_AMOUNT_DIFF source_155
160348 , l2.INV_PREPMT_GAIN_LOSS_INDICATOR source_162
160349 FROM xla_events_gt xet
160350 , AP_PREPAYAPP_EXTRACT_DETAILS_V l2
160351 , AP_PREPAY_DEF_TAX_EXTRACT_V l3
160352 , ZX_AP_DEF_TAX_EXTRACT_V l5
160353 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
160354 , fnd_lookup_values fvl80
160355 , fnd_lookup_values fvl126
160356 , fnd_lookup_values fvl137
160357 WHERE xet.event_id between x_first_event_id and x_last_event_id
160358 and xet.event_date between p_pad_start_date and p_pad_end_date
160359 and xet.event_class_code = C_EVENT_CLASS_CODE
160360 and xet.event_status_code <> 'N' AND l2.event_id = xet.event_id
160361 AND l2.PP_DETAIL_TAX_DIST_ID = l3.REC_NREC_PP_TAX_DIST_ID (+) AND l2.RECP_DETAIL_TAX_DIST_ID = l5.REC_NREC_TAX_DIST_ID (+) AND l2.RECP_DETAIL_TAX_DIST_ID = l6.REC_NREC_TAX_DIST_ID (+) AND fvl80.lookup_type(+) = 'YES_NO'
160362 AND fvl80.lookup_code(+) = l2.OVERRIDE_ACCTD_AMT_FLAG
160363 AND fvl80.view_application_id(+) = 0
160364 AND fvl80.language(+) = USERENV('LANG')
160365 AND fvl126.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
160366 AND fvl126.lookup_code(+) = l3.DEF_REC_PP_SET_OPTION_CODE
160367 AND fvl126.view_application_id(+) = 0
160368 AND fvl126.language(+) = USERENV('LANG')
160369 AND fvl137.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
160370 AND fvl137.lookup_code(+) = l5.DEF_REC_SETTLEMENT_OPTION_CODE
160371 AND fvl137.view_application_id(+) = 0
160372 AND fvl137.language(+) = USERENV('LANG')
160373 ;
160374
160375 --
160376 BEGIN
160377 IF g_log_enabled THEN
160378 l_log_module := C_DEFAULT_MODULE||'.EventClass_235';
160379 END IF;
160380 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
160381 trace
160382 (p_msg => 'BEGIN of EventClass_235'
160383 ,p_level => C_LEVEL_PROCEDURE
160384 ,p_module => l_log_module);
160385 END IF;
160386
160387 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
160388 trace
160389 (p_msg => 'p_application_id = '||p_application_id||
160390 ' - p_base_ledger_id = '||p_base_ledger_id||
160391 ' - p_target_ledger_id = '||p_target_ledger_id||
160392 ' - p_language = '||p_language||
160393 ' - p_currency_code = '||p_currency_code||
160394 ' - p_sla_ledger_id = '||p_sla_ledger_id
160395 ,p_level => C_LEVEL_STATEMENT
160396 ,p_module => l_log_module);
160397 END IF;
160398 --
160399 -- initialze arrays
160400 --
160401 g_array_event.DELETE;
160402 l_rec_array_event := l_null_rec_array_event;
160403 --
160404 --------------------------------------
160405 -- 4262811 Initialze MPA Line Number
160406 --------------------------------------
160407 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
160408
160409 --
160410
160411 --
160412 OPEN header_cur;
160413 --
160414 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
160415 trace
160416 (p_msg => 'SQL - FETCH header_cur'
160417 ,p_level => C_LEVEL_STATEMENT
160418 ,p_module => l_log_module);
160419 END IF;
160420 --
160421 LOOP
160422 FETCH header_cur BULK COLLECT INTO
160423 l_array_entity_id
160424 , l_array_legal_entity_id
160425 , l_array_entity_code
160426 , l_array_transaction_num
160427 , l_array_event_id
160428 , l_array_class_code
160429 , l_array_event_type
160430 , l_array_event_number
160431 , l_array_event_date
160432 , l_array_transaction_date
160433 , l_array_reference_num_1
160434 , l_array_reference_num_2
160435 , l_array_reference_num_3
160436 , l_array_reference_num_4
160437 , l_array_reference_char_1
160441 , l_array_reference_date_1
160438 , l_array_reference_char_2
160439 , l_array_reference_char_3
160440 , l_array_reference_char_4
160442 , l_array_reference_date_2
160443 , l_array_reference_date_3
160444 , l_array_reference_date_4
160445 , l_array_event_created_by
160446 , l_array_budgetary_control_flag
160447 , l_array_source_3
160448 , l_array_source_4
160449 , l_array_source_5
160450 , l_array_source_6
160451 , l_array_source_7
160452 , l_array_source_8
160453 , l_array_source_15
160454 , l_array_source_15_meaning
160455 , l_array_source_37
160456 , l_array_source_39
160457 , l_array_source_41
160458 , l_array_source_49
160459 , l_array_source_58
160460 , l_array_source_67
160461 , l_array_source_81
160462 , l_array_source_82
160463 , l_array_source_83
160464 , l_array_source_143
160465 , l_array_source_144
160466 , l_array_source_145
160467 , l_array_source_168
160468 LIMIT l_rows;
160469 --
160470 IF (C_LEVEL_EVENT >= g_log_level) THEN
160471 trace
160472 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
160473 ,p_level => C_LEVEL_EVENT
160474 ,p_module => l_log_module);
160475 END IF;
160476 --
160477 EXIT WHEN l_array_entity_id.COUNT = 0;
160478
160479 -- initialize arrays
160480 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
160481 XLA_AE_LINES_PKG.g_rec_lines := NULL;
160482
160483 --
160484 -- Bug 4458708
160485 --
160486 XLA_AE_LINES_PKG.g_LineNumber := 0;
160487
160488
160489 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
160490 g_last_hdr_idx := l_array_event_id.LAST;
160491 --
160492 -- loop for the headers. Each iteration is for each header extract row
160493 -- fetched in header cursor
160494 --
160495 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
160496
160497 --
160498 -- set event info as cache for other routines to refer event attributes
160499 --
160500 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
160501 (p_application_id => p_application_id
160502 ,p_primary_ledger_id => p_primary_ledger_id
160503 ,p_base_ledger_id => p_base_ledger_id
160504 ,p_target_ledger_id => p_target_ledger_id
160505 ,p_entity_id => l_array_entity_id(hdr_idx)
160506 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
160507 ,p_entity_code => l_array_entity_code(hdr_idx)
160508 ,p_transaction_num => l_array_transaction_num(hdr_idx)
160509 ,p_event_id => l_array_event_id(hdr_idx)
160510 ,p_event_class_code => l_array_class_code(hdr_idx)
160511 ,p_event_type_code => l_array_event_type(hdr_idx)
160512 ,p_event_number => l_array_event_number(hdr_idx)
160513 ,p_event_date => l_array_event_date(hdr_idx)
160514 ,p_transaction_date => l_array_transaction_date(hdr_idx)
160515 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
160516 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
160517 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
160518 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
160519 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
160520 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
160521 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
160522 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
160523 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
160524 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
160525 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
160526 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
160527 ,p_event_created_by => l_array_event_created_by(hdr_idx)
160528 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
160529
160530 --
160531 -- set the status of entry to C_VALID (0)
160532 --
160533 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
160534
160535 --
160536 -- initialize a row for ae header
160537 --
160538 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
160539
160540 l_event_id := l_array_event_id(hdr_idx);
160541
160542 --
160543 -- storing the hdr_idx for event. May be used by line cursor.
160544 --
160545 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
160546
160547 --
160548 -- store sources from header extract. This can be improved to
160549 -- store only those sources from header extract that may be used in lines
160550 --
160551
160552 g_array_event(l_event_id).array_value_char('source_3') := l_array_source_3(hdr_idx);
160553 g_array_event(l_event_id).array_value_date('source_4') := l_array_source_4(hdr_idx);
160554 g_array_event(l_event_id).array_value_char('source_5') := l_array_source_5(hdr_idx);
160555 g_array_event(l_event_id).array_value_char('source_6') := l_array_source_6(hdr_idx);
160556 g_array_event(l_event_id).array_value_num('source_7') := l_array_source_7(hdr_idx);
160557 g_array_event(l_event_id).array_value_char('source_8') := l_array_source_8(hdr_idx);
160558 g_array_event(l_event_id).array_value_char('source_15') := l_array_source_15(hdr_idx);
160559 g_array_event(l_event_id).array_value_char('source_15_meaning') := l_array_source_15_meaning(hdr_idx);
160560 g_array_event(l_event_id).array_value_num('source_37') := l_array_source_37(hdr_idx);
160561 g_array_event(l_event_id).array_value_num('source_39') := l_array_source_39(hdr_idx);
160562 g_array_event(l_event_id).array_value_num('source_41') := l_array_source_41(hdr_idx);
160563 g_array_event(l_event_id).array_value_num('source_49') := l_array_source_49(hdr_idx);
160564 g_array_event(l_event_id).array_value_num('source_58') := l_array_source_58(hdr_idx);
160568 g_array_event(l_event_id).array_value_char('source_83') := l_array_source_83(hdr_idx);
160565 g_array_event(l_event_id).array_value_char('source_67') := l_array_source_67(hdr_idx);
160566 g_array_event(l_event_id).array_value_num('source_81') := l_array_source_81(hdr_idx);
160567 g_array_event(l_event_id).array_value_num('source_82') := l_array_source_82(hdr_idx);
160569 g_array_event(l_event_id).array_value_date('source_143') := l_array_source_143(hdr_idx);
160570 g_array_event(l_event_id).array_value_num('source_144') := l_array_source_144(hdr_idx);
160571 g_array_event(l_event_id).array_value_char('source_145') := l_array_source_145(hdr_idx);
160572 g_array_event(l_event_id).array_value_num('source_168') := l_array_source_168(hdr_idx);
160573
160574 --
160575 -- initilaize the status of ae headers for diffrent balance types
160576 -- the status is initialised to C_NOT_CREATED (2)
160577 --
160578 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
160579 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
160580 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
160581
160582 --
160583 -- call api to validate and store accounting attributes for header
160584 --
160585
160586 ------------------------------------------------------------
160587 -- Accrual Reversal : to get date for Standard Source (NONE)
160588 ------------------------------------------------------------
160589 l_acc_rev_gl_date_source := NULL;
160590
160591 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
160592 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_5');
160593 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
160594 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_168');
160595 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
160596 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_7');
160597 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
160598 l_rec_acct_attrs.array_date_value(4) :=
160599 xla_ae_sources_pkg.GetSystemSourceDate(
160600 p_source_code => 'XLA_EVENT_DATE'
160601 , p_source_type_code => 'Y'
160602 , p_source_application_id => 602
160603 );
160604
160605
160606 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
160607
160608 XLA_AE_HEADER_PKG.SetJeCategoryName;
160609
160610 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
160611 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
160612 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
160613 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
160614 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
160615
160616
160617 --
160618 xla_ae_header_pkg.SetHdrDescription(
160619 p_description => Description_2 (
160620 p_application_id => p_application_id
160621 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
160622 , p_source_4 => g_array_event(l_event_id).array_value_date('source_4')
160623 , p_source_5 => g_array_event(l_event_id).array_value_char('source_5')
160624 , p_source_6 => g_array_event(l_event_id).array_value_char('source_6')
160625 , p_source_7 => g_array_event(l_event_id).array_value_num('source_7')
160626 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
160627 )
160628 );
160629 --
160630
160631 -- No header level analytical criteria
160632
160633 --
160634 --accounting attribute enhancement, bug 3612931
160635 --
160636 l_trx_reversal_source := SUBSTR(NULL, 1,30);
160637
160638 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
160639 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
160640
160641 xla_accounting_err_pkg.build_message
160642 (p_appli_s_name => 'XLA'
160643 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
160644 ,p_token_1 => 'ACCT_ATTR_NAME'
160645 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
160646 ,p_token_2 => 'PRODUCT_NAME'
160647 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
160648 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
160649 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
160650 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
160651
160652 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
160653 --
160654 -- following sets the accounting attributes needed to reverse
160655 -- accounting for a distributeion
160656 --
160657 xla_ae_lines_pkg.SetTrxReversalAttrs
160658 (p_event_id => l_event_id
160659 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
160660 ,p_trx_reversal_source => l_trx_reversal_source);
160661
160662 END IF;
160663
160664
160665 ----------------------------------------------------------------
160666 -- 4262811 - update the header statuses to invalid in need be
160667 ----------------------------------------------------------------
160668 --
160669 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
160670
160671
160672 -----------------------------------------------
160673 -- No accrual reversal for the event class/type
160674 -----------------------------------------------
160675 ----------------------------------------------------------------
160676
160677 --
160678 -- this ends the header loop iteration for one bulk fetch
160679 --
160680 END LOOP;
160681
160682 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
160686 -- insert dummy rows into lines gt table that were created due to
160683 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
160684
160685 --
160687 -- transaction reversals
160688 --
160689 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
160690 l_result := XLA_AE_LINES_PKG.InsertLines;
160691 END IF;
160692
160693 --
160694 -- reset the temp_line_num for each set of events fetched from header
160695 -- cursor rather than doing it for each new event in line cursor
160696 -- Bug 3939231
160697 --
160698 xla_ae_lines_pkg.g_temp_line_num := 0;
160699
160700
160701
160702 --
160703 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
160704 --
160705 --
160706 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
160707
160708 trace
160709 (p_msg => 'SQL - FETCH line_cur'
160710 ,p_level => C_LEVEL_STATEMENT
160711 ,p_module => l_log_module);
160712
160713 END IF;
160714 --
160715 --
160716 LOOP
160717 --
160718 FETCH line_cur BULK COLLECT INTO
160719 l_array_entity_id
160720 , l_array_legal_entity_id
160721 , l_array_entity_code
160722 , l_array_transaction_num
160723 , l_array_event_id
160724 , l_array_class_code
160725 , l_array_event_type
160726 , l_array_event_number
160727 , l_array_event_date
160728 , l_array_transaction_date
160729 , l_array_reference_num_1
160730 , l_array_reference_num_2
160731 , l_array_reference_num_3
160732 , l_array_reference_num_4
160733 , l_array_reference_char_1
160734 , l_array_reference_char_2
160735 , l_array_reference_char_3
160736 , l_array_reference_char_4
160737 , l_array_reference_date_1
160738 , l_array_reference_date_2
160739 , l_array_reference_date_3
160740 , l_array_reference_date_4
160741 , l_array_event_created_by
160742 , l_array_budgetary_control_flag
160743 , l_array_extract_line_num
160744 , l_array_source_30
160745 , l_array_source_36
160746 , l_array_source_38
160747 , l_array_source_52
160748 , l_array_source_53
160749 , l_array_source_55
160750 , l_array_source_65
160751 , l_array_source_66
160752 , l_array_source_68
160753 , l_array_source_69
160754 , l_array_source_70
160755 , l_array_source_71
160756 , l_array_source_72
160757 , l_array_source_77
160758 , l_array_source_78
160759 , l_array_source_79
160760 , l_array_source_80
160761 , l_array_source_80_meaning
160762 , l_array_source_86
160763 , l_array_source_87
160764 , l_array_source_88
160765 , l_array_source_89
160766 , l_array_source_90
160767 , l_array_source_91
160768 , l_array_source_92
160769 , l_array_source_93
160770 , l_array_source_125
160771 , l_array_source_126
160772 , l_array_source_126_meaning
160773 , l_array_source_127
160774 , l_array_source_128
160775 , l_array_source_129
160776 , l_array_source_130
160777 , l_array_source_131
160778 , l_array_source_132
160779 , l_array_source_133
160780 , l_array_source_134
160781 , l_array_source_135
160782 , l_array_source_136
160783 , l_array_source_137
160784 , l_array_source_137_meaning
160785 , l_array_source_139
160786 , l_array_source_140
160787 , l_array_source_141
160788 , l_array_source_146
160789 , l_array_source_147
160790 , l_array_source_148
160791 , l_array_source_149
160792 , l_array_source_150
160793 , l_array_source_155
160794 , l_array_source_162
160795 LIMIT l_rows;
160796
160797 --
160798 IF (C_LEVEL_EVENT >= g_log_level) THEN
160799 trace
160800 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
160801 ,p_level => C_LEVEL_EVENT
160802 ,p_module => l_log_module);
160803 END IF;
160804 --
160805 EXIT WHEN l_array_entity_id.count = 0;
160806
160807 XLA_AE_LINES_PKG.g_rec_lines := null;
160808
160809 --
160810 -- Bug 4458708
160811 --
160812 XLA_AE_LINES_PKG.g_LineNumber := 0;
160813 --
160814 --
160815
160816 FOR Idx IN 1..l_array_event_id.count LOOP
160817 --
160818 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
160819 --
160820 l_event_id := l_array_event_id(idx); -- 5648433
160821
160822 --
160823 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
160824 --
160825
160826 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
160827 (g_array_event(l_event_id).array_value_num('header_index'))
160828 ,'N'
160829 ) <> 'Y'
160830 THEN
160831 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
160832 trace
160833 (p_msg => 'Trancaction revesal option is not Y '
160834 ,p_level => C_LEVEL_STATEMENT
160835 ,p_module => l_log_module);
160836 END IF;
160837
160838 --
160839 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
160840 --
160841 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
160842 --
160843 -- set event info as cache for other routines to refer event attributes
160844 --
160845
160846 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
160847 l_previous_event_id := l_event_id;
160848
160849 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
160850 (p_application_id => p_application_id
160854 ,p_entity_id => l_array_entity_id(Idx)
160851 ,p_primary_ledger_id => p_primary_ledger_id
160852 ,p_base_ledger_id => p_base_ledger_id
160853 ,p_target_ledger_id => p_target_ledger_id
160855 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
160856 ,p_entity_code => l_array_entity_code(Idx)
160857 ,p_transaction_num => l_array_transaction_num(Idx)
160858 ,p_event_id => l_array_event_id(Idx)
160859 ,p_event_class_code => l_array_class_code(Idx)
160860 ,p_event_type_code => l_array_event_type(Idx)
160861 ,p_event_number => l_array_event_number(Idx)
160862 ,p_event_date => l_array_event_date(Idx)
160863 ,p_transaction_date => l_array_transaction_date(Idx)
160864 ,p_reference_num_1 => l_array_reference_num_1(Idx)
160865 ,p_reference_num_2 => l_array_reference_num_2(Idx)
160866 ,p_reference_num_3 => l_array_reference_num_3(Idx)
160867 ,p_reference_num_4 => l_array_reference_num_4(Idx)
160868 ,p_reference_char_1 => l_array_reference_char_1(Idx)
160869 ,p_reference_char_2 => l_array_reference_char_2(Idx)
160870 ,p_reference_char_3 => l_array_reference_char_3(Idx)
160871 ,p_reference_char_4 => l_array_reference_char_4(Idx)
160872 ,p_reference_date_1 => l_array_reference_date_1(Idx)
160873 ,p_reference_date_2 => l_array_reference_date_2(Idx)
160874 ,p_reference_date_3 => l_array_reference_date_3(Idx)
160875 ,p_reference_date_4 => l_array_reference_date_4(Idx)
160876 ,p_event_created_by => l_array_event_created_by(Idx)
160877 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
160878 --
160879 END IF;
160880
160881
160882
160883 --
160884 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
160885
160886 l_acct_reversal_source := SUBSTR(l_array_source_53(Idx), 1,30);
160887
160888 IF l_continue_with_lines THEN
160889 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
160890 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
160891
160892 xla_accounting_err_pkg.build_message
160893 (p_appli_s_name => 'XLA'
160894 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
160895 ,p_token_1 => 'LINE_NUMBER'
160896 ,p_value_1 => l_array_extract_line_num(Idx)
160897 ,p_token_2 => 'PRODUCT_NAME'
160898 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
160899 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
160900 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
160901 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
160902
160903 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
160904 --
160905 -- following sets the accounting attributes needed to reverse
160906 -- accounting for a distributeion
160907 --
160908
160909 --
160910 -- 5217187
160911 --
160912 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
160913 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
160914 g_array_event(l_event_id).array_value_num('header_index'));
160915 --
160916 --
160917
160918 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
160919 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_53(Idx);
160920 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
160921 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_127(Idx);
160922 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
160923 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_55(Idx);
160924 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'ENC_UPG_CR_ACCT_CLASS';
160925 l_rec_rev_acct_attrs.array_char_value(5) := l_array_source_132(Idx);
160926 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_CCID';
160927 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_65(Idx);
160928 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_ENTERED_AMT';
160929 l_rec_rev_acct_attrs.array_num_value(7) := l_array_source_66(Idx);
160930 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_ENTERED_CURR';
160931 l_rec_rev_acct_attrs.array_char_value(8) := g_array_event(l_event_id).array_value_char('source_67');
160932 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_CR_LEDGER_AMT';
160933 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_68(Idx);
160934 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_DR_ACCT_CLASS';
160935 l_rec_rev_acct_attrs.array_char_value(10) := l_array_source_133(Idx);
160936 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_CCID';
160937 l_rec_rev_acct_attrs.array_num_value(11) := l_array_source_69(Idx);
160938 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_ENTERED_AMT';
160939 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_70(Idx);
160940 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_DR_ENTERED_CURR';
160941 l_rec_rev_acct_attrs.array_char_value(13) := g_array_event(l_event_id).array_value_char('source_67');
160942 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_DR_LEDGER_AMT';
160943 l_rec_rev_acct_attrs.array_num_value(14) := l_array_source_71(Idx);
160944 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_OPTION';
160945 l_rec_rev_acct_attrs.array_char_value(15) := l_array_source_72(Idx);
160946 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'PARTY_TYPE';
160947 l_rec_rev_acct_attrs.array_char_value(16) := g_array_event(l_event_id).array_value_char('source_83');
160951 l_rec_rev_acct_attrs.array_char_value(18) := l_array_source_55(Idx);
160948 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'REVERSED_DISTRIBUTION_ID1';
160949 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_136(Idx);
160950 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'REVERSED_DISTRIBUTION_TYPE';
160952 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'TAX_LINE_REF_ID';
160953 l_rec_rev_acct_attrs.array_num_value(19) := l_array_source_86(Idx);
160954 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'TAX_REC_NREC_DIST_REF_ID';
160955 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_87(Idx);
160956 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'TAX_SUMMARY_LINE_REF_ID';
160957 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_88(Idx);
160958 l_rec_rev_acct_attrs.array_acct_attr_code(22) := 'UPG_CR_ENC_TYPE_ID';
160959 l_rec_rev_acct_attrs.array_num_value(22) := l_array_source_89(Idx);
160960 l_rec_rev_acct_attrs.array_acct_attr_code(23) := 'UPG_DR_ENC_TYPE_ID';
160961 l_rec_rev_acct_attrs.array_num_value(23) := l_array_source_90(Idx);
160962
160963
160964 xla_ae_lines_pkg.SetAcctReversalAttrs
160965 (p_event_id => l_event_id
160966 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
160967 ,p_calculate_acctd_flag => l_calculate_acctd_flag
160968 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
160969 END IF;
160970
160971 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
160972 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
160973
160974 --
160975 AcctLineType_94 (
160976 p_application_id => p_application_id
160977 ,p_event_id => l_event_id
160978 ,p_calculate_acctd_flag => l_calculate_acctd_flag
160979 ,p_calculate_g_l_flag => l_calculate_g_l_flag
160980 ,p_actual_flag => l_actual_flag
160981 ,p_balance_type_code => l_balance_type_code
160982 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
160983
160984 , p_source_53 => l_array_source_53(Idx)
160985 , p_source_55 => l_array_source_55(Idx)
160986 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
160987 , p_source_65 => l_array_source_65(Idx)
160988 , p_source_66 => l_array_source_66(Idx)
160989 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
160990 , p_source_68 => l_array_source_68(Idx)
160991 , p_source_69 => l_array_source_69(Idx)
160992 , p_source_70 => l_array_source_70(Idx)
160993 , p_source_71 => l_array_source_71(Idx)
160994 , p_source_72 => l_array_source_72(Idx)
160995 , p_source_77 => l_array_source_77(Idx)
160996 , p_source_78 => l_array_source_78(Idx)
160997 , p_source_79 => l_array_source_79(Idx)
160998 , p_source_80 => l_array_source_80(Idx)
160999 , p_source_80_meaning => l_array_source_80_meaning(Idx)
161000 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
161001 , p_source_86 => l_array_source_86(Idx)
161002 , p_source_87 => l_array_source_87(Idx)
161003 , p_source_88 => l_array_source_88(Idx)
161004 , p_source_89 => l_array_source_89(Idx)
161005 , p_source_90 => l_array_source_90(Idx)
161006 , p_source_91 => l_array_source_91(Idx)
161007 , p_source_125 => l_array_source_125(Idx)
161008 , p_source_126 => l_array_source_126(Idx)
161009 , p_source_126_meaning => l_array_source_126_meaning(Idx)
161010 , p_source_127 => l_array_source_127(Idx)
161011 , p_source_128 => l_array_source_128(Idx)
161012 , p_source_129 => l_array_source_129(Idx)
161013 , p_source_130 => l_array_source_130(Idx)
161014 , p_source_131 => l_array_source_131(Idx)
161015 , p_source_132 => l_array_source_132(Idx)
161016 , p_source_133 => l_array_source_133(Idx)
161017 , p_source_134 => l_array_source_134(Idx)
161018 , p_source_135 => l_array_source_135(Idx)
161019 , p_source_136 => l_array_source_136(Idx)
161020 );
161021 If(l_balance_type_code = 'A') THEN
161022 l_actual_gain_loss_ref := l_gain_or_loss_ref;
161023 END IF;
161024
161025 --
161026
161027
161028 --
161029 AcctLineType_99 (
161030 p_application_id => p_application_id
161031 ,p_event_id => l_event_id
161032 ,p_calculate_acctd_flag => l_calculate_acctd_flag
161033 ,p_calculate_g_l_flag => l_calculate_g_l_flag
161034 ,p_actual_flag => l_actual_flag
161035 ,p_balance_type_code => l_balance_type_code
161036 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
161037
161038 , p_source_53 => l_array_source_53(Idx)
161039 , p_source_55 => l_array_source_55(Idx)
161040 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
161041 , p_source_65 => l_array_source_65(Idx)
161042 , p_source_66 => l_array_source_66(Idx)
161043 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
161044 , p_source_68 => l_array_source_68(Idx)
161045 , p_source_69 => l_array_source_69(Idx)
161046 , p_source_70 => l_array_source_70(Idx)
161047 , p_source_71 => l_array_source_71(Idx)
161048 , p_source_72 => l_array_source_72(Idx)
161049 , p_source_77 => l_array_source_77(Idx)
161050 , p_source_78 => l_array_source_78(Idx)
161051 , p_source_79 => l_array_source_79(Idx)
161052 , p_source_80 => l_array_source_80(Idx)
161053 , p_source_80_meaning => l_array_source_80_meaning(Idx)
161054 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
161055 , p_source_86 => l_array_source_86(Idx)
161056 , p_source_87 => l_array_source_87(Idx)
161057 , p_source_88 => l_array_source_88(Idx)
161058 , p_source_89 => l_array_source_89(Idx)
161059 , p_source_90 => l_array_source_90(Idx)
161060 , p_source_91 => l_array_source_91(Idx)
161061 , p_source_92 => l_array_source_92(Idx)
161062 , p_source_93 => l_array_source_93(Idx)
161063 , p_source_127 => l_array_source_127(Idx)
161064 , p_source_132 => l_array_source_132(Idx)
161065 , p_source_133 => l_array_source_133(Idx)
161066 , p_source_134 => l_array_source_134(Idx)
161067 , p_source_136 => l_array_source_136(Idx)
161068 , p_source_137 => l_array_source_137(Idx)
161069 , p_source_137_meaning => l_array_source_137_meaning(Idx)
161073 );
161070 , p_source_139 => l_array_source_139(Idx)
161071 , p_source_140 => l_array_source_140(Idx)
161072 , p_source_141 => l_array_source_141(Idx)
161074 If(l_balance_type_code = 'A') THEN
161075 l_actual_gain_loss_ref := l_gain_or_loss_ref;
161076 END IF;
161077
161078 --
161079
161080
161081 --
161082 AcctLineType_103 (
161083 p_application_id => p_application_id
161084 ,p_event_id => l_event_id
161085 ,p_calculate_acctd_flag => l_calculate_acctd_flag
161086 ,p_calculate_g_l_flag => l_calculate_g_l_flag
161087 ,p_actual_flag => l_actual_flag
161088 ,p_balance_type_code => l_balance_type_code
161089 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
161090
161091 , p_source_52 => l_array_source_52(Idx)
161092 , p_source_53 => l_array_source_53(Idx)
161093 , p_source_55 => l_array_source_55(Idx)
161094 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
161095 , p_source_65 => l_array_source_65(Idx)
161096 , p_source_66 => l_array_source_66(Idx)
161097 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
161098 , p_source_68 => l_array_source_68(Idx)
161099 , p_source_69 => l_array_source_69(Idx)
161100 , p_source_70 => l_array_source_70(Idx)
161101 , p_source_71 => l_array_source_71(Idx)
161102 , p_source_72 => l_array_source_72(Idx)
161103 , p_source_77 => l_array_source_77(Idx)
161104 , p_source_78 => l_array_source_78(Idx)
161105 , p_source_79 => l_array_source_79(Idx)
161106 , p_source_80 => l_array_source_80(Idx)
161107 , p_source_80_meaning => l_array_source_80_meaning(Idx)
161108 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
161109 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
161110 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
161111 , p_source_86 => l_array_source_86(Idx)
161112 , p_source_87 => l_array_source_87(Idx)
161113 , p_source_88 => l_array_source_88(Idx)
161114 , p_source_89 => l_array_source_89(Idx)
161115 , p_source_90 => l_array_source_90(Idx)
161116 , p_source_91 => l_array_source_91(Idx)
161117 , p_source_127 => l_array_source_127(Idx)
161118 , p_source_132 => l_array_source_132(Idx)
161119 , p_source_133 => l_array_source_133(Idx)
161120 , p_source_134 => l_array_source_134(Idx)
161121 , p_source_136 => l_array_source_136(Idx)
161122 , p_source_137 => l_array_source_137(Idx)
161123 , p_source_137_meaning => l_array_source_137_meaning(Idx)
161124 , p_source_141 => l_array_source_141(Idx)
161125 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
161126 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
161127 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
161128 , p_source_146 => l_array_source_146(Idx)
161129 , p_source_147 => l_array_source_147(Idx)
161130 , p_source_148 => l_array_source_148(Idx)
161131 , p_source_149 => l_array_source_149(Idx)
161132 );
161133 If(l_balance_type_code = 'A') THEN
161134 l_actual_gain_loss_ref := l_gain_or_loss_ref;
161135 END IF;
161136
161137 --
161138
161139
161140 --
161141 AcctLineType_111 (
161142 p_application_id => p_application_id
161143 ,p_event_id => l_event_id
161144 ,p_calculate_acctd_flag => l_calculate_acctd_flag
161145 ,p_calculate_g_l_flag => l_calculate_g_l_flag
161146 ,p_actual_flag => l_actual_flag
161147 ,p_balance_type_code => l_balance_type_code
161148 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
161149
161150 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
161151 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
161152 , p_source_30 => l_array_source_30(Idx)
161153 , p_source_49 => g_array_event(l_event_id).array_value_num('source_49')
161154 , p_source_53 => l_array_source_53(Idx)
161155 , p_source_55 => l_array_source_55(Idx)
161156 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
161157 , p_source_65 => l_array_source_65(Idx)
161158 , p_source_66 => l_array_source_66(Idx)
161159 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
161160 , p_source_68 => l_array_source_68(Idx)
161161 , p_source_69 => l_array_source_69(Idx)
161162 , p_source_70 => l_array_source_70(Idx)
161163 , p_source_71 => l_array_source_71(Idx)
161164 , p_source_72 => l_array_source_72(Idx)
161165 , p_source_77 => l_array_source_77(Idx)
161166 , p_source_78 => l_array_source_78(Idx)
161167 , p_source_79 => l_array_source_79(Idx)
161168 , p_source_80 => l_array_source_80(Idx)
161169 , p_source_80_meaning => l_array_source_80_meaning(Idx)
161170 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
161171 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
161172 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
161173 , p_source_86 => l_array_source_86(Idx)
161174 , p_source_87 => l_array_source_87(Idx)
161175 , p_source_88 => l_array_source_88(Idx)
161176 , p_source_89 => l_array_source_89(Idx)
161177 , p_source_90 => l_array_source_90(Idx)
161178 , p_source_91 => l_array_source_91(Idx)
161179 , p_source_125 => l_array_source_125(Idx)
161180 , p_source_127 => l_array_source_127(Idx)
161181 , p_source_132 => l_array_source_132(Idx)
161182 , p_source_133 => l_array_source_133(Idx)
161183 , p_source_134 => l_array_source_134(Idx)
161184 , p_source_135 => l_array_source_135(Idx)
161185 , p_source_136 => l_array_source_136(Idx)
161186 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
161187 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
161188 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
161189 , p_source_146 => l_array_source_146(Idx)
161190 , p_source_147 => l_array_source_147(Idx)
161191 , p_source_148 => l_array_source_148(Idx)
161192 , p_source_149 => l_array_source_149(Idx)
161193 );
161194 If(l_balance_type_code = 'A') THEN
161195 l_actual_gain_loss_ref := l_gain_or_loss_ref;
161196 END IF;
161197
161201 --
161198 --
161199
161200
161202 AcctLineType_115 (
161203 p_application_id => p_application_id
161204 ,p_event_id => l_event_id
161205 ,p_calculate_acctd_flag => l_calculate_acctd_flag
161206 ,p_calculate_g_l_flag => l_calculate_g_l_flag
161207 ,p_actual_flag => l_actual_flag
161208 ,p_balance_type_code => l_balance_type_code
161209 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
161210
161211 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
161212 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
161213 , p_source_30 => l_array_source_30(Idx)
161214 , p_source_49 => g_array_event(l_event_id).array_value_num('source_49')
161215 , p_source_53 => l_array_source_53(Idx)
161216 , p_source_55 => l_array_source_55(Idx)
161217 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
161218 , p_source_65 => l_array_source_65(Idx)
161219 , p_source_66 => l_array_source_66(Idx)
161220 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
161221 , p_source_68 => l_array_source_68(Idx)
161222 , p_source_69 => l_array_source_69(Idx)
161223 , p_source_70 => l_array_source_70(Idx)
161224 , p_source_71 => l_array_source_71(Idx)
161225 , p_source_72 => l_array_source_72(Idx)
161226 , p_source_77 => l_array_source_77(Idx)
161227 , p_source_78 => l_array_source_78(Idx)
161228 , p_source_79 => l_array_source_79(Idx)
161229 , p_source_80 => l_array_source_80(Idx)
161230 , p_source_80_meaning => l_array_source_80_meaning(Idx)
161231 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
161232 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
161233 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
161234 , p_source_86 => l_array_source_86(Idx)
161235 , p_source_87 => l_array_source_87(Idx)
161236 , p_source_88 => l_array_source_88(Idx)
161237 , p_source_89 => l_array_source_89(Idx)
161238 , p_source_90 => l_array_source_90(Idx)
161239 , p_source_91 => l_array_source_91(Idx)
161240 , p_source_125 => l_array_source_125(Idx)
161241 , p_source_127 => l_array_source_127(Idx)
161242 , p_source_132 => l_array_source_132(Idx)
161243 , p_source_133 => l_array_source_133(Idx)
161244 , p_source_134 => l_array_source_134(Idx)
161245 , p_source_136 => l_array_source_136(Idx)
161246 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
161247 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
161248 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
161249 , p_source_146 => l_array_source_146(Idx)
161250 , p_source_147 => l_array_source_147(Idx)
161251 , p_source_148 => l_array_source_148(Idx)
161252 , p_source_149 => l_array_source_149(Idx)
161253 , p_source_150 => l_array_source_150(Idx)
161254 );
161255 If(l_balance_type_code = 'A') THEN
161256 l_actual_gain_loss_ref := l_gain_or_loss_ref;
161257 END IF;
161258
161259 --
161260
161261
161262 --
161263 AcctLineType_128 (
161264 p_application_id => p_application_id
161265 ,p_event_id => l_event_id
161266 ,p_calculate_acctd_flag => l_calculate_acctd_flag
161267 ,p_calculate_g_l_flag => l_calculate_g_l_flag
161268 ,p_actual_flag => l_actual_flag
161269 ,p_balance_type_code => l_balance_type_code
161270 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
161271
161272 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
161273 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
161274 , p_source_30 => l_array_source_30(Idx)
161275 , p_source_36 => l_array_source_36(Idx)
161276 , p_source_37 => g_array_event(l_event_id).array_value_num('source_37')
161277 , p_source_38 => l_array_source_38(Idx)
161278 , p_source_39 => g_array_event(l_event_id).array_value_num('source_39')
161279 , p_source_53 => l_array_source_53(Idx)
161280 , p_source_55 => l_array_source_55(Idx)
161281 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
161282 , p_source_65 => l_array_source_65(Idx)
161283 , p_source_66 => l_array_source_66(Idx)
161284 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
161285 , p_source_68 => l_array_source_68(Idx)
161286 , p_source_69 => l_array_source_69(Idx)
161287 , p_source_70 => l_array_source_70(Idx)
161288 , p_source_71 => l_array_source_71(Idx)
161289 , p_source_72 => l_array_source_72(Idx)
161290 , p_source_77 => l_array_source_77(Idx)
161291 , p_source_78 => l_array_source_78(Idx)
161292 , p_source_79 => l_array_source_79(Idx)
161293 , p_source_80 => l_array_source_80(Idx)
161294 , p_source_80_meaning => l_array_source_80_meaning(Idx)
161295 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
161296 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
161297 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
161298 , p_source_86 => l_array_source_86(Idx)
161299 , p_source_87 => l_array_source_87(Idx)
161300 , p_source_88 => l_array_source_88(Idx)
161301 , p_source_89 => l_array_source_89(Idx)
161302 , p_source_90 => l_array_source_90(Idx)
161303 , p_source_91 => l_array_source_91(Idx)
161304 , p_source_125 => l_array_source_125(Idx)
161305 , p_source_127 => l_array_source_127(Idx)
161306 , p_source_132 => l_array_source_132(Idx)
161307 , p_source_133 => l_array_source_133(Idx)
161308 , p_source_136 => l_array_source_136(Idx)
161309 , p_source_146 => l_array_source_146(Idx)
161310 , p_source_147 => l_array_source_147(Idx)
161311 , p_source_148 => l_array_source_148(Idx)
161312 , p_source_149 => l_array_source_149(Idx)
161313 , p_source_155 => l_array_source_155(Idx)
161314 );
161315 If(l_balance_type_code = 'A') THEN
161316 l_actual_gain_loss_ref := l_gain_or_loss_ref;
161317 END IF;
161318
161319 --
161320
161321
161322 --
161323 AcctLineType_134 (
161324 p_application_id => p_application_id
161325 ,p_event_id => l_event_id
161326 ,p_calculate_acctd_flag => l_calculate_acctd_flag
161330 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
161327 ,p_calculate_g_l_flag => l_calculate_g_l_flag
161328 ,p_actual_flag => l_actual_flag
161329 ,p_balance_type_code => l_balance_type_code
161331
161332 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
161333 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
161334 , p_source_30 => l_array_source_30(Idx)
161335 , p_source_36 => l_array_source_36(Idx)
161336 , p_source_37 => g_array_event(l_event_id).array_value_num('source_37')
161337 , p_source_53 => l_array_source_53(Idx)
161338 , p_source_55 => l_array_source_55(Idx)
161339 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
161340 , p_source_65 => l_array_source_65(Idx)
161341 , p_source_66 => l_array_source_66(Idx)
161342 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
161343 , p_source_68 => l_array_source_68(Idx)
161344 , p_source_69 => l_array_source_69(Idx)
161345 , p_source_70 => l_array_source_70(Idx)
161346 , p_source_71 => l_array_source_71(Idx)
161347 , p_source_72 => l_array_source_72(Idx)
161348 , p_source_77 => l_array_source_77(Idx)
161349 , p_source_78 => l_array_source_78(Idx)
161350 , p_source_79 => l_array_source_79(Idx)
161351 , p_source_80 => l_array_source_80(Idx)
161352 , p_source_80_meaning => l_array_source_80_meaning(Idx)
161353 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
161354 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
161355 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
161356 , p_source_86 => l_array_source_86(Idx)
161357 , p_source_87 => l_array_source_87(Idx)
161358 , p_source_88 => l_array_source_88(Idx)
161359 , p_source_89 => l_array_source_89(Idx)
161360 , p_source_90 => l_array_source_90(Idx)
161361 , p_source_91 => l_array_source_91(Idx)
161362 , p_source_125 => l_array_source_125(Idx)
161363 , p_source_127 => l_array_source_127(Idx)
161364 , p_source_132 => l_array_source_132(Idx)
161365 , p_source_133 => l_array_source_133(Idx)
161366 , p_source_134 => l_array_source_134(Idx)
161367 , p_source_136 => l_array_source_136(Idx)
161368 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
161369 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
161370 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
161371 , p_source_146 => l_array_source_146(Idx)
161372 , p_source_147 => l_array_source_147(Idx)
161373 , p_source_148 => l_array_source_148(Idx)
161374 , p_source_149 => l_array_source_149(Idx)
161375 , p_source_155 => l_array_source_155(Idx)
161376 , p_source_162 => l_array_source_162(Idx)
161377 );
161378 If(l_balance_type_code = 'A') THEN
161379 l_actual_gain_loss_ref := l_gain_or_loss_ref;
161380 END IF;
161381
161382 --
161383
161384
161385 --
161386 AcctLineType_161 (
161387 p_application_id => p_application_id
161388 ,p_event_id => l_event_id
161389 ,p_calculate_acctd_flag => l_calculate_acctd_flag
161390 ,p_calculate_g_l_flag => l_calculate_g_l_flag
161391 ,p_actual_flag => l_actual_flag
161392 ,p_balance_type_code => l_balance_type_code
161393 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
161394
161395 , p_source_53 => l_array_source_53(Idx)
161396 , p_source_55 => l_array_source_55(Idx)
161397 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
161398 , p_source_65 => l_array_source_65(Idx)
161399 , p_source_66 => l_array_source_66(Idx)
161400 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
161401 , p_source_68 => l_array_source_68(Idx)
161402 , p_source_69 => l_array_source_69(Idx)
161403 , p_source_70 => l_array_source_70(Idx)
161404 , p_source_71 => l_array_source_71(Idx)
161405 , p_source_72 => l_array_source_72(Idx)
161406 , p_source_77 => l_array_source_77(Idx)
161407 , p_source_78 => l_array_source_78(Idx)
161408 , p_source_79 => l_array_source_79(Idx)
161409 , p_source_80 => l_array_source_80(Idx)
161410 , p_source_80_meaning => l_array_source_80_meaning(Idx)
161411 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
161412 , p_source_86 => l_array_source_86(Idx)
161413 , p_source_87 => l_array_source_87(Idx)
161414 , p_source_88 => l_array_source_88(Idx)
161415 , p_source_89 => l_array_source_89(Idx)
161416 , p_source_90 => l_array_source_90(Idx)
161417 , p_source_91 => l_array_source_91(Idx)
161418 , p_source_125 => l_array_source_125(Idx)
161419 , p_source_127 => l_array_source_127(Idx)
161420 , p_source_132 => l_array_source_132(Idx)
161421 , p_source_133 => l_array_source_133(Idx)
161422 , p_source_134 => l_array_source_134(Idx)
161423 , p_source_136 => l_array_source_136(Idx)
161424 , p_source_139 => l_array_source_139(Idx)
161425 , p_source_140 => l_array_source_140(Idx)
161426 , p_source_141 => l_array_source_141(Idx)
161427 , p_source_146 => l_array_source_146(Idx)
161428 , p_source_147 => l_array_source_147(Idx)
161429 );
161430 If(l_balance_type_code = 'A') THEN
161431 l_actual_gain_loss_ref := l_gain_or_loss_ref;
161432 END IF;
161433
161434 --
161435
161436
161437 --
161438 AcctLineType_168 (
161439 p_application_id => p_application_id
161440 ,p_event_id => l_event_id
161441 ,p_calculate_acctd_flag => l_calculate_acctd_flag
161442 ,p_calculate_g_l_flag => l_calculate_g_l_flag
161443 ,p_actual_flag => l_actual_flag
161444 ,p_balance_type_code => l_balance_type_code
161445 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
161446
161447 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
161448 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
161449 , p_source_30 => l_array_source_30(Idx)
161450 , p_source_38 => l_array_source_38(Idx)
161451 , p_source_39 => g_array_event(l_event_id).array_value_num('source_39')
161452 , p_source_53 => l_array_source_53(Idx)
161453 , p_source_55 => l_array_source_55(Idx)
161457 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
161454 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
161455 , p_source_65 => l_array_source_65(Idx)
161456 , p_source_66 => l_array_source_66(Idx)
161458 , p_source_68 => l_array_source_68(Idx)
161459 , p_source_69 => l_array_source_69(Idx)
161460 , p_source_70 => l_array_source_70(Idx)
161461 , p_source_71 => l_array_source_71(Idx)
161462 , p_source_72 => l_array_source_72(Idx)
161463 , p_source_77 => l_array_source_77(Idx)
161464 , p_source_78 => l_array_source_78(Idx)
161465 , p_source_79 => l_array_source_79(Idx)
161466 , p_source_80 => l_array_source_80(Idx)
161467 , p_source_80_meaning => l_array_source_80_meaning(Idx)
161468 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
161469 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
161470 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
161471 , p_source_86 => l_array_source_86(Idx)
161472 , p_source_87 => l_array_source_87(Idx)
161473 , p_source_88 => l_array_source_88(Idx)
161474 , p_source_89 => l_array_source_89(Idx)
161475 , p_source_90 => l_array_source_90(Idx)
161476 , p_source_91 => l_array_source_91(Idx)
161477 , p_source_125 => l_array_source_125(Idx)
161478 , p_source_127 => l_array_source_127(Idx)
161479 , p_source_132 => l_array_source_132(Idx)
161480 , p_source_133 => l_array_source_133(Idx)
161481 , p_source_134 => l_array_source_134(Idx)
161482 , p_source_136 => l_array_source_136(Idx)
161483 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
161484 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
161485 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
161486 , p_source_146 => l_array_source_146(Idx)
161487 , p_source_147 => l_array_source_147(Idx)
161488 , p_source_148 => l_array_source_148(Idx)
161489 , p_source_149 => l_array_source_149(Idx)
161490 , p_source_155 => l_array_source_155(Idx)
161491 , p_source_162 => l_array_source_162(Idx)
161492 );
161493 If(l_balance_type_code = 'A') THEN
161494 l_actual_gain_loss_ref := l_gain_or_loss_ref;
161495 END IF;
161496
161497 --
161498
161499
161500 --
161501 AcctLineType_186 (
161502 p_application_id => p_application_id
161503 ,p_event_id => l_event_id
161504 ,p_calculate_acctd_flag => l_calculate_acctd_flag
161505 ,p_calculate_g_l_flag => l_calculate_g_l_flag
161506 ,p_actual_flag => l_actual_flag
161507 ,p_balance_type_code => l_balance_type_code
161508 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
161509
161510 , p_source_53 => l_array_source_53(Idx)
161511 , p_source_55 => l_array_source_55(Idx)
161512 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
161513 , p_source_65 => l_array_source_65(Idx)
161514 , p_source_66 => l_array_source_66(Idx)
161515 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
161516 , p_source_68 => l_array_source_68(Idx)
161517 , p_source_69 => l_array_source_69(Idx)
161518 , p_source_70 => l_array_source_70(Idx)
161519 , p_source_71 => l_array_source_71(Idx)
161520 , p_source_72 => l_array_source_72(Idx)
161521 , p_source_77 => l_array_source_77(Idx)
161522 , p_source_78 => l_array_source_78(Idx)
161523 , p_source_79 => l_array_source_79(Idx)
161524 , p_source_80 => l_array_source_80(Idx)
161525 , p_source_80_meaning => l_array_source_80_meaning(Idx)
161526 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
161527 , p_source_86 => l_array_source_86(Idx)
161528 , p_source_87 => l_array_source_87(Idx)
161529 , p_source_88 => l_array_source_88(Idx)
161530 , p_source_89 => l_array_source_89(Idx)
161531 , p_source_90 => l_array_source_90(Idx)
161532 , p_source_91 => l_array_source_91(Idx)
161533 , p_source_125 => l_array_source_125(Idx)
161534 , p_source_126 => l_array_source_126(Idx)
161535 , p_source_126_meaning => l_array_source_126_meaning(Idx)
161536 , p_source_127 => l_array_source_127(Idx)
161537 , p_source_132 => l_array_source_132(Idx)
161538 , p_source_133 => l_array_source_133(Idx)
161539 , p_source_134 => l_array_source_134(Idx)
161540 , p_source_135 => l_array_source_135(Idx)
161541 , p_source_136 => l_array_source_136(Idx)
161542 , p_source_146 => l_array_source_146(Idx)
161543 , p_source_147 => l_array_source_147(Idx)
161544 , p_source_148 => l_array_source_148(Idx)
161545 , p_source_149 => l_array_source_149(Idx)
161546 );
161547 If(l_balance_type_code = 'A') THEN
161548 l_actual_gain_loss_ref := l_gain_or_loss_ref;
161549 END IF;
161550
161551 --
161552
161553
161554 --
161555 AcctLineType_211 (
161556 p_application_id => p_application_id
161557 ,p_event_id => l_event_id
161558 ,p_calculate_acctd_flag => l_calculate_acctd_flag
161559 ,p_calculate_g_l_flag => l_calculate_g_l_flag
161560 ,p_actual_flag => l_actual_flag
161561 ,p_balance_type_code => l_balance_type_code
161562 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
161563
161564 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
161565 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
161566 , p_source_30 => l_array_source_30(Idx)
161567 , p_source_41 => g_array_event(l_event_id).array_value_num('source_41')
161568 , p_source_53 => l_array_source_53(Idx)
161569 , p_source_55 => l_array_source_55(Idx)
161570 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
161571 , p_source_65 => l_array_source_65(Idx)
161572 , p_source_66 => l_array_source_66(Idx)
161573 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
161574 , p_source_68 => l_array_source_68(Idx)
161575 , p_source_69 => l_array_source_69(Idx)
161576 , p_source_70 => l_array_source_70(Idx)
161577 , p_source_71 => l_array_source_71(Idx)
161578 , p_source_72 => l_array_source_72(Idx)
161579 , p_source_77 => l_array_source_77(Idx)
161580 , p_source_78 => l_array_source_78(Idx)
161581 , p_source_79 => l_array_source_79(Idx)
161585 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
161582 , p_source_80 => l_array_source_80(Idx)
161583 , p_source_80_meaning => l_array_source_80_meaning(Idx)
161584 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
161586 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
161587 , p_source_86 => l_array_source_86(Idx)
161588 , p_source_87 => l_array_source_87(Idx)
161589 , p_source_88 => l_array_source_88(Idx)
161590 , p_source_89 => l_array_source_89(Idx)
161591 , p_source_90 => l_array_source_90(Idx)
161592 , p_source_91 => l_array_source_91(Idx)
161593 , p_source_125 => l_array_source_125(Idx)
161594 , p_source_127 => l_array_source_127(Idx)
161595 , p_source_132 => l_array_source_132(Idx)
161596 , p_source_133 => l_array_source_133(Idx)
161597 , p_source_134 => l_array_source_134(Idx)
161598 , p_source_136 => l_array_source_136(Idx)
161599 , p_source_141 => l_array_source_141(Idx)
161600 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
161601 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
161602 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
161603 , p_source_146 => l_array_source_146(Idx)
161604 , p_source_147 => l_array_source_147(Idx)
161605 , p_source_148 => l_array_source_148(Idx)
161606 , p_source_149 => l_array_source_149(Idx)
161607 );
161608 If(l_balance_type_code = 'A') THEN
161609 l_actual_gain_loss_ref := l_gain_or_loss_ref;
161610 END IF;
161611
161612 --
161613
161614 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
161615 -- or secondary ledger that has different currency with primary
161616 -- or alc that is calculated by sla
161617 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
161618 (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'))
161619
161620 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
161621 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
161622 AND (l_actual_flag = 'A')) THEN
161623 XLA_AE_LINES_PKG.CreateGainOrLossLines(
161624 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
161625 ,p_application_id => p_application_id
161626 ,p_amb_context_code => 'DEFAULT'
161627 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
161628 ,p_event_class_code => C_EVENT_CLASS_CODE
161629 ,p_event_type_code => C_EVENT_TYPE_CODE
161630
161631 ,p_gain_ccid => -1
161632 ,p_loss_ccid => -1
161633
161634 ,p_actual_flag => l_actual_flag
161635 ,p_enc_flag => null
161636 ,p_actual_g_l_ref => l_actual_gain_loss_ref
161637 ,p_enc_g_l_ref => null
161638 );
161639 END IF;
161640 END IF;
161641 END IF;
161642
161643 ELSE
161644 --
161645 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
161646 --
161647 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
161648 trace
161649 (p_msg => 'Trancaction revesal option is Y'
161650 ,p_level => C_LEVEL_STATEMENT
161651 ,p_module => l_log_module);
161652 END IF;
161653 END IF;
161654
161655 END LOOP;
161656 l_result := XLA_AE_LINES_PKG.InsertLines ;
161657 end loop;
161658 close line_cur;
161659
161660
161661 --
161662 -- insert headers into xla_ae_headers_gt table
161663 --
161664 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
161665
161666 -- insert into errors table here.
161667
161668 END LOOP;
161669
161670 --
161671 -- 4865292
161672 --
161673 -- Compare g_hdr_extract_count with event count in
161674 -- CreateHeadersAndLines.
161675 --
161676 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
161677
161678 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
161679 trace (p_msg => '# rows extracted from header extract objects '
161680 || ' (running total): '
161681 || g_hdr_extract_count
161682 ,p_level => C_LEVEL_STATEMENT
161683 ,p_module => l_log_module);
161684 END IF;
161685
161686 CLOSE header_cur;
161687 --
161688
161689 --
161690 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
161691 trace
161692 (p_msg => 'END of EventClass_235'
161693 ,p_level => C_LEVEL_PROCEDURE
161694 ,p_module => l_log_module);
161695 END IF;
161696 --
161697 RETURN l_result;
161698 EXCEPTION
161699 WHEN xla_exceptions_pkg.application_exception THEN
161700
161701 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
161702
161703
161704 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
161705
161706 RAISE;
161707
161708 WHEN NO_DATA_FOUND THEN
161709
161710 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
161711 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
161712
161713 FOR header_record IN header_cur
161714 LOOP
161715 l_array_header_events(header_record.event_id) := header_record.event_id;
161716 END LOOP;
161717
161718 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
161719 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
161720
161721 fnd_file.put_line(fnd_file.LOG, ' ');
161722 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
161723 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
161724 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
161728 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
161725
161726 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
161727 LOOP
161729 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
161730 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
161731 END IF;
161732 END LOOP;
161733
161734 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
161735 fnd_file.put_line(fnd_file.LOG, ' ');
161736
161737
161738 xla_exceptions_pkg.raise_message
161739 (p_location => 'XLA_00200_AAD_S_000002_PKG.EventClass_235');
161740
161741
161742 WHEN OTHERS THEN
161743 xla_exceptions_pkg.raise_message
161744 (p_location => 'XLA_00200_AAD_S_000002_PKG.EventClass_235');
161745 END EventClass_235;
161746 --
161747
161748 ---------------------------------------
161749 --
161750 -- PRIVATE PROCEDURE
161751 -- insert_sources_236
161752 --
161753 ----------------------------------------
161754 --
161755 PROCEDURE insert_sources_236(
161756 p_target_ledger_id IN NUMBER
161757 , p_language IN VARCHAR2
161758 , p_sla_ledger_id IN NUMBER
161759 , p_pad_start_date IN DATE
161760 , p_pad_end_date IN DATE
161761 )
161762 IS
161763
161764 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENTS_ALL';
161765 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENTS';
161766 p_apps_owner VARCHAR2(30);
161767 l_log_module VARCHAR2(240);
161768 BEGIN
161769 IF g_log_enabled THEN
161770 l_log_module := C_DEFAULT_MODULE||'.insert_sources_236';
161771 END IF;
161772 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
161773
161774 trace
161775 (p_msg => 'BEGIN of insert_sources_236'
161776 ,p_level => C_LEVEL_PROCEDURE
161777 ,p_module => l_log_module);
161778
161779 END IF;
161780
161781 -- select APPS owner
161782 SELECT oracle_username
161783 INTO p_apps_owner
161784 FROM fnd_oracle_userid
161785 WHERE read_only_flag = 'U'
161786 ;
161787
161788 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
161789 trace
161790 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
161791 ' - p_language = '||p_language||
161792 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
161793 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
161794 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
161795 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
161796 ,p_level => C_LEVEL_STATEMENT
161797 ,p_module => l_log_module);
161798 END IF;
161799
161800
161801 --
161802 INSERT INTO xla_diag_sources --hdr2
161803 (
161804 event_id
161805 , ledger_id
161806 , sla_ledger_id
161807 , description_language
161808 , object_name
161809 , object_type_code
161810 , line_number
161811 , source_application_id
161812 , source_type_code
161813 , source_code
161814 , source_value
161815 , source_meaning
161816 , created_by
161817 , creation_date
161818 , last_update_date
161819 , last_updated_by
161820 , last_update_login
161821 , program_update_date
161822 , program_application_id
161823 , program_id
161824 , request_id
161825 )
161826 SELECT
161827 event_id
161828 , p_target_ledger_id
161829 , p_sla_ledger_id
161830 , p_language
161831 , object_name
161832 , object_type_code
161833 , line_number
161834 , source_application_id
161835 , source_type_code
161836 , source_code
161837 , SUBSTR(source_value ,1,1996)
161838 , SUBSTR(source_meaning ,1,200)
161839 , xla_environment_pkg.g_Usr_Id
161840 , TRUNC(SYSDATE)
161841 , TRUNC(SYSDATE)
161842 , xla_environment_pkg.g_Usr_Id
161843 , xla_environment_pkg.g_Login_Id
161844 , TRUNC(SYSDATE)
161845 , xla_environment_pkg.g_Prog_Appl_Id
161846 , xla_environment_pkg.g_Prog_Id
161847 , xla_environment_pkg.g_Req_Id
161848 FROM (
161849 SELECT xet.event_id event_id
161850 , 0 line_number
161851 , CASE r
161852 WHEN 1 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161853 WHEN 2 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161854 WHEN 3 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161855 WHEN 4 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161856 WHEN 5 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161857 WHEN 6 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161858 WHEN 7 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
161859 WHEN 8 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
161860 WHEN 9 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
161861 WHEN 10 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
161862 WHEN 11 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161863 WHEN 12 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
161864 WHEN 13 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161865 WHEN 14 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161866 WHEN 15 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161867 WHEN 16 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161868 WHEN 17 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161869 WHEN 18 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161870 WHEN 19 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161874 ELSE null
161871 WHEN 20 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161872 WHEN 21 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161873
161875 END object_name
161876 , CASE r
161877 WHEN 1 THEN 'HEADER'
161878 WHEN 2 THEN 'HEADER'
161879 WHEN 3 THEN 'HEADER'
161880 WHEN 4 THEN 'HEADER'
161881 WHEN 5 THEN 'HEADER'
161882 WHEN 6 THEN 'HEADER'
161883 WHEN 7 THEN 'HEADER'
161884 WHEN 8 THEN 'HEADER'
161885 WHEN 9 THEN 'HEADER'
161886 WHEN 10 THEN 'HEADER'
161887 WHEN 11 THEN 'HEADER'
161888 WHEN 12 THEN 'HEADER'
161889 WHEN 13 THEN 'HEADER'
161890 WHEN 14 THEN 'HEADER'
161891 WHEN 15 THEN 'HEADER'
161892 WHEN 16 THEN 'HEADER'
161893 WHEN 17 THEN 'HEADER'
161894 WHEN 18 THEN 'HEADER'
161895 WHEN 19 THEN 'HEADER'
161896 WHEN 20 THEN 'HEADER'
161897 WHEN 21 THEN 'HEADER'
161898
161899 ELSE null
161900 END object_type_code
161901 , CASE r
161902 WHEN 1 THEN '200'
161903 WHEN 2 THEN '200'
161904 WHEN 3 THEN '200'
161905 WHEN 4 THEN '200'
161906 WHEN 5 THEN '200'
161907 WHEN 6 THEN '200'
161908 WHEN 7 THEN '200'
161909 WHEN 8 THEN '200'
161910 WHEN 9 THEN '200'
161911 WHEN 10 THEN '200'
161912 WHEN 11 THEN '200'
161913 WHEN 12 THEN '200'
161914 WHEN 13 THEN '200'
161915 WHEN 14 THEN '200'
161916 WHEN 15 THEN '200'
161917 WHEN 16 THEN '200'
161918 WHEN 17 THEN '200'
161919 WHEN 18 THEN '200'
161920 WHEN 19 THEN '200'
161921 WHEN 20 THEN '200'
161922 WHEN 21 THEN '200'
161923
161924 ELSE null
161925 END source_application_id
161926 , 'S' source_type_code
161927 , CASE r
161928 WHEN 1 THEN 'INV_TRANSACTION_NUMBER'
161929 WHEN 2 THEN 'AI_INVOICE_DATE'
161930 WHEN 3 THEN 'INV_DOC_SEQUENCE_CATEGORY'
161931 WHEN 4 THEN 'DOC_SEQUENCE_NAME'
161932 WHEN 5 THEN 'INV_DOC_SEQUENCE_VALUE'
161933 WHEN 6 THEN 'AI_DESCRIPTION'
161934 WHEN 7 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
161935 WHEN 8 THEN 'ASP_RATE_VAR_GAIN_CCID'
161936 WHEN 9 THEN 'ASP_RATE_VAR_LOSS_CCID'
161937 WHEN 10 THEN 'ASP_BUILD_PREPAY_ACCOUNTS_FLAG'
161938 WHEN 11 THEN 'AI_ACCTS_PAY_CCID'
161939 WHEN 12 THEN 'ASP_AUTO_OFFSET_FLAG'
161940 WHEN 13 THEN 'AI_INVOICE_ID'
161941 WHEN 14 THEN 'AI_INVOICE_CURRENCY_CODE'
161942 WHEN 15 THEN 'AI_VENDOR_ID'
161943 WHEN 16 THEN 'AI_VENDOR_SITE_ID'
161944 WHEN 17 THEN 'THIRD_PARTY_TYPE'
161945 WHEN 18 THEN 'INV_EXCHANGE_DATE'
161946 WHEN 19 THEN 'INV_EXCHANGE_RATE'
161947 WHEN 20 THEN 'INV_EXCHANGE_RATE_TYPE'
161948 WHEN 21 THEN 'INV_DOC_SEQUENCE_IDENTIFIER'
161949
161950 ELSE null
161951 END source_code
161952 , CASE r
161953 WHEN 1 THEN TO_CHAR(h2.INV_TRANSACTION_NUMBER)
161954 WHEN 2 THEN TO_CHAR(h2.AI_INVOICE_DATE)
161955 WHEN 3 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_CATEGORY)
161956 WHEN 4 THEN TO_CHAR(h2.DOC_SEQUENCE_NAME)
161957 WHEN 5 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_VALUE)
161958 WHEN 6 THEN TO_CHAR(h2.AI_DESCRIPTION)
161959 WHEN 7 THEN TO_CHAR(h4.ASP_AUTOMATIC_OFFSETS_VALUE)
161960 WHEN 8 THEN TO_CHAR(h4.ASP_RATE_VAR_GAIN_CCID)
161961 WHEN 9 THEN TO_CHAR(h4.ASP_RATE_VAR_LOSS_CCID)
161962 WHEN 10 THEN TO_CHAR(h4.ASP_BUILD_PREPAY_ACCOUNTS_FLAG)
161963 WHEN 11 THEN TO_CHAR(h2.AI_ACCTS_PAY_CCID)
161964 WHEN 12 THEN TO_CHAR(h4.ASP_AUTO_OFFSET_FLAG)
161965 WHEN 13 THEN TO_CHAR(h2.AI_INVOICE_ID)
161966 WHEN 14 THEN TO_CHAR(h2.AI_INVOICE_CURRENCY_CODE)
161967 WHEN 15 THEN TO_CHAR(h2.AI_VENDOR_ID)
161968 WHEN 16 THEN TO_CHAR(h2.AI_VENDOR_SITE_ID)
161969 WHEN 17 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
161970 WHEN 18 THEN TO_CHAR(h2.INV_EXCHANGE_DATE)
161971 WHEN 19 THEN TO_CHAR(h2.INV_EXCHANGE_RATE)
161972 WHEN 20 THEN TO_CHAR(h2.INV_EXCHANGE_RATE_TYPE)
161973 WHEN 21 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_IDENTIFIER)
161974
161975 ELSE null
161976 END source_value
161977 , CASE r
161978 WHEN 7 THEN fvl15.meaning
161979 WHEN 10 THEN fvl31.meaning
161980 WHEN 12 THEN fvl47.meaning
161981
161982 ELSE null
161983 END source_meaning
161984 FROM xla_events_gt xet
161985 , AP_INVOICE_EXTRACT_HEADER_V h2
161986 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
161987 , fnd_lookup_values fvl15
161988 , fnd_lookup_values fvl31
161989 , fnd_lookup_values fvl47
161990 ,(select rownum r from all_objects where rownum <= 21 and owner = p_apps_owner)
161991 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
161995 AND fvl15.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
161992 AND xet.event_class_code = C_EVENT_CLASS_CODE
161993 AND h2.event_id = xet.event_id
161994 AND h4.asp_org_id = h2.ai_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
161996 AND fvl15.view_application_id(+) = 200
161997 AND fvl15.language(+) = USERENV('LANG')
161998 AND fvl31.lookup_type(+) = 'YES_NO'
161999 AND fvl31.lookup_code(+) = h4.ASP_BUILD_PREPAY_ACCOUNTS_FLAG
162000 AND fvl31.view_application_id(+) = 0
162001 AND fvl31.language(+) = USERENV('LANG')
162002 AND fvl47.lookup_type(+) = 'YES_NO'
162003 AND fvl47.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
162004 AND fvl47.view_application_id(+) = 0
162005 AND fvl47.language(+) = USERENV('LANG')
162006
162007 )
162008 ;
162009 --
162010 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
162011
162012 trace
162013 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
162014 ,p_level => C_LEVEL_STATEMENT
162015 ,p_module => l_log_module);
162016
162017 END IF;
162018 --
162019
162020
162021
162022 --
162023 INSERT INTO xla_diag_sources --line2
162024 (
162025 event_id
162026 , ledger_id
162027 , sla_ledger_id
162028 , description_language
162029 , object_name
162030 , object_type_code
162031 , line_number
162032 , source_application_id
162033 , source_type_code
162034 , source_code
162035 , source_value
162036 , source_meaning
162037 , created_by
162038 , creation_date
162039 , last_update_date
162040 , last_updated_by
162041 , last_update_login
162042 , program_update_date
162043 , program_application_id
162044 , program_id
162045 , request_id
162046 )
162047 SELECT event_id
162048 , p_target_ledger_id
162049 , p_sla_ledger_id
162050 , p_language
162051 , object_name
162052 , object_type_code
162053 , line_number
162054 , source_application_id
162055 , source_type_code
162056 , source_code
162057 , SUBSTR(source_value,1,1996)
162058 , SUBSTR(source_meaning ,1,200)
162059 , xla_environment_pkg.g_Usr_Id
162060 , TRUNC(SYSDATE)
162061 , TRUNC(SYSDATE)
162062 , xla_environment_pkg.g_Usr_Id
162063 , xla_environment_pkg.g_Login_Id
162064 , TRUNC(SYSDATE)
162065 , xla_environment_pkg.g_Prog_Appl_Id
162066 , xla_environment_pkg.g_Prog_Id
162067 , xla_environment_pkg.g_Req_Id
162068 FROM (
162069 SELECT xet.event_id event_id
162070 , l1.line_number line_number
162071 , CASE r
162072 WHEN 1 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162073 WHEN 2 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162074 WHEN 3 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162075 WHEN 4 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162076 WHEN 5 THEN 'AP_PO_HEADERS_EXTRACT_V'
162077 WHEN 6 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162078 WHEN 7 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162079 WHEN 8 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162080 WHEN 9 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162081 WHEN 10 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162082 WHEN 11 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162083 WHEN 12 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162084 WHEN 13 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162085 WHEN 14 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162086 WHEN 15 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162087 WHEN 16 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162088 WHEN 17 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162089 WHEN 18 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162090 WHEN 19 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162091 WHEN 20 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162092 WHEN 21 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162093 WHEN 22 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162094 WHEN 23 THEN 'AP_PO_HEADERS_EXTRACT_V'
162095 WHEN 24 THEN 'AP_PO_HEADERS_EXTRACT_V'
162096 WHEN 25 THEN 'AP_PO_HEADERS_EXTRACT_V'
162097 WHEN 26 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162098 WHEN 27 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162099 WHEN 28 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162100 WHEN 29 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162101 WHEN 30 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162102 WHEN 31 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162103 WHEN 32 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
162104 WHEN 33 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
162105 WHEN 34 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162106 WHEN 35 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162107 WHEN 36 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162108 WHEN 37 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162109 WHEN 38 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162110 WHEN 39 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162111 WHEN 40 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162112 WHEN 41 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162113 WHEN 42 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162114 WHEN 43 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
162115 WHEN 44 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
162116
162117 ELSE null
162118 END object_name
162119 , CASE r
162120 WHEN 1 THEN 'LINE'
162121 WHEN 2 THEN 'LINE'
162122 WHEN 3 THEN 'LINE'
162126 WHEN 7 THEN 'LINE'
162123 WHEN 4 THEN 'LINE'
162124 WHEN 5 THEN 'LINE'
162125 WHEN 6 THEN 'LINE'
162127 WHEN 8 THEN 'LINE'
162128 WHEN 9 THEN 'LINE'
162129 WHEN 10 THEN 'LINE'
162130 WHEN 11 THEN 'LINE'
162131 WHEN 12 THEN 'LINE'
162132 WHEN 13 THEN 'LINE'
162133 WHEN 14 THEN 'LINE'
162134 WHEN 15 THEN 'LINE'
162135 WHEN 16 THEN 'LINE'
162136 WHEN 17 THEN 'LINE'
162137 WHEN 18 THEN 'LINE'
162138 WHEN 19 THEN 'LINE'
162139 WHEN 20 THEN 'LINE'
162140 WHEN 21 THEN 'LINE'
162141 WHEN 22 THEN 'LINE'
162142 WHEN 23 THEN 'LINE'
162143 WHEN 24 THEN 'LINE'
162144 WHEN 25 THEN 'LINE'
162145 WHEN 26 THEN 'LINE'
162146 WHEN 27 THEN 'LINE'
162147 WHEN 28 THEN 'LINE'
162148 WHEN 29 THEN 'LINE'
162149 WHEN 30 THEN 'LINE'
162150 WHEN 31 THEN 'LINE'
162151 WHEN 32 THEN 'LINE'
162152 WHEN 33 THEN 'LINE'
162153 WHEN 34 THEN 'LINE'
162154 WHEN 35 THEN 'LINE'
162155 WHEN 36 THEN 'LINE'
162156 WHEN 37 THEN 'LINE'
162157 WHEN 38 THEN 'LINE'
162158 WHEN 39 THEN 'LINE'
162159 WHEN 40 THEN 'LINE'
162160 WHEN 41 THEN 'LINE'
162161 WHEN 42 THEN 'LINE'
162162 WHEN 43 THEN 'LINE'
162163 WHEN 44 THEN 'LINE'
162164
162165 ELSE null
162166 END object_type_code
162167 , CASE r
162168 WHEN 1 THEN '200'
162169 WHEN 2 THEN '200'
162170 WHEN 3 THEN '200'
162171 WHEN 4 THEN '200'
162172 WHEN 5 THEN '200'
162173 WHEN 6 THEN '200'
162174 WHEN 7 THEN '200'
162175 WHEN 8 THEN '200'
162176 WHEN 9 THEN '200'
162177 WHEN 10 THEN '200'
162178 WHEN 11 THEN '200'
162179 WHEN 12 THEN '200'
162180 WHEN 13 THEN '200'
162181 WHEN 14 THEN '200'
162182 WHEN 15 THEN '200'
162183 WHEN 16 THEN '200'
162184 WHEN 17 THEN '200'
162185 WHEN 18 THEN '200'
162186 WHEN 19 THEN '200'
162187 WHEN 20 THEN '200'
162188 WHEN 21 THEN '200'
162189 WHEN 22 THEN '200'
162190 WHEN 23 THEN '200'
162191 WHEN 24 THEN '200'
162192 WHEN 25 THEN '200'
162193 WHEN 26 THEN '200'
162194 WHEN 27 THEN '200'
162195 WHEN 28 THEN '200'
162196 WHEN 29 THEN '200'
162197 WHEN 30 THEN '200'
162198 WHEN 31 THEN '200'
162199 WHEN 32 THEN '200'
162200 WHEN 33 THEN '200'
162201 WHEN 34 THEN '200'
162202 WHEN 35 THEN '200'
162203 WHEN 36 THEN '200'
162204 WHEN 37 THEN '200'
162205 WHEN 38 THEN '200'
162206 WHEN 39 THEN '200'
162207 WHEN 40 THEN '200'
162208 WHEN 41 THEN '200'
162209 WHEN 42 THEN '200'
162210 WHEN 43 THEN '200'
162211 WHEN 44 THEN '200'
162212
162213 ELSE null
162214 END source_application_id
162215 , 'S' source_type_code
162216 , CASE r
162217 WHEN 1 THEN 'AID_DESCRIPTION'
162218 WHEN 2 THEN 'INV_DIST_BASE_AMOUNT'
162219 WHEN 3 THEN 'RELATED_INV_DIST_DEST_TYPE'
162220 WHEN 4 THEN 'AID_DIST_CCID'
162221 WHEN 5 THEN 'PO_NUMBER'
162222 WHEN 6 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
162223 WHEN 7 THEN 'AWT_RELATED_DIST_ACCOUNT'
162224 WHEN 8 THEN 'POD_CCID'
162225 WHEN 9 THEN 'SELF_ASSESSED_TAX_ACCOUNT'
162226 WHEN 10 THEN 'ASAT_LIAB_CCID'
162227 WHEN 11 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
162228 WHEN 12 THEN 'DISTRIBUTION_LINK_TYPE'
162229 WHEN 13 THEN 'ALLOC_TO_MAIN_DIST_ID'
162230 WHEN 14 THEN 'AID_INVOICE_DIST_ID'
162231 WHEN 15 THEN 'UPG_ENC_CR_CCID'
162232 WHEN 16 THEN 'UPG_ENC_CR_AMT'
162233 WHEN 17 THEN 'UPG_ENC_CR_BASE_AMT'
162234 WHEN 18 THEN 'UPG_ENC_DR_CCID'
162235 WHEN 19 THEN 'UPG_ENC_DR_AMT'
162236 WHEN 20 THEN 'UPG_ENC_DR_BASE_AMT'
162237 WHEN 21 THEN 'UPG_AP_ENCUM_OPTION'
162238 WHEN 22 THEN 'AID_AMOUNT'
162239 WHEN 23 THEN 'POH_RATE_DATE'
162240 WHEN 24 THEN 'POH_RATE'
162241 WHEN 25 THEN 'POH_RATE_TYPE'
162242 WHEN 26 THEN 'DEFERRED_END_DATE'
162243 WHEN 27 THEN 'DEFERRED_OPTION'
162244 WHEN 28 THEN 'DEFERRED_START_DATE'
162245 WHEN 29 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
162246 WHEN 30 THEN 'AID_PARENT_REVERSAL_ID'
162247 WHEN 31 THEN 'AID_STAT_AMOUNT'
162248 WHEN 32 THEN 'TAX_LINE_ID'
162249 WHEN 33 THEN 'REC_NREC_TAX_DIST_ID'
162250 WHEN 34 THEN 'SUMMARY_TAX_LINE_ID'
162251 WHEN 35 THEN 'UPG_CR_ENC_TYPE_ID'
162252 WHEN 36 THEN 'UPG_DR_ENC_TYPE_ID'
162256 WHEN 40 THEN 'BUS_FLOW_INV_DIST_ID'
162253 WHEN 37 THEN 'BUS_FLOW_AP_APP_ID'
162254 WHEN 38 THEN 'BUS_FLOW_INV_DIST_TYPE'
162255 WHEN 39 THEN 'BUS_FLOW_INV_ENTITY_CODE'
162257 WHEN 41 THEN 'BUS_FLOW_INV_ID'
162258 WHEN 42 THEN 'POD_ACCRUE_ON_RECEIPT_FLAG'
162259 WHEN 43 THEN 'DEF_REC_SETTLEMENT_OPTION_CODE'
162260 WHEN 44 THEN 'SELF_ASSESSED_TAX_FLAG'
162261
162262 ELSE null
162263 END source_code
162264 , CASE r
162265 WHEN 1 THEN TO_CHAR(l1.AID_DESCRIPTION)
162266 WHEN 2 THEN TO_CHAR(l1.INV_DIST_BASE_AMOUNT)
162267 WHEN 3 THEN TO_CHAR(l1.RELATED_INV_DIST_DEST_TYPE)
162268 WHEN 4 THEN TO_CHAR(l1.AID_DIST_CCID)
162269 WHEN 5 THEN TO_CHAR(l3.PO_NUMBER)
162270 WHEN 6 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
162271 WHEN 7 THEN TO_CHAR(l1.AWT_RELATED_DIST_ACCOUNT)
162272 WHEN 8 THEN TO_CHAR(l1.POD_CCID)
162273 WHEN 9 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_ACCOUNT)
162274 WHEN 10 THEN TO_CHAR(l1.ASAT_LIAB_CCID)
162275 WHEN 11 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
162276 WHEN 12 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
162277 WHEN 13 THEN TO_CHAR(l1.ALLOC_TO_MAIN_DIST_ID)
162278 WHEN 14 THEN TO_CHAR(l1.AID_INVOICE_DIST_ID)
162279 WHEN 15 THEN TO_CHAR(l1.UPG_ENC_CR_CCID)
162280 WHEN 16 THEN TO_CHAR(l1.UPG_ENC_CR_AMT)
162281 WHEN 17 THEN TO_CHAR(l1.UPG_ENC_CR_BASE_AMT)
162282 WHEN 18 THEN TO_CHAR(l1.UPG_ENC_DR_CCID)
162283 WHEN 19 THEN TO_CHAR(l1.UPG_ENC_DR_AMT)
162284 WHEN 20 THEN TO_CHAR(l1.UPG_ENC_DR_BASE_AMT)
162285 WHEN 21 THEN TO_CHAR(l1.UPG_AP_ENCUM_OPTION)
162286 WHEN 22 THEN TO_CHAR(l1.AID_AMOUNT)
162287 WHEN 23 THEN TO_CHAR(l3.POH_RATE_DATE)
162288 WHEN 24 THEN TO_CHAR(l3.POH_RATE)
162289 WHEN 25 THEN TO_CHAR(l3.POH_RATE_TYPE)
162290 WHEN 26 THEN TO_CHAR(l1.DEFERRED_END_DATE)
162291 WHEN 27 THEN TO_CHAR(l1.DEFERRED_OPTION)
162292 WHEN 28 THEN TO_CHAR(l1.DEFERRED_START_DATE)
162293 WHEN 29 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
162294 WHEN 30 THEN TO_CHAR(l1.AID_PARENT_REVERSAL_ID)
162295 WHEN 31 THEN TO_CHAR(l1.AID_STAT_AMOUNT)
162296 WHEN 32 THEN TO_CHAR(l5.TAX_LINE_ID)
162297 WHEN 33 THEN TO_CHAR(l6.REC_NREC_TAX_DIST_ID)
162298 WHEN 34 THEN TO_CHAR(l1.SUMMARY_TAX_LINE_ID)
162299 WHEN 35 THEN TO_CHAR(l1.UPG_CR_ENC_TYPE_ID)
162300 WHEN 36 THEN TO_CHAR(l1.UPG_DR_ENC_TYPE_ID)
162301 WHEN 37 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
162302 WHEN 38 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
162303 WHEN 39 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
162304 WHEN 40 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
162305 WHEN 41 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
162306 WHEN 42 THEN TO_CHAR(l1.POD_ACCRUE_ON_RECEIPT_FLAG)
162307 WHEN 43 THEN TO_CHAR(l5.DEF_REC_SETTLEMENT_OPTION_CODE)
162308 WHEN 44 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_FLAG)
162309
162310 ELSE null
162311 END source_value
162312 , CASE r
162313 WHEN 3 THEN fvl22.meaning
162314 WHEN 6 THEN fvl33.meaning
162315 WHEN 29 THEN fvl80.meaning
162316 WHEN 42 THEN fvl96.meaning
162317 WHEN 43 THEN fvl137.meaning
162318 WHEN 44 THEN fvl142.meaning
162319
162320 ELSE null
162321 END source_meaning
162322 FROM xla_events_gt xet
162323 , AP_INVOICE_EXTRACT_DETAILS_V l1
162324 , AP_PO_HEADERS_EXTRACT_V l3
162325 , ZX_AP_DEF_TAX_EXTRACT_V l5
162326 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
162327 , fnd_lookup_values fvl22
162328 , fnd_lookup_values fvl33
162329 , fnd_lookup_values fvl80
162330 , fnd_lookup_values fvl96
162331 , fnd_lookup_values fvl137
162332 , fnd_lookup_values fvl142
162333 , (select rownum r from all_objects where rownum <= 44 and owner = p_apps_owner)
162334 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
162335 AND xet.event_class_code = C_EVENT_CLASS_CODE
162336 AND l1.event_id = xet.event_id
162337 AND l1.pod_po_header_id = l3.po_header_id (+) AND l1.zrnd_tax_dist_id = l5.rec_nrec_tax_dist_id (+) AND l1.zrnd_tax_dist_id = l6.rec_nrec_tax_dist_id (+) AND fvl22.lookup_type(+) = 'DESTINATION TYPE'
162338 AND fvl22.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
162339 AND fvl22.view_application_id(+) = 201
162340 AND fvl22.language(+) = USERENV('LANG')
162341 AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
162342 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
162343 AND fvl33.view_application_id(+) = 200
162344 AND fvl33.language(+) = USERENV('LANG')
162345 AND fvl80.lookup_type(+) = 'YES_NO'
162346 AND fvl80.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
162347 AND fvl80.view_application_id(+) = 0
162348 AND fvl80.language(+) = USERENV('LANG')
162349 AND fvl96.lookup_type(+) = 'YES_NO'
162350 AND fvl96.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
162351 AND fvl96.view_application_id(+) = 0
162352 AND fvl96.language(+) = USERENV('LANG')
162353 AND fvl137.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
162354 AND fvl137.lookup_code(+) = l5.DEF_REC_SETTLEMENT_OPTION_CODE
162355 AND fvl137.view_application_id(+) = 0
162356 AND fvl137.language(+) = USERENV('LANG')
162360 AND fvl142.language(+) = USERENV('LANG')
162357 AND fvl142.lookup_type(+) = 'YES_NO'
162358 AND fvl142.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
162359 AND fvl142.view_application_id(+) = 0
162361
162362 )
162363 ;
162364 --
162365 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
162366
162367 trace
162368 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
162369 ,p_level => C_LEVEL_STATEMENT
162370 ,p_module => l_log_module);
162371
162372 END IF;
162373
162374
162375 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
162376 trace
162377 (p_msg => 'END of insert_sources_236'
162378 ,p_level => C_LEVEL_PROCEDURE
162379 ,p_module => l_log_module);
162380 END IF;
162381 EXCEPTION
162382 WHEN xla_exceptions_pkg.application_exception THEN
162383 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
162384 trace
162385 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
162386 ,p_level => C_LEVEL_EXCEPTION
162387 ,p_module => l_log_module);
162388 END IF;
162389 RAISE;
162390 WHEN OTHERS THEN
162391 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
162392 trace
162393 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
162394 ,p_level => C_LEVEL_EXCEPTION
162395 ,p_module => l_log_module);
162396 END IF;
162397 xla_exceptions_pkg.raise_message
162398 (p_location => 'XLA_00200_AAD_S_000002_PKG.insert_sources_236');
162399 END insert_sources_236;
162400 --
162401
162402 ---------------------------------------
162403 --
162404 -- PRIVATE FUNCTION
162405 -- EventClass_236
162406 --
162407 ----------------------------------------
162408 --
162409 FUNCTION EventClass_236
162410 (p_application_id IN NUMBER
162411 ,p_base_ledger_id IN NUMBER
162412 ,p_target_ledger_id IN NUMBER
162413 ,p_language IN VARCHAR2
162414 ,p_currency_code IN VARCHAR2
162415 ,p_sla_ledger_id IN NUMBER
162416 ,p_pad_start_date IN DATE
162417 ,p_pad_end_date IN DATE
162418 ,p_primary_ledger_id IN NUMBER)
162419 RETURN BOOLEAN IS
162420 --
162421 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENTS_ALL';
162422 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENTS';
162423
162424 l_calculate_acctd_flag VARCHAR2(1) :='N';
162425 l_calculate_g_l_flag VARCHAR2(1) :='N';
162426 --
162427 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
162428 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
162429 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
162430 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
162431 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
162432 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
162433 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
162434 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
162435 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
162436 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
162437 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
162438 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
162439 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
162440 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
162441 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
162442 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
162443 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
162444 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
162445 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
162446 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
162447 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
162448 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
162449 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
162450 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
162451 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
162452 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
162453
162454 l_event_id NUMBER;
162455 l_previous_event_id NUMBER;
162456 l_first_event_id NUMBER;
162457 l_last_event_id NUMBER;
162458
162459 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
162460 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
162461 --
162462 --
162463 l_result BOOLEAN := TRUE;
162464 l_rows NUMBER := 1000;
162465 l_event_type_name VARCHAR2(80) := 'All';
162466 l_event_class_name VARCHAR2(80) := 'Prepayments';
162467 l_description VARCHAR2(4000);
162468 l_transaction_reversal NUMBER;
162469 l_ae_header_id NUMBER;
162470 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
162471 l_log_module VARCHAR2(240);
162472 --
162473 l_acct_reversal_source VARCHAR2(30);
162474 l_trx_reversal_source VARCHAR2(30);
162475
162476 l_continue_with_lines BOOLEAN := TRUE;
162477 --
162478 l_acc_rev_gl_date_source DATE; -- 4262811
162479 --
162480 type t_array_event_id is table of number index by binary_integer;
162481
162485 l_actual_flag VARCHAR2(1) := NULL;
162482 l_rec_array_event t_rec_array_event;
162483 l_null_rec_array_event t_rec_array_event;
162484 l_array_ae_header_id xla_number_array_type;
162486 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
162487 l_balance_type_code VARCHAR2(1) :=NULL;
162488 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
162489
162490 --
162491 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
162492 --
162493
162494 TYPE t_array_source_3 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_TRANSACTION_NUMBER%TYPE INDEX BY BINARY_INTEGER;
162495 TYPE t_array_source_4 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_DATE%TYPE INDEX BY BINARY_INTEGER;
162496 TYPE t_array_source_5 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_CATEGORY%TYPE INDEX BY BINARY_INTEGER;
162497 TYPE t_array_source_6 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.DOC_SEQUENCE_NAME%TYPE INDEX BY BINARY_INTEGER;
162498 TYPE t_array_source_7 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
162499 TYPE t_array_source_8 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
162500 TYPE t_array_source_15 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
162501 TYPE t_array_source_20 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
162502 TYPE t_array_source_23 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
162503 TYPE t_array_source_31 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_BUILD_PREPAY_ACCOUNTS_FLAG%TYPE INDEX BY BINARY_INTEGER;
162504 TYPE t_array_source_34 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_ACCTS_PAY_CCID%TYPE INDEX BY BINARY_INTEGER;
162505 TYPE t_array_source_47 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
162506 TYPE t_array_source_58 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_ID%TYPE INDEX BY BINARY_INTEGER;
162507 TYPE t_array_source_67 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
162508 TYPE t_array_source_81 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
162509 TYPE t_array_source_82 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
162510 TYPE t_array_source_83 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
162511 TYPE t_array_source_143 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
162512 TYPE t_array_source_144 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
162513 TYPE t_array_source_145 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
162514 TYPE t_array_source_168 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
162515
162516 TYPE t_array_source_1 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
162517 TYPE t_array_source_21 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.INV_DIST_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
162518 TYPE t_array_source_22 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.RELATED_INV_DIST_DEST_TYPE%TYPE INDEX BY BINARY_INTEGER;
162519 TYPE t_array_source_30 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
162520 TYPE t_array_source_32 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.PO_NUMBER%TYPE INDEX BY BINARY_INTEGER;
162521 TYPE t_array_source_33 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
162522 TYPE t_array_source_43 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AWT_RELATED_DIST_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
162523 TYPE t_array_source_45 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.POD_CCID%TYPE INDEX BY BINARY_INTEGER;
162524 TYPE t_array_source_50 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
162525 TYPE t_array_source_51 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ASAT_LIAB_CCID%TYPE INDEX BY BINARY_INTEGER;
162526 TYPE t_array_source_53 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
162527 TYPE t_array_source_55 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
162528 TYPE t_array_source_57 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ALLOC_TO_MAIN_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
162529 TYPE t_array_source_64 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_INVOICE_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
162530 TYPE t_array_source_65 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_CCID%TYPE INDEX BY BINARY_INTEGER;
162531 TYPE t_array_source_66 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_AMT%TYPE INDEX BY BINARY_INTEGER;
162532 TYPE t_array_source_68 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
162533 TYPE t_array_source_69 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_CCID%TYPE INDEX BY BINARY_INTEGER;
162534 TYPE t_array_source_70 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_AMT%TYPE INDEX BY BINARY_INTEGER;
162535 TYPE t_array_source_71 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
162536 TYPE t_array_source_72 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_AP_ENCUM_OPTION%TYPE INDEX BY BINARY_INTEGER;
162537 TYPE t_array_source_73 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
162538 TYPE t_array_source_74 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_DATE%TYPE INDEX BY BINARY_INTEGER;
162539 TYPE t_array_source_75 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE%TYPE INDEX BY BINARY_INTEGER;
162540 TYPE t_array_source_76 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
162541 TYPE t_array_source_77 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_END_DATE%TYPE INDEX BY BINARY_INTEGER;
162542 TYPE t_array_source_78 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_OPTION%TYPE INDEX BY BINARY_INTEGER;
162543 TYPE t_array_source_79 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_START_DATE%TYPE INDEX BY BINARY_INTEGER;
162544 TYPE t_array_source_80 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
162548 TYPE t_array_source_87 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
162545 TYPE t_array_source_84 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_PARENT_REVERSAL_ID%TYPE INDEX BY BINARY_INTEGER;
162546 TYPE t_array_source_85 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_STAT_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
162547 TYPE t_array_source_86 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
162549 TYPE t_array_source_88 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
162550 TYPE t_array_source_89 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
162551 TYPE t_array_source_90 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
162552 TYPE t_array_source_91 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
162553 TYPE t_array_source_92 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
162554 TYPE t_array_source_93 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
162555 TYPE t_array_source_94 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
162556 TYPE t_array_source_95 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
162557 TYPE t_array_source_96 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.POD_ACCRUE_ON_RECEIPT_FLAG%TYPE INDEX BY BINARY_INTEGER;
162558 TYPE t_array_source_137 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.DEF_REC_SETTLEMENT_OPTION_CODE%TYPE INDEX BY BINARY_INTEGER;
162559 TYPE t_array_source_142 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_FLAG%TYPE INDEX BY BINARY_INTEGER;
162560
162561 l_array_source_3 t_array_source_3;
162562 l_array_source_4 t_array_source_4;
162563 l_array_source_5 t_array_source_5;
162564 l_array_source_6 t_array_source_6;
162565 l_array_source_7 t_array_source_7;
162566 l_array_source_8 t_array_source_8;
162567 l_array_source_15 t_array_source_15;
162568 l_array_source_15_meaning t_array_lookup_meaning;
162569 l_array_source_20 t_array_source_20;
162570 l_array_source_23 t_array_source_23;
162571 l_array_source_31 t_array_source_31;
162572 l_array_source_31_meaning t_array_lookup_meaning;
162573 l_array_source_34 t_array_source_34;
162574 l_array_source_47 t_array_source_47;
162575 l_array_source_47_meaning t_array_lookup_meaning;
162576 l_array_source_58 t_array_source_58;
162577 l_array_source_67 t_array_source_67;
162578 l_array_source_81 t_array_source_81;
162579 l_array_source_82 t_array_source_82;
162580 l_array_source_83 t_array_source_83;
162581 l_array_source_143 t_array_source_143;
162582 l_array_source_144 t_array_source_144;
162583 l_array_source_145 t_array_source_145;
162584 l_array_source_168 t_array_source_168;
162585
162586 l_array_source_1 t_array_source_1;
162587 l_array_source_21 t_array_source_21;
162588 l_array_source_22 t_array_source_22;
162589 l_array_source_22_meaning t_array_lookup_meaning;
162590 l_array_source_30 t_array_source_30;
162591 l_array_source_32 t_array_source_32;
162592 l_array_source_33 t_array_source_33;
162593 l_array_source_33_meaning t_array_lookup_meaning;
162594 l_array_source_43 t_array_source_43;
162595 l_array_source_45 t_array_source_45;
162596 l_array_source_50 t_array_source_50;
162597 l_array_source_51 t_array_source_51;
162598 l_array_source_53 t_array_source_53;
162599 l_array_source_55 t_array_source_55;
162600 l_array_source_57 t_array_source_57;
162601 l_array_source_64 t_array_source_64;
162602 l_array_source_65 t_array_source_65;
162603 l_array_source_66 t_array_source_66;
162604 l_array_source_68 t_array_source_68;
162605 l_array_source_69 t_array_source_69;
162606 l_array_source_70 t_array_source_70;
162607 l_array_source_71 t_array_source_71;
162608 l_array_source_72 t_array_source_72;
162609 l_array_source_73 t_array_source_73;
162610 l_array_source_74 t_array_source_74;
162611 l_array_source_75 t_array_source_75;
162612 l_array_source_76 t_array_source_76;
162613 l_array_source_77 t_array_source_77;
162614 l_array_source_78 t_array_source_78;
162615 l_array_source_79 t_array_source_79;
162616 l_array_source_80 t_array_source_80;
162617 l_array_source_80_meaning t_array_lookup_meaning;
162618 l_array_source_84 t_array_source_84;
162619 l_array_source_85 t_array_source_85;
162620 l_array_source_86 t_array_source_86;
162621 l_array_source_87 t_array_source_87;
162622 l_array_source_88 t_array_source_88;
162623 l_array_source_89 t_array_source_89;
162624 l_array_source_90 t_array_source_90;
162625 l_array_source_91 t_array_source_91;
162626 l_array_source_92 t_array_source_92;
162627 l_array_source_93 t_array_source_93;
162628 l_array_source_94 t_array_source_94;
162629 l_array_source_95 t_array_source_95;
162630 l_array_source_96 t_array_source_96;
162631 l_array_source_96_meaning t_array_lookup_meaning;
162632 l_array_source_137 t_array_source_137;
162633 l_array_source_137_meaning t_array_lookup_meaning;
162634 l_array_source_142 t_array_source_142;
162635 l_array_source_142_meaning t_array_lookup_meaning;
162636
162637 --
162638 CURSOR header_cur
162639 IS
162640 SELECT /*+ leading(xet) cardinality(xet,1) */
162641 -- Event Class Code: PREPAYMENTS
162642 xet.entity_id
162643 ,xet.legal_entity_id
162644 ,xet.entity_code
162645 ,xet.transaction_number
162646 ,xet.event_id
162647 ,xet.event_class_code
162648 ,xet.event_type_code
162649 ,xet.event_number
162650 ,xet.event_date
162651 ,xet.transaction_date
162652 ,xet.reference_num_1
162653 ,xet.reference_num_2
162654 ,xet.reference_num_3
162658 ,xet.reference_char_3
162655 ,xet.reference_num_4
162656 ,xet.reference_char_1
162657 ,xet.reference_char_2
162659 ,xet.reference_char_4
162660 ,xet.reference_date_1
162661 ,xet.reference_date_2
162662 ,xet.reference_date_3
162663 ,xet.reference_date_4
162664 ,xet.event_created_by
162665 ,xet.budgetary_control_flag
162666 , h2.INV_TRANSACTION_NUMBER source_3
162667 , h2.AI_INVOICE_DATE source_4
162668 , h2.INV_DOC_SEQUENCE_CATEGORY source_5
162669 , h2.DOC_SEQUENCE_NAME source_6
162670 , h2.INV_DOC_SEQUENCE_VALUE source_7
162671 , h2.AI_DESCRIPTION source_8
162672 , h4.ASP_AUTOMATIC_OFFSETS_VALUE source_15
162673 , fvl15.meaning source_15_meaning
162674 , h4.ASP_RATE_VAR_GAIN_CCID source_20
162675 , h4.ASP_RATE_VAR_LOSS_CCID source_23
162676 , h4.ASP_BUILD_PREPAY_ACCOUNTS_FLAG source_31
162677 , fvl31.meaning source_31_meaning
162678 , h2.AI_ACCTS_PAY_CCID source_34
162679 , h4.ASP_AUTO_OFFSET_FLAG source_47
162680 , fvl47.meaning source_47_meaning
162681 , h2.AI_INVOICE_ID source_58
162682 , h2.AI_INVOICE_CURRENCY_CODE source_67
162683 , h2.AI_VENDOR_ID source_81
162684 , h2.AI_VENDOR_SITE_ID source_82
162685 , h2.THIRD_PARTY_TYPE source_83
162686 , h2.INV_EXCHANGE_DATE source_143
162687 , h2.INV_EXCHANGE_RATE source_144
162688 , h2.INV_EXCHANGE_RATE_TYPE source_145
162689 , h2.INV_DOC_SEQUENCE_IDENTIFIER source_168
162690 FROM xla_events_gt xet
162691 , AP_INVOICE_EXTRACT_HEADER_V h2
162692 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
162693 , fnd_lookup_values fvl15
162694 , fnd_lookup_values fvl31
162695 , fnd_lookup_values fvl47
162696 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
162697 and xet.event_class_code = C_EVENT_CLASS_CODE
162698 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
162699 AND h4.asp_org_id = h2.ai_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
162700 AND fvl15.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
162701 AND fvl15.view_application_id(+) = 200
162702 AND fvl15.language(+) = USERENV('LANG')
162703 AND fvl31.lookup_type(+) = 'YES_NO'
162704 AND fvl31.lookup_code(+) = h4.ASP_BUILD_PREPAY_ACCOUNTS_FLAG
162705 AND fvl31.view_application_id(+) = 0
162706 AND fvl31.language(+) = USERENV('LANG')
162707 AND fvl47.lookup_type(+) = 'YES_NO'
162708 AND fvl47.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
162709 AND fvl47.view_application_id(+) = 0
162710 AND fvl47.language(+) = USERENV('LANG')
162711
162712 ORDER BY event_id
162713 ;
162714
162715
162716 --
162717 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
162718 IS
162719 SELECT /*+ leading(xet) cardinality(xet,1) */
162720 -- Event Class Code: PREPAYMENTS
162721 xet.entity_id
162722 ,xet.legal_entity_id
162723 ,xet.entity_code
162724 ,xet.transaction_number
162725 ,xet.event_id
162726 ,xet.event_class_code
162727 ,xet.event_type_code
162728 ,xet.event_number
162729 ,xet.event_date
162730 ,xet.transaction_date
162731 ,xet.reference_num_1
162732 ,xet.reference_num_2
162733 ,xet.reference_num_3
162734 ,xet.reference_num_4
162735 ,xet.reference_char_1
162736 ,xet.reference_char_2
162737 ,xet.reference_char_3
162738 ,xet.reference_char_4
162739 ,xet.reference_date_1
162740 ,xet.reference_date_2
162741 ,xet.reference_date_3
162742 ,xet.reference_date_4
162743 ,xet.event_created_by
162744 ,xet.budgetary_control_flag
162745 , l1.LINE_NUMBER
162746 , l1.AID_DESCRIPTION source_1
162747 , l1.INV_DIST_BASE_AMOUNT source_21
162748 , l1.RELATED_INV_DIST_DEST_TYPE source_22
162749 , fvl22.meaning source_22_meaning
162750 , l1.AID_DIST_CCID source_30
162751 , l3.PO_NUMBER source_32
162752 , l1.AID_LINE_TYPE_LOOKUP_CODE source_33
162753 , fvl33.meaning source_33_meaning
162754 , l1.AWT_RELATED_DIST_ACCOUNT source_43
162755 , l1.POD_CCID source_45
162756 , l1.SELF_ASSESSED_TAX_ACCOUNT source_50
162757 , l1.ASAT_LIAB_CCID source_51
162758 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_53
162759 , l1.DISTRIBUTION_LINK_TYPE source_55
162760 , l1.ALLOC_TO_MAIN_DIST_ID source_57
162761 , l1.AID_INVOICE_DIST_ID source_64
162762 , l1.UPG_ENC_CR_CCID source_65
162763 , l1.UPG_ENC_CR_AMT source_66
162764 , l1.UPG_ENC_CR_BASE_AMT source_68
162765 , l1.UPG_ENC_DR_CCID source_69
162766 , l1.UPG_ENC_DR_AMT source_70
162767 , l1.UPG_ENC_DR_BASE_AMT source_71
162768 , l1.UPG_AP_ENCUM_OPTION source_72
162769 , l1.AID_AMOUNT source_73
162770 , l3.POH_RATE_DATE source_74
162771 , l3.POH_RATE source_75
162772 , l3.POH_RATE_TYPE source_76
162773 , l1.DEFERRED_END_DATE source_77
162774 , l1.DEFERRED_OPTION source_78
162775 , l1.DEFERRED_START_DATE source_79
162776 , l1.OVERRIDE_ACCTD_AMT_FLAG source_80
162777 , fvl80.meaning source_80_meaning
162778 , l1.AID_PARENT_REVERSAL_ID source_84
162779 , l1.AID_STAT_AMOUNT source_85
162780 , l5.TAX_LINE_ID source_86
162781 , l6.REC_NREC_TAX_DIST_ID source_87
162782 , l1.SUMMARY_TAX_LINE_ID source_88
162783 , l1.UPG_CR_ENC_TYPE_ID source_89
162784 , l1.UPG_DR_ENC_TYPE_ID source_90
162785 , l1.BUS_FLOW_AP_APP_ID source_91
162786 , l1.BUS_FLOW_INV_DIST_TYPE source_92
162787 , l1.BUS_FLOW_INV_ENTITY_CODE source_93
162788 , l1.BUS_FLOW_INV_DIST_ID source_94
162789 , l1.BUS_FLOW_INV_ID source_95
162790 , l1.POD_ACCRUE_ON_RECEIPT_FLAG source_96
162791 , fvl96.meaning source_96_meaning
162792 , l5.DEF_REC_SETTLEMENT_OPTION_CODE source_137
162793 , fvl137.meaning source_137_meaning
162794 , l1.SELF_ASSESSED_TAX_FLAG source_142
162798 , AP_PO_HEADERS_EXTRACT_V l3
162795 , fvl142.meaning source_142_meaning
162796 FROM xla_events_gt xet
162797 , AP_INVOICE_EXTRACT_DETAILS_V l1
162799 , ZX_AP_DEF_TAX_EXTRACT_V l5
162800 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
162801 , fnd_lookup_values fvl22
162802 , fnd_lookup_values fvl33
162803 , fnd_lookup_values fvl80
162804 , fnd_lookup_values fvl96
162805 , fnd_lookup_values fvl137
162806 , fnd_lookup_values fvl142
162807 WHERE xet.event_id between x_first_event_id and x_last_event_id
162808 and xet.event_date between p_pad_start_date and p_pad_end_date
162809 and xet.event_class_code = C_EVENT_CLASS_CODE
162810 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
162811 AND l1.POD_PO_Header_Id = l3.PO_Header_Id (+) AND l1.ZRND_tax_dist_id = l5.REC_NREC_TAX_DIST_ID (+) AND l1.ZRND_tax_dist_id = l6.REC_NREC_TAX_DIST_ID (+) AND fvl22.lookup_type(+) = 'DESTINATION TYPE'
162812 AND fvl22.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
162813 AND fvl22.view_application_id(+) = 201
162814 AND fvl22.language(+) = USERENV('LANG')
162815 AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
162816 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
162817 AND fvl33.view_application_id(+) = 200
162818 AND fvl33.language(+) = USERENV('LANG')
162819 AND fvl80.lookup_type(+) = 'YES_NO'
162820 AND fvl80.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
162821 AND fvl80.view_application_id(+) = 0
162822 AND fvl80.language(+) = USERENV('LANG')
162823 AND fvl96.lookup_type(+) = 'YES_NO'
162824 AND fvl96.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
162825 AND fvl96.view_application_id(+) = 0
162826 AND fvl96.language(+) = USERENV('LANG')
162827 AND fvl137.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
162828 AND fvl137.lookup_code(+) = l5.DEF_REC_SETTLEMENT_OPTION_CODE
162829 AND fvl137.view_application_id(+) = 0
162830 AND fvl137.language(+) = USERENV('LANG')
162831 AND fvl142.lookup_type(+) = 'YES_NO'
162832 AND fvl142.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
162833 AND fvl142.view_application_id(+) = 0
162834 AND fvl142.language(+) = USERENV('LANG')
162835 ;
162836
162837 --
162838 BEGIN
162839 IF g_log_enabled THEN
162840 l_log_module := C_DEFAULT_MODULE||'.EventClass_236';
162841 END IF;
162842 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
162843 trace
162844 (p_msg => 'BEGIN of EventClass_236'
162845 ,p_level => C_LEVEL_PROCEDURE
162846 ,p_module => l_log_module);
162847 END IF;
162848
162849 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
162850 trace
162851 (p_msg => 'p_application_id = '||p_application_id||
162852 ' - p_base_ledger_id = '||p_base_ledger_id||
162853 ' - p_target_ledger_id = '||p_target_ledger_id||
162854 ' - p_language = '||p_language||
162855 ' - p_currency_code = '||p_currency_code||
162856 ' - p_sla_ledger_id = '||p_sla_ledger_id
162857 ,p_level => C_LEVEL_STATEMENT
162858 ,p_module => l_log_module);
162859 END IF;
162860 --
162861 -- initialze arrays
162862 --
162863 g_array_event.DELETE;
162864 l_rec_array_event := l_null_rec_array_event;
162865 --
162866 --------------------------------------
162867 -- 4262811 Initialze MPA Line Number
162868 --------------------------------------
162869 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
162870
162871 --
162872
162873 --
162874 OPEN header_cur;
162875 --
162876 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
162877 trace
162878 (p_msg => 'SQL - FETCH header_cur'
162879 ,p_level => C_LEVEL_STATEMENT
162880 ,p_module => l_log_module);
162881 END IF;
162882 --
162883 LOOP
162884 FETCH header_cur BULK COLLECT INTO
162885 l_array_entity_id
162886 , l_array_legal_entity_id
162887 , l_array_entity_code
162888 , l_array_transaction_num
162889 , l_array_event_id
162890 , l_array_class_code
162891 , l_array_event_type
162892 , l_array_event_number
162893 , l_array_event_date
162894 , l_array_transaction_date
162895 , l_array_reference_num_1
162896 , l_array_reference_num_2
162897 , l_array_reference_num_3
162898 , l_array_reference_num_4
162899 , l_array_reference_char_1
162900 , l_array_reference_char_2
162901 , l_array_reference_char_3
162902 , l_array_reference_char_4
162903 , l_array_reference_date_1
162904 , l_array_reference_date_2
162905 , l_array_reference_date_3
162906 , l_array_reference_date_4
162907 , l_array_event_created_by
162908 , l_array_budgetary_control_flag
162909 , l_array_source_3
162910 , l_array_source_4
162911 , l_array_source_5
162912 , l_array_source_6
162913 , l_array_source_7
162914 , l_array_source_8
162915 , l_array_source_15
162916 , l_array_source_15_meaning
162917 , l_array_source_20
162918 , l_array_source_23
162919 , l_array_source_31
162920 , l_array_source_31_meaning
162921 , l_array_source_34
162922 , l_array_source_47
162923 , l_array_source_47_meaning
162924 , l_array_source_58
162925 , l_array_source_67
162926 , l_array_source_81
162927 , l_array_source_82
162928 , l_array_source_83
162929 , l_array_source_143
162930 , l_array_source_144
162931 , l_array_source_145
162932 , l_array_source_168
162933 LIMIT l_rows;
162934 --
162935 IF (C_LEVEL_EVENT >= g_log_level) THEN
162936 trace
162937 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
162941 --
162938 ,p_level => C_LEVEL_EVENT
162939 ,p_module => l_log_module);
162940 END IF;
162942 EXIT WHEN l_array_entity_id.COUNT = 0;
162943
162944 -- initialize arrays
162945 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
162946 XLA_AE_LINES_PKG.g_rec_lines := NULL;
162947
162948 --
162949 -- Bug 4458708
162950 --
162951 XLA_AE_LINES_PKG.g_LineNumber := 0;
162952
162953
162954 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
162955 g_last_hdr_idx := l_array_event_id.LAST;
162956 --
162957 -- loop for the headers. Each iteration is for each header extract row
162958 -- fetched in header cursor
162959 --
162960 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
162961
162962 --
162963 -- set event info as cache for other routines to refer event attributes
162964 --
162965 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
162966 (p_application_id => p_application_id
162967 ,p_primary_ledger_id => p_primary_ledger_id
162968 ,p_base_ledger_id => p_base_ledger_id
162969 ,p_target_ledger_id => p_target_ledger_id
162970 ,p_entity_id => l_array_entity_id(hdr_idx)
162971 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
162972 ,p_entity_code => l_array_entity_code(hdr_idx)
162973 ,p_transaction_num => l_array_transaction_num(hdr_idx)
162974 ,p_event_id => l_array_event_id(hdr_idx)
162975 ,p_event_class_code => l_array_class_code(hdr_idx)
162976 ,p_event_type_code => l_array_event_type(hdr_idx)
162977 ,p_event_number => l_array_event_number(hdr_idx)
162978 ,p_event_date => l_array_event_date(hdr_idx)
162979 ,p_transaction_date => l_array_transaction_date(hdr_idx)
162980 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
162981 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
162982 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
162983 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
162984 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
162985 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
162986 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
162987 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
162988 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
162989 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
162990 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
162991 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
162992 ,p_event_created_by => l_array_event_created_by(hdr_idx)
162993 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
162994
162995 --
162996 -- set the status of entry to C_VALID (0)
162997 --
162998 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
162999
163000 --
163001 -- initialize a row for ae header
163002 --
163003 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
163004
163005 l_event_id := l_array_event_id(hdr_idx);
163006
163007 --
163008 -- storing the hdr_idx for event. May be used by line cursor.
163009 --
163010 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
163011
163012 --
163013 -- store sources from header extract. This can be improved to
163014 -- store only those sources from header extract that may be used in lines
163015 --
163016
163017 g_array_event(l_event_id).array_value_char('source_3') := l_array_source_3(hdr_idx);
163018 g_array_event(l_event_id).array_value_date('source_4') := l_array_source_4(hdr_idx);
163019 g_array_event(l_event_id).array_value_char('source_5') := l_array_source_5(hdr_idx);
163020 g_array_event(l_event_id).array_value_char('source_6') := l_array_source_6(hdr_idx);
163021 g_array_event(l_event_id).array_value_num('source_7') := l_array_source_7(hdr_idx);
163022 g_array_event(l_event_id).array_value_char('source_8') := l_array_source_8(hdr_idx);
163023 g_array_event(l_event_id).array_value_char('source_15') := l_array_source_15(hdr_idx);
163024 g_array_event(l_event_id).array_value_char('source_15_meaning') := l_array_source_15_meaning(hdr_idx);
163025 g_array_event(l_event_id).array_value_num('source_20') := l_array_source_20(hdr_idx);
163026 g_array_event(l_event_id).array_value_num('source_23') := l_array_source_23(hdr_idx);
163027 g_array_event(l_event_id).array_value_char('source_31') := l_array_source_31(hdr_idx);
163028 g_array_event(l_event_id).array_value_char('source_31_meaning') := l_array_source_31_meaning(hdr_idx);
163029 g_array_event(l_event_id).array_value_num('source_34') := l_array_source_34(hdr_idx);
163030 g_array_event(l_event_id).array_value_char('source_47') := l_array_source_47(hdr_idx);
163031 g_array_event(l_event_id).array_value_char('source_47_meaning') := l_array_source_47_meaning(hdr_idx);
163032 g_array_event(l_event_id).array_value_num('source_58') := l_array_source_58(hdr_idx);
163033 g_array_event(l_event_id).array_value_char('source_67') := l_array_source_67(hdr_idx);
163034 g_array_event(l_event_id).array_value_num('source_81') := l_array_source_81(hdr_idx);
163035 g_array_event(l_event_id).array_value_num('source_82') := l_array_source_82(hdr_idx);
163036 g_array_event(l_event_id).array_value_char('source_83') := l_array_source_83(hdr_idx);
163037 g_array_event(l_event_id).array_value_date('source_143') := l_array_source_143(hdr_idx);
163038 g_array_event(l_event_id).array_value_num('source_144') := l_array_source_144(hdr_idx);
163039 g_array_event(l_event_id).array_value_char('source_145') := l_array_source_145(hdr_idx);
163040 g_array_event(l_event_id).array_value_num('source_168') := l_array_source_168(hdr_idx);
163041
163042 --
163043 -- initilaize the status of ae headers for diffrent balance types
163044 -- the status is initialised to C_NOT_CREATED (2)
163045 --
163046 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
163047 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
163051 -- call api to validate and store accounting attributes for header
163048 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
163049
163050 --
163052 --
163053
163054 ------------------------------------------------------------
163055 -- Accrual Reversal : to get date for Standard Source (NONE)
163056 ------------------------------------------------------------
163057 l_acc_rev_gl_date_source := NULL;
163058
163059 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
163060 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_5');
163061 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
163062 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_168');
163063 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
163064 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_7');
163065 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
163066 l_rec_acct_attrs.array_date_value(4) :=
163067 xla_ae_sources_pkg.GetSystemSourceDate(
163068 p_source_code => 'XLA_EVENT_DATE'
163069 , p_source_type_code => 'Y'
163070 , p_source_application_id => 602
163071 );
163072
163073
163074 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
163075
163076 XLA_AE_HEADER_PKG.SetJeCategoryName;
163077
163078 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
163079 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
163080 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
163081 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
163082 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
163083
163084
163085 --
163086 xla_ae_header_pkg.SetHdrDescription(
163087 p_description => Description_2 (
163088 p_application_id => p_application_id
163089 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
163090 , p_source_4 => g_array_event(l_event_id).array_value_date('source_4')
163091 , p_source_5 => g_array_event(l_event_id).array_value_char('source_5')
163092 , p_source_6 => g_array_event(l_event_id).array_value_char('source_6')
163093 , p_source_7 => g_array_event(l_event_id).array_value_num('source_7')
163094 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
163095 )
163096 );
163097 --
163098
163099 -- No header level analytical criteria
163100
163101 --
163102 --accounting attribute enhancement, bug 3612931
163103 --
163104 l_trx_reversal_source := SUBSTR(NULL, 1,30);
163105
163106 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
163107 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
163108
163109 xla_accounting_err_pkg.build_message
163110 (p_appli_s_name => 'XLA'
163111 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
163112 ,p_token_1 => 'ACCT_ATTR_NAME'
163113 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
163114 ,p_token_2 => 'PRODUCT_NAME'
163115 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
163116 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
163117 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
163118 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
163119
163120 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
163121 --
163122 -- following sets the accounting attributes needed to reverse
163123 -- accounting for a distributeion
163124 --
163125 xla_ae_lines_pkg.SetTrxReversalAttrs
163126 (p_event_id => l_event_id
163127 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
163128 ,p_trx_reversal_source => l_trx_reversal_source);
163129
163130 END IF;
163131
163132
163133 ----------------------------------------------------------------
163134 -- 4262811 - update the header statuses to invalid in need be
163135 ----------------------------------------------------------------
163136 --
163137 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
163138
163139
163140 -----------------------------------------------
163141 -- No accrual reversal for the event class/type
163142 -----------------------------------------------
163143 ----------------------------------------------------------------
163144
163145 --
163146 -- this ends the header loop iteration for one bulk fetch
163147 --
163148 END LOOP;
163149
163150 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
163151 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
163152
163153 --
163154 -- insert dummy rows into lines gt table that were created due to
163155 -- transaction reversals
163156 --
163157 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
163158 l_result := XLA_AE_LINES_PKG.InsertLines;
163159 END IF;
163160
163161 --
163162 -- reset the temp_line_num for each set of events fetched from header
163163 -- cursor rather than doing it for each new event in line cursor
163164 -- Bug 3939231
163165 --
163166 xla_ae_lines_pkg.g_temp_line_num := 0;
163167
163168
163169
163170 --
163171 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
163172 --
163173 --
163174 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
163175
163176 trace
163177 (p_msg => 'SQL - FETCH line_cur'
163178 ,p_level => C_LEVEL_STATEMENT
163179 ,p_module => l_log_module);
163180
163181 END IF;
163185 --
163182 --
163183 --
163184 LOOP
163186 FETCH line_cur BULK COLLECT INTO
163187 l_array_entity_id
163188 , l_array_legal_entity_id
163189 , l_array_entity_code
163190 , l_array_transaction_num
163191 , l_array_event_id
163192 , l_array_class_code
163193 , l_array_event_type
163194 , l_array_event_number
163195 , l_array_event_date
163196 , l_array_transaction_date
163197 , l_array_reference_num_1
163198 , l_array_reference_num_2
163199 , l_array_reference_num_3
163200 , l_array_reference_num_4
163201 , l_array_reference_char_1
163202 , l_array_reference_char_2
163203 , l_array_reference_char_3
163204 , l_array_reference_char_4
163205 , l_array_reference_date_1
163206 , l_array_reference_date_2
163207 , l_array_reference_date_3
163208 , l_array_reference_date_4
163209 , l_array_event_created_by
163210 , l_array_budgetary_control_flag
163211 , l_array_extract_line_num
163212 , l_array_source_1
163213 , l_array_source_21
163214 , l_array_source_22
163215 , l_array_source_22_meaning
163216 , l_array_source_30
163217 , l_array_source_32
163218 , l_array_source_33
163219 , l_array_source_33_meaning
163220 , l_array_source_43
163221 , l_array_source_45
163222 , l_array_source_50
163223 , l_array_source_51
163224 , l_array_source_53
163225 , l_array_source_55
163226 , l_array_source_57
163227 , l_array_source_64
163228 , l_array_source_65
163229 , l_array_source_66
163230 , l_array_source_68
163231 , l_array_source_69
163232 , l_array_source_70
163233 , l_array_source_71
163234 , l_array_source_72
163235 , l_array_source_73
163236 , l_array_source_74
163237 , l_array_source_75
163238 , l_array_source_76
163239 , l_array_source_77
163240 , l_array_source_78
163241 , l_array_source_79
163242 , l_array_source_80
163243 , l_array_source_80_meaning
163244 , l_array_source_84
163245 , l_array_source_85
163246 , l_array_source_86
163247 , l_array_source_87
163248 , l_array_source_88
163249 , l_array_source_89
163250 , l_array_source_90
163251 , l_array_source_91
163252 , l_array_source_92
163253 , l_array_source_93
163254 , l_array_source_94
163255 , l_array_source_95
163256 , l_array_source_96
163257 , l_array_source_96_meaning
163258 , l_array_source_137
163259 , l_array_source_137_meaning
163260 , l_array_source_142
163261 , l_array_source_142_meaning
163262 LIMIT l_rows;
163263
163264 --
163265 IF (C_LEVEL_EVENT >= g_log_level) THEN
163266 trace
163267 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
163268 ,p_level => C_LEVEL_EVENT
163269 ,p_module => l_log_module);
163270 END IF;
163271 --
163272 EXIT WHEN l_array_entity_id.count = 0;
163273
163274 XLA_AE_LINES_PKG.g_rec_lines := null;
163275
163276 --
163277 -- Bug 4458708
163278 --
163279 XLA_AE_LINES_PKG.g_LineNumber := 0;
163280 --
163281 --
163282
163283 FOR Idx IN 1..l_array_event_id.count LOOP
163284 --
163285 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
163286 --
163287 l_event_id := l_array_event_id(idx); -- 5648433
163288
163289 --
163290 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
163291 --
163292
163293 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
163294 (g_array_event(l_event_id).array_value_num('header_index'))
163295 ,'N'
163296 ) <> 'Y'
163297 THEN
163298 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
163299 trace
163300 (p_msg => 'Trancaction revesal option is not Y '
163301 ,p_level => C_LEVEL_STATEMENT
163302 ,p_module => l_log_module);
163303 END IF;
163304
163305 --
163306 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
163307 --
163308 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
163309 --
163310 -- set event info as cache for other routines to refer event attributes
163311 --
163312
163313 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
163314 l_previous_event_id := l_event_id;
163315
163316 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
163317 (p_application_id => p_application_id
163318 ,p_primary_ledger_id => p_primary_ledger_id
163319 ,p_base_ledger_id => p_base_ledger_id
163320 ,p_target_ledger_id => p_target_ledger_id
163321 ,p_entity_id => l_array_entity_id(Idx)
163322 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
163323 ,p_entity_code => l_array_entity_code(Idx)
163324 ,p_transaction_num => l_array_transaction_num(Idx)
163325 ,p_event_id => l_array_event_id(Idx)
163326 ,p_event_class_code => l_array_class_code(Idx)
163327 ,p_event_type_code => l_array_event_type(Idx)
163328 ,p_event_number => l_array_event_number(Idx)
163329 ,p_event_date => l_array_event_date(Idx)
163330 ,p_transaction_date => l_array_transaction_date(Idx)
163331 ,p_reference_num_1 => l_array_reference_num_1(Idx)
163332 ,p_reference_num_2 => l_array_reference_num_2(Idx)
163333 ,p_reference_num_3 => l_array_reference_num_3(Idx)
163334 ,p_reference_num_4 => l_array_reference_num_4(Idx)
163338 ,p_reference_char_4 => l_array_reference_char_4(Idx)
163335 ,p_reference_char_1 => l_array_reference_char_1(Idx)
163336 ,p_reference_char_2 => l_array_reference_char_2(Idx)
163337 ,p_reference_char_3 => l_array_reference_char_3(Idx)
163339 ,p_reference_date_1 => l_array_reference_date_1(Idx)
163340 ,p_reference_date_2 => l_array_reference_date_2(Idx)
163341 ,p_reference_date_3 => l_array_reference_date_3(Idx)
163342 ,p_reference_date_4 => l_array_reference_date_4(Idx)
163343 ,p_event_created_by => l_array_event_created_by(Idx)
163344 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
163345 --
163346 END IF;
163347
163348
163349
163350 --
163351 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
163352
163353 l_acct_reversal_source := SUBSTR(l_array_source_53(Idx), 1,30);
163354
163355 IF l_continue_with_lines THEN
163356 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
163357 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
163358
163359 xla_accounting_err_pkg.build_message
163360 (p_appli_s_name => 'XLA'
163361 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
163362 ,p_token_1 => 'LINE_NUMBER'
163363 ,p_value_1 => l_array_extract_line_num(Idx)
163364 ,p_token_2 => 'PRODUCT_NAME'
163365 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
163366 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
163367 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
163368 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
163369
163370 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
163371 --
163372 -- following sets the accounting attributes needed to reverse
163373 -- accounting for a distributeion
163374 --
163375
163376 --
163377 -- 5217187
163378 --
163379 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
163380 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
163381 g_array_event(l_event_id).array_value_num('header_index'));
163382 --
163383 --
163384
163385 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
163386 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_53(Idx);
163387 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
163388 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_64(Idx);
163389 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
163390 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_55(Idx);
163391 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'ENC_UPG_CR_CCID';
163392 l_rec_rev_acct_attrs.array_num_value(5) := l_array_source_65(Idx);
163393 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_ENTERED_AMT';
163394 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_66(Idx);
163395 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_ENTERED_CURR';
163396 l_rec_rev_acct_attrs.array_char_value(7) := g_array_event(l_event_id).array_value_char('source_67');
163397 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_LEDGER_AMT';
163398 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_68(Idx);
163399 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_DR_CCID';
163400 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_69(Idx);
163401 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_DR_ENTERED_AMT';
163402 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_70(Idx);
163403 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_ENTERED_CURR';
163404 l_rec_rev_acct_attrs.array_char_value(11) := g_array_event(l_event_id).array_value_char('source_67');
163405 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_LEDGER_AMT';
163406 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_71(Idx);
163407 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_OPTION';
163408 l_rec_rev_acct_attrs.array_char_value(13) := l_array_source_72(Idx);
163409 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
163410 l_rec_rev_acct_attrs.array_char_value(14) := g_array_event(l_event_id).array_value_char('source_83');
163411 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
163412 l_rec_rev_acct_attrs.array_num_value(15) := l_array_source_84(Idx);
163413 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
163414 l_rec_rev_acct_attrs.array_char_value(16) := l_array_source_55(Idx);
163415 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
163416 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_86(Idx);
163417 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
163418 l_rec_rev_acct_attrs.array_num_value(18) := l_array_source_87(Idx);
163419 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
163420 l_rec_rev_acct_attrs.array_num_value(19) := l_array_source_88(Idx);
163421 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'UPG_CR_ENC_TYPE_ID';
163422 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_89(Idx);
163423 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
163424 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_90(Idx);
163425
163426
163427 xla_ae_lines_pkg.SetAcctReversalAttrs
163428 (p_event_id => l_event_id
163429 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
163430 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163431 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
163432 END IF;
163433
163437 --
163434 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
163435 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
163436
163438 AcctLineType_50 (
163439 p_application_id => p_application_id
163440 ,p_event_id => l_event_id
163441 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163442 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163443 ,p_actual_flag => l_actual_flag
163444 ,p_balance_type_code => l_balance_type_code
163445 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163446
163447 , p_source_1 => l_array_source_1(Idx)
163448 , p_source_21 => l_array_source_21(Idx)
163449 , p_source_30 => l_array_source_30(Idx)
163450 , p_source_33 => l_array_source_33(Idx)
163451 , p_source_33_meaning => l_array_source_33_meaning(Idx)
163452 , p_source_53 => l_array_source_53(Idx)
163453 , p_source_55 => l_array_source_55(Idx)
163454 , p_source_57 => l_array_source_57(Idx)
163455 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
163456 , p_source_64 => l_array_source_64(Idx)
163457 , p_source_65 => l_array_source_65(Idx)
163458 , p_source_66 => l_array_source_66(Idx)
163459 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
163460 , p_source_68 => l_array_source_68(Idx)
163461 , p_source_69 => l_array_source_69(Idx)
163462 , p_source_70 => l_array_source_70(Idx)
163463 , p_source_71 => l_array_source_71(Idx)
163464 , p_source_72 => l_array_source_72(Idx)
163465 , p_source_73 => l_array_source_73(Idx)
163466 , p_source_74 => l_array_source_74(Idx)
163467 , p_source_75 => l_array_source_75(Idx)
163468 , p_source_76 => l_array_source_76(Idx)
163469 , p_source_77 => l_array_source_77(Idx)
163470 , p_source_78 => l_array_source_78(Idx)
163471 , p_source_79 => l_array_source_79(Idx)
163472 , p_source_80 => l_array_source_80(Idx)
163473 , p_source_80_meaning => l_array_source_80_meaning(Idx)
163474 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
163475 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
163476 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
163477 , p_source_84 => l_array_source_84(Idx)
163478 , p_source_85 => l_array_source_85(Idx)
163479 , p_source_86 => l_array_source_86(Idx)
163480 , p_source_87 => l_array_source_87(Idx)
163481 , p_source_88 => l_array_source_88(Idx)
163482 , p_source_89 => l_array_source_89(Idx)
163483 , p_source_90 => l_array_source_90(Idx)
163484 , p_source_91 => l_array_source_91(Idx)
163485 , p_source_92 => l_array_source_92(Idx)
163486 , p_source_93 => l_array_source_93(Idx)
163487 , p_source_94 => l_array_source_94(Idx)
163488 , p_source_95 => l_array_source_95(Idx)
163489 );
163490 If(l_balance_type_code = 'A') THEN
163491 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163492 END IF;
163493
163494 --
163495
163496
163497 --
163498 AcctLineType_54 (
163499 p_application_id => p_application_id
163500 ,p_event_id => l_event_id
163501 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163502 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163503 ,p_actual_flag => l_actual_flag
163504 ,p_balance_type_code => l_balance_type_code
163505 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163506
163507 , p_source_1 => l_array_source_1(Idx)
163508 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
163509 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
163510 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
163511 , p_source_21 => l_array_source_21(Idx)
163512 , p_source_22 => l_array_source_22(Idx)
163513 , p_source_22_meaning => l_array_source_22_meaning(Idx)
163514 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
163515 , p_source_30 => l_array_source_30(Idx)
163516 , p_source_33 => l_array_source_33(Idx)
163517 , p_source_33_meaning => l_array_source_33_meaning(Idx)
163518 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
163519 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
163520 , p_source_53 => l_array_source_53(Idx)
163521 , p_source_55 => l_array_source_55(Idx)
163522 , p_source_57 => l_array_source_57(Idx)
163523 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
163524 , p_source_64 => l_array_source_64(Idx)
163525 , p_source_65 => l_array_source_65(Idx)
163526 , p_source_66 => l_array_source_66(Idx)
163527 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
163528 , p_source_68 => l_array_source_68(Idx)
163529 , p_source_69 => l_array_source_69(Idx)
163530 , p_source_70 => l_array_source_70(Idx)
163531 , p_source_71 => l_array_source_71(Idx)
163532 , p_source_72 => l_array_source_72(Idx)
163533 , p_source_77 => l_array_source_77(Idx)
163534 , p_source_78 => l_array_source_78(Idx)
163535 , p_source_79 => l_array_source_79(Idx)
163536 , p_source_80 => l_array_source_80(Idx)
163537 , p_source_80_meaning => l_array_source_80_meaning(Idx)
163538 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
163539 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
163540 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
163541 , p_source_84 => l_array_source_84(Idx)
163542 , p_source_85 => l_array_source_85(Idx)
163543 , p_source_86 => l_array_source_86(Idx)
163544 , p_source_87 => l_array_source_87(Idx)
163545 , p_source_88 => l_array_source_88(Idx)
163546 , p_source_89 => l_array_source_89(Idx)
163547 , p_source_90 => l_array_source_90(Idx)
163548 , p_source_91 => l_array_source_91(Idx)
163549 , p_source_92 => l_array_source_92(Idx)
163550 , p_source_93 => l_array_source_93(Idx)
163551 , p_source_94 => l_array_source_94(Idx)
163552 , p_source_95 => l_array_source_95(Idx)
163553 );
163554 If(l_balance_type_code = 'A') THEN
163555 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163556 END IF;
163557
163558 --
163559
163560
163561 --
163562 AcctLineType_58 (
163566 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163563 p_application_id => p_application_id
163564 ,p_event_id => l_event_id
163565 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163567 ,p_actual_flag => l_actual_flag
163568 ,p_balance_type_code => l_balance_type_code
163569 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163570
163571 , p_source_1 => l_array_source_1(Idx)
163572 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
163573 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
163574 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
163575 , p_source_21 => l_array_source_21(Idx)
163576 , p_source_22 => l_array_source_22(Idx)
163577 , p_source_22_meaning => l_array_source_22_meaning(Idx)
163578 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
163579 , p_source_30 => l_array_source_30(Idx)
163580 , p_source_33 => l_array_source_33(Idx)
163581 , p_source_33_meaning => l_array_source_33_meaning(Idx)
163582 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
163583 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
163584 , p_source_53 => l_array_source_53(Idx)
163585 , p_source_55 => l_array_source_55(Idx)
163586 , p_source_57 => l_array_source_57(Idx)
163587 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
163588 , p_source_64 => l_array_source_64(Idx)
163589 , p_source_65 => l_array_source_65(Idx)
163590 , p_source_66 => l_array_source_66(Idx)
163591 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
163592 , p_source_68 => l_array_source_68(Idx)
163593 , p_source_69 => l_array_source_69(Idx)
163594 , p_source_70 => l_array_source_70(Idx)
163595 , p_source_71 => l_array_source_71(Idx)
163596 , p_source_72 => l_array_source_72(Idx)
163597 , p_source_77 => l_array_source_77(Idx)
163598 , p_source_78 => l_array_source_78(Idx)
163599 , p_source_79 => l_array_source_79(Idx)
163600 , p_source_80 => l_array_source_80(Idx)
163601 , p_source_80_meaning => l_array_source_80_meaning(Idx)
163602 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
163603 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
163604 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
163605 , p_source_84 => l_array_source_84(Idx)
163606 , p_source_85 => l_array_source_85(Idx)
163607 , p_source_86 => l_array_source_86(Idx)
163608 , p_source_87 => l_array_source_87(Idx)
163609 , p_source_88 => l_array_source_88(Idx)
163610 , p_source_89 => l_array_source_89(Idx)
163611 , p_source_90 => l_array_source_90(Idx)
163612 , p_source_91 => l_array_source_91(Idx)
163613 , p_source_92 => l_array_source_92(Idx)
163614 , p_source_93 => l_array_source_93(Idx)
163615 , p_source_94 => l_array_source_94(Idx)
163616 , p_source_95 => l_array_source_95(Idx)
163617 , p_source_96 => l_array_source_96(Idx)
163618 , p_source_96_meaning => l_array_source_96_meaning(Idx)
163619 );
163620 If(l_balance_type_code = 'A') THEN
163621 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163622 END IF;
163623
163624 --
163625
163626
163627 --
163628 AcctLineType_100 (
163629 p_application_id => p_application_id
163630 ,p_event_id => l_event_id
163631 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163632 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163633 ,p_actual_flag => l_actual_flag
163634 ,p_balance_type_code => l_balance_type_code
163635 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163636
163637 , p_source_1 => l_array_source_1(Idx)
163638 , p_source_21 => l_array_source_21(Idx)
163639 , p_source_30 => l_array_source_30(Idx)
163640 , p_source_33 => l_array_source_33(Idx)
163641 , p_source_33_meaning => l_array_source_33_meaning(Idx)
163642 , p_source_53 => l_array_source_53(Idx)
163643 , p_source_55 => l_array_source_55(Idx)
163644 , p_source_57 => l_array_source_57(Idx)
163645 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
163646 , p_source_64 => l_array_source_64(Idx)
163647 , p_source_65 => l_array_source_65(Idx)
163648 , p_source_66 => l_array_source_66(Idx)
163649 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
163650 , p_source_68 => l_array_source_68(Idx)
163651 , p_source_69 => l_array_source_69(Idx)
163652 , p_source_70 => l_array_source_70(Idx)
163653 , p_source_71 => l_array_source_71(Idx)
163654 , p_source_72 => l_array_source_72(Idx)
163655 , p_source_73 => l_array_source_73(Idx)
163656 , p_source_77 => l_array_source_77(Idx)
163657 , p_source_78 => l_array_source_78(Idx)
163658 , p_source_79 => l_array_source_79(Idx)
163659 , p_source_80 => l_array_source_80(Idx)
163660 , p_source_80_meaning => l_array_source_80_meaning(Idx)
163661 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
163662 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
163663 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
163664 , p_source_84 => l_array_source_84(Idx)
163665 , p_source_85 => l_array_source_85(Idx)
163666 , p_source_86 => l_array_source_86(Idx)
163667 , p_source_87 => l_array_source_87(Idx)
163668 , p_source_88 => l_array_source_88(Idx)
163669 , p_source_89 => l_array_source_89(Idx)
163670 , p_source_90 => l_array_source_90(Idx)
163671 , p_source_91 => l_array_source_91(Idx)
163672 , p_source_92 => l_array_source_92(Idx)
163673 , p_source_93 => l_array_source_93(Idx)
163674 , p_source_94 => l_array_source_94(Idx)
163675 , p_source_95 => l_array_source_95(Idx)
163676 , p_source_137 => l_array_source_137(Idx)
163677 , p_source_137_meaning => l_array_source_137_meaning(Idx)
163678 , p_source_142 => l_array_source_142(Idx)
163679 , p_source_142_meaning => l_array_source_142_meaning(Idx)
163680 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
163681 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
163682 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
163683 );
163687
163684 If(l_balance_type_code = 'A') THEN
163685 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163686 END IF;
163688 --
163689
163690
163691 --
163692 AcctLineType_110 (
163693 p_application_id => p_application_id
163694 ,p_event_id => l_event_id
163695 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163696 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163697 ,p_actual_flag => l_actual_flag
163698 ,p_balance_type_code => l_balance_type_code
163699 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163700
163701 , p_source_1 => l_array_source_1(Idx)
163702 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
163703 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
163704 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
163705 , p_source_21 => l_array_source_21(Idx)
163706 , p_source_22 => l_array_source_22(Idx)
163707 , p_source_22_meaning => l_array_source_22_meaning(Idx)
163708 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
163709 , p_source_30 => l_array_source_30(Idx)
163710 , p_source_33 => l_array_source_33(Idx)
163711 , p_source_33_meaning => l_array_source_33_meaning(Idx)
163712 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
163713 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
163714 , p_source_53 => l_array_source_53(Idx)
163715 , p_source_55 => l_array_source_55(Idx)
163716 , p_source_57 => l_array_source_57(Idx)
163717 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
163718 , p_source_64 => l_array_source_64(Idx)
163719 , p_source_65 => l_array_source_65(Idx)
163720 , p_source_66 => l_array_source_66(Idx)
163721 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
163722 , p_source_68 => l_array_source_68(Idx)
163723 , p_source_69 => l_array_source_69(Idx)
163724 , p_source_70 => l_array_source_70(Idx)
163725 , p_source_71 => l_array_source_71(Idx)
163726 , p_source_72 => l_array_source_72(Idx)
163727 , p_source_73 => l_array_source_73(Idx)
163728 , p_source_77 => l_array_source_77(Idx)
163729 , p_source_78 => l_array_source_78(Idx)
163730 , p_source_79 => l_array_source_79(Idx)
163731 , p_source_80 => l_array_source_80(Idx)
163732 , p_source_80_meaning => l_array_source_80_meaning(Idx)
163733 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
163734 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
163735 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
163736 , p_source_84 => l_array_source_84(Idx)
163737 , p_source_85 => l_array_source_85(Idx)
163738 , p_source_86 => l_array_source_86(Idx)
163739 , p_source_87 => l_array_source_87(Idx)
163740 , p_source_88 => l_array_source_88(Idx)
163741 , p_source_89 => l_array_source_89(Idx)
163742 , p_source_90 => l_array_source_90(Idx)
163743 , p_source_91 => l_array_source_91(Idx)
163744 , p_source_92 => l_array_source_92(Idx)
163745 , p_source_93 => l_array_source_93(Idx)
163746 , p_source_94 => l_array_source_94(Idx)
163747 , p_source_95 => l_array_source_95(Idx)
163748 , p_source_96 => l_array_source_96(Idx)
163749 , p_source_96_meaning => l_array_source_96_meaning(Idx)
163750 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
163751 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
163752 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
163753 );
163754 If(l_balance_type_code = 'A') THEN
163755 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163756 END IF;
163757
163758 --
163759
163760
163761 --
163762 AcctLineType_119 (
163763 p_application_id => p_application_id
163764 ,p_event_id => l_event_id
163765 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163766 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163767 ,p_actual_flag => l_actual_flag
163768 ,p_balance_type_code => l_balance_type_code
163769 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163770
163771 , p_source_1 => l_array_source_1(Idx)
163772 , p_source_21 => l_array_source_21(Idx)
163773 , p_source_30 => l_array_source_30(Idx)
163774 , p_source_33 => l_array_source_33(Idx)
163775 , p_source_33_meaning => l_array_source_33_meaning(Idx)
163776 , p_source_53 => l_array_source_53(Idx)
163777 , p_source_55 => l_array_source_55(Idx)
163778 , p_source_57 => l_array_source_57(Idx)
163779 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
163780 , p_source_64 => l_array_source_64(Idx)
163781 , p_source_65 => l_array_source_65(Idx)
163782 , p_source_66 => l_array_source_66(Idx)
163783 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
163784 , p_source_68 => l_array_source_68(Idx)
163785 , p_source_69 => l_array_source_69(Idx)
163786 , p_source_70 => l_array_source_70(Idx)
163787 , p_source_71 => l_array_source_71(Idx)
163788 , p_source_72 => l_array_source_72(Idx)
163789 , p_source_73 => l_array_source_73(Idx)
163790 , p_source_77 => l_array_source_77(Idx)
163791 , p_source_78 => l_array_source_78(Idx)
163792 , p_source_79 => l_array_source_79(Idx)
163793 , p_source_80 => l_array_source_80(Idx)
163794 , p_source_80_meaning => l_array_source_80_meaning(Idx)
163795 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
163796 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
163797 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
163798 , p_source_84 => l_array_source_84(Idx)
163799 , p_source_85 => l_array_source_85(Idx)
163800 , p_source_86 => l_array_source_86(Idx)
163801 , p_source_87 => l_array_source_87(Idx)
163802 , p_source_88 => l_array_source_88(Idx)
163803 , p_source_89 => l_array_source_89(Idx)
163804 , p_source_90 => l_array_source_90(Idx)
163805 , p_source_91 => l_array_source_91(Idx)
163806 , p_source_92 => l_array_source_92(Idx)
163807 , p_source_93 => l_array_source_93(Idx)
163808 , p_source_94 => l_array_source_94(Idx)
163812 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
163809 , p_source_95 => l_array_source_95(Idx)
163810 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
163811 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
163813 );
163814 If(l_balance_type_code = 'A') THEN
163815 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163816 END IF;
163817
163818 --
163819
163820
163821 --
163822 AcctLineType_141 (
163823 p_application_id => p_application_id
163824 ,p_event_id => l_event_id
163825 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163826 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163827 ,p_actual_flag => l_actual_flag
163828 ,p_balance_type_code => l_balance_type_code
163829 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163830
163831 , p_source_1 => l_array_source_1(Idx)
163832 , p_source_21 => l_array_source_21(Idx)
163833 , p_source_30 => l_array_source_30(Idx)
163834 , p_source_33 => l_array_source_33(Idx)
163835 , p_source_33_meaning => l_array_source_33_meaning(Idx)
163836 , p_source_53 => l_array_source_53(Idx)
163837 , p_source_55 => l_array_source_55(Idx)
163838 , p_source_57 => l_array_source_57(Idx)
163839 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
163840 , p_source_64 => l_array_source_64(Idx)
163841 , p_source_65 => l_array_source_65(Idx)
163842 , p_source_66 => l_array_source_66(Idx)
163843 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
163844 , p_source_68 => l_array_source_68(Idx)
163845 , p_source_69 => l_array_source_69(Idx)
163846 , p_source_70 => l_array_source_70(Idx)
163847 , p_source_71 => l_array_source_71(Idx)
163848 , p_source_72 => l_array_source_72(Idx)
163849 , p_source_73 => l_array_source_73(Idx)
163850 , p_source_77 => l_array_source_77(Idx)
163851 , p_source_78 => l_array_source_78(Idx)
163852 , p_source_79 => l_array_source_79(Idx)
163853 , p_source_80 => l_array_source_80(Idx)
163854 , p_source_80_meaning => l_array_source_80_meaning(Idx)
163855 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
163856 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
163857 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
163858 , p_source_84 => l_array_source_84(Idx)
163859 , p_source_85 => l_array_source_85(Idx)
163860 , p_source_86 => l_array_source_86(Idx)
163861 , p_source_87 => l_array_source_87(Idx)
163862 , p_source_88 => l_array_source_88(Idx)
163863 , p_source_89 => l_array_source_89(Idx)
163864 , p_source_90 => l_array_source_90(Idx)
163865 , p_source_91 => l_array_source_91(Idx)
163866 , p_source_92 => l_array_source_92(Idx)
163867 , p_source_93 => l_array_source_93(Idx)
163868 , p_source_94 => l_array_source_94(Idx)
163869 , p_source_95 => l_array_source_95(Idx)
163870 , p_source_96 => l_array_source_96(Idx)
163871 , p_source_96_meaning => l_array_source_96_meaning(Idx)
163872 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
163873 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
163874 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
163875 );
163876 If(l_balance_type_code = 'A') THEN
163877 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163878 END IF;
163879
163880 --
163881
163882
163883 --
163884 AcctLineType_158 (
163885 p_application_id => p_application_id
163886 ,p_event_id => l_event_id
163887 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163888 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163889 ,p_actual_flag => l_actual_flag
163890 ,p_balance_type_code => l_balance_type_code
163891 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163892
163893 , p_source_1 => l_array_source_1(Idx)
163894 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
163895 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
163896 , p_source_21 => l_array_source_21(Idx)
163897 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
163898 , p_source_53 => l_array_source_53(Idx)
163899 , p_source_55 => l_array_source_55(Idx)
163900 , p_source_57 => l_array_source_57(Idx)
163901 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
163902 , p_source_64 => l_array_source_64(Idx)
163903 , p_source_65 => l_array_source_65(Idx)
163904 , p_source_66 => l_array_source_66(Idx)
163905 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
163906 , p_source_68 => l_array_source_68(Idx)
163907 , p_source_69 => l_array_source_69(Idx)
163908 , p_source_70 => l_array_source_70(Idx)
163909 , p_source_71 => l_array_source_71(Idx)
163910 , p_source_72 => l_array_source_72(Idx)
163911 , p_source_73 => l_array_source_73(Idx)
163912 , p_source_77 => l_array_source_77(Idx)
163913 , p_source_78 => l_array_source_78(Idx)
163914 , p_source_79 => l_array_source_79(Idx)
163915 , p_source_80 => l_array_source_80(Idx)
163916 , p_source_80_meaning => l_array_source_80_meaning(Idx)
163917 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
163918 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
163919 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
163920 , p_source_84 => l_array_source_84(Idx)
163921 , p_source_85 => l_array_source_85(Idx)
163922 , p_source_86 => l_array_source_86(Idx)
163923 , p_source_87 => l_array_source_87(Idx)
163924 , p_source_88 => l_array_source_88(Idx)
163925 , p_source_89 => l_array_source_89(Idx)
163926 , p_source_90 => l_array_source_90(Idx)
163927 , p_source_91 => l_array_source_91(Idx)
163928 , p_source_92 => l_array_source_92(Idx)
163929 , p_source_93 => l_array_source_93(Idx)
163930 , p_source_94 => l_array_source_94(Idx)
163931 , p_source_95 => l_array_source_95(Idx)
163932 , p_source_142 => l_array_source_142(Idx)
163933 , p_source_142_meaning => l_array_source_142_meaning(Idx)
163934 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
163938 If(l_balance_type_code = 'A') THEN
163935 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
163936 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
163937 );
163939 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163940 END IF;
163941
163942 --
163943
163944
163945 --
163946 AcctLineType_159 (
163947 p_application_id => p_application_id
163948 ,p_event_id => l_event_id
163949 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163950 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163951 ,p_actual_flag => l_actual_flag
163952 ,p_balance_type_code => l_balance_type_code
163953 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163954
163955 , p_source_1 => l_array_source_1(Idx)
163956 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
163957 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
163958 , p_source_21 => l_array_source_21(Idx)
163959 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
163960 , p_source_53 => l_array_source_53(Idx)
163961 , p_source_55 => l_array_source_55(Idx)
163962 , p_source_57 => l_array_source_57(Idx)
163963 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
163964 , p_source_64 => l_array_source_64(Idx)
163965 , p_source_65 => l_array_source_65(Idx)
163966 , p_source_66 => l_array_source_66(Idx)
163967 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
163968 , p_source_68 => l_array_source_68(Idx)
163969 , p_source_69 => l_array_source_69(Idx)
163970 , p_source_70 => l_array_source_70(Idx)
163971 , p_source_71 => l_array_source_71(Idx)
163972 , p_source_72 => l_array_source_72(Idx)
163973 , p_source_73 => l_array_source_73(Idx)
163974 , p_source_77 => l_array_source_77(Idx)
163975 , p_source_78 => l_array_source_78(Idx)
163976 , p_source_79 => l_array_source_79(Idx)
163977 , p_source_80 => l_array_source_80(Idx)
163978 , p_source_80_meaning => l_array_source_80_meaning(Idx)
163979 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
163980 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
163981 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
163982 , p_source_84 => l_array_source_84(Idx)
163983 , p_source_85 => l_array_source_85(Idx)
163984 , p_source_86 => l_array_source_86(Idx)
163985 , p_source_87 => l_array_source_87(Idx)
163986 , p_source_88 => l_array_source_88(Idx)
163987 , p_source_89 => l_array_source_89(Idx)
163988 , p_source_90 => l_array_source_90(Idx)
163989 , p_source_91 => l_array_source_91(Idx)
163990 , p_source_92 => l_array_source_92(Idx)
163991 , p_source_93 => l_array_source_93(Idx)
163992 , p_source_94 => l_array_source_94(Idx)
163993 , p_source_95 => l_array_source_95(Idx)
163994 , p_source_142 => l_array_source_142(Idx)
163995 , p_source_142_meaning => l_array_source_142_meaning(Idx)
163996 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
163997 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
163998 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
163999 );
164000 If(l_balance_type_code = 'A') THEN
164001 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164002 END IF;
164003
164004 --
164005
164006
164007 --
164008 AcctLineType_160 (
164009 p_application_id => p_application_id
164010 ,p_event_id => l_event_id
164011 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164012 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164013 ,p_actual_flag => l_actual_flag
164014 ,p_balance_type_code => l_balance_type_code
164015 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164016
164017 , p_source_1 => l_array_source_1(Idx)
164018 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
164019 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
164020 , p_source_21 => l_array_source_21(Idx)
164021 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
164022 , p_source_53 => l_array_source_53(Idx)
164023 , p_source_55 => l_array_source_55(Idx)
164024 , p_source_57 => l_array_source_57(Idx)
164025 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
164026 , p_source_64 => l_array_source_64(Idx)
164027 , p_source_65 => l_array_source_65(Idx)
164028 , p_source_66 => l_array_source_66(Idx)
164029 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
164030 , p_source_68 => l_array_source_68(Idx)
164031 , p_source_69 => l_array_source_69(Idx)
164032 , p_source_70 => l_array_source_70(Idx)
164033 , p_source_71 => l_array_source_71(Idx)
164034 , p_source_72 => l_array_source_72(Idx)
164035 , p_source_73 => l_array_source_73(Idx)
164036 , p_source_77 => l_array_source_77(Idx)
164037 , p_source_78 => l_array_source_78(Idx)
164038 , p_source_79 => l_array_source_79(Idx)
164039 , p_source_80 => l_array_source_80(Idx)
164040 , p_source_80_meaning => l_array_source_80_meaning(Idx)
164041 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
164042 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
164043 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
164044 , p_source_84 => l_array_source_84(Idx)
164045 , p_source_85 => l_array_source_85(Idx)
164046 , p_source_86 => l_array_source_86(Idx)
164047 , p_source_87 => l_array_source_87(Idx)
164048 , p_source_88 => l_array_source_88(Idx)
164049 , p_source_89 => l_array_source_89(Idx)
164050 , p_source_90 => l_array_source_90(Idx)
164051 , p_source_91 => l_array_source_91(Idx)
164052 , p_source_92 => l_array_source_92(Idx)
164053 , p_source_93 => l_array_source_93(Idx)
164054 , p_source_94 => l_array_source_94(Idx)
164055 , p_source_95 => l_array_source_95(Idx)
164056 , p_source_142 => l_array_source_142(Idx)
164057 , p_source_142_meaning => l_array_source_142_meaning(Idx)
164058 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
164062 If(l_balance_type_code = 'A') THEN
164059 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
164060 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
164061 );
164063 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164064 END IF;
164065
164066 --
164067
164068
164069 --
164070 AcctLineType_174 (
164071 p_application_id => p_application_id
164072 ,p_event_id => l_event_id
164073 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164074 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164075 ,p_actual_flag => l_actual_flag
164076 ,p_balance_type_code => l_balance_type_code
164077 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164078
164079 , p_source_1 => l_array_source_1(Idx)
164080 , p_source_21 => l_array_source_21(Idx)
164081 , p_source_30 => l_array_source_30(Idx)
164082 , p_source_33 => l_array_source_33(Idx)
164083 , p_source_33_meaning => l_array_source_33_meaning(Idx)
164084 , p_source_53 => l_array_source_53(Idx)
164085 , p_source_55 => l_array_source_55(Idx)
164086 , p_source_57 => l_array_source_57(Idx)
164087 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
164088 , p_source_64 => l_array_source_64(Idx)
164089 , p_source_65 => l_array_source_65(Idx)
164090 , p_source_66 => l_array_source_66(Idx)
164091 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
164092 , p_source_68 => l_array_source_68(Idx)
164093 , p_source_69 => l_array_source_69(Idx)
164094 , p_source_70 => l_array_source_70(Idx)
164095 , p_source_71 => l_array_source_71(Idx)
164096 , p_source_72 => l_array_source_72(Idx)
164097 , p_source_73 => l_array_source_73(Idx)
164098 , p_source_77 => l_array_source_77(Idx)
164099 , p_source_78 => l_array_source_78(Idx)
164100 , p_source_79 => l_array_source_79(Idx)
164101 , p_source_80 => l_array_source_80(Idx)
164102 , p_source_80_meaning => l_array_source_80_meaning(Idx)
164103 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
164104 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
164105 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
164106 , p_source_84 => l_array_source_84(Idx)
164107 , p_source_85 => l_array_source_85(Idx)
164108 , p_source_86 => l_array_source_86(Idx)
164109 , p_source_87 => l_array_source_87(Idx)
164110 , p_source_88 => l_array_source_88(Idx)
164111 , p_source_89 => l_array_source_89(Idx)
164112 , p_source_90 => l_array_source_90(Idx)
164113 , p_source_91 => l_array_source_91(Idx)
164114 , p_source_92 => l_array_source_92(Idx)
164115 , p_source_93 => l_array_source_93(Idx)
164116 , p_source_94 => l_array_source_94(Idx)
164117 , p_source_95 => l_array_source_95(Idx)
164118 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
164119 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
164120 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
164121 );
164122 If(l_balance_type_code = 'A') THEN
164123 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164124 END IF;
164125
164126 --
164127
164128
164129 --
164130 AcctLineType_181 (
164131 p_application_id => p_application_id
164132 ,p_event_id => l_event_id
164133 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164134 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164135 ,p_actual_flag => l_actual_flag
164136 ,p_balance_type_code => l_balance_type_code
164137 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164138
164139 , p_source_1 => l_array_source_1(Idx)
164140 , p_source_21 => l_array_source_21(Idx)
164141 , p_source_30 => l_array_source_30(Idx)
164142 , p_source_33 => l_array_source_33(Idx)
164143 , p_source_33_meaning => l_array_source_33_meaning(Idx)
164144 , p_source_53 => l_array_source_53(Idx)
164145 , p_source_55 => l_array_source_55(Idx)
164146 , p_source_57 => l_array_source_57(Idx)
164147 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
164148 , p_source_64 => l_array_source_64(Idx)
164149 , p_source_65 => l_array_source_65(Idx)
164150 , p_source_66 => l_array_source_66(Idx)
164151 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
164152 , p_source_68 => l_array_source_68(Idx)
164153 , p_source_69 => l_array_source_69(Idx)
164154 , p_source_70 => l_array_source_70(Idx)
164155 , p_source_71 => l_array_source_71(Idx)
164156 , p_source_72 => l_array_source_72(Idx)
164157 , p_source_73 => l_array_source_73(Idx)
164158 , p_source_77 => l_array_source_77(Idx)
164159 , p_source_78 => l_array_source_78(Idx)
164160 , p_source_79 => l_array_source_79(Idx)
164161 , p_source_80 => l_array_source_80(Idx)
164162 , p_source_80_meaning => l_array_source_80_meaning(Idx)
164163 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
164164 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
164165 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
164166 , p_source_84 => l_array_source_84(Idx)
164167 , p_source_85 => l_array_source_85(Idx)
164168 , p_source_86 => l_array_source_86(Idx)
164169 , p_source_87 => l_array_source_87(Idx)
164170 , p_source_88 => l_array_source_88(Idx)
164171 , p_source_89 => l_array_source_89(Idx)
164172 , p_source_90 => l_array_source_90(Idx)
164173 , p_source_91 => l_array_source_91(Idx)
164174 , p_source_92 => l_array_source_92(Idx)
164175 , p_source_93 => l_array_source_93(Idx)
164176 , p_source_94 => l_array_source_94(Idx)
164177 , p_source_95 => l_array_source_95(Idx)
164178 , p_source_96 => l_array_source_96(Idx)
164179 , p_source_96_meaning => l_array_source_96_meaning(Idx)
164180 , p_source_142 => l_array_source_142(Idx)
164181 , p_source_142_meaning => l_array_source_142_meaning(Idx)
164182 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
164183 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
164184 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
164185 );
164189
164186 If(l_balance_type_code = 'A') THEN
164187 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164188 END IF;
164190 --
164191
164192
164193 --
164194 AcctLineType_182 (
164195 p_application_id => p_application_id
164196 ,p_event_id => l_event_id
164197 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164198 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164199 ,p_actual_flag => l_actual_flag
164200 ,p_balance_type_code => l_balance_type_code
164201 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164202
164203 , p_source_1 => l_array_source_1(Idx)
164204 , p_source_21 => l_array_source_21(Idx)
164205 , p_source_30 => l_array_source_30(Idx)
164206 , p_source_33 => l_array_source_33(Idx)
164207 , p_source_33_meaning => l_array_source_33_meaning(Idx)
164208 , p_source_53 => l_array_source_53(Idx)
164209 , p_source_55 => l_array_source_55(Idx)
164210 , p_source_57 => l_array_source_57(Idx)
164211 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
164212 , p_source_64 => l_array_source_64(Idx)
164213 , p_source_65 => l_array_source_65(Idx)
164214 , p_source_66 => l_array_source_66(Idx)
164215 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
164216 , p_source_68 => l_array_source_68(Idx)
164217 , p_source_69 => l_array_source_69(Idx)
164218 , p_source_70 => l_array_source_70(Idx)
164219 , p_source_71 => l_array_source_71(Idx)
164220 , p_source_72 => l_array_source_72(Idx)
164221 , p_source_73 => l_array_source_73(Idx)
164222 , p_source_74 => l_array_source_74(Idx)
164223 , p_source_75 => l_array_source_75(Idx)
164224 , p_source_76 => l_array_source_76(Idx)
164225 , p_source_77 => l_array_source_77(Idx)
164226 , p_source_78 => l_array_source_78(Idx)
164227 , p_source_79 => l_array_source_79(Idx)
164228 , p_source_80 => l_array_source_80(Idx)
164229 , p_source_80_meaning => l_array_source_80_meaning(Idx)
164230 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
164231 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
164232 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
164233 , p_source_84 => l_array_source_84(Idx)
164234 , p_source_85 => l_array_source_85(Idx)
164235 , p_source_86 => l_array_source_86(Idx)
164236 , p_source_87 => l_array_source_87(Idx)
164237 , p_source_88 => l_array_source_88(Idx)
164238 , p_source_89 => l_array_source_89(Idx)
164239 , p_source_90 => l_array_source_90(Idx)
164240 , p_source_91 => l_array_source_91(Idx)
164241 , p_source_92 => l_array_source_92(Idx)
164242 , p_source_93 => l_array_source_93(Idx)
164243 , p_source_94 => l_array_source_94(Idx)
164244 , p_source_95 => l_array_source_95(Idx)
164245 , p_source_96 => l_array_source_96(Idx)
164246 , p_source_96_meaning => l_array_source_96_meaning(Idx)
164247 , p_source_142 => l_array_source_142(Idx)
164248 , p_source_142_meaning => l_array_source_142_meaning(Idx)
164249 );
164250 If(l_balance_type_code = 'A') THEN
164251 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164252 END IF;
164253
164254 --
164255
164256
164257 --
164258 AcctLineType_185 (
164259 p_application_id => p_application_id
164260 ,p_event_id => l_event_id
164261 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164262 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164263 ,p_actual_flag => l_actual_flag
164264 ,p_balance_type_code => l_balance_type_code
164265 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164266
164267 , p_source_1 => l_array_source_1(Idx)
164268 , p_source_21 => l_array_source_21(Idx)
164269 , p_source_30 => l_array_source_30(Idx)
164270 , p_source_31 => g_array_event(l_event_id).array_value_char('source_31')
164271 , p_source_31_meaning => g_array_event(l_event_id).array_value_char('source_31_meaning')
164272 , p_source_32 => l_array_source_32(Idx)
164273 , p_source_33 => l_array_source_33(Idx)
164274 , p_source_33_meaning => l_array_source_33_meaning(Idx)
164275 , p_source_45 => l_array_source_45(Idx)
164276 , p_source_53 => l_array_source_53(Idx)
164277 , p_source_55 => l_array_source_55(Idx)
164278 , p_source_57 => l_array_source_57(Idx)
164279 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
164280 , p_source_64 => l_array_source_64(Idx)
164281 , p_source_65 => l_array_source_65(Idx)
164282 , p_source_66 => l_array_source_66(Idx)
164283 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
164284 , p_source_68 => l_array_source_68(Idx)
164285 , p_source_69 => l_array_source_69(Idx)
164286 , p_source_70 => l_array_source_70(Idx)
164287 , p_source_71 => l_array_source_71(Idx)
164288 , p_source_72 => l_array_source_72(Idx)
164289 , p_source_73 => l_array_source_73(Idx)
164290 , p_source_77 => l_array_source_77(Idx)
164291 , p_source_78 => l_array_source_78(Idx)
164292 , p_source_79 => l_array_source_79(Idx)
164293 , p_source_80 => l_array_source_80(Idx)
164294 , p_source_80_meaning => l_array_source_80_meaning(Idx)
164295 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
164296 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
164297 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
164298 , p_source_84 => l_array_source_84(Idx)
164299 , p_source_85 => l_array_source_85(Idx)
164300 , p_source_86 => l_array_source_86(Idx)
164301 , p_source_87 => l_array_source_87(Idx)
164302 , p_source_88 => l_array_source_88(Idx)
164303 , p_source_89 => l_array_source_89(Idx)
164304 , p_source_90 => l_array_source_90(Idx)
164305 , p_source_91 => l_array_source_91(Idx)
164306 , p_source_92 => l_array_source_92(Idx)
164307 , p_source_93 => l_array_source_93(Idx)
164308 , p_source_94 => l_array_source_94(Idx)
164309 , p_source_95 => l_array_source_95(Idx)
164310 , p_source_96 => l_array_source_96(Idx)
164311 , p_source_96_meaning => l_array_source_96_meaning(Idx)
164312 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
164313 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
164317 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164314 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
164315 );
164316 If(l_balance_type_code = 'A') THEN
164318 END IF;
164319
164320 --
164321
164322
164323 --
164324 AcctLineType_190 (
164325 p_application_id => p_application_id
164326 ,p_event_id => l_event_id
164327 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164328 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164329 ,p_actual_flag => l_actual_flag
164330 ,p_balance_type_code => l_balance_type_code
164331 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164332
164333 , p_source_1 => l_array_source_1(Idx)
164334 , p_source_21 => l_array_source_21(Idx)
164335 , p_source_30 => l_array_source_30(Idx)
164336 , p_source_33 => l_array_source_33(Idx)
164337 , p_source_33_meaning => l_array_source_33_meaning(Idx)
164338 , p_source_53 => l_array_source_53(Idx)
164339 , p_source_55 => l_array_source_55(Idx)
164340 , p_source_57 => l_array_source_57(Idx)
164341 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
164342 , p_source_64 => l_array_source_64(Idx)
164343 , p_source_65 => l_array_source_65(Idx)
164344 , p_source_66 => l_array_source_66(Idx)
164345 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
164346 , p_source_68 => l_array_source_68(Idx)
164347 , p_source_69 => l_array_source_69(Idx)
164348 , p_source_70 => l_array_source_70(Idx)
164349 , p_source_71 => l_array_source_71(Idx)
164350 , p_source_72 => l_array_source_72(Idx)
164351 , p_source_73 => l_array_source_73(Idx)
164352 , p_source_77 => l_array_source_77(Idx)
164353 , p_source_78 => l_array_source_78(Idx)
164354 , p_source_79 => l_array_source_79(Idx)
164355 , p_source_80 => l_array_source_80(Idx)
164356 , p_source_80_meaning => l_array_source_80_meaning(Idx)
164357 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
164358 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
164359 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
164360 , p_source_84 => l_array_source_84(Idx)
164361 , p_source_85 => l_array_source_85(Idx)
164362 , p_source_86 => l_array_source_86(Idx)
164363 , p_source_87 => l_array_source_87(Idx)
164364 , p_source_88 => l_array_source_88(Idx)
164365 , p_source_89 => l_array_source_89(Idx)
164366 , p_source_90 => l_array_source_90(Idx)
164367 , p_source_91 => l_array_source_91(Idx)
164368 , p_source_92 => l_array_source_92(Idx)
164369 , p_source_93 => l_array_source_93(Idx)
164370 , p_source_94 => l_array_source_94(Idx)
164371 , p_source_95 => l_array_source_95(Idx)
164372 , p_source_137 => l_array_source_137(Idx)
164373 , p_source_137_meaning => l_array_source_137_meaning(Idx)
164374 , p_source_142 => l_array_source_142(Idx)
164375 , p_source_142_meaning => l_array_source_142_meaning(Idx)
164376 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
164377 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
164378 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
164379 );
164380 If(l_balance_type_code = 'A') THEN
164381 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164382 END IF;
164383
164384 --
164385
164386
164387 --
164388 AcctLineType_195 (
164389 p_application_id => p_application_id
164390 ,p_event_id => l_event_id
164391 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164392 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164393 ,p_actual_flag => l_actual_flag
164394 ,p_balance_type_code => l_balance_type_code
164395 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164396
164397 , p_source_1 => l_array_source_1(Idx)
164398 , p_source_21 => l_array_source_21(Idx)
164399 , p_source_33 => l_array_source_33(Idx)
164400 , p_source_33_meaning => l_array_source_33_meaning(Idx)
164401 , p_source_50 => l_array_source_50(Idx)
164402 , p_source_53 => l_array_source_53(Idx)
164403 , p_source_55 => l_array_source_55(Idx)
164404 , p_source_57 => l_array_source_57(Idx)
164405 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
164406 , p_source_64 => l_array_source_64(Idx)
164407 , p_source_65 => l_array_source_65(Idx)
164408 , p_source_66 => l_array_source_66(Idx)
164409 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
164410 , p_source_68 => l_array_source_68(Idx)
164411 , p_source_69 => l_array_source_69(Idx)
164412 , p_source_70 => l_array_source_70(Idx)
164413 , p_source_71 => l_array_source_71(Idx)
164414 , p_source_72 => l_array_source_72(Idx)
164415 , p_source_73 => l_array_source_73(Idx)
164416 , p_source_77 => l_array_source_77(Idx)
164417 , p_source_78 => l_array_source_78(Idx)
164418 , p_source_79 => l_array_source_79(Idx)
164419 , p_source_80 => l_array_source_80(Idx)
164420 , p_source_80_meaning => l_array_source_80_meaning(Idx)
164421 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
164422 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
164423 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
164424 , p_source_84 => l_array_source_84(Idx)
164425 , p_source_85 => l_array_source_85(Idx)
164426 , p_source_86 => l_array_source_86(Idx)
164427 , p_source_87 => l_array_source_87(Idx)
164428 , p_source_88 => l_array_source_88(Idx)
164429 , p_source_89 => l_array_source_89(Idx)
164430 , p_source_90 => l_array_source_90(Idx)
164431 , p_source_91 => l_array_source_91(Idx)
164432 , p_source_92 => l_array_source_92(Idx)
164433 , p_source_93 => l_array_source_93(Idx)
164434 , p_source_94 => l_array_source_94(Idx)
164435 , p_source_95 => l_array_source_95(Idx)
164436 , p_source_96 => l_array_source_96(Idx)
164437 , p_source_96_meaning => l_array_source_96_meaning(Idx)
164438 , p_source_142 => l_array_source_142(Idx)
164439 , p_source_142_meaning => l_array_source_142_meaning(Idx)
164440 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
164444 If(l_balance_type_code = 'A') THEN
164441 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
164442 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
164443 );
164445 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164446 END IF;
164447
164448 --
164449
164450
164451 --
164452 AcctLineType_199 (
164453 p_application_id => p_application_id
164454 ,p_event_id => l_event_id
164455 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164456 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164457 ,p_actual_flag => l_actual_flag
164458 ,p_balance_type_code => l_balance_type_code
164459 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164460
164461 , p_source_1 => l_array_source_1(Idx)
164462 , p_source_21 => l_array_source_21(Idx)
164463 , p_source_33 => l_array_source_33(Idx)
164464 , p_source_33_meaning => l_array_source_33_meaning(Idx)
164465 , p_source_50 => l_array_source_50(Idx)
164466 , p_source_53 => l_array_source_53(Idx)
164467 , p_source_55 => l_array_source_55(Idx)
164468 , p_source_57 => l_array_source_57(Idx)
164469 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
164470 , p_source_64 => l_array_source_64(Idx)
164471 , p_source_65 => l_array_source_65(Idx)
164472 , p_source_66 => l_array_source_66(Idx)
164473 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
164474 , p_source_68 => l_array_source_68(Idx)
164475 , p_source_69 => l_array_source_69(Idx)
164476 , p_source_70 => l_array_source_70(Idx)
164477 , p_source_71 => l_array_source_71(Idx)
164478 , p_source_72 => l_array_source_72(Idx)
164479 , p_source_73 => l_array_source_73(Idx)
164480 , p_source_77 => l_array_source_77(Idx)
164481 , p_source_78 => l_array_source_78(Idx)
164482 , p_source_79 => l_array_source_79(Idx)
164483 , p_source_80 => l_array_source_80(Idx)
164484 , p_source_80_meaning => l_array_source_80_meaning(Idx)
164485 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
164486 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
164487 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
164488 , p_source_84 => l_array_source_84(Idx)
164489 , p_source_85 => l_array_source_85(Idx)
164490 , p_source_86 => l_array_source_86(Idx)
164491 , p_source_87 => l_array_source_87(Idx)
164492 , p_source_88 => l_array_source_88(Idx)
164493 , p_source_89 => l_array_source_89(Idx)
164494 , p_source_90 => l_array_source_90(Idx)
164495 , p_source_91 => l_array_source_91(Idx)
164496 , p_source_92 => l_array_source_92(Idx)
164497 , p_source_93 => l_array_source_93(Idx)
164498 , p_source_94 => l_array_source_94(Idx)
164499 , p_source_95 => l_array_source_95(Idx)
164500 , p_source_142 => l_array_source_142(Idx)
164501 , p_source_142_meaning => l_array_source_142_meaning(Idx)
164502 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
164503 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
164504 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
164505 );
164506 If(l_balance_type_code = 'A') THEN
164507 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164508 END IF;
164509
164510 --
164511
164512
164513 --
164514 AcctLineType_206 (
164515 p_application_id => p_application_id
164516 ,p_event_id => l_event_id
164517 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164518 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164519 ,p_actual_flag => l_actual_flag
164520 ,p_balance_type_code => l_balance_type_code
164521 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164522
164523 , p_source_1 => l_array_source_1(Idx)
164524 , p_source_21 => l_array_source_21(Idx)
164525 , p_source_33 => l_array_source_33(Idx)
164526 , p_source_33_meaning => l_array_source_33_meaning(Idx)
164527 , p_source_51 => l_array_source_51(Idx)
164528 , p_source_53 => l_array_source_53(Idx)
164529 , p_source_55 => l_array_source_55(Idx)
164530 , p_source_57 => l_array_source_57(Idx)
164531 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
164532 , p_source_64 => l_array_source_64(Idx)
164533 , p_source_65 => l_array_source_65(Idx)
164534 , p_source_66 => l_array_source_66(Idx)
164535 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
164536 , p_source_68 => l_array_source_68(Idx)
164537 , p_source_69 => l_array_source_69(Idx)
164538 , p_source_70 => l_array_source_70(Idx)
164539 , p_source_71 => l_array_source_71(Idx)
164540 , p_source_72 => l_array_source_72(Idx)
164541 , p_source_73 => l_array_source_73(Idx)
164542 , p_source_77 => l_array_source_77(Idx)
164543 , p_source_78 => l_array_source_78(Idx)
164544 , p_source_79 => l_array_source_79(Idx)
164545 , p_source_80 => l_array_source_80(Idx)
164546 , p_source_80_meaning => l_array_source_80_meaning(Idx)
164547 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
164548 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
164549 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
164550 , p_source_84 => l_array_source_84(Idx)
164551 , p_source_85 => l_array_source_85(Idx)
164552 , p_source_86 => l_array_source_86(Idx)
164553 , p_source_87 => l_array_source_87(Idx)
164554 , p_source_88 => l_array_source_88(Idx)
164555 , p_source_89 => l_array_source_89(Idx)
164556 , p_source_90 => l_array_source_90(Idx)
164557 , p_source_91 => l_array_source_91(Idx)
164558 , p_source_92 => l_array_source_92(Idx)
164559 , p_source_93 => l_array_source_93(Idx)
164560 , p_source_94 => l_array_source_94(Idx)
164561 , p_source_95 => l_array_source_95(Idx)
164562 , p_source_142 => l_array_source_142(Idx)
164563 , p_source_142_meaning => l_array_source_142_meaning(Idx)
164564 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
164565 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
164566 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
164567 );
164571
164568 If(l_balance_type_code = 'A') THEN
164569 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164570 END IF;
164572 --
164573
164574
164575 --
164576 AcctLineType_207 (
164577 p_application_id => p_application_id
164578 ,p_event_id => l_event_id
164579 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164580 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164581 ,p_actual_flag => l_actual_flag
164582 ,p_balance_type_code => l_balance_type_code
164583 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164584
164585 , p_source_1 => l_array_source_1(Idx)
164586 , p_source_21 => l_array_source_21(Idx)
164587 , p_source_33 => l_array_source_33(Idx)
164588 , p_source_33_meaning => l_array_source_33_meaning(Idx)
164589 , p_source_50 => l_array_source_50(Idx)
164590 , p_source_53 => l_array_source_53(Idx)
164591 , p_source_55 => l_array_source_55(Idx)
164592 , p_source_57 => l_array_source_57(Idx)
164593 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
164594 , p_source_64 => l_array_source_64(Idx)
164595 , p_source_65 => l_array_source_65(Idx)
164596 , p_source_66 => l_array_source_66(Idx)
164597 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
164598 , p_source_68 => l_array_source_68(Idx)
164599 , p_source_69 => l_array_source_69(Idx)
164600 , p_source_70 => l_array_source_70(Idx)
164601 , p_source_71 => l_array_source_71(Idx)
164602 , p_source_72 => l_array_source_72(Idx)
164603 , p_source_73 => l_array_source_73(Idx)
164604 , p_source_74 => l_array_source_74(Idx)
164605 , p_source_75 => l_array_source_75(Idx)
164606 , p_source_76 => l_array_source_76(Idx)
164607 , p_source_77 => l_array_source_77(Idx)
164608 , p_source_78 => l_array_source_78(Idx)
164609 , p_source_79 => l_array_source_79(Idx)
164610 , p_source_80 => l_array_source_80(Idx)
164611 , p_source_80_meaning => l_array_source_80_meaning(Idx)
164612 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
164613 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
164614 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
164615 , p_source_84 => l_array_source_84(Idx)
164616 , p_source_85 => l_array_source_85(Idx)
164617 , p_source_86 => l_array_source_86(Idx)
164618 , p_source_87 => l_array_source_87(Idx)
164619 , p_source_88 => l_array_source_88(Idx)
164620 , p_source_89 => l_array_source_89(Idx)
164621 , p_source_90 => l_array_source_90(Idx)
164622 , p_source_91 => l_array_source_91(Idx)
164623 , p_source_92 => l_array_source_92(Idx)
164624 , p_source_93 => l_array_source_93(Idx)
164625 , p_source_94 => l_array_source_94(Idx)
164626 , p_source_95 => l_array_source_95(Idx)
164627 , p_source_96 => l_array_source_96(Idx)
164628 , p_source_96_meaning => l_array_source_96_meaning(Idx)
164629 , p_source_142 => l_array_source_142(Idx)
164630 , p_source_142_meaning => l_array_source_142_meaning(Idx)
164631 );
164632 If(l_balance_type_code = 'A') THEN
164633 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164634 END IF;
164635
164636 --
164637
164638
164639 --
164640 AcctLineType_215 (
164641 p_application_id => p_application_id
164642 ,p_event_id => l_event_id
164643 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164644 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164645 ,p_actual_flag => l_actual_flag
164646 ,p_balance_type_code => l_balance_type_code
164647 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164648
164649 , p_source_1 => l_array_source_1(Idx)
164650 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
164651 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
164652 , p_source_20 => g_array_event(l_event_id).array_value_num('source_20')
164653 , p_source_21 => l_array_source_21(Idx)
164654 , p_source_22 => l_array_source_22(Idx)
164655 , p_source_22_meaning => l_array_source_22_meaning(Idx)
164656 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
164657 , p_source_30 => l_array_source_30(Idx)
164658 , p_source_33 => l_array_source_33(Idx)
164659 , p_source_33_meaning => l_array_source_33_meaning(Idx)
164660 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
164661 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
164662 , p_source_53 => l_array_source_53(Idx)
164663 , p_source_55 => l_array_source_55(Idx)
164664 , p_source_57 => l_array_source_57(Idx)
164665 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
164666 , p_source_64 => l_array_source_64(Idx)
164667 , p_source_65 => l_array_source_65(Idx)
164668 , p_source_66 => l_array_source_66(Idx)
164669 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
164670 , p_source_68 => l_array_source_68(Idx)
164671 , p_source_69 => l_array_source_69(Idx)
164672 , p_source_70 => l_array_source_70(Idx)
164673 , p_source_71 => l_array_source_71(Idx)
164674 , p_source_72 => l_array_source_72(Idx)
164675 , p_source_73 => l_array_source_73(Idx)
164676 , p_source_77 => l_array_source_77(Idx)
164677 , p_source_78 => l_array_source_78(Idx)
164678 , p_source_79 => l_array_source_79(Idx)
164679 , p_source_80 => l_array_source_80(Idx)
164680 , p_source_80_meaning => l_array_source_80_meaning(Idx)
164681 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
164682 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
164683 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
164684 , p_source_84 => l_array_source_84(Idx)
164685 , p_source_85 => l_array_source_85(Idx)
164686 , p_source_86 => l_array_source_86(Idx)
164687 , p_source_87 => l_array_source_87(Idx)
164688 , p_source_88 => l_array_source_88(Idx)
164689 , p_source_89 => l_array_source_89(Idx)
164690 , p_source_90 => l_array_source_90(Idx)
164691 , p_source_91 => l_array_source_91(Idx)
164692 , p_source_92 => l_array_source_92(Idx)
164693 , p_source_93 => l_array_source_93(Idx)
164694 , p_source_94 => l_array_source_94(Idx)
164698 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
164695 , p_source_95 => l_array_source_95(Idx)
164696 , p_source_96 => l_array_source_96(Idx)
164697 , p_source_96_meaning => l_array_source_96_meaning(Idx)
164699 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
164700 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
164701 );
164702 If(l_balance_type_code = 'A') THEN
164703 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164704 END IF;
164705
164706 --
164707
164708
164709 --
164710 AcctLineType_219 (
164711 p_application_id => p_application_id
164712 ,p_event_id => l_event_id
164713 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164714 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164715 ,p_actual_flag => l_actual_flag
164716 ,p_balance_type_code => l_balance_type_code
164717 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164718
164719 , p_source_1 => l_array_source_1(Idx)
164720 , p_source_21 => l_array_source_21(Idx)
164721 , p_source_30 => l_array_source_30(Idx)
164722 , p_source_33 => l_array_source_33(Idx)
164723 , p_source_33_meaning => l_array_source_33_meaning(Idx)
164724 , p_source_53 => l_array_source_53(Idx)
164725 , p_source_55 => l_array_source_55(Idx)
164726 , p_source_57 => l_array_source_57(Idx)
164727 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
164728 , p_source_64 => l_array_source_64(Idx)
164729 , p_source_65 => l_array_source_65(Idx)
164730 , p_source_66 => l_array_source_66(Idx)
164731 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
164732 , p_source_68 => l_array_source_68(Idx)
164733 , p_source_69 => l_array_source_69(Idx)
164734 , p_source_70 => l_array_source_70(Idx)
164735 , p_source_71 => l_array_source_71(Idx)
164736 , p_source_72 => l_array_source_72(Idx)
164737 , p_source_73 => l_array_source_73(Idx)
164738 , p_source_77 => l_array_source_77(Idx)
164739 , p_source_78 => l_array_source_78(Idx)
164740 , p_source_79 => l_array_source_79(Idx)
164741 , p_source_80 => l_array_source_80(Idx)
164742 , p_source_80_meaning => l_array_source_80_meaning(Idx)
164743 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
164744 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
164745 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
164746 , p_source_84 => l_array_source_84(Idx)
164747 , p_source_85 => l_array_source_85(Idx)
164748 , p_source_86 => l_array_source_86(Idx)
164749 , p_source_87 => l_array_source_87(Idx)
164750 , p_source_88 => l_array_source_88(Idx)
164751 , p_source_89 => l_array_source_89(Idx)
164752 , p_source_90 => l_array_source_90(Idx)
164753 , p_source_91 => l_array_source_91(Idx)
164754 , p_source_92 => l_array_source_92(Idx)
164755 , p_source_93 => l_array_source_93(Idx)
164756 , p_source_94 => l_array_source_94(Idx)
164757 , p_source_95 => l_array_source_95(Idx)
164758 , p_source_96 => l_array_source_96(Idx)
164759 , p_source_96_meaning => l_array_source_96_meaning(Idx)
164760 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
164761 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
164762 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
164763 );
164764 If(l_balance_type_code = 'A') THEN
164765 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164766 END IF;
164767
164768 --
164769
164770
164771 --
164772 AcctLineType_223 (
164773 p_application_id => p_application_id
164774 ,p_event_id => l_event_id
164775 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164776 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164777 ,p_actual_flag => l_actual_flag
164778 ,p_balance_type_code => l_balance_type_code
164779 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164780
164781 , p_source_1 => l_array_source_1(Idx)
164782 , p_source_21 => l_array_source_21(Idx)
164783 , p_source_30 => l_array_source_30(Idx)
164784 , p_source_33 => l_array_source_33(Idx)
164785 , p_source_33_meaning => l_array_source_33_meaning(Idx)
164786 , p_source_53 => l_array_source_53(Idx)
164787 , p_source_55 => l_array_source_55(Idx)
164788 , p_source_57 => l_array_source_57(Idx)
164789 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
164790 , p_source_64 => l_array_source_64(Idx)
164791 , p_source_65 => l_array_source_65(Idx)
164792 , p_source_66 => l_array_source_66(Idx)
164793 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
164794 , p_source_68 => l_array_source_68(Idx)
164795 , p_source_69 => l_array_source_69(Idx)
164796 , p_source_70 => l_array_source_70(Idx)
164797 , p_source_71 => l_array_source_71(Idx)
164798 , p_source_72 => l_array_source_72(Idx)
164799 , p_source_73 => l_array_source_73(Idx)
164800 , p_source_77 => l_array_source_77(Idx)
164801 , p_source_78 => l_array_source_78(Idx)
164802 , p_source_79 => l_array_source_79(Idx)
164803 , p_source_80 => l_array_source_80(Idx)
164804 , p_source_80_meaning => l_array_source_80_meaning(Idx)
164805 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
164806 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
164807 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
164808 , p_source_84 => l_array_source_84(Idx)
164809 , p_source_85 => l_array_source_85(Idx)
164810 , p_source_86 => l_array_source_86(Idx)
164811 , p_source_87 => l_array_source_87(Idx)
164812 , p_source_88 => l_array_source_88(Idx)
164813 , p_source_89 => l_array_source_89(Idx)
164814 , p_source_90 => l_array_source_90(Idx)
164815 , p_source_91 => l_array_source_91(Idx)
164816 , p_source_92 => l_array_source_92(Idx)
164817 , p_source_93 => l_array_source_93(Idx)
164818 , p_source_94 => l_array_source_94(Idx)
164819 , p_source_95 => l_array_source_95(Idx)
164820 , p_source_96 => l_array_source_96(Idx)
164821 , p_source_96_meaning => l_array_source_96_meaning(Idx)
164825 );
164822 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
164823 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
164824 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
164826 If(l_balance_type_code = 'A') THEN
164827 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164828 END IF;
164829
164830 --
164831
164832
164833 --
164834 AcctLineType_229 (
164835 p_application_id => p_application_id
164836 ,p_event_id => l_event_id
164837 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164838 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164839 ,p_actual_flag => l_actual_flag
164840 ,p_balance_type_code => l_balance_type_code
164841 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164842
164843 , p_source_1 => l_array_source_1(Idx)
164844 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
164845 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
164846 , p_source_21 => l_array_source_21(Idx)
164847 , p_source_30 => l_array_source_30(Idx)
164848 , p_source_33 => l_array_source_33(Idx)
164849 , p_source_33_meaning => l_array_source_33_meaning(Idx)
164850 , p_source_43 => l_array_source_43(Idx)
164851 , p_source_53 => l_array_source_53(Idx)
164852 , p_source_55 => l_array_source_55(Idx)
164853 , p_source_57 => l_array_source_57(Idx)
164854 , p_source_58 => g_array_event(l_event_id).array_value_num('source_58')
164855 , p_source_64 => l_array_source_64(Idx)
164856 , p_source_65 => l_array_source_65(Idx)
164857 , p_source_66 => l_array_source_66(Idx)
164858 , p_source_67 => g_array_event(l_event_id).array_value_char('source_67')
164859 , p_source_68 => l_array_source_68(Idx)
164860 , p_source_69 => l_array_source_69(Idx)
164861 , p_source_70 => l_array_source_70(Idx)
164862 , p_source_71 => l_array_source_71(Idx)
164863 , p_source_72 => l_array_source_72(Idx)
164864 , p_source_73 => l_array_source_73(Idx)
164865 , p_source_77 => l_array_source_77(Idx)
164866 , p_source_78 => l_array_source_78(Idx)
164867 , p_source_79 => l_array_source_79(Idx)
164868 , p_source_80 => l_array_source_80(Idx)
164869 , p_source_80_meaning => l_array_source_80_meaning(Idx)
164870 , p_source_81 => g_array_event(l_event_id).array_value_num('source_81')
164871 , p_source_82 => g_array_event(l_event_id).array_value_num('source_82')
164872 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
164873 , p_source_84 => l_array_source_84(Idx)
164874 , p_source_85 => l_array_source_85(Idx)
164875 , p_source_86 => l_array_source_86(Idx)
164876 , p_source_87 => l_array_source_87(Idx)
164877 , p_source_88 => l_array_source_88(Idx)
164878 , p_source_89 => l_array_source_89(Idx)
164879 , p_source_90 => l_array_source_90(Idx)
164880 , p_source_91 => l_array_source_91(Idx)
164881 , p_source_92 => l_array_source_92(Idx)
164882 , p_source_93 => l_array_source_93(Idx)
164883 , p_source_94 => l_array_source_94(Idx)
164884 , p_source_95 => l_array_source_95(Idx)
164885 , p_source_143 => g_array_event(l_event_id).array_value_date('source_143')
164886 , p_source_144 => g_array_event(l_event_id).array_value_num('source_144')
164887 , p_source_145 => g_array_event(l_event_id).array_value_char('source_145')
164888 );
164889 If(l_balance_type_code = 'A') THEN
164890 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164891 END IF;
164892
164893 --
164894
164895 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
164896 -- or secondary ledger that has different currency with primary
164897 -- or alc that is calculated by sla
164898 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
164899 (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'))
164900
164901 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
164902 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
164903 AND (l_actual_flag = 'A')) THEN
164904 XLA_AE_LINES_PKG.CreateGainOrLossLines(
164905 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
164906 ,p_application_id => p_application_id
164907 ,p_amb_context_code => 'DEFAULT'
164908 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
164909 ,p_event_class_code => C_EVENT_CLASS_CODE
164910 ,p_event_type_code => C_EVENT_TYPE_CODE
164911
164912 ,p_gain_ccid => -1
164913 ,p_loss_ccid => -1
164914
164915 ,p_actual_flag => l_actual_flag
164916 ,p_enc_flag => null
164917 ,p_actual_g_l_ref => l_actual_gain_loss_ref
164918 ,p_enc_g_l_ref => null
164919 );
164920 END IF;
164921 END IF;
164922 END IF;
164923
164924 ELSE
164925 --
164926 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
164927 --
164928 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
164929 trace
164930 (p_msg => 'Trancaction revesal option is Y'
164931 ,p_level => C_LEVEL_STATEMENT
164932 ,p_module => l_log_module);
164933 END IF;
164934 END IF;
164935
164936 END LOOP;
164937 l_result := XLA_AE_LINES_PKG.InsertLines ;
164938 end loop;
164939 close line_cur;
164940
164941
164942 --
164943 -- insert headers into xla_ae_headers_gt table
164944 --
164945 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
164946
164947 -- insert into errors table here.
164948
164949 END LOOP;
164950
164951 --
164952 -- 4865292
164953 --
164954 -- Compare g_hdr_extract_count with event count in
164955 -- CreateHeadersAndLines.
164956 --
164960 trace (p_msg => '# rows extracted from header extract objects '
164957 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
164958
164959 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
164961 || ' (running total): '
164962 || g_hdr_extract_count
164963 ,p_level => C_LEVEL_STATEMENT
164964 ,p_module => l_log_module);
164965 END IF;
164966
164967 CLOSE header_cur;
164968 --
164969
164970 --
164971 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
164972 trace
164973 (p_msg => 'END of EventClass_236'
164974 ,p_level => C_LEVEL_PROCEDURE
164975 ,p_module => l_log_module);
164976 END IF;
164977 --
164978 RETURN l_result;
164979 EXCEPTION
164980 WHEN xla_exceptions_pkg.application_exception THEN
164981
164982 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
164983
164984
164985 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
164986
164987 RAISE;
164988
164989 WHEN NO_DATA_FOUND THEN
164990
164991 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
164992 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
164993
164994 FOR header_record IN header_cur
164995 LOOP
164996 l_array_header_events(header_record.event_id) := header_record.event_id;
164997 END LOOP;
164998
164999 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
165000 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
165001
165002 fnd_file.put_line(fnd_file.LOG, ' ');
165003 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
165004 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
165005 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
165006
165007 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
165008 LOOP
165009 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
165010 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
165011 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
165012 END IF;
165013 END LOOP;
165014
165015 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
165016 fnd_file.put_line(fnd_file.LOG, ' ');
165017
165018
165019 xla_exceptions_pkg.raise_message
165020 (p_location => 'XLA_00200_AAD_S_000002_PKG.EventClass_236');
165021
165022
165023 WHEN OTHERS THEN
165024 xla_exceptions_pkg.raise_message
165025 (p_location => 'XLA_00200_AAD_S_000002_PKG.EventClass_236');
165026 END EventClass_236;
165027 --
165028
165029 ---------------------------------------
165030 --
165031 -- PRIVATE PROCEDURE
165032 -- insert_sources_237
165033 --
165034 ----------------------------------------
165035 --
165036 PROCEDURE insert_sources_237(
165037 p_target_ledger_id IN NUMBER
165038 , p_language IN VARCHAR2
165039 , p_sla_ledger_id IN NUMBER
165040 , p_pad_start_date IN DATE
165041 , p_pad_end_date IN DATE
165042 )
165043 IS
165044
165045 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'RECONCILED PAYMENTS_ALL';
165046 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'RECONCILED PAYMENTS';
165047 p_apps_owner VARCHAR2(30);
165048 l_log_module VARCHAR2(240);
165049 BEGIN
165050 IF g_log_enabled THEN
165051 l_log_module := C_DEFAULT_MODULE||'.insert_sources_237';
165052 END IF;
165053 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
165054
165055 trace
165056 (p_msg => 'BEGIN of insert_sources_237'
165057 ,p_level => C_LEVEL_PROCEDURE
165058 ,p_module => l_log_module);
165059
165060 END IF;
165061
165062 -- select APPS owner
165063 SELECT oracle_username
165064 INTO p_apps_owner
165065 FROM fnd_oracle_userid
165066 WHERE read_only_flag = 'U'
165067 ;
165068
165069 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
165070 trace
165071 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
165072 ' - p_language = '||p_language||
165073 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
165074 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
165075 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
165076 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
165077 ,p_level => C_LEVEL_STATEMENT
165078 ,p_module => l_log_module);
165079 END IF;
165080
165081
165082 --
165083 INSERT INTO xla_diag_sources --hdr2
165084 (
165085 event_id
165086 , ledger_id
165087 , sla_ledger_id
165088 , description_language
165089 , object_name
165090 , object_type_code
165091 , line_number
165092 , source_application_id
165093 , source_type_code
165094 , source_code
165095 , source_value
165096 , source_meaning
165097 , created_by
165098 , creation_date
165099 , last_update_date
165100 , last_updated_by
165101 , last_update_login
165102 , program_update_date
165103 , program_application_id
165104 , program_id
165105 , request_id
165106 )
165107 SELECT
165108 event_id
165109 , p_target_ledger_id
165110 , p_sla_ledger_id
165111 , p_language
165112 , object_name
165113 , object_type_code
165117 , source_code
165114 , line_number
165115 , source_application_id
165116 , source_type_code
165118 , SUBSTR(source_value ,1,1996)
165119 , SUBSTR(source_meaning ,1,200)
165120 , xla_environment_pkg.g_Usr_Id
165121 , TRUNC(SYSDATE)
165122 , TRUNC(SYSDATE)
165123 , xla_environment_pkg.g_Usr_Id
165124 , xla_environment_pkg.g_Login_Id
165125 , TRUNC(SYSDATE)
165126 , xla_environment_pkg.g_Prog_Appl_Id
165127 , xla_environment_pkg.g_Prog_Id
165128 , xla_environment_pkg.g_Req_Id
165129 FROM (
165130 SELECT xet.event_id event_id
165131 , 0 line_number
165132 , CASE r
165133 WHEN 1 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165134 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165135 WHEN 3 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165136 WHEN 4 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165137 WHEN 5 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165138 WHEN 6 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165139 WHEN 7 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165140 WHEN 8 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
165141 WHEN 9 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165142 WHEN 10 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165143 WHEN 11 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
165144 WHEN 12 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
165145 WHEN 13 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
165146 WHEN 14 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
165147 WHEN 15 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165148 WHEN 16 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
165149 WHEN 17 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165150 WHEN 18 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
165151 WHEN 19 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
165152 WHEN 20 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
165153 WHEN 21 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
165154 WHEN 22 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165155 WHEN 23 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
165156 WHEN 24 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165157 WHEN 25 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165158 WHEN 26 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165159 WHEN 27 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165160 WHEN 28 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165161 WHEN 29 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165162 WHEN 30 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165163 WHEN 31 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165164 WHEN 32 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165165 WHEN 33 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165166 WHEN 34 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165167 WHEN 35 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165168 WHEN 36 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165169 WHEN 37 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
165170
165171 ELSE null
165172 END object_name
165173 , CASE r
165174 WHEN 1 THEN 'HEADER'
165175 WHEN 2 THEN 'HEADER'
165176 WHEN 3 THEN 'HEADER'
165177 WHEN 4 THEN 'HEADER'
165178 WHEN 5 THEN 'HEADER'
165179 WHEN 6 THEN 'HEADER'
165180 WHEN 7 THEN 'HEADER'
165181 WHEN 8 THEN 'HEADER'
165182 WHEN 9 THEN 'HEADER'
165183 WHEN 10 THEN 'HEADER'
165184 WHEN 11 THEN 'HEADER'
165185 WHEN 12 THEN 'HEADER'
165186 WHEN 13 THEN 'HEADER'
165187 WHEN 14 THEN 'HEADER'
165188 WHEN 15 THEN 'HEADER'
165189 WHEN 16 THEN 'HEADER'
165190 WHEN 17 THEN 'HEADER'
165191 WHEN 18 THEN 'HEADER'
165192 WHEN 19 THEN 'HEADER'
165193 WHEN 20 THEN 'HEADER'
165194 WHEN 21 THEN 'HEADER'
165195 WHEN 22 THEN 'HEADER'
165196 WHEN 23 THEN 'HEADER'
165197 WHEN 24 THEN 'HEADER'
165198 WHEN 25 THEN 'HEADER'
165199 WHEN 26 THEN 'HEADER'
165200 WHEN 27 THEN 'HEADER'
165201 WHEN 28 THEN 'HEADER'
165202 WHEN 29 THEN 'HEADER'
165203 WHEN 30 THEN 'HEADER'
165204 WHEN 31 THEN 'HEADER'
165205 WHEN 32 THEN 'HEADER'
165206 WHEN 33 THEN 'HEADER'
165207 WHEN 34 THEN 'HEADER'
165208 WHEN 35 THEN 'HEADER'
165209 WHEN 36 THEN 'HEADER'
165210 WHEN 37 THEN 'HEADER'
165211
165212 ELSE null
165213 END object_type_code
165214 , CASE r
165215 WHEN 1 THEN '200'
165216 WHEN 2 THEN '200'
165217 WHEN 3 THEN '200'
165218 WHEN 4 THEN '200'
165219 WHEN 5 THEN '200'
165220 WHEN 6 THEN '200'
165221 WHEN 7 THEN '200'
165222 WHEN 8 THEN '200'
165223 WHEN 9 THEN '200'
165224 WHEN 10 THEN '200'
165225 WHEN 11 THEN '200'
165226 WHEN 12 THEN '200'
165227 WHEN 13 THEN '200'
165228 WHEN 14 THEN '200'
165229 WHEN 15 THEN '200'
165230 WHEN 16 THEN '200'
165231 WHEN 17 THEN '200'
165232 WHEN 18 THEN '200'
165233 WHEN 19 THEN '200'
165234 WHEN 20 THEN '200'
165235 WHEN 21 THEN '200'
165236 WHEN 22 THEN '200'
165240 WHEN 26 THEN '200'
165237 WHEN 23 THEN '200'
165238 WHEN 24 THEN '200'
165239 WHEN 25 THEN '200'
165241 WHEN 27 THEN '200'
165242 WHEN 28 THEN '200'
165243 WHEN 29 THEN '200'
165244 WHEN 30 THEN '200'
165245 WHEN 31 THEN '200'
165246 WHEN 32 THEN '200'
165247 WHEN 33 THEN '200'
165248 WHEN 34 THEN '200'
165249 WHEN 35 THEN '200'
165250 WHEN 36 THEN '200'
165251 WHEN 37 THEN '200'
165252
165253 ELSE null
165254 END source_application_id
165255 , 'S' source_type_code
165256 , CASE r
165257 WHEN 1 THEN 'DOC_SEQUENCE_NAME'
165258 WHEN 2 THEN 'AC_DOC_SEQUENCE_VALUE'
165259 WHEN 3 THEN 'PAYMENT_TRANSACTION_NUMBER'
165260 WHEN 4 THEN 'AC_CHECK_DATE'
165261 WHEN 5 THEN 'CBA_BANK_ACCOUNT_NAME'
165262 WHEN 6 THEN 'AC_CURRENCY_CODE'
165263 WHEN 7 THEN 'CGAC_BANK_CHARGES_CCID'
165264 WHEN 8 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
165265 WHEN 9 THEN 'CGAC_BANK_ERRORS_CCID'
165266 WHEN 10 THEN 'CGAC_AP_ASSET_CCID'
165267 WHEN 11 THEN 'FSP_DISC_TAKEN_CCID'
165268 WHEN 12 THEN 'ASP_DISCOUNT_DIST_METHOD'
165269 WHEN 13 THEN 'ASP_INTEREST_CCID'
165270 WHEN 14 THEN 'ASP_PRORATE_INT_ACROSS_DISTS'
165271 WHEN 15 THEN 'CGAC_GAIN_CCID'
165272 WHEN 16 THEN 'ASP_GAIN_CCID'
165273 WHEN 17 THEN 'CGAC_LOSS_CCID'
165274 WHEN 18 THEN 'ASP_LOSS_CCID'
165275 WHEN 19 THEN 'ASP_DISC_TAKEN_CCID'
165276 WHEN 20 THEN 'ASP_AUTO_OFFSET_FLAG'
165277 WHEN 21 THEN 'ASP_ROUNDING_ERROR_CCID'
165278 WHEN 22 THEN 'THIRD_PARTY_TYPE'
165279 WHEN 23 THEN 'ASP_WHEN_TO_ACCOUNT_PMT'
165280 WHEN 24 THEN 'APH_BANK_CURRENCY_CODE'
165281 WHEN 25 THEN 'APH_BANK_TO_BASE_XRATE_DATE'
165282 WHEN 26 THEN 'APH_BANK_TO_BASE_XRATE'
165283 WHEN 27 THEN 'APH_BANK_TO_BASE_XRATE_TYPE'
165284 WHEN 28 THEN 'AC_VENDOR_ID'
165285 WHEN 29 THEN 'AC_VENDOR_SITE_ID'
165286 WHEN 30 THEN 'CBA_POOLED_BANK_ACOUNT_FLAG'
165287 WHEN 31 THEN 'AC_FUTURE_PAY_DUE_DATE'
165288 WHEN 32 THEN 'AC_EXCHANGE_DATE'
165289 WHEN 33 THEN 'AC_EXCHANGE_RATE'
165290 WHEN 34 THEN 'AC_EXCHANGE_RATE_TYPE'
165291 WHEN 35 THEN 'PAYMENT_TYPE'
165292 WHEN 36 THEN 'AC_DOC_CATEGORY_CODE'
165293 WHEN 37 THEN 'PAYMENT_DOCUMENT_SEQUENCE_ID'
165294
165295 ELSE null
165296 END source_code
165297 , CASE r
165298 WHEN 1 THEN TO_CHAR(h2.DOC_SEQUENCE_NAME)
165299 WHEN 2 THEN TO_CHAR(h2.AC_DOC_SEQUENCE_VALUE)
165300 WHEN 3 THEN TO_CHAR(h2.PAYMENT_TRANSACTION_NUMBER)
165301 WHEN 4 THEN TO_CHAR(h2.AC_CHECK_DATE)
165302 WHEN 5 THEN TO_CHAR(h2.CBA_BANK_ACCOUNT_NAME)
165303 WHEN 6 THEN TO_CHAR(h2.AC_CURRENCY_CODE)
165304 WHEN 7 THEN TO_CHAR(h2.CGAC_BANK_CHARGES_CCID)
165305 WHEN 8 THEN TO_CHAR(h3.ASP_AUTOMATIC_OFFSETS_VALUE)
165306 WHEN 9 THEN TO_CHAR(h2.CGAC_BANK_ERRORS_CCID)
165307 WHEN 10 THEN TO_CHAR(h2.CGAC_AP_ASSET_CCID)
165308 WHEN 11 THEN TO_CHAR(h3.FSP_DISC_TAKEN_CCID)
165309 WHEN 12 THEN TO_CHAR(h3.ASP_DISCOUNT_DIST_METHOD)
165310 WHEN 13 THEN TO_CHAR(h3.ASP_INTEREST_CCID)
165311 WHEN 14 THEN TO_CHAR(h3.ASP_PRORATE_INT_ACROSS_DISTS)
165312 WHEN 15 THEN TO_CHAR(h2.CGAC_GAIN_CCID)
165313 WHEN 16 THEN TO_CHAR(h3.ASP_GAIN_CCID)
165314 WHEN 17 THEN TO_CHAR(h2.CGAC_LOSS_CCID)
165315 WHEN 18 THEN TO_CHAR(h3.ASP_LOSS_CCID)
165316 WHEN 19 THEN TO_CHAR(h3.ASP_DISC_TAKEN_CCID)
165317 WHEN 20 THEN TO_CHAR(h3.ASP_AUTO_OFFSET_FLAG)
165318 WHEN 21 THEN TO_CHAR(h3.ASP_ROUNDING_ERROR_CCID)
165319 WHEN 22 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
165320 WHEN 23 THEN TO_CHAR(h3.ASP_WHEN_TO_ACCOUNT_PMT)
165321 WHEN 24 THEN TO_CHAR(h2.APH_BANK_CURRENCY_CODE)
165322 WHEN 25 THEN TO_CHAR(h2.APH_BANK_TO_BASE_XRATE_DATE)
165323 WHEN 26 THEN TO_CHAR(h2.APH_BANK_TO_BASE_XRATE)
165324 WHEN 27 THEN TO_CHAR(h2.APH_BANK_TO_BASE_XRATE_TYPE)
165325 WHEN 28 THEN TO_CHAR(h2.AC_VENDOR_ID)
165326 WHEN 29 THEN TO_CHAR(h2.AC_VENDOR_SITE_ID)
165327 WHEN 30 THEN TO_CHAR(h2.CBA_POOLED_BANK_ACOUNT_FLAG)
165328 WHEN 31 THEN TO_CHAR(h2.AC_FUTURE_PAY_DUE_DATE)
165329 WHEN 32 THEN TO_CHAR(h2.AC_EXCHANGE_DATE)
165330 WHEN 33 THEN TO_CHAR(h2.AC_EXCHANGE_RATE)
165331 WHEN 34 THEN TO_CHAR(h2.AC_EXCHANGE_RATE_TYPE)
165332 WHEN 35 THEN TO_CHAR(h2.PAYMENT_TYPE)
165333 WHEN 36 THEN TO_CHAR(h2.AC_DOC_CATEGORY_CODE)
165334 WHEN 37 THEN TO_CHAR(h2.PAYMENT_DOCUMENT_SEQUENCE_ID)
165335
165336 ELSE null
165337 END source_value
165338 , CASE r
165339 WHEN 8 THEN fvl15.meaning
165340 WHEN 12 THEN fvl19.meaning
165341 WHEN 20 THEN fvl47.meaning
165342 WHEN 30 THEN fvl113.meaning
165343 WHEN 35 THEN fvl122.meaning
165344
165345 ELSE null
165346 END source_meaning
165350 , fnd_lookup_values fvl15
165347 FROM xla_events_gt xet
165348 , AP_PAYMENT_EXTRACT_HEADER_V h2
165349 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
165351 , fnd_lookup_values fvl19
165352 , fnd_lookup_values fvl47
165353 , fnd_lookup_values fvl113
165354 , fnd_lookup_values fvl122
165355 ,(select rownum r from all_objects where rownum <= 37 and owner = p_apps_owner)
165356 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
165357 AND xet.event_class_code = C_EVENT_CLASS_CODE
165358 AND h2.event_id = xet.event_id
165359 AND h3.asp_org_id = h2.ac_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
165360 AND fvl15.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
165361 AND fvl15.view_application_id(+) = 200
165362 AND fvl15.language(+) = USERENV('LANG')
165363 AND fvl19.lookup_type(+) = 'DISCOUNT_DIST_OPTIONS'
165364 AND fvl19.lookup_code(+) = h3.ASP_DISCOUNT_DIST_METHOD
165365 AND fvl19.view_application_id(+) = 200
165366 AND fvl19.language(+) = USERENV('LANG')
165367 AND fvl47.lookup_type(+) = 'YES_NO'
165368 AND fvl47.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
165369 AND fvl47.view_application_id(+) = 0
165370 AND fvl47.language(+) = USERENV('LANG')
165371 AND fvl113.lookup_type(+) = 'YES_NO'
165372 AND fvl113.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
165373 AND fvl113.view_application_id(+) = 0
165374 AND fvl113.language(+) = USERENV('LANG')
165375 AND fvl122.lookup_type(+) = 'PAYMENT TYPE'
165376 AND fvl122.lookup_code(+) = h2.PAYMENT_TYPE
165377 AND fvl122.view_application_id(+) = 200
165378 AND fvl122.language(+) = USERENV('LANG')
165379
165380 )
165381 ;
165382 --
165383 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
165384
165385 trace
165386 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
165387 ,p_level => C_LEVEL_STATEMENT
165388 ,p_module => l_log_module);
165389
165390 END IF;
165391 --
165392
165393
165394
165395 --
165396 INSERT INTO xla_diag_sources --line2
165397 (
165398 event_id
165399 , ledger_id
165400 , sla_ledger_id
165401 , description_language
165402 , object_name
165403 , object_type_code
165404 , line_number
165405 , source_application_id
165406 , source_type_code
165407 , source_code
165408 , source_value
165409 , source_meaning
165410 , created_by
165411 , creation_date
165412 , last_update_date
165413 , last_updated_by
165414 , last_update_login
165415 , program_update_date
165416 , program_application_id
165417 , program_id
165418 , request_id
165419 )
165420 SELECT event_id
165421 , p_target_ledger_id
165422 , p_sla_ledger_id
165423 , p_language
165424 , object_name
165425 , object_type_code
165426 , line_number
165427 , source_application_id
165428 , source_type_code
165429 , source_code
165430 , SUBSTR(source_value,1,1996)
165431 , SUBSTR(source_meaning ,1,200)
165432 , xla_environment_pkg.g_Usr_Id
165433 , TRUNC(SYSDATE)
165434 , TRUNC(SYSDATE)
165435 , xla_environment_pkg.g_Usr_Id
165436 , xla_environment_pkg.g_Login_Id
165437 , TRUNC(SYSDATE)
165438 , xla_environment_pkg.g_Prog_Appl_Id
165439 , xla_environment_pkg.g_Prog_Id
165440 , xla_environment_pkg.g_Req_Id
165441 FROM (
165442 SELECT xet.event_id event_id
165443 , l1.line_number line_number
165444 , CASE r
165445 WHEN 1 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165446 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165447 WHEN 3 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165448 WHEN 4 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165449 WHEN 5 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165450 WHEN 6 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
165451 WHEN 7 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165452 WHEN 8 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165453 WHEN 9 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165454 WHEN 10 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165455 WHEN 11 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
165456 WHEN 12 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
165457 WHEN 13 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165458 WHEN 14 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165459 WHEN 15 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165460 WHEN 16 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165461 WHEN 17 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165462 WHEN 18 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165463 WHEN 19 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165464 WHEN 20 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165465 WHEN 21 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165466 WHEN 22 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165467 WHEN 23 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165468 WHEN 24 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165469 WHEN 25 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165470 WHEN 26 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165471 WHEN 27 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165472 WHEN 28 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165473 WHEN 29 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165474 WHEN 30 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165475 WHEN 31 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
165476 WHEN 32 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165477 WHEN 33 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165481 WHEN 37 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165478 WHEN 34 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165479 WHEN 35 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165480 WHEN 36 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165482 WHEN 38 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165483 WHEN 39 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165484 WHEN 40 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165485 WHEN 41 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165486 WHEN 42 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165487
165488 ELSE null
165489 END object_name
165490 , CASE r
165491 WHEN 1 THEN 'LINE'
165492 WHEN 2 THEN 'LINE'
165493 WHEN 3 THEN 'LINE'
165494 WHEN 4 THEN 'LINE'
165495 WHEN 5 THEN 'LINE'
165496 WHEN 6 THEN 'LINE'
165497 WHEN 7 THEN 'LINE'
165498 WHEN 8 THEN 'LINE'
165499 WHEN 9 THEN 'LINE'
165500 WHEN 10 THEN 'LINE'
165501 WHEN 11 THEN 'LINE'
165502 WHEN 12 THEN 'LINE'
165503 WHEN 13 THEN 'LINE'
165504 WHEN 14 THEN 'LINE'
165505 WHEN 15 THEN 'LINE'
165506 WHEN 16 THEN 'LINE'
165507 WHEN 17 THEN 'LINE'
165508 WHEN 18 THEN 'LINE'
165509 WHEN 19 THEN 'LINE'
165510 WHEN 20 THEN 'LINE'
165511 WHEN 21 THEN 'LINE'
165512 WHEN 22 THEN 'LINE'
165513 WHEN 23 THEN 'LINE'
165514 WHEN 24 THEN 'LINE'
165515 WHEN 25 THEN 'LINE'
165516 WHEN 26 THEN 'LINE'
165517 WHEN 27 THEN 'LINE'
165518 WHEN 28 THEN 'LINE'
165519 WHEN 29 THEN 'LINE'
165520 WHEN 30 THEN 'LINE'
165521 WHEN 31 THEN 'LINE'
165522 WHEN 32 THEN 'LINE'
165523 WHEN 33 THEN 'LINE'
165524 WHEN 34 THEN 'LINE'
165525 WHEN 35 THEN 'LINE'
165526 WHEN 36 THEN 'LINE'
165527 WHEN 37 THEN 'LINE'
165528 WHEN 38 THEN 'LINE'
165529 WHEN 39 THEN 'LINE'
165530 WHEN 40 THEN 'LINE'
165531 WHEN 41 THEN 'LINE'
165532 WHEN 42 THEN 'LINE'
165533
165534 ELSE null
165535 END object_type_code
165536 , CASE r
165537 WHEN 1 THEN '200'
165538 WHEN 2 THEN '200'
165539 WHEN 3 THEN '200'
165540 WHEN 4 THEN '200'
165541 WHEN 5 THEN '200'
165542 WHEN 6 THEN '200'
165543 WHEN 7 THEN '200'
165544 WHEN 8 THEN '200'
165545 WHEN 9 THEN '200'
165546 WHEN 10 THEN '200'
165547 WHEN 11 THEN '200'
165548 WHEN 12 THEN '200'
165549 WHEN 13 THEN '200'
165550 WHEN 14 THEN '200'
165551 WHEN 15 THEN '200'
165552 WHEN 16 THEN '200'
165553 WHEN 17 THEN '200'
165554 WHEN 18 THEN '200'
165555 WHEN 19 THEN '200'
165556 WHEN 20 THEN '200'
165557 WHEN 21 THEN '200'
165558 WHEN 22 THEN '200'
165559 WHEN 23 THEN '200'
165560 WHEN 24 THEN '200'
165561 WHEN 25 THEN '200'
165562 WHEN 26 THEN '200'
165563 WHEN 27 THEN '200'
165564 WHEN 28 THEN '200'
165565 WHEN 29 THEN '200'
165566 WHEN 30 THEN '200'
165567 WHEN 31 THEN '200'
165568 WHEN 32 THEN '200'
165569 WHEN 33 THEN '200'
165570 WHEN 34 THEN '200'
165571 WHEN 35 THEN '200'
165572 WHEN 36 THEN '200'
165573 WHEN 37 THEN '200'
165574 WHEN 38 THEN '200'
165575 WHEN 39 THEN '200'
165576 WHEN 40 THEN '200'
165577 WHEN 41 THEN '200'
165578 WHEN 42 THEN '200'
165579
165580 ELSE null
165581 END source_application_id
165582 , 'S' source_type_code
165583 , CASE r
165584 WHEN 1 THEN 'AID_DIST_CCID'
165585 WHEN 2 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
165586 WHEN 3 THEN 'AWT_RELATED_DIST_ACCOUNT'
165587 WHEN 4 THEN 'POD_CCID'
165588 WHEN 5 THEN 'PO_VARIANCE_ACCOUNT'
165589 WHEN 6 THEN 'TAX_ACCOUNT_CCID'
165590 WHEN 7 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
165591 WHEN 8 THEN 'DISTRIBUTION_LINK_TYPE'
165592 WHEN 9 THEN 'AI_INVOICE_CURRENCY_CODE'
165593 WHEN 10 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
165594 WHEN 11 THEN 'TAX_LINE_ID'
165595 WHEN 12 THEN 'SUMMARY_TAX_LINE_ID'
165596 WHEN 13 THEN 'BUS_FLOW_AP_APP_ID'
165597 WHEN 14 THEN 'BUS_FLOW_INV_DIST_TYPE'
165598 WHEN 15 THEN 'BUS_FLOW_INV_ENTITY_CODE'
165599 WHEN 16 THEN 'BUS_FLOW_INV_DIST_ID'
165600 WHEN 17 THEN 'BUS_FLOW_INV_ID'
165601 WHEN 18 THEN 'APHD_PAY_DIST_LOOKUP_CODE'
165602 WHEN 19 THEN 'APHD_AMOUNT'
165603 WHEN 20 THEN 'BUS_FLOW_PAYMENT_DIST_TYPE'
165604 WHEN 21 THEN 'BUS_FLOW_PAYMENT_ENTITY_CODE'
165605 WHEN 22 THEN 'BUS_FLOW_PAYMENT_DIST_ID'
165609 WHEN 26 THEN 'APHD_REV_PAY_HIST_DIST_ID'
165606 WHEN 23 THEN 'BUS_FLOW_PAYMENT_ID'
165607 WHEN 24 THEN 'APHD_PAYMENT_HIST_DIST_ID'
165608 WHEN 25 THEN 'APHD_CLEARING_BASE_AMT'
165610 WHEN 27 THEN 'APHD_PAYMENT_BASE_AMT'
165611 WHEN 28 THEN 'APHD_INVOICE_BASE_AMT'
165612 WHEN 29 THEN 'BUS_FLOW_PAYMENT_MAT_DIST_ID'
165613 WHEN 30 THEN 'APHD_MATURED_BASE_AMOUNT'
165614 WHEN 31 THEN 'DEF_REC_SETTLEMENT_OPTION_CODE'
165615 WHEN 32 THEN 'INV_EXCHANGE_DATE'
165616 WHEN 33 THEN 'INV_EXCHANGE_RATE'
165617 WHEN 34 THEN 'INV_EXCHANGE_RATE_TYPE'
165618 WHEN 35 THEN 'INV_CLR_GAIN_LOSS_INDICATOR'
165619 WHEN 36 THEN 'INV_CLR_BASE_AMT_DIFF'
165620 WHEN 37 THEN 'MAT_CLR_GAIN_LOSS_INDICATOR'
165621 WHEN 38 THEN 'MAT_CLR_BASE_AMT_DIFF'
165622 WHEN 39 THEN 'PMT_CLR_GAIN_LOSS_INDICATOR'
165623 WHEN 40 THEN 'PMT_CLR_BASE_AMT_DIFF'
165624 WHEN 41 THEN 'AI_INVOICE_TYPE_PAID'
165625 WHEN 42 THEN 'AWT_AT_PMT_TIME'
165626
165627 ELSE null
165628 END source_code
165629 , CASE r
165630 WHEN 1 THEN TO_CHAR(l1.AID_DIST_CCID)
165631 WHEN 2 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
165632 WHEN 3 THEN TO_CHAR(l1.AWT_RELATED_DIST_ACCOUNT)
165633 WHEN 4 THEN TO_CHAR(l1.POD_CCID)
165634 WHEN 5 THEN TO_CHAR(l1.PO_VARIANCE_ACCOUNT)
165635 WHEN 6 THEN TO_CHAR(l4.TAX_ACCOUNT_CCID)
165636 WHEN 7 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
165637 WHEN 8 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
165638 WHEN 9 THEN TO_CHAR(l1.AI_INVOICE_CURRENCY_CODE)
165639 WHEN 10 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
165640 WHEN 11 THEN TO_CHAR(l4.TAX_LINE_ID)
165641 WHEN 12 THEN TO_CHAR(l4.SUMMARY_TAX_LINE_ID)
165642 WHEN 13 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
165643 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
165644 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
165645 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
165646 WHEN 17 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
165647 WHEN 18 THEN TO_CHAR(l1.APHD_PAY_DIST_LOOKUP_CODE)
165648 WHEN 19 THEN TO_CHAR(l1.APHD_AMOUNT)
165649 WHEN 20 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_DIST_TYPE)
165650 WHEN 21 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_ENTITY_CODE)
165651 WHEN 22 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_DIST_ID)
165652 WHEN 23 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_ID)
165653 WHEN 24 THEN TO_CHAR(l1.APHD_PAYMENT_HIST_DIST_ID)
165654 WHEN 25 THEN TO_CHAR(l1.APHD_CLEARING_BASE_AMT)
165655 WHEN 26 THEN TO_CHAR(l1.APHD_REV_PAY_HIST_DIST_ID)
165656 WHEN 27 THEN TO_CHAR(l1.APHD_PAYMENT_BASE_AMT)
165657 WHEN 28 THEN TO_CHAR(l1.APHD_INVOICE_BASE_AMT)
165658 WHEN 29 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_MAT_DIST_ID)
165659 WHEN 30 THEN TO_CHAR(l1.APHD_MATURED_BASE_AMOUNT)
165660 WHEN 31 THEN TO_CHAR(l4.DEF_REC_SETTLEMENT_OPTION_CODE)
165661 WHEN 32 THEN TO_CHAR(l1.INV_EXCHANGE_DATE)
165662 WHEN 33 THEN TO_CHAR(l1.INV_EXCHANGE_RATE)
165663 WHEN 34 THEN TO_CHAR(l1.INV_EXCHANGE_RATE_TYPE)
165664 WHEN 35 THEN TO_CHAR(l1.INV_CLR_GAIN_LOSS_INDICATOR)
165665 WHEN 36 THEN TO_CHAR(l1.INV_CLR_BASE_AMT_DIFF)
165666 WHEN 37 THEN TO_CHAR(l1.MAT_CLR_GAIN_LOSS_INDICATOR)
165667 WHEN 38 THEN TO_CHAR(l1.MAT_CLR_BASE_AMT_DIFF)
165668 WHEN 39 THEN TO_CHAR(l1.PMT_CLR_GAIN_LOSS_INDICATOR)
165669 WHEN 40 THEN TO_CHAR(l1.PMT_CLR_BASE_AMT_DIFF)
165670 WHEN 41 THEN TO_CHAR(l1.AI_INVOICE_TYPE_PAID)
165671 WHEN 42 THEN TO_CHAR(l1.AWT_AT_PMT_TIME)
165672
165673 ELSE null
165674 END source_value
165675 , CASE r
165676 WHEN 2 THEN fvl33.meaning
165677 WHEN 10 THEN fvl80.meaning
165678 WHEN 18 THEN fvl98.meaning
165679 WHEN 31 THEN fvl137.meaning
165680 WHEN 41 THEN fvl163.meaning
165681 WHEN 42 THEN fvl164.meaning
165682
165683 ELSE null
165684 END source_meaning
165685 FROM xla_events_gt xet
165686 , AP_PAYMENT_EXTRACT_DETAILS_V l1
165687 , ZX_AP_DEF_TAX_EXTRACT_V l4
165688 , fnd_lookup_values fvl33
165689 , fnd_lookup_values fvl80
165690 , fnd_lookup_values fvl98
165691 , fnd_lookup_values fvl137
165692 , fnd_lookup_values fvl163
165693 , fnd_lookup_values fvl164
165694 , (select rownum r from all_objects where rownum <= 42 and owner = p_apps_owner)
165695 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
165696 AND xet.event_class_code = C_EVENT_CLASS_CODE
165697 AND l1.event_id = xet.event_id
165698 AND l1.aid_detail_tax_dist_id = l4.rec_nrec_tax_dist_id (+) AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
165699 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
165700 AND fvl33.view_application_id(+) = 200
165701 AND fvl33.language(+) = USERENV('LANG')
165702 AND fvl80.lookup_type(+) = 'YES_NO'
165703 AND fvl80.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
165704 AND fvl80.view_application_id(+) = 0
165705 AND fvl80.language(+) = USERENV('LANG')
165706 AND fvl98.lookup_type(+) = 'PAY_DIST_TYPES'
165707 AND fvl98.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
165708 AND fvl98.view_application_id(+) = 200
165712 AND fvl137.view_application_id(+) = 0
165709 AND fvl98.language(+) = USERENV('LANG')
165710 AND fvl137.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
165711 AND fvl137.lookup_code(+) = l4.DEF_REC_SETTLEMENT_OPTION_CODE
165713 AND fvl137.language(+) = USERENV('LANG')
165714 AND fvl163.lookup_type(+) = 'INVOICE TYPE'
165715 AND fvl163.lookup_code(+) = l1.AI_INVOICE_TYPE_PAID
165716 AND fvl163.view_application_id(+) = 200
165717 AND fvl163.language(+) = USERENV('LANG')
165718 AND fvl164.lookup_type(+) = 'YES_NO'
165719 AND fvl164.lookup_code(+) = l1.AWT_AT_PMT_TIME
165720 AND fvl164.view_application_id(+) = 0
165721 AND fvl164.language(+) = USERENV('LANG')
165722
165723 )
165724 ;
165725 --
165726 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
165727
165728 trace
165729 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
165730 ,p_level => C_LEVEL_STATEMENT
165731 ,p_module => l_log_module);
165732
165733 END IF;
165734
165735
165736 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
165737 trace
165738 (p_msg => 'END of insert_sources_237'
165739 ,p_level => C_LEVEL_PROCEDURE
165740 ,p_module => l_log_module);
165741 END IF;
165742 EXCEPTION
165743 WHEN xla_exceptions_pkg.application_exception THEN
165744 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
165745 trace
165746 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
165747 ,p_level => C_LEVEL_EXCEPTION
165748 ,p_module => l_log_module);
165749 END IF;
165750 RAISE;
165751 WHEN OTHERS THEN
165752 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
165753 trace
165754 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
165755 ,p_level => C_LEVEL_EXCEPTION
165756 ,p_module => l_log_module);
165757 END IF;
165758 xla_exceptions_pkg.raise_message
165759 (p_location => 'XLA_00200_AAD_S_000002_PKG.insert_sources_237');
165760 END insert_sources_237;
165761 --
165762
165763 ---------------------------------------
165764 --
165765 -- PRIVATE FUNCTION
165766 -- EventClass_237
165767 --
165768 ----------------------------------------
165769 --
165770 FUNCTION EventClass_237
165771 (p_application_id IN NUMBER
165772 ,p_base_ledger_id IN NUMBER
165773 ,p_target_ledger_id IN NUMBER
165774 ,p_language IN VARCHAR2
165775 ,p_currency_code IN VARCHAR2
165776 ,p_sla_ledger_id IN NUMBER
165777 ,p_pad_start_date IN DATE
165778 ,p_pad_end_date IN DATE
165779 ,p_primary_ledger_id IN NUMBER)
165780 RETURN BOOLEAN IS
165781 --
165782 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'RECONCILED PAYMENTS_ALL';
165783 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'RECONCILED PAYMENTS';
165784
165785 l_calculate_acctd_flag VARCHAR2(1) :='N';
165786 l_calculate_g_l_flag VARCHAR2(1) :='N';
165787 --
165788 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
165789 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
165790 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
165791 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
165792 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
165793 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
165794 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
165795 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
165796 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
165797 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
165798 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
165799 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
165800 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
165801 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
165802 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
165803 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
165804 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
165805 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
165806 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
165807 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
165808 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
165809 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
165810 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
165811 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
165812 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
165813 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
165814
165815 l_event_id NUMBER;
165816 l_previous_event_id NUMBER;
165817 l_first_event_id NUMBER;
165818 l_last_event_id NUMBER;
165819
165820 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
165821 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
165822 --
165823 --
165824 l_result BOOLEAN := TRUE;
165825 l_rows NUMBER := 1000;
165826 l_event_type_name VARCHAR2(80) := 'All';
165827 l_event_class_name VARCHAR2(80) := 'Reconciled Payments';
165828 l_description VARCHAR2(4000);
165829 l_transaction_reversal NUMBER;
165833 --
165830 l_ae_header_id NUMBER;
165831 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
165832 l_log_module VARCHAR2(240);
165834 l_acct_reversal_source VARCHAR2(30);
165835 l_trx_reversal_source VARCHAR2(30);
165836
165837 l_continue_with_lines BOOLEAN := TRUE;
165838 --
165839 l_acc_rev_gl_date_source DATE; -- 4262811
165840 --
165841 type t_array_event_id is table of number index by binary_integer;
165842
165843 l_rec_array_event t_rec_array_event;
165844 l_null_rec_array_event t_rec_array_event;
165845 l_array_ae_header_id xla_number_array_type;
165846 l_actual_flag VARCHAR2(1) := NULL;
165847 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
165848 l_balance_type_code VARCHAR2(1) :=NULL;
165849 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
165850
165851 --
165852 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
165853 --
165854
165855 TYPE t_array_source_6 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.DOC_SEQUENCE_NAME%TYPE INDEX BY BINARY_INTEGER;
165856 TYPE t_array_source_9 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
165857 TYPE t_array_source_10 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_TRANSACTION_NUMBER%TYPE INDEX BY BINARY_INTEGER;
165858 TYPE t_array_source_11 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CHECK_DATE%TYPE INDEX BY BINARY_INTEGER;
165859 TYPE t_array_source_12 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CBA_BANK_ACCOUNT_NAME%TYPE INDEX BY BINARY_INTEGER;
165860 TYPE t_array_source_13 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
165861 TYPE t_array_source_14 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_BANK_CHARGES_CCID%TYPE INDEX BY BINARY_INTEGER;
165862 TYPE t_array_source_15 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
165863 TYPE t_array_source_16 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_BANK_ERRORS_CCID%TYPE INDEX BY BINARY_INTEGER;
165864 TYPE t_array_source_17 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_AP_ASSET_CCID%TYPE INDEX BY BINARY_INTEGER;
165865 TYPE t_array_source_18 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_DISC_TAKEN_CCID%TYPE INDEX BY BINARY_INTEGER;
165866 TYPE t_array_source_19 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_DISCOUNT_DIST_METHOD%TYPE INDEX BY BINARY_INTEGER;
165867 TYPE t_array_source_28 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_INTEREST_CCID%TYPE INDEX BY BINARY_INTEGER;
165868 TYPE t_array_source_29 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_PRORATE_INT_ACROSS_DISTS%TYPE INDEX BY BINARY_INTEGER;
165869 TYPE t_array_source_36 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
165870 TYPE t_array_source_37 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
165871 TYPE t_array_source_38 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
165872 TYPE t_array_source_39 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
165873 TYPE t_array_source_44 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_DISC_TAKEN_CCID%TYPE INDEX BY BINARY_INTEGER;
165874 TYPE t_array_source_47 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
165875 TYPE t_array_source_49 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_ROUNDING_ERROR_CCID%TYPE INDEX BY BINARY_INTEGER;
165876 TYPE t_array_source_83 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
165877 TYPE t_array_source_97 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_WHEN_TO_ACCOUNT_PMT%TYPE INDEX BY BINARY_INTEGER;
165878 TYPE t_array_source_105 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.APH_BANK_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
165879 TYPE t_array_source_106 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.APH_BANK_TO_BASE_XRATE_DATE%TYPE INDEX BY BINARY_INTEGER;
165880 TYPE t_array_source_107 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.APH_BANK_TO_BASE_XRATE%TYPE INDEX BY BINARY_INTEGER;
165881 TYPE t_array_source_108 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.APH_BANK_TO_BASE_XRATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
165882 TYPE t_array_source_110 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
165883 TYPE t_array_source_111 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
165884 TYPE t_array_source_113 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CBA_POOLED_BANK_ACOUNT_FLAG%TYPE INDEX BY BINARY_INTEGER;
165885 TYPE t_array_source_114 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_FUTURE_PAY_DUE_DATE%TYPE INDEX BY BINARY_INTEGER;
165886 TYPE t_array_source_117 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
165887 TYPE t_array_source_118 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
165888 TYPE t_array_source_119 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
165889 TYPE t_array_source_122 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_TYPE%TYPE INDEX BY BINARY_INTEGER;
165890 TYPE t_array_source_170 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_CATEGORY_CODE%TYPE INDEX BY BINARY_INTEGER;
165891 TYPE t_array_source_171 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_DOCUMENT_SEQUENCE_ID%TYPE INDEX BY BINARY_INTEGER;
165892
165893 TYPE t_array_source_30 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
165894 TYPE t_array_source_33 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
165895 TYPE t_array_source_43 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AWT_RELATED_DIST_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
165896 TYPE t_array_source_45 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.POD_CCID%TYPE INDEX BY BINARY_INTEGER;
165897 TYPE t_array_source_46 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.PO_VARIANCE_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
165898 TYPE t_array_source_52 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_ACCOUNT_CCID%TYPE INDEX BY BINARY_INTEGER;
165899 TYPE t_array_source_53 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
165900 TYPE t_array_source_55 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
165904 TYPE t_array_source_88 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
165901 TYPE t_array_source_67 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
165902 TYPE t_array_source_80 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
165903 TYPE t_array_source_86 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
165905 TYPE t_array_source_91 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
165906 TYPE t_array_source_92 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
165907 TYPE t_array_source_93 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
165908 TYPE t_array_source_94 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
165909 TYPE t_array_source_95 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
165910 TYPE t_array_source_98 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAY_DIST_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
165911 TYPE t_array_source_99 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
165912 TYPE t_array_source_100 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
165913 TYPE t_array_source_101 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
165914 TYPE t_array_source_102 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
165915 TYPE t_array_source_103 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_ID%TYPE INDEX BY BINARY_INTEGER;
165916 TYPE t_array_source_104 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
165917 TYPE t_array_source_109 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_CLEARING_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
165918 TYPE t_array_source_112 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_REV_PAY_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
165919 TYPE t_array_source_115 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
165920 TYPE t_array_source_116 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_INVOICE_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
165921 TYPE t_array_source_120 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_MAT_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
165922 TYPE t_array_source_121 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_MATURED_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
165923 TYPE t_array_source_137 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.DEF_REC_SETTLEMENT_OPTION_CODE%TYPE INDEX BY BINARY_INTEGER;
165924 TYPE t_array_source_143 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
165925 TYPE t_array_source_144 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
165926 TYPE t_array_source_145 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
165927 TYPE t_array_source_151 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_CLR_GAIN_LOSS_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
165928 TYPE t_array_source_152 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_CLR_BASE_AMT_DIFF%TYPE INDEX BY BINARY_INTEGER;
165929 TYPE t_array_source_156 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.MAT_CLR_GAIN_LOSS_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
165930 TYPE t_array_source_157 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.MAT_CLR_BASE_AMT_DIFF%TYPE INDEX BY BINARY_INTEGER;
165931 TYPE t_array_source_159 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.PMT_CLR_GAIN_LOSS_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
165932 TYPE t_array_source_160 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.PMT_CLR_BASE_AMT_DIFF%TYPE INDEX BY BINARY_INTEGER;
165933 TYPE t_array_source_163 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AI_INVOICE_TYPE_PAID%TYPE INDEX BY BINARY_INTEGER;
165934 TYPE t_array_source_164 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AWT_AT_PMT_TIME%TYPE INDEX BY BINARY_INTEGER;
165935
165936 l_array_source_6 t_array_source_6;
165937 l_array_source_9 t_array_source_9;
165938 l_array_source_10 t_array_source_10;
165939 l_array_source_11 t_array_source_11;
165940 l_array_source_12 t_array_source_12;
165941 l_array_source_13 t_array_source_13;
165942 l_array_source_14 t_array_source_14;
165943 l_array_source_15 t_array_source_15;
165944 l_array_source_15_meaning t_array_lookup_meaning;
165945 l_array_source_16 t_array_source_16;
165946 l_array_source_17 t_array_source_17;
165947 l_array_source_18 t_array_source_18;
165948 l_array_source_19 t_array_source_19;
165949 l_array_source_19_meaning t_array_lookup_meaning;
165950 l_array_source_28 t_array_source_28;
165951 l_array_source_29 t_array_source_29;
165952 l_array_source_36 t_array_source_36;
165953 l_array_source_37 t_array_source_37;
165954 l_array_source_38 t_array_source_38;
165955 l_array_source_39 t_array_source_39;
165956 l_array_source_44 t_array_source_44;
165957 l_array_source_47 t_array_source_47;
165958 l_array_source_47_meaning t_array_lookup_meaning;
165959 l_array_source_49 t_array_source_49;
165960 l_array_source_83 t_array_source_83;
165961 l_array_source_97 t_array_source_97;
165962 l_array_source_105 t_array_source_105;
165963 l_array_source_106 t_array_source_106;
165964 l_array_source_107 t_array_source_107;
165965 l_array_source_108 t_array_source_108;
165966 l_array_source_110 t_array_source_110;
165967 l_array_source_111 t_array_source_111;
165968 l_array_source_113 t_array_source_113;
165969 l_array_source_113_meaning t_array_lookup_meaning;
165970 l_array_source_114 t_array_source_114;
165971 l_array_source_117 t_array_source_117;
165972 l_array_source_118 t_array_source_118;
165973 l_array_source_119 t_array_source_119;
165974 l_array_source_122 t_array_source_122;
165975 l_array_source_122_meaning t_array_lookup_meaning;
165979 l_array_source_30 t_array_source_30;
165976 l_array_source_170 t_array_source_170;
165977 l_array_source_171 t_array_source_171;
165978
165980 l_array_source_33 t_array_source_33;
165981 l_array_source_33_meaning t_array_lookup_meaning;
165982 l_array_source_43 t_array_source_43;
165983 l_array_source_45 t_array_source_45;
165984 l_array_source_46 t_array_source_46;
165985 l_array_source_52 t_array_source_52;
165986 l_array_source_53 t_array_source_53;
165987 l_array_source_55 t_array_source_55;
165988 l_array_source_67 t_array_source_67;
165989 l_array_source_80 t_array_source_80;
165990 l_array_source_80_meaning t_array_lookup_meaning;
165991 l_array_source_86 t_array_source_86;
165992 l_array_source_88 t_array_source_88;
165993 l_array_source_91 t_array_source_91;
165994 l_array_source_92 t_array_source_92;
165995 l_array_source_93 t_array_source_93;
165996 l_array_source_94 t_array_source_94;
165997 l_array_source_95 t_array_source_95;
165998 l_array_source_98 t_array_source_98;
165999 l_array_source_98_meaning t_array_lookup_meaning;
166000 l_array_source_99 t_array_source_99;
166001 l_array_source_100 t_array_source_100;
166002 l_array_source_101 t_array_source_101;
166003 l_array_source_102 t_array_source_102;
166004 l_array_source_103 t_array_source_103;
166005 l_array_source_104 t_array_source_104;
166006 l_array_source_109 t_array_source_109;
166007 l_array_source_112 t_array_source_112;
166008 l_array_source_115 t_array_source_115;
166009 l_array_source_116 t_array_source_116;
166010 l_array_source_120 t_array_source_120;
166011 l_array_source_121 t_array_source_121;
166012 l_array_source_137 t_array_source_137;
166013 l_array_source_137_meaning t_array_lookup_meaning;
166014 l_array_source_143 t_array_source_143;
166015 l_array_source_144 t_array_source_144;
166016 l_array_source_145 t_array_source_145;
166017 l_array_source_151 t_array_source_151;
166018 l_array_source_152 t_array_source_152;
166019 l_array_source_156 t_array_source_156;
166020 l_array_source_157 t_array_source_157;
166021 l_array_source_159 t_array_source_159;
166022 l_array_source_160 t_array_source_160;
166023 l_array_source_163 t_array_source_163;
166024 l_array_source_163_meaning t_array_lookup_meaning;
166025 l_array_source_164 t_array_source_164;
166026 l_array_source_164_meaning t_array_lookup_meaning;
166027
166028 --
166029 CURSOR header_cur
166030 IS
166031 SELECT /*+ leading(xet) cardinality(xet,1) */
166032 -- Event Class Code: RECONCILED PAYMENTS
166033 xet.entity_id
166034 ,xet.legal_entity_id
166035 ,xet.entity_code
166036 ,xet.transaction_number
166037 ,xet.event_id
166038 ,xet.event_class_code
166039 ,xet.event_type_code
166040 ,xet.event_number
166041 ,xet.event_date
166042 ,xet.transaction_date
166043 ,xet.reference_num_1
166044 ,xet.reference_num_2
166045 ,xet.reference_num_3
166046 ,xet.reference_num_4
166047 ,xet.reference_char_1
166048 ,xet.reference_char_2
166049 ,xet.reference_char_3
166050 ,xet.reference_char_4
166051 ,xet.reference_date_1
166052 ,xet.reference_date_2
166053 ,xet.reference_date_3
166054 ,xet.reference_date_4
166055 ,xet.event_created_by
166056 ,xet.budgetary_control_flag
166057 , h2.DOC_SEQUENCE_NAME source_6
166058 , h2.AC_DOC_SEQUENCE_VALUE source_9
166059 , h2.PAYMENT_TRANSACTION_NUMBER source_10
166060 , h2.AC_CHECK_DATE source_11
166061 , h2.CBA_BANK_ACCOUNT_NAME source_12
166062 , h2.AC_CURRENCY_CODE source_13
166063 , h2.CGAC_BANK_CHARGES_CCID source_14
166064 , h3.ASP_AUTOMATIC_OFFSETS_VALUE source_15
166065 , fvl15.meaning source_15_meaning
166066 , h2.CGAC_BANK_ERRORS_CCID source_16
166067 , h2.CGAC_AP_ASSET_CCID source_17
166068 , h3.FSP_DISC_TAKEN_CCID source_18
166069 , h3.ASP_DISCOUNT_DIST_METHOD source_19
166070 , fvl19.meaning source_19_meaning
166071 , h3.ASP_INTEREST_CCID source_28
166072 , h3.ASP_PRORATE_INT_ACROSS_DISTS source_29
166073 , h2.CGAC_GAIN_CCID source_36
166074 , h3.ASP_GAIN_CCID source_37
166075 , h2.CGAC_LOSS_CCID source_38
166076 , h3.ASP_LOSS_CCID source_39
166077 , h3.ASP_DISC_TAKEN_CCID source_44
166078 , h3.ASP_AUTO_OFFSET_FLAG source_47
166079 , fvl47.meaning source_47_meaning
166080 , h3.ASP_ROUNDING_ERROR_CCID source_49
166081 , h2.THIRD_PARTY_TYPE source_83
166082 , h3.ASP_WHEN_TO_ACCOUNT_PMT source_97
166083 , h2.APH_BANK_CURRENCY_CODE source_105
166084 , h2.APH_BANK_TO_BASE_XRATE_DATE source_106
166085 , h2.APH_BANK_TO_BASE_XRATE source_107
166086 , h2.APH_BANK_TO_BASE_XRATE_TYPE source_108
166087 , h2.AC_VENDOR_ID source_110
166088 , h2.AC_VENDOR_SITE_ID source_111
166089 , h2.CBA_POOLED_BANK_ACOUNT_FLAG source_113
166090 , fvl113.meaning source_113_meaning
166091 , h2.AC_FUTURE_PAY_DUE_DATE source_114
166092 , h2.AC_EXCHANGE_DATE source_117
166093 , h2.AC_EXCHANGE_RATE source_118
166094 , h2.AC_EXCHANGE_RATE_TYPE source_119
166095 , h2.PAYMENT_TYPE source_122
166096 , fvl122.meaning source_122_meaning
166097 , h2.AC_DOC_CATEGORY_CODE source_170
166098 , h2.PAYMENT_DOCUMENT_SEQUENCE_ID source_171
166099 FROM xla_events_gt xet
166100 , AP_PAYMENT_EXTRACT_HEADER_V h2
166101 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
166102 , fnd_lookup_values fvl15
166103 , fnd_lookup_values fvl19
166104 , fnd_lookup_values fvl47
166105 , fnd_lookup_values fvl113
166106 , fnd_lookup_values fvl122
166107 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
166108 and xet.event_class_code = C_EVENT_CLASS_CODE
166109 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
166113 AND fvl15.language(+) = USERENV('LANG')
166110 AND h3.asp_org_id = h2.ac_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
166111 AND fvl15.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
166112 AND fvl15.view_application_id(+) = 200
166114 AND fvl19.lookup_type(+) = 'DISCOUNT_DIST_OPTIONS'
166115 AND fvl19.lookup_code(+) = h3.ASP_DISCOUNT_DIST_METHOD
166116 AND fvl19.view_application_id(+) = 200
166117 AND fvl19.language(+) = USERENV('LANG')
166118 AND fvl47.lookup_type(+) = 'YES_NO'
166119 AND fvl47.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
166120 AND fvl47.view_application_id(+) = 0
166121 AND fvl47.language(+) = USERENV('LANG')
166122 AND fvl113.lookup_type(+) = 'YES_NO'
166123 AND fvl113.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
166124 AND fvl113.view_application_id(+) = 0
166125 AND fvl113.language(+) = USERENV('LANG')
166126 AND fvl122.lookup_type(+) = 'PAYMENT TYPE'
166127 AND fvl122.lookup_code(+) = h2.PAYMENT_TYPE
166128 AND fvl122.view_application_id(+) = 200
166129 AND fvl122.language(+) = USERENV('LANG')
166130
166131 ORDER BY event_id
166132 ;
166133
166134
166135 --
166136 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
166137 IS
166138 SELECT /*+ leading(xet) cardinality(xet,1) */
166139 -- Event Class Code: RECONCILED PAYMENTS
166140 xet.entity_id
166141 ,xet.legal_entity_id
166142 ,xet.entity_code
166143 ,xet.transaction_number
166144 ,xet.event_id
166145 ,xet.event_class_code
166146 ,xet.event_type_code
166147 ,xet.event_number
166148 ,xet.event_date
166149 ,xet.transaction_date
166150 ,xet.reference_num_1
166151 ,xet.reference_num_2
166152 ,xet.reference_num_3
166153 ,xet.reference_num_4
166154 ,xet.reference_char_1
166155 ,xet.reference_char_2
166156 ,xet.reference_char_3
166157 ,xet.reference_char_4
166158 ,xet.reference_date_1
166159 ,xet.reference_date_2
166160 ,xet.reference_date_3
166161 ,xet.reference_date_4
166162 ,xet.event_created_by
166163 ,xet.budgetary_control_flag
166164 , l1.LINE_NUMBER
166165 , l1.AID_DIST_CCID source_30
166166 , l1.AID_LINE_TYPE_LOOKUP_CODE source_33
166167 , fvl33.meaning source_33_meaning
166168 , l1.AWT_RELATED_DIST_ACCOUNT source_43
166169 , l1.POD_CCID source_45
166170 , l1.PO_VARIANCE_ACCOUNT source_46
166171 , l4.TAX_ACCOUNT_CCID source_52
166172 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_53
166173 , l1.DISTRIBUTION_LINK_TYPE source_55
166174 , l1.AI_INVOICE_CURRENCY_CODE source_67
166175 , l1.OVERRIDE_ACCTD_AMT_FLAG source_80
166176 , fvl80.meaning source_80_meaning
166177 , l4.TAX_LINE_ID source_86
166178 , l4.SUMMARY_TAX_LINE_ID source_88
166179 , l1.BUS_FLOW_AP_APP_ID source_91
166180 , l1.BUS_FLOW_INV_DIST_TYPE source_92
166181 , l1.BUS_FLOW_INV_ENTITY_CODE source_93
166182 , l1.BUS_FLOW_INV_DIST_ID source_94
166183 , l1.BUS_FLOW_INV_ID source_95
166184 , l1.APHD_PAY_DIST_LOOKUP_CODE source_98
166185 , fvl98.meaning source_98_meaning
166186 , l1.APHD_AMOUNT source_99
166187 , l1.BUS_FLOW_PAYMENT_DIST_TYPE source_100
166188 , l1.BUS_FLOW_PAYMENT_ENTITY_CODE source_101
166189 , l1.BUS_FLOW_PAYMENT_DIST_ID source_102
166190 , l1.BUS_FLOW_PAYMENT_ID source_103
166191 , l1.APHD_PAYMENT_HIST_DIST_ID source_104
166192 , l1.APHD_CLEARING_BASE_AMT source_109
166193 , l1.APHD_REV_PAY_HIST_DIST_ID source_112
166194 , l1.APHD_PAYMENT_BASE_AMT source_115
166195 , l1.APHD_INVOICE_BASE_AMT source_116
166196 , l1.BUS_FLOW_PAYMENT_MAT_DIST_ID source_120
166197 , l1.APHD_MATURED_BASE_AMOUNT source_121
166198 , l4.DEF_REC_SETTLEMENT_OPTION_CODE source_137
166199 , fvl137.meaning source_137_meaning
166200 , l1.INV_EXCHANGE_DATE source_143
166201 , l1.INV_EXCHANGE_RATE source_144
166202 , l1.INV_EXCHANGE_RATE_TYPE source_145
166203 , l1.INV_CLR_GAIN_LOSS_INDICATOR source_151
166204 , l1.INV_CLR_BASE_AMT_DIFF source_152
166205 , l1.MAT_CLR_GAIN_LOSS_INDICATOR source_156
166206 , l1.MAT_CLR_BASE_AMT_DIFF source_157
166207 , l1.PMT_CLR_GAIN_LOSS_INDICATOR source_159
166208 , l1.PMT_CLR_BASE_AMT_DIFF source_160
166209 , l1.AI_INVOICE_TYPE_PAID source_163
166210 , fvl163.meaning source_163_meaning
166211 , l1.AWT_AT_PMT_TIME source_164
166212 , fvl164.meaning source_164_meaning
166213 FROM xla_events_gt xet
166214 , AP_PAYMENT_EXTRACT_DETAILS_V l1
166215 , ZX_AP_DEF_TAX_EXTRACT_V l4
166216 , fnd_lookup_values fvl33
166217 , fnd_lookup_values fvl80
166218 , fnd_lookup_values fvl98
166219 , fnd_lookup_values fvl137
166220 , fnd_lookup_values fvl163
166221 , fnd_lookup_values fvl164
166222 WHERE xet.event_id between x_first_event_id and x_last_event_id
166223 and xet.event_date between p_pad_start_date and p_pad_end_date
166224 and xet.event_class_code = C_EVENT_CLASS_CODE
166225 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
166226 AND l1.AID_DETAIL_TAX_DIST_ID = l4.REC_NREC_TAX_DIST_ID (+) AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
166227 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
166228 AND fvl33.view_application_id(+) = 200
166229 AND fvl33.language(+) = USERENV('LANG')
166230 AND fvl80.lookup_type(+) = 'YES_NO'
166231 AND fvl80.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
166232 AND fvl80.view_application_id(+) = 0
166233 AND fvl80.language(+) = USERENV('LANG')
166234 AND fvl98.lookup_type(+) = 'PAY_DIST_TYPES'
166235 AND fvl98.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
166236 AND fvl98.view_application_id(+) = 200
166237 AND fvl98.language(+) = USERENV('LANG')
166241 AND fvl137.language(+) = USERENV('LANG')
166238 AND fvl137.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
166239 AND fvl137.lookup_code(+) = l4.DEF_REC_SETTLEMENT_OPTION_CODE
166240 AND fvl137.view_application_id(+) = 0
166242 AND fvl163.lookup_type(+) = 'INVOICE TYPE'
166243 AND fvl163.lookup_code(+) = l1.AI_INVOICE_TYPE_PAID
166244 AND fvl163.view_application_id(+) = 200
166245 AND fvl163.language(+) = USERENV('LANG')
166246 AND fvl164.lookup_type(+) = 'YES_NO'
166247 AND fvl164.lookup_code(+) = l1.AWT_AT_PMT_TIME
166248 AND fvl164.view_application_id(+) = 0
166249 AND fvl164.language(+) = USERENV('LANG')
166250 ;
166251
166252 --
166253 BEGIN
166254 IF g_log_enabled THEN
166255 l_log_module := C_DEFAULT_MODULE||'.EventClass_237';
166256 END IF;
166257 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
166258 trace
166259 (p_msg => 'BEGIN of EventClass_237'
166260 ,p_level => C_LEVEL_PROCEDURE
166261 ,p_module => l_log_module);
166262 END IF;
166263
166264 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
166265 trace
166266 (p_msg => 'p_application_id = '||p_application_id||
166267 ' - p_base_ledger_id = '||p_base_ledger_id||
166268 ' - p_target_ledger_id = '||p_target_ledger_id||
166269 ' - p_language = '||p_language||
166270 ' - p_currency_code = '||p_currency_code||
166271 ' - p_sla_ledger_id = '||p_sla_ledger_id
166272 ,p_level => C_LEVEL_STATEMENT
166273 ,p_module => l_log_module);
166274 END IF;
166275 --
166276 -- initialze arrays
166277 --
166278 g_array_event.DELETE;
166279 l_rec_array_event := l_null_rec_array_event;
166280 --
166281 --------------------------------------
166282 -- 4262811 Initialze MPA Line Number
166283 --------------------------------------
166284 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
166285
166286 --
166287
166288 --
166289 OPEN header_cur;
166290 --
166291 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
166292 trace
166293 (p_msg => 'SQL - FETCH header_cur'
166294 ,p_level => C_LEVEL_STATEMENT
166295 ,p_module => l_log_module);
166296 END IF;
166297 --
166298 LOOP
166299 FETCH header_cur BULK COLLECT INTO
166300 l_array_entity_id
166301 , l_array_legal_entity_id
166302 , l_array_entity_code
166303 , l_array_transaction_num
166304 , l_array_event_id
166305 , l_array_class_code
166306 , l_array_event_type
166307 , l_array_event_number
166308 , l_array_event_date
166309 , l_array_transaction_date
166310 , l_array_reference_num_1
166311 , l_array_reference_num_2
166312 , l_array_reference_num_3
166313 , l_array_reference_num_4
166314 , l_array_reference_char_1
166315 , l_array_reference_char_2
166316 , l_array_reference_char_3
166317 , l_array_reference_char_4
166318 , l_array_reference_date_1
166319 , l_array_reference_date_2
166320 , l_array_reference_date_3
166321 , l_array_reference_date_4
166322 , l_array_event_created_by
166323 , l_array_budgetary_control_flag
166324 , l_array_source_6
166325 , l_array_source_9
166326 , l_array_source_10
166327 , l_array_source_11
166328 , l_array_source_12
166329 , l_array_source_13
166330 , l_array_source_14
166331 , l_array_source_15
166332 , l_array_source_15_meaning
166333 , l_array_source_16
166334 , l_array_source_17
166335 , l_array_source_18
166336 , l_array_source_19
166337 , l_array_source_19_meaning
166338 , l_array_source_28
166339 , l_array_source_29
166340 , l_array_source_36
166341 , l_array_source_37
166342 , l_array_source_38
166343 , l_array_source_39
166344 , l_array_source_44
166345 , l_array_source_47
166346 , l_array_source_47_meaning
166347 , l_array_source_49
166348 , l_array_source_83
166349 , l_array_source_97
166350 , l_array_source_105
166351 , l_array_source_106
166352 , l_array_source_107
166353 , l_array_source_108
166354 , l_array_source_110
166355 , l_array_source_111
166356 , l_array_source_113
166357 , l_array_source_113_meaning
166358 , l_array_source_114
166359 , l_array_source_117
166360 , l_array_source_118
166361 , l_array_source_119
166362 , l_array_source_122
166363 , l_array_source_122_meaning
166364 , l_array_source_170
166365 , l_array_source_171
166366 LIMIT l_rows;
166367 --
166368 IF (C_LEVEL_EVENT >= g_log_level) THEN
166369 trace
166370 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
166371 ,p_level => C_LEVEL_EVENT
166372 ,p_module => l_log_module);
166373 END IF;
166374 --
166375 EXIT WHEN l_array_entity_id.COUNT = 0;
166376
166377 -- initialize arrays
166378 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
166379 XLA_AE_LINES_PKG.g_rec_lines := NULL;
166380
166381 --
166382 -- Bug 4458708
166383 --
166384 XLA_AE_LINES_PKG.g_LineNumber := 0;
166385
166386
166387 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
166388 g_last_hdr_idx := l_array_event_id.LAST;
166389 --
166390 -- loop for the headers. Each iteration is for each header extract row
166391 -- fetched in header cursor
166392 --
166393 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
166394
166395 --
166396 -- set event info as cache for other routines to refer event attributes
166397 --
166401 ,p_base_ledger_id => p_base_ledger_id
166398 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
166399 (p_application_id => p_application_id
166400 ,p_primary_ledger_id => p_primary_ledger_id
166402 ,p_target_ledger_id => p_target_ledger_id
166403 ,p_entity_id => l_array_entity_id(hdr_idx)
166404 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
166405 ,p_entity_code => l_array_entity_code(hdr_idx)
166406 ,p_transaction_num => l_array_transaction_num(hdr_idx)
166407 ,p_event_id => l_array_event_id(hdr_idx)
166408 ,p_event_class_code => l_array_class_code(hdr_idx)
166409 ,p_event_type_code => l_array_event_type(hdr_idx)
166410 ,p_event_number => l_array_event_number(hdr_idx)
166411 ,p_event_date => l_array_event_date(hdr_idx)
166412 ,p_transaction_date => l_array_transaction_date(hdr_idx)
166413 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
166414 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
166415 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
166416 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
166417 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
166418 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
166419 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
166420 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
166421 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
166422 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
166423 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
166424 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
166425 ,p_event_created_by => l_array_event_created_by(hdr_idx)
166426 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
166427
166428 --
166429 -- set the status of entry to C_VALID (0)
166430 --
166431 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
166432
166433 --
166434 -- initialize a row for ae header
166435 --
166436 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
166437
166438 l_event_id := l_array_event_id(hdr_idx);
166439
166440 --
166441 -- storing the hdr_idx for event. May be used by line cursor.
166442 --
166443 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
166444
166445 --
166446 -- store sources from header extract. This can be improved to
166447 -- store only those sources from header extract that may be used in lines
166448 --
166449
166450 g_array_event(l_event_id).array_value_char('source_6') := l_array_source_6(hdr_idx);
166451 g_array_event(l_event_id).array_value_num('source_9') := l_array_source_9(hdr_idx);
166452 g_array_event(l_event_id).array_value_num('source_10') := l_array_source_10(hdr_idx);
166453 g_array_event(l_event_id).array_value_date('source_11') := l_array_source_11(hdr_idx);
166454 g_array_event(l_event_id).array_value_char('source_12') := l_array_source_12(hdr_idx);
166455 g_array_event(l_event_id).array_value_char('source_13') := l_array_source_13(hdr_idx);
166456 g_array_event(l_event_id).array_value_num('source_14') := l_array_source_14(hdr_idx);
166457 g_array_event(l_event_id).array_value_char('source_15') := l_array_source_15(hdr_idx);
166458 g_array_event(l_event_id).array_value_char('source_15_meaning') := l_array_source_15_meaning(hdr_idx);
166459 g_array_event(l_event_id).array_value_num('source_16') := l_array_source_16(hdr_idx);
166460 g_array_event(l_event_id).array_value_num('source_17') := l_array_source_17(hdr_idx);
166461 g_array_event(l_event_id).array_value_num('source_18') := l_array_source_18(hdr_idx);
166462 g_array_event(l_event_id).array_value_char('source_19') := l_array_source_19(hdr_idx);
166463 g_array_event(l_event_id).array_value_char('source_19_meaning') := l_array_source_19_meaning(hdr_idx);
166464 g_array_event(l_event_id).array_value_num('source_28') := l_array_source_28(hdr_idx);
166465 g_array_event(l_event_id).array_value_char('source_29') := l_array_source_29(hdr_idx);
166466 g_array_event(l_event_id).array_value_num('source_36') := l_array_source_36(hdr_idx);
166467 g_array_event(l_event_id).array_value_num('source_37') := l_array_source_37(hdr_idx);
166468 g_array_event(l_event_id).array_value_num('source_38') := l_array_source_38(hdr_idx);
166469 g_array_event(l_event_id).array_value_num('source_39') := l_array_source_39(hdr_idx);
166470 g_array_event(l_event_id).array_value_num('source_44') := l_array_source_44(hdr_idx);
166471 g_array_event(l_event_id).array_value_char('source_47') := l_array_source_47(hdr_idx);
166472 g_array_event(l_event_id).array_value_char('source_47_meaning') := l_array_source_47_meaning(hdr_idx);
166473 g_array_event(l_event_id).array_value_num('source_49') := l_array_source_49(hdr_idx);
166474 g_array_event(l_event_id).array_value_char('source_83') := l_array_source_83(hdr_idx);
166475 g_array_event(l_event_id).array_value_char('source_97') := l_array_source_97(hdr_idx);
166476 g_array_event(l_event_id).array_value_char('source_105') := l_array_source_105(hdr_idx);
166477 g_array_event(l_event_id).array_value_date('source_106') := l_array_source_106(hdr_idx);
166478 g_array_event(l_event_id).array_value_num('source_107') := l_array_source_107(hdr_idx);
166479 g_array_event(l_event_id).array_value_char('source_108') := l_array_source_108(hdr_idx);
166480 g_array_event(l_event_id).array_value_num('source_110') := l_array_source_110(hdr_idx);
166481 g_array_event(l_event_id).array_value_num('source_111') := l_array_source_111(hdr_idx);
166482 g_array_event(l_event_id).array_value_char('source_113') := l_array_source_113(hdr_idx);
166483 g_array_event(l_event_id).array_value_char('source_113_meaning') := l_array_source_113_meaning(hdr_idx);
166484 g_array_event(l_event_id).array_value_date('source_114') := l_array_source_114(hdr_idx);
166485 g_array_event(l_event_id).array_value_date('source_117') := l_array_source_117(hdr_idx);
166486 g_array_event(l_event_id).array_value_num('source_118') := l_array_source_118(hdr_idx);
166487 g_array_event(l_event_id).array_value_char('source_119') := l_array_source_119(hdr_idx);
166491 g_array_event(l_event_id).array_value_num('source_171') := l_array_source_171(hdr_idx);
166488 g_array_event(l_event_id).array_value_char('source_122') := l_array_source_122(hdr_idx);
166489 g_array_event(l_event_id).array_value_char('source_122_meaning') := l_array_source_122_meaning(hdr_idx);
166490 g_array_event(l_event_id).array_value_char('source_170') := l_array_source_170(hdr_idx);
166492
166493 --
166494 -- initilaize the status of ae headers for diffrent balance types
166495 -- the status is initialised to C_NOT_CREATED (2)
166496 --
166497 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
166498 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
166499 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
166500
166501 --
166502 -- call api to validate and store accounting attributes for header
166503 --
166504
166505 ------------------------------------------------------------
166506 -- Accrual Reversal : to get date for Standard Source (NONE)
166507 ------------------------------------------------------------
166508 l_acc_rev_gl_date_source := NULL;
166509
166510 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
166511 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_170');
166512 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
166513 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_171');
166514 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
166515 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_9');
166516 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
166517 l_rec_acct_attrs.array_date_value(4) :=
166518 xla_ae_sources_pkg.GetSystemSourceDate(
166519 p_source_code => 'XLA_EVENT_DATE'
166520 , p_source_type_code => 'Y'
166521 , p_source_application_id => 602
166522 );
166523
166524
166525 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
166526
166527 XLA_AE_HEADER_PKG.SetJeCategoryName;
166528
166529 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
166530 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
166531 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
166532 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
166533 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
166534
166535
166536 --
166537 xla_ae_header_pkg.SetHdrDescription(
166538 p_description => Description_3 (
166539 p_application_id => p_application_id
166540 , p_source_6 => g_array_event(l_event_id).array_value_char('source_6')
166541 , p_source_9 => g_array_event(l_event_id).array_value_num('source_9')
166542 , p_source_10 => g_array_event(l_event_id).array_value_num('source_10')
166543 , p_source_11 => g_array_event(l_event_id).array_value_date('source_11')
166544 , p_source_12 => g_array_event(l_event_id).array_value_char('source_12')
166545 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
166546 )
166547 );
166548 --
166549
166550 -- No header level analytical criteria
166551
166552 --
166553 --accounting attribute enhancement, bug 3612931
166554 --
166555 l_trx_reversal_source := SUBSTR(NULL, 1,30);
166556
166557 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
166558 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
166559
166560 xla_accounting_err_pkg.build_message
166561 (p_appli_s_name => 'XLA'
166562 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
166563 ,p_token_1 => 'ACCT_ATTR_NAME'
166564 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
166565 ,p_token_2 => 'PRODUCT_NAME'
166566 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
166567 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
166568 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
166569 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
166570
166571 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
166572 --
166573 -- following sets the accounting attributes needed to reverse
166574 -- accounting for a distributeion
166575 --
166576 xla_ae_lines_pkg.SetTrxReversalAttrs
166577 (p_event_id => l_event_id
166578 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
166579 ,p_trx_reversal_source => l_trx_reversal_source);
166580
166581 END IF;
166582
166583
166584 ----------------------------------------------------------------
166585 -- 4262811 - update the header statuses to invalid in need be
166586 ----------------------------------------------------------------
166587 --
166588 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
166589
166590
166591 -----------------------------------------------
166592 -- No accrual reversal for the event class/type
166593 -----------------------------------------------
166594 ----------------------------------------------------------------
166595
166596 --
166597 -- this ends the header loop iteration for one bulk fetch
166598 --
166599 END LOOP;
166600
166601 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
166602 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
166603
166604 --
166605 -- insert dummy rows into lines gt table that were created due to
166606 -- transaction reversals
166607 --
166608 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
166612 --
166609 l_result := XLA_AE_LINES_PKG.InsertLines;
166610 END IF;
166611
166613 -- reset the temp_line_num for each set of events fetched from header
166614 -- cursor rather than doing it for each new event in line cursor
166615 -- Bug 3939231
166616 --
166617 xla_ae_lines_pkg.g_temp_line_num := 0;
166618
166619
166620
166621 --
166622 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
166623 --
166624 --
166625 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
166626
166627 trace
166628 (p_msg => 'SQL - FETCH line_cur'
166629 ,p_level => C_LEVEL_STATEMENT
166630 ,p_module => l_log_module);
166631
166632 END IF;
166633 --
166634 --
166635 LOOP
166636 --
166637 FETCH line_cur BULK COLLECT INTO
166638 l_array_entity_id
166639 , l_array_legal_entity_id
166640 , l_array_entity_code
166641 , l_array_transaction_num
166642 , l_array_event_id
166643 , l_array_class_code
166644 , l_array_event_type
166645 , l_array_event_number
166646 , l_array_event_date
166647 , l_array_transaction_date
166648 , l_array_reference_num_1
166649 , l_array_reference_num_2
166650 , l_array_reference_num_3
166651 , l_array_reference_num_4
166652 , l_array_reference_char_1
166653 , l_array_reference_char_2
166654 , l_array_reference_char_3
166655 , l_array_reference_char_4
166656 , l_array_reference_date_1
166657 , l_array_reference_date_2
166658 , l_array_reference_date_3
166659 , l_array_reference_date_4
166660 , l_array_event_created_by
166661 , l_array_budgetary_control_flag
166662 , l_array_extract_line_num
166663 , l_array_source_30
166664 , l_array_source_33
166665 , l_array_source_33_meaning
166666 , l_array_source_43
166667 , l_array_source_45
166668 , l_array_source_46
166669 , l_array_source_52
166670 , l_array_source_53
166671 , l_array_source_55
166672 , l_array_source_67
166673 , l_array_source_80
166674 , l_array_source_80_meaning
166675 , l_array_source_86
166676 , l_array_source_88
166677 , l_array_source_91
166678 , l_array_source_92
166679 , l_array_source_93
166680 , l_array_source_94
166681 , l_array_source_95
166682 , l_array_source_98
166683 , l_array_source_98_meaning
166684 , l_array_source_99
166685 , l_array_source_100
166686 , l_array_source_101
166687 , l_array_source_102
166688 , l_array_source_103
166689 , l_array_source_104
166690 , l_array_source_109
166691 , l_array_source_112
166692 , l_array_source_115
166693 , l_array_source_116
166694 , l_array_source_120
166695 , l_array_source_121
166696 , l_array_source_137
166697 , l_array_source_137_meaning
166698 , l_array_source_143
166699 , l_array_source_144
166700 , l_array_source_145
166701 , l_array_source_151
166702 , l_array_source_152
166703 , l_array_source_156
166704 , l_array_source_157
166705 , l_array_source_159
166706 , l_array_source_160
166707 , l_array_source_163
166708 , l_array_source_163_meaning
166709 , l_array_source_164
166710 , l_array_source_164_meaning
166711 LIMIT l_rows;
166712
166713 --
166714 IF (C_LEVEL_EVENT >= g_log_level) THEN
166715 trace
166716 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
166717 ,p_level => C_LEVEL_EVENT
166718 ,p_module => l_log_module);
166719 END IF;
166720 --
166721 EXIT WHEN l_array_entity_id.count = 0;
166722
166723 XLA_AE_LINES_PKG.g_rec_lines := null;
166724
166725 --
166726 -- Bug 4458708
166727 --
166728 XLA_AE_LINES_PKG.g_LineNumber := 0;
166729 --
166730 --
166731
166732 FOR Idx IN 1..l_array_event_id.count LOOP
166733 --
166734 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
166735 --
166736 l_event_id := l_array_event_id(idx); -- 5648433
166737
166738 --
166739 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
166740 --
166741
166742 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
166743 (g_array_event(l_event_id).array_value_num('header_index'))
166744 ,'N'
166745 ) <> 'Y'
166746 THEN
166747 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
166748 trace
166749 (p_msg => 'Trancaction revesal option is not Y '
166750 ,p_level => C_LEVEL_STATEMENT
166751 ,p_module => l_log_module);
166752 END IF;
166753
166754 --
166755 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
166756 --
166757 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
166758 --
166759 -- set event info as cache for other routines to refer event attributes
166760 --
166761
166762 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
166763 l_previous_event_id := l_event_id;
166764
166765 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
166766 (p_application_id => p_application_id
166767 ,p_primary_ledger_id => p_primary_ledger_id
166768 ,p_base_ledger_id => p_base_ledger_id
166769 ,p_target_ledger_id => p_target_ledger_id
166770 ,p_entity_id => l_array_entity_id(Idx)
166771 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
166772 ,p_entity_code => l_array_entity_code(Idx)
166776 ,p_event_type_code => l_array_event_type(Idx)
166773 ,p_transaction_num => l_array_transaction_num(Idx)
166774 ,p_event_id => l_array_event_id(Idx)
166775 ,p_event_class_code => l_array_class_code(Idx)
166777 ,p_event_number => l_array_event_number(Idx)
166778 ,p_event_date => l_array_event_date(Idx)
166779 ,p_transaction_date => l_array_transaction_date(Idx)
166780 ,p_reference_num_1 => l_array_reference_num_1(Idx)
166781 ,p_reference_num_2 => l_array_reference_num_2(Idx)
166782 ,p_reference_num_3 => l_array_reference_num_3(Idx)
166783 ,p_reference_num_4 => l_array_reference_num_4(Idx)
166784 ,p_reference_char_1 => l_array_reference_char_1(Idx)
166785 ,p_reference_char_2 => l_array_reference_char_2(Idx)
166786 ,p_reference_char_3 => l_array_reference_char_3(Idx)
166787 ,p_reference_char_4 => l_array_reference_char_4(Idx)
166788 ,p_reference_date_1 => l_array_reference_date_1(Idx)
166789 ,p_reference_date_2 => l_array_reference_date_2(Idx)
166790 ,p_reference_date_3 => l_array_reference_date_3(Idx)
166791 ,p_reference_date_4 => l_array_reference_date_4(Idx)
166792 ,p_event_created_by => l_array_event_created_by(Idx)
166793 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
166794 --
166795 END IF;
166796
166797
166798
166799 --
166800 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
166801
166802 l_acct_reversal_source := SUBSTR(l_array_source_53(Idx), 1,30);
166803
166804 IF l_continue_with_lines THEN
166805 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
166806 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
166807
166808 xla_accounting_err_pkg.build_message
166809 (p_appli_s_name => 'XLA'
166810 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
166811 ,p_token_1 => 'LINE_NUMBER'
166812 ,p_value_1 => l_array_extract_line_num(Idx)
166813 ,p_token_2 => 'PRODUCT_NAME'
166814 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
166815 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
166816 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
166817 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
166818
166819 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
166820 --
166821 -- following sets the accounting attributes needed to reverse
166822 -- accounting for a distributeion
166823 --
166824
166825 --
166826 -- 5217187
166827 --
166828 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
166829 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
166830 g_array_event(l_event_id).array_value_num('header_index'));
166831 --
166832 --
166833
166834 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
166835 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_53(Idx);
166836 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
166837 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_104(Idx);
166838 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
166839 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_55(Idx);
166840 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'PARTY_TYPE';
166841 l_rec_rev_acct_attrs.array_char_value(5) := g_array_event(l_event_id).array_value_char('source_83');
166842 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'REVERSED_DISTRIBUTION_ID1';
166843 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_112(Idx);
166844 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'REVERSED_DISTRIBUTION_TYPE';
166845 l_rec_rev_acct_attrs.array_char_value(7) := l_array_source_55(Idx);
166846 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'TAX_LINE_REF_ID';
166847 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_86(Idx);
166848 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'TAX_REC_NREC_DIST_REF_ID';
166849 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_86(Idx);
166850 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'TAX_SUMMARY_LINE_REF_ID';
166851 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_88(Idx);
166852
166853
166854 xla_ae_lines_pkg.SetAcctReversalAttrs
166855 (p_event_id => l_event_id
166856 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
166857 ,p_calculate_acctd_flag => l_calculate_acctd_flag
166858 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
166859 END IF;
166860
166861 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
166862 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
166863
166864 --
166865 AcctLineType_59 (
166866 p_application_id => p_application_id
166867 ,p_event_id => l_event_id
166868 ,p_calculate_acctd_flag => l_calculate_acctd_flag
166869 ,p_calculate_g_l_flag => l_calculate_g_l_flag
166870 ,p_actual_flag => l_actual_flag
166871 ,p_balance_type_code => l_balance_type_code
166872 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
166873
166874 , p_source_14 => g_array_event(l_event_id).array_value_num('source_14')
166875 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
166876 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
166877 , p_source_30 => l_array_source_30(Idx)
166878 , p_source_53 => l_array_source_53(Idx)
166879 , p_source_55 => l_array_source_55(Idx)
166880 , p_source_80 => l_array_source_80(Idx)
166881 , p_source_80_meaning => l_array_source_80_meaning(Idx)
166885 , p_source_91 => l_array_source_91(Idx)
166882 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
166883 , p_source_86 => l_array_source_86(Idx)
166884 , p_source_88 => l_array_source_88(Idx)
166886 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
166887 , p_source_98 => l_array_source_98(Idx)
166888 , p_source_98_meaning => l_array_source_98_meaning(Idx)
166889 , p_source_99 => l_array_source_99(Idx)
166890 , p_source_100 => l_array_source_100(Idx)
166891 , p_source_101 => l_array_source_101(Idx)
166892 , p_source_102 => l_array_source_102(Idx)
166893 , p_source_103 => l_array_source_103(Idx)
166894 , p_source_104 => l_array_source_104(Idx)
166895 , p_source_105 => g_array_event(l_event_id).array_value_char('source_105')
166896 , p_source_106 => g_array_event(l_event_id).array_value_date('source_106')
166897 , p_source_107 => g_array_event(l_event_id).array_value_num('source_107')
166898 , p_source_108 => g_array_event(l_event_id).array_value_char('source_108')
166899 , p_source_109 => l_array_source_109(Idx)
166900 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
166901 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
166902 , p_source_112 => l_array_source_112(Idx)
166903 );
166904 If(l_balance_type_code = 'A') THEN
166905 l_actual_gain_loss_ref := l_gain_or_loss_ref;
166906 END IF;
166907
166908 --
166909
166910
166911 --
166912 AcctLineType_60 (
166913 p_application_id => p_application_id
166914 ,p_event_id => l_event_id
166915 ,p_calculate_acctd_flag => l_calculate_acctd_flag
166916 ,p_calculate_g_l_flag => l_calculate_g_l_flag
166917 ,p_actual_flag => l_actual_flag
166918 ,p_balance_type_code => l_balance_type_code
166919 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
166920
166921 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
166922 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
166923 , p_source_16 => g_array_event(l_event_id).array_value_num('source_16')
166924 , p_source_30 => l_array_source_30(Idx)
166925 , p_source_53 => l_array_source_53(Idx)
166926 , p_source_55 => l_array_source_55(Idx)
166927 , p_source_80 => l_array_source_80(Idx)
166928 , p_source_80_meaning => l_array_source_80_meaning(Idx)
166929 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
166930 , p_source_86 => l_array_source_86(Idx)
166931 , p_source_88 => l_array_source_88(Idx)
166932 , p_source_91 => l_array_source_91(Idx)
166933 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
166934 , p_source_98 => l_array_source_98(Idx)
166935 , p_source_98_meaning => l_array_source_98_meaning(Idx)
166936 , p_source_99 => l_array_source_99(Idx)
166937 , p_source_100 => l_array_source_100(Idx)
166938 , p_source_101 => l_array_source_101(Idx)
166939 , p_source_102 => l_array_source_102(Idx)
166940 , p_source_103 => l_array_source_103(Idx)
166941 , p_source_104 => l_array_source_104(Idx)
166942 , p_source_105 => g_array_event(l_event_id).array_value_char('source_105')
166943 , p_source_106 => g_array_event(l_event_id).array_value_date('source_106')
166944 , p_source_107 => g_array_event(l_event_id).array_value_num('source_107')
166945 , p_source_108 => g_array_event(l_event_id).array_value_char('source_108')
166946 , p_source_109 => l_array_source_109(Idx)
166947 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
166948 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
166949 , p_source_112 => l_array_source_112(Idx)
166950 );
166951 If(l_balance_type_code = 'A') THEN
166952 l_actual_gain_loss_ref := l_gain_or_loss_ref;
166953 END IF;
166954
166955 --
166956
166957
166958 --
166959 AcctLineType_61 (
166960 p_application_id => p_application_id
166961 ,p_event_id => l_event_id
166962 ,p_calculate_acctd_flag => l_calculate_acctd_flag
166963 ,p_calculate_g_l_flag => l_calculate_g_l_flag
166964 ,p_actual_flag => l_actual_flag
166965 ,p_balance_type_code => l_balance_type_code
166966 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
166967
166968 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
166969 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
166970 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
166971 , p_source_17 => g_array_event(l_event_id).array_value_num('source_17')
166972 , p_source_53 => l_array_source_53(Idx)
166973 , p_source_55 => l_array_source_55(Idx)
166974 , p_source_80 => l_array_source_80(Idx)
166975 , p_source_80_meaning => l_array_source_80_meaning(Idx)
166976 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
166977 , p_source_86 => l_array_source_86(Idx)
166978 , p_source_88 => l_array_source_88(Idx)
166979 , p_source_91 => l_array_source_91(Idx)
166980 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
166981 , p_source_98 => l_array_source_98(Idx)
166982 , p_source_98_meaning => l_array_source_98_meaning(Idx)
166983 , p_source_99 => l_array_source_99(Idx)
166984 , p_source_100 => l_array_source_100(Idx)
166985 , p_source_101 => l_array_source_101(Idx)
166986 , p_source_102 => l_array_source_102(Idx)
166987 , p_source_103 => l_array_source_103(Idx)
166988 , p_source_104 => l_array_source_104(Idx)
166989 , p_source_106 => g_array_event(l_event_id).array_value_date('source_106')
166990 , p_source_107 => g_array_event(l_event_id).array_value_num('source_107')
166991 , p_source_108 => g_array_event(l_event_id).array_value_char('source_108')
166992 , p_source_109 => l_array_source_109(Idx)
166993 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
166994 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
166995 , p_source_112 => l_array_source_112(Idx)
166996 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
166997 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
166998 );
166999 If(l_balance_type_code = 'A') THEN
167003 --
167000 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167001 END IF;
167002
167004
167005
167006 --
167007 AcctLineType_62 (
167008 p_application_id => p_application_id
167009 ,p_event_id => l_event_id
167010 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167011 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167012 ,p_actual_flag => l_actual_flag
167013 ,p_balance_type_code => l_balance_type_code
167014 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167015
167016 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167017 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
167018 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
167019 , p_source_17 => g_array_event(l_event_id).array_value_num('source_17')
167020 , p_source_53 => l_array_source_53(Idx)
167021 , p_source_55 => l_array_source_55(Idx)
167022 , p_source_80 => l_array_source_80(Idx)
167023 , p_source_80_meaning => l_array_source_80_meaning(Idx)
167024 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
167025 , p_source_86 => l_array_source_86(Idx)
167026 , p_source_88 => l_array_source_88(Idx)
167027 , p_source_91 => l_array_source_91(Idx)
167028 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
167029 , p_source_98 => l_array_source_98(Idx)
167030 , p_source_98_meaning => l_array_source_98_meaning(Idx)
167031 , p_source_99 => l_array_source_99(Idx)
167032 , p_source_100 => l_array_source_100(Idx)
167033 , p_source_101 => l_array_source_101(Idx)
167034 , p_source_102 => l_array_source_102(Idx)
167035 , p_source_103 => l_array_source_103(Idx)
167036 , p_source_104 => l_array_source_104(Idx)
167037 , p_source_106 => g_array_event(l_event_id).array_value_date('source_106')
167038 , p_source_107 => g_array_event(l_event_id).array_value_num('source_107')
167039 , p_source_108 => g_array_event(l_event_id).array_value_char('source_108')
167040 , p_source_109 => l_array_source_109(Idx)
167041 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167042 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
167043 , p_source_112 => l_array_source_112(Idx)
167044 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
167045 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
167046 );
167047 If(l_balance_type_code = 'A') THEN
167048 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167049 END IF;
167050
167051 --
167052
167053
167054 --
167055 AcctLineType_63 (
167056 p_application_id => p_application_id
167057 ,p_event_id => l_event_id
167058 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167059 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167060 ,p_actual_flag => l_actual_flag
167061 ,p_balance_type_code => l_balance_type_code
167062 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167063
167064 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167065 , p_source_17 => g_array_event(l_event_id).array_value_num('source_17')
167066 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
167067 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
167068 , p_source_53 => l_array_source_53(Idx)
167069 , p_source_55 => l_array_source_55(Idx)
167070 , p_source_80 => l_array_source_80(Idx)
167071 , p_source_80_meaning => l_array_source_80_meaning(Idx)
167072 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
167073 , p_source_86 => l_array_source_86(Idx)
167074 , p_source_88 => l_array_source_88(Idx)
167075 , p_source_91 => l_array_source_91(Idx)
167076 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
167077 , p_source_98 => l_array_source_98(Idx)
167078 , p_source_98_meaning => l_array_source_98_meaning(Idx)
167079 , p_source_99 => l_array_source_99(Idx)
167080 , p_source_100 => l_array_source_100(Idx)
167081 , p_source_101 => l_array_source_101(Idx)
167082 , p_source_102 => l_array_source_102(Idx)
167083 , p_source_103 => l_array_source_103(Idx)
167084 , p_source_104 => l_array_source_104(Idx)
167085 , p_source_106 => g_array_event(l_event_id).array_value_date('source_106')
167086 , p_source_107 => g_array_event(l_event_id).array_value_num('source_107')
167087 , p_source_108 => g_array_event(l_event_id).array_value_char('source_108')
167088 , p_source_109 => l_array_source_109(Idx)
167089 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167090 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
167091 , p_source_112 => l_array_source_112(Idx)
167092 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
167093 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
167094 );
167095 If(l_balance_type_code = 'A') THEN
167096 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167097 END IF;
167098
167099 --
167100
167101
167102 --
167103 AcctLineType_64 (
167104 p_application_id => p_application_id
167105 ,p_event_id => l_event_id
167106 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167107 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167108 ,p_actual_flag => l_actual_flag
167109 ,p_balance_type_code => l_balance_type_code
167110 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167111
167112 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167113 , p_source_53 => l_array_source_53(Idx)
167114 , p_source_55 => l_array_source_55(Idx)
167115 , p_source_80 => l_array_source_80(Idx)
167116 , p_source_80_meaning => l_array_source_80_meaning(Idx)
167117 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
167118 , p_source_86 => l_array_source_86(Idx)
167119 , p_source_88 => l_array_source_88(Idx)
167120 , p_source_91 => l_array_source_91(Idx)
167121 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
167122 , p_source_98 => l_array_source_98(Idx)
167126 , p_source_101 => l_array_source_101(Idx)
167123 , p_source_98_meaning => l_array_source_98_meaning(Idx)
167124 , p_source_99 => l_array_source_99(Idx)
167125 , p_source_100 => l_array_source_100(Idx)
167127 , p_source_102 => l_array_source_102(Idx)
167128 , p_source_103 => l_array_source_103(Idx)
167129 , p_source_104 => l_array_source_104(Idx)
167130 , p_source_112 => l_array_source_112(Idx)
167131 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
167132 , p_source_115 => l_array_source_115(Idx)
167133 );
167134 If(l_balance_type_code = 'A') THEN
167135 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167136 END IF;
167137
167138 --
167139
167140
167141 --
167142 AcctLineType_65 (
167143 p_application_id => p_application_id
167144 ,p_event_id => l_event_id
167145 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167146 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167147 ,p_actual_flag => l_actual_flag
167148 ,p_balance_type_code => l_balance_type_code
167149 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167150
167151 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167152 , p_source_53 => l_array_source_53(Idx)
167153 , p_source_55 => l_array_source_55(Idx)
167154 , p_source_80 => l_array_source_80(Idx)
167155 , p_source_80_meaning => l_array_source_80_meaning(Idx)
167156 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
167157 , p_source_86 => l_array_source_86(Idx)
167158 , p_source_88 => l_array_source_88(Idx)
167159 , p_source_91 => l_array_source_91(Idx)
167160 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
167161 , p_source_98 => l_array_source_98(Idx)
167162 , p_source_98_meaning => l_array_source_98_meaning(Idx)
167163 , p_source_99 => l_array_source_99(Idx)
167164 , p_source_100 => l_array_source_100(Idx)
167165 , p_source_101 => l_array_source_101(Idx)
167166 , p_source_102 => l_array_source_102(Idx)
167167 , p_source_103 => l_array_source_103(Idx)
167168 , p_source_104 => l_array_source_104(Idx)
167169 , p_source_112 => l_array_source_112(Idx)
167170 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
167171 , p_source_116 => l_array_source_116(Idx)
167172 );
167173 If(l_balance_type_code = 'A') THEN
167174 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167175 END IF;
167176
167177 --
167178
167179
167180 --
167181 AcctLineType_68 (
167182 p_application_id => p_application_id
167183 ,p_event_id => l_event_id
167184 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167185 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167186 ,p_actual_flag => l_actual_flag
167187 ,p_balance_type_code => l_balance_type_code
167188 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167189
167190 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167191 , p_source_53 => l_array_source_53(Idx)
167192 , p_source_55 => l_array_source_55(Idx)
167193 , p_source_80 => l_array_source_80(Idx)
167194 , p_source_80_meaning => l_array_source_80_meaning(Idx)
167195 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
167196 , p_source_86 => l_array_source_86(Idx)
167197 , p_source_88 => l_array_source_88(Idx)
167198 , p_source_91 => l_array_source_91(Idx)
167199 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
167200 , p_source_98 => l_array_source_98(Idx)
167201 , p_source_98_meaning => l_array_source_98_meaning(Idx)
167202 , p_source_99 => l_array_source_99(Idx)
167203 , p_source_100 => l_array_source_100(Idx)
167204 , p_source_101 => l_array_source_101(Idx)
167205 , p_source_103 => l_array_source_103(Idx)
167206 , p_source_104 => l_array_source_104(Idx)
167207 , p_source_112 => l_array_source_112(Idx)
167208 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
167209 , p_source_120 => l_array_source_120(Idx)
167210 , p_source_121 => l_array_source_121(Idx)
167211 );
167212 If(l_balance_type_code = 'A') THEN
167213 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167214 END IF;
167215
167216 --
167217
167218
167219 --
167220 AcctLineType_95 (
167221 p_application_id => p_application_id
167222 ,p_event_id => l_event_id
167223 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167224 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167225 ,p_actual_flag => l_actual_flag
167226 ,p_balance_type_code => l_balance_type_code
167227 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167228
167229 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167230 , p_source_33 => l_array_source_33(Idx)
167231 , p_source_33_meaning => l_array_source_33_meaning(Idx)
167232 , p_source_52 => l_array_source_52(Idx)
167233 , p_source_53 => l_array_source_53(Idx)
167234 , p_source_55 => l_array_source_55(Idx)
167235 , p_source_80 => l_array_source_80(Idx)
167236 , p_source_80_meaning => l_array_source_80_meaning(Idx)
167237 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
167238 , p_source_86 => l_array_source_86(Idx)
167239 , p_source_88 => l_array_source_88(Idx)
167240 , p_source_91 => l_array_source_91(Idx)
167241 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
167242 , p_source_98 => l_array_source_98(Idx)
167243 , p_source_98_meaning => l_array_source_98_meaning(Idx)
167244 , p_source_99 => l_array_source_99(Idx)
167245 , p_source_100 => l_array_source_100(Idx)
167246 , p_source_101 => l_array_source_101(Idx)
167247 , p_source_102 => l_array_source_102(Idx)
167248 , p_source_103 => l_array_source_103(Idx)
167249 , p_source_104 => l_array_source_104(Idx)
167250 , p_source_106 => g_array_event(l_event_id).array_value_date('source_106')
167251 , p_source_107 => g_array_event(l_event_id).array_value_num('source_107')
167252 , p_source_108 => g_array_event(l_event_id).array_value_char('source_108')
167253 , p_source_109 => l_array_source_109(Idx)
167254 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167258 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
167255 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
167256 , p_source_112 => l_array_source_112(Idx)
167257 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
167259 , p_source_137 => l_array_source_137(Idx)
167260 , p_source_137_meaning => l_array_source_137_meaning(Idx)
167261 );
167262 If(l_balance_type_code = 'A') THEN
167263 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167264 END IF;
167265
167266 --
167267
167268
167269 --
167270 AcctLineType_96 (
167271 p_application_id => p_application_id
167272 ,p_event_id => l_event_id
167273 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167274 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167275 ,p_actual_flag => l_actual_flag
167276 ,p_balance_type_code => l_balance_type_code
167277 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167278
167279 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167280 , p_source_33 => l_array_source_33(Idx)
167281 , p_source_33_meaning => l_array_source_33_meaning(Idx)
167282 , p_source_53 => l_array_source_53(Idx)
167283 , p_source_55 => l_array_source_55(Idx)
167284 , p_source_80 => l_array_source_80(Idx)
167285 , p_source_80_meaning => l_array_source_80_meaning(Idx)
167286 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
167287 , p_source_86 => l_array_source_86(Idx)
167288 , p_source_88 => l_array_source_88(Idx)
167289 , p_source_91 => l_array_source_91(Idx)
167290 , p_source_94 => l_array_source_94(Idx)
167291 , p_source_95 => l_array_source_95(Idx)
167292 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
167293 , p_source_98 => l_array_source_98(Idx)
167294 , p_source_98_meaning => l_array_source_98_meaning(Idx)
167295 , p_source_99 => l_array_source_99(Idx)
167296 , p_source_100 => l_array_source_100(Idx)
167297 , p_source_101 => l_array_source_101(Idx)
167298 , p_source_104 => l_array_source_104(Idx)
167299 , p_source_112 => l_array_source_112(Idx)
167300 , p_source_116 => l_array_source_116(Idx)
167301 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
167302 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
167303 , p_source_137 => l_array_source_137(Idx)
167304 , p_source_137_meaning => l_array_source_137_meaning(Idx)
167305 );
167306 If(l_balance_type_code = 'A') THEN
167307 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167308 END IF;
167309
167310 --
167311
167312
167313 --
167314 AcctLineType_104 (
167315 p_application_id => p_application_id
167316 ,p_event_id => l_event_id
167317 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167318 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167319 ,p_actual_flag => l_actual_flag
167320 ,p_balance_type_code => l_balance_type_code
167321 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167322
167323 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
167324 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
167325 , p_source_18 => g_array_event(l_event_id).array_value_num('source_18')
167326 , p_source_19 => g_array_event(l_event_id).array_value_char('source_19')
167327 , p_source_19_meaning => g_array_event(l_event_id).array_value_char('source_19_meaning')
167328 , p_source_30 => l_array_source_30(Idx)
167329 , p_source_33 => l_array_source_33(Idx)
167330 , p_source_33_meaning => l_array_source_33_meaning(Idx)
167331 , p_source_44 => g_array_event(l_event_id).array_value_num('source_44')
167332 , p_source_45 => l_array_source_45(Idx)
167333 , p_source_46 => l_array_source_46(Idx)
167334 , p_source_53 => l_array_source_53(Idx)
167335 , p_source_55 => l_array_source_55(Idx)
167336 , p_source_67 => l_array_source_67(Idx)
167337 , p_source_80 => l_array_source_80(Idx)
167338 , p_source_80_meaning => l_array_source_80_meaning(Idx)
167339 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
167340 , p_source_86 => l_array_source_86(Idx)
167341 , p_source_88 => l_array_source_88(Idx)
167342 , p_source_91 => l_array_source_91(Idx)
167343 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
167344 , p_source_98 => l_array_source_98(Idx)
167345 , p_source_98_meaning => l_array_source_98_meaning(Idx)
167346 , p_source_99 => l_array_source_99(Idx)
167347 , p_source_100 => l_array_source_100(Idx)
167348 , p_source_101 => l_array_source_101(Idx)
167349 , p_source_102 => l_array_source_102(Idx)
167350 , p_source_103 => l_array_source_103(Idx)
167351 , p_source_104 => l_array_source_104(Idx)
167352 , p_source_109 => l_array_source_109(Idx)
167353 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167354 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
167355 , p_source_112 => l_array_source_112(Idx)
167356 , p_source_143 => l_array_source_143(Idx)
167357 , p_source_144 => l_array_source_144(Idx)
167358 , p_source_145 => l_array_source_145(Idx)
167359 );
167360 If(l_balance_type_code = 'A') THEN
167361 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167362 END IF;
167363
167364 --
167365
167366
167367 --
167368 AcctLineType_112 (
167369 p_application_id => p_application_id
167370 ,p_event_id => l_event_id
167371 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167372 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167373 ,p_actual_flag => l_actual_flag
167374 ,p_balance_type_code => l_balance_type_code
167375 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167376
167377 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
167378 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
167379 , p_source_30 => l_array_source_30(Idx)
167380 , p_source_49 => g_array_event(l_event_id).array_value_num('source_49')
167381 , p_source_53 => l_array_source_53(Idx)
167382 , p_source_55 => l_array_source_55(Idx)
167386 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
167383 , p_source_67 => l_array_source_67(Idx)
167384 , p_source_80 => l_array_source_80(Idx)
167385 , p_source_80_meaning => l_array_source_80_meaning(Idx)
167387 , p_source_86 => l_array_source_86(Idx)
167388 , p_source_88 => l_array_source_88(Idx)
167389 , p_source_91 => l_array_source_91(Idx)
167390 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
167391 , p_source_98 => l_array_source_98(Idx)
167392 , p_source_98_meaning => l_array_source_98_meaning(Idx)
167393 , p_source_99 => l_array_source_99(Idx)
167394 , p_source_100 => l_array_source_100(Idx)
167395 , p_source_101 => l_array_source_101(Idx)
167396 , p_source_102 => l_array_source_102(Idx)
167397 , p_source_103 => l_array_source_103(Idx)
167398 , p_source_104 => l_array_source_104(Idx)
167399 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167400 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
167401 , p_source_112 => l_array_source_112(Idx)
167402 , p_source_116 => l_array_source_116(Idx)
167403 , p_source_143 => l_array_source_143(Idx)
167404 , p_source_144 => l_array_source_144(Idx)
167405 , p_source_145 => l_array_source_145(Idx)
167406 );
167407 If(l_balance_type_code = 'A') THEN
167408 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167409 END IF;
167410
167411 --
167412
167413
167414 --
167415 AcctLineType_124 (
167416 p_application_id => p_application_id
167417 ,p_event_id => l_event_id
167418 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167419 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167420 ,p_actual_flag => l_actual_flag
167421 ,p_balance_type_code => l_balance_type_code
167422 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167423
167424 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167425 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
167426 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
167427 , p_source_30 => l_array_source_30(Idx)
167428 , p_source_36 => g_array_event(l_event_id).array_value_num('source_36')
167429 , p_source_37 => g_array_event(l_event_id).array_value_num('source_37')
167430 , p_source_53 => l_array_source_53(Idx)
167431 , p_source_55 => l_array_source_55(Idx)
167432 , p_source_80 => l_array_source_80(Idx)
167433 , p_source_80_meaning => l_array_source_80_meaning(Idx)
167434 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
167435 , p_source_86 => l_array_source_86(Idx)
167436 , p_source_88 => l_array_source_88(Idx)
167437 , p_source_91 => l_array_source_91(Idx)
167438 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
167439 , p_source_98 => l_array_source_98(Idx)
167440 , p_source_98_meaning => l_array_source_98_meaning(Idx)
167441 , p_source_99 => l_array_source_99(Idx)
167442 , p_source_100 => l_array_source_100(Idx)
167443 , p_source_101 => l_array_source_101(Idx)
167444 , p_source_102 => l_array_source_102(Idx)
167445 , p_source_103 => l_array_source_103(Idx)
167446 , p_source_104 => l_array_source_104(Idx)
167447 , p_source_106 => g_array_event(l_event_id).array_value_date('source_106')
167448 , p_source_107 => g_array_event(l_event_id).array_value_num('source_107')
167449 , p_source_108 => g_array_event(l_event_id).array_value_char('source_108')
167450 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167451 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
167452 , p_source_112 => l_array_source_112(Idx)
167453 , p_source_151 => l_array_source_151(Idx)
167454 , p_source_152 => l_array_source_152(Idx)
167455 );
167456 If(l_balance_type_code = 'A') THEN
167457 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167458 END IF;
167459
167460 --
167461
167462
167463 --
167464 AcctLineType_125 (
167465 p_application_id => p_application_id
167466 ,p_event_id => l_event_id
167467 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167468 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167469 ,p_actual_flag => l_actual_flag
167470 ,p_balance_type_code => l_balance_type_code
167471 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167472
167473 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
167474 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
167475 , p_source_30 => l_array_source_30(Idx)
167476 , p_source_36 => g_array_event(l_event_id).array_value_num('source_36')
167477 , p_source_37 => g_array_event(l_event_id).array_value_num('source_37')
167478 , p_source_38 => g_array_event(l_event_id).array_value_num('source_38')
167479 , p_source_39 => g_array_event(l_event_id).array_value_num('source_39')
167480 , p_source_53 => l_array_source_53(Idx)
167481 , p_source_55 => l_array_source_55(Idx)
167482 , p_source_80 => l_array_source_80(Idx)
167483 , p_source_80_meaning => l_array_source_80_meaning(Idx)
167484 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
167485 , p_source_86 => l_array_source_86(Idx)
167486 , p_source_88 => l_array_source_88(Idx)
167487 , p_source_91 => l_array_source_91(Idx)
167488 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
167489 , p_source_98 => l_array_source_98(Idx)
167490 , p_source_98_meaning => l_array_source_98_meaning(Idx)
167491 , p_source_99 => l_array_source_99(Idx)
167492 , p_source_100 => l_array_source_100(Idx)
167493 , p_source_101 => l_array_source_101(Idx)
167494 , p_source_102 => l_array_source_102(Idx)
167495 , p_source_103 => l_array_source_103(Idx)
167496 , p_source_104 => l_array_source_104(Idx)
167497 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167498 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
167499 , p_source_112 => l_array_source_112(Idx)
167500 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
167501 , p_source_152 => l_array_source_152(Idx)
167502 );
167503 If(l_balance_type_code = 'A') THEN
167507 --
167504 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167505 END IF;
167506
167508
167509
167510 --
167511 AcctLineType_130 (
167512 p_application_id => p_application_id
167513 ,p_event_id => l_event_id
167514 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167515 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167516 ,p_actual_flag => l_actual_flag
167517 ,p_balance_type_code => l_balance_type_code
167518 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167519
167520 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167521 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
167522 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
167523 , p_source_30 => l_array_source_30(Idx)
167524 , p_source_36 => g_array_event(l_event_id).array_value_num('source_36')
167525 , p_source_37 => g_array_event(l_event_id).array_value_num('source_37')
167526 , p_source_53 => l_array_source_53(Idx)
167527 , p_source_55 => l_array_source_55(Idx)
167528 , p_source_80 => l_array_source_80(Idx)
167529 , p_source_80_meaning => l_array_source_80_meaning(Idx)
167530 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
167531 , p_source_86 => l_array_source_86(Idx)
167532 , p_source_88 => l_array_source_88(Idx)
167533 , p_source_91 => l_array_source_91(Idx)
167534 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
167535 , p_source_98 => l_array_source_98(Idx)
167536 , p_source_98_meaning => l_array_source_98_meaning(Idx)
167537 , p_source_99 => l_array_source_99(Idx)
167538 , p_source_100 => l_array_source_100(Idx)
167539 , p_source_101 => l_array_source_101(Idx)
167540 , p_source_102 => l_array_source_102(Idx)
167541 , p_source_103 => l_array_source_103(Idx)
167542 , p_source_104 => l_array_source_104(Idx)
167543 , p_source_106 => g_array_event(l_event_id).array_value_date('source_106')
167544 , p_source_107 => g_array_event(l_event_id).array_value_num('source_107')
167545 , p_source_108 => g_array_event(l_event_id).array_value_char('source_108')
167546 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167547 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
167548 , p_source_112 => l_array_source_112(Idx)
167549 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
167550 , p_source_156 => l_array_source_156(Idx)
167551 , p_source_157 => l_array_source_157(Idx)
167552 );
167553 If(l_balance_type_code = 'A') THEN
167554 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167555 END IF;
167556
167557 --
167558
167559
167560 --
167561 AcctLineType_132 (
167562 p_application_id => p_application_id
167563 ,p_event_id => l_event_id
167564 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167565 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167566 ,p_actual_flag => l_actual_flag
167567 ,p_balance_type_code => l_balance_type_code
167568 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167569
167570 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167571 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
167572 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
167573 , p_source_30 => l_array_source_30(Idx)
167574 , p_source_36 => g_array_event(l_event_id).array_value_num('source_36')
167575 , p_source_37 => g_array_event(l_event_id).array_value_num('source_37')
167576 , p_source_53 => l_array_source_53(Idx)
167577 , p_source_55 => l_array_source_55(Idx)
167578 , p_source_80 => l_array_source_80(Idx)
167579 , p_source_80_meaning => l_array_source_80_meaning(Idx)
167580 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
167581 , p_source_86 => l_array_source_86(Idx)
167582 , p_source_88 => l_array_source_88(Idx)
167583 , p_source_91 => l_array_source_91(Idx)
167584 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
167585 , p_source_98 => l_array_source_98(Idx)
167586 , p_source_98_meaning => l_array_source_98_meaning(Idx)
167587 , p_source_99 => l_array_source_99(Idx)
167588 , p_source_100 => l_array_source_100(Idx)
167589 , p_source_101 => l_array_source_101(Idx)
167590 , p_source_102 => l_array_source_102(Idx)
167591 , p_source_103 => l_array_source_103(Idx)
167592 , p_source_104 => l_array_source_104(Idx)
167593 , p_source_106 => g_array_event(l_event_id).array_value_date('source_106')
167594 , p_source_107 => g_array_event(l_event_id).array_value_num('source_107')
167595 , p_source_108 => g_array_event(l_event_id).array_value_char('source_108')
167596 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167597 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
167598 , p_source_112 => l_array_source_112(Idx)
167599 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
167600 , p_source_159 => l_array_source_159(Idx)
167601 , p_source_160 => l_array_source_160(Idx)
167602 );
167603 If(l_balance_type_code = 'A') THEN
167604 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167605 END IF;
167606
167607 --
167608
167609
167610 --
167611 AcctLineType_136 (
167612 p_application_id => p_application_id
167613 ,p_event_id => l_event_id
167614 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167615 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167616 ,p_actual_flag => l_actual_flag
167617 ,p_balance_type_code => l_balance_type_code
167618 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167619
167620 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167621 , p_source_28 => g_array_event(l_event_id).array_value_num('source_28')
167622 , p_source_29 => g_array_event(l_event_id).array_value_char('source_29')
167623 , p_source_30 => l_array_source_30(Idx)
167624 , p_source_33 => l_array_source_33(Idx)
167625 , p_source_33_meaning => l_array_source_33_meaning(Idx)
167626 , p_source_53 => l_array_source_53(Idx)
167627 , p_source_55 => l_array_source_55(Idx)
167631 , p_source_86 => l_array_source_86(Idx)
167628 , p_source_80 => l_array_source_80(Idx)
167629 , p_source_80_meaning => l_array_source_80_meaning(Idx)
167630 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
167632 , p_source_88 => l_array_source_88(Idx)
167633 , p_source_91 => l_array_source_91(Idx)
167634 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
167635 , p_source_98 => l_array_source_98(Idx)
167636 , p_source_98_meaning => l_array_source_98_meaning(Idx)
167637 , p_source_99 => l_array_source_99(Idx)
167638 , p_source_100 => l_array_source_100(Idx)
167639 , p_source_101 => l_array_source_101(Idx)
167640 , p_source_102 => l_array_source_102(Idx)
167641 , p_source_103 => l_array_source_103(Idx)
167642 , p_source_104 => l_array_source_104(Idx)
167643 , p_source_106 => g_array_event(l_event_id).array_value_date('source_106')
167644 , p_source_107 => g_array_event(l_event_id).array_value_num('source_107')
167645 , p_source_108 => g_array_event(l_event_id).array_value_char('source_108')
167646 , p_source_109 => l_array_source_109(Idx)
167647 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167648 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
167649 , p_source_112 => l_array_source_112(Idx)
167650 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
167651 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
167652 , p_source_163 => l_array_source_163(Idx)
167653 , p_source_163_meaning => l_array_source_163_meaning(Idx)
167654 );
167655 If(l_balance_type_code = 'A') THEN
167656 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167657 END IF;
167658
167659 --
167660
167661
167662 --
167663 AcctLineType_145 (
167664 p_application_id => p_application_id
167665 ,p_event_id => l_event_id
167666 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167667 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167668 ,p_actual_flag => l_actual_flag
167669 ,p_balance_type_code => l_balance_type_code
167670 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167671
167672 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167673 , p_source_53 => l_array_source_53(Idx)
167674 , p_source_55 => l_array_source_55(Idx)
167675 , p_source_80 => l_array_source_80(Idx)
167676 , p_source_80_meaning => l_array_source_80_meaning(Idx)
167677 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
167678 , p_source_86 => l_array_source_86(Idx)
167679 , p_source_88 => l_array_source_88(Idx)
167680 , p_source_91 => l_array_source_91(Idx)
167681 , p_source_92 => l_array_source_92(Idx)
167682 , p_source_93 => l_array_source_93(Idx)
167683 , p_source_94 => l_array_source_94(Idx)
167684 , p_source_95 => l_array_source_95(Idx)
167685 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
167686 , p_source_98 => l_array_source_98(Idx)
167687 , p_source_98_meaning => l_array_source_98_meaning(Idx)
167688 , p_source_99 => l_array_source_99(Idx)
167689 , p_source_104 => l_array_source_104(Idx)
167690 , p_source_112 => l_array_source_112(Idx)
167691 , p_source_116 => l_array_source_116(Idx)
167692 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
167693 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
167694 , p_source_163 => l_array_source_163(Idx)
167695 , p_source_163_meaning => l_array_source_163_meaning(Idx)
167696 , p_source_164 => l_array_source_164(Idx)
167697 , p_source_164_meaning => l_array_source_164_meaning(Idx)
167698 );
167699 If(l_balance_type_code = 'A') THEN
167700 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167701 END IF;
167702
167703 --
167704
167705
167706 --
167707 AcctLineType_147 (
167708 p_application_id => p_application_id
167709 ,p_event_id => l_event_id
167710 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167711 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167712 ,p_actual_flag => l_actual_flag
167713 ,p_balance_type_code => l_balance_type_code
167714 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167715
167716 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167717 , p_source_53 => l_array_source_53(Idx)
167718 , p_source_55 => l_array_source_55(Idx)
167719 , p_source_80 => l_array_source_80(Idx)
167720 , p_source_80_meaning => l_array_source_80_meaning(Idx)
167721 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
167722 , p_source_86 => l_array_source_86(Idx)
167723 , p_source_88 => l_array_source_88(Idx)
167724 , p_source_91 => l_array_source_91(Idx)
167725 , p_source_92 => l_array_source_92(Idx)
167726 , p_source_93 => l_array_source_93(Idx)
167727 , p_source_94 => l_array_source_94(Idx)
167728 , p_source_95 => l_array_source_95(Idx)
167729 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
167730 , p_source_98 => l_array_source_98(Idx)
167731 , p_source_98_meaning => l_array_source_98_meaning(Idx)
167732 , p_source_99 => l_array_source_99(Idx)
167733 , p_source_104 => l_array_source_104(Idx)
167734 , p_source_112 => l_array_source_112(Idx)
167735 , p_source_116 => l_array_source_116(Idx)
167736 , p_source_163 => l_array_source_163(Idx)
167737 , p_source_163_meaning => l_array_source_163_meaning(Idx)
167738 );
167739 If(l_balance_type_code = 'A') THEN
167740 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167741 END IF;
167742
167743 --
167744
167745
167746 --
167747 AcctLineType_163 (
167748 p_application_id => p_application_id
167749 ,p_event_id => l_event_id
167750 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167751 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167752 ,p_actual_flag => l_actual_flag
167753 ,p_balance_type_code => l_balance_type_code
167754 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167755
167756 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167760 , p_source_38 => g_array_event(l_event_id).array_value_num('source_38')
167757 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
167758 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
167759 , p_source_30 => l_array_source_30(Idx)
167761 , p_source_39 => g_array_event(l_event_id).array_value_num('source_39')
167762 , p_source_53 => l_array_source_53(Idx)
167763 , p_source_55 => l_array_source_55(Idx)
167764 , p_source_80 => l_array_source_80(Idx)
167765 , p_source_80_meaning => l_array_source_80_meaning(Idx)
167766 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
167767 , p_source_86 => l_array_source_86(Idx)
167768 , p_source_88 => l_array_source_88(Idx)
167769 , p_source_91 => l_array_source_91(Idx)
167770 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
167771 , p_source_98 => l_array_source_98(Idx)
167772 , p_source_98_meaning => l_array_source_98_meaning(Idx)
167773 , p_source_99 => l_array_source_99(Idx)
167774 , p_source_100 => l_array_source_100(Idx)
167775 , p_source_101 => l_array_source_101(Idx)
167776 , p_source_102 => l_array_source_102(Idx)
167777 , p_source_103 => l_array_source_103(Idx)
167778 , p_source_104 => l_array_source_104(Idx)
167779 , p_source_106 => g_array_event(l_event_id).array_value_date('source_106')
167780 , p_source_107 => g_array_event(l_event_id).array_value_num('source_107')
167781 , p_source_108 => g_array_event(l_event_id).array_value_char('source_108')
167782 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167783 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
167784 , p_source_112 => l_array_source_112(Idx)
167785 , p_source_151 => l_array_source_151(Idx)
167786 , p_source_152 => l_array_source_152(Idx)
167787 );
167788 If(l_balance_type_code = 'A') THEN
167789 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167790 END IF;
167791
167792 --
167793
167794
167795 --
167796 AcctLineType_164 (
167797 p_application_id => p_application_id
167798 ,p_event_id => l_event_id
167799 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167800 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167801 ,p_actual_flag => l_actual_flag
167802 ,p_balance_type_code => l_balance_type_code
167803 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167804
167805 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167806 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
167807 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
167808 , p_source_30 => l_array_source_30(Idx)
167809 , p_source_38 => g_array_event(l_event_id).array_value_num('source_38')
167810 , p_source_39 => g_array_event(l_event_id).array_value_num('source_39')
167811 , p_source_53 => l_array_source_53(Idx)
167812 , p_source_55 => l_array_source_55(Idx)
167813 , p_source_80 => l_array_source_80(Idx)
167814 , p_source_80_meaning => l_array_source_80_meaning(Idx)
167815 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
167816 , p_source_86 => l_array_source_86(Idx)
167817 , p_source_88 => l_array_source_88(Idx)
167818 , p_source_91 => l_array_source_91(Idx)
167819 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
167820 , p_source_98 => l_array_source_98(Idx)
167821 , p_source_98_meaning => l_array_source_98_meaning(Idx)
167822 , p_source_99 => l_array_source_99(Idx)
167823 , p_source_100 => l_array_source_100(Idx)
167824 , p_source_101 => l_array_source_101(Idx)
167825 , p_source_102 => l_array_source_102(Idx)
167826 , p_source_103 => l_array_source_103(Idx)
167827 , p_source_104 => l_array_source_104(Idx)
167828 , p_source_106 => g_array_event(l_event_id).array_value_date('source_106')
167829 , p_source_107 => g_array_event(l_event_id).array_value_num('source_107')
167830 , p_source_108 => g_array_event(l_event_id).array_value_char('source_108')
167831 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167832 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
167833 , p_source_112 => l_array_source_112(Idx)
167834 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
167835 , p_source_156 => l_array_source_156(Idx)
167836 , p_source_157 => l_array_source_157(Idx)
167837 );
167838 If(l_balance_type_code = 'A') THEN
167839 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167840 END IF;
167841
167842 --
167843
167844
167845 --
167846 AcctLineType_166 (
167847 p_application_id => p_application_id
167848 ,p_event_id => l_event_id
167849 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167850 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167851 ,p_actual_flag => l_actual_flag
167852 ,p_balance_type_code => l_balance_type_code
167853 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167854
167855 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167856 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
167857 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
167858 , p_source_30 => l_array_source_30(Idx)
167859 , p_source_38 => g_array_event(l_event_id).array_value_num('source_38')
167860 , p_source_39 => g_array_event(l_event_id).array_value_num('source_39')
167861 , p_source_53 => l_array_source_53(Idx)
167862 , p_source_55 => l_array_source_55(Idx)
167863 , p_source_80 => l_array_source_80(Idx)
167864 , p_source_80_meaning => l_array_source_80_meaning(Idx)
167865 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
167866 , p_source_86 => l_array_source_86(Idx)
167867 , p_source_88 => l_array_source_88(Idx)
167868 , p_source_91 => l_array_source_91(Idx)
167869 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
167870 , p_source_98 => l_array_source_98(Idx)
167871 , p_source_98_meaning => l_array_source_98_meaning(Idx)
167872 , p_source_99 => l_array_source_99(Idx)
167873 , p_source_100 => l_array_source_100(Idx)
167874 , p_source_101 => l_array_source_101(Idx)
167878 , p_source_106 => g_array_event(l_event_id).array_value_date('source_106')
167875 , p_source_102 => l_array_source_102(Idx)
167876 , p_source_103 => l_array_source_103(Idx)
167877 , p_source_104 => l_array_source_104(Idx)
167879 , p_source_107 => g_array_event(l_event_id).array_value_num('source_107')
167880 , p_source_108 => g_array_event(l_event_id).array_value_char('source_108')
167881 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167882 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
167883 , p_source_112 => l_array_source_112(Idx)
167884 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
167885 , p_source_159 => l_array_source_159(Idx)
167886 , p_source_160 => l_array_source_160(Idx)
167887 );
167888 If(l_balance_type_code = 'A') THEN
167889 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167890 END IF;
167891
167892 --
167893
167894
167895 --
167896 AcctLineType_170 (
167897 p_application_id => p_application_id
167898 ,p_event_id => l_event_id
167899 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167900 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167901 ,p_actual_flag => l_actual_flag
167902 ,p_balance_type_code => l_balance_type_code
167903 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167904
167905 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167906 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
167907 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
167908 , p_source_30 => l_array_source_30(Idx)
167909 , p_source_49 => g_array_event(l_event_id).array_value_num('source_49')
167910 , p_source_53 => l_array_source_53(Idx)
167911 , p_source_55 => l_array_source_55(Idx)
167912 , p_source_80 => l_array_source_80(Idx)
167913 , p_source_80_meaning => l_array_source_80_meaning(Idx)
167914 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
167915 , p_source_86 => l_array_source_86(Idx)
167916 , p_source_88 => l_array_source_88(Idx)
167917 , p_source_91 => l_array_source_91(Idx)
167918 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
167919 , p_source_98 => l_array_source_98(Idx)
167920 , p_source_98_meaning => l_array_source_98_meaning(Idx)
167921 , p_source_99 => l_array_source_99(Idx)
167922 , p_source_100 => l_array_source_100(Idx)
167923 , p_source_101 => l_array_source_101(Idx)
167924 , p_source_102 => l_array_source_102(Idx)
167925 , p_source_103 => l_array_source_103(Idx)
167926 , p_source_104 => l_array_source_104(Idx)
167927 , p_source_106 => g_array_event(l_event_id).array_value_date('source_106')
167928 , p_source_107 => g_array_event(l_event_id).array_value_num('source_107')
167929 , p_source_108 => g_array_event(l_event_id).array_value_char('source_108')
167930 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167931 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
167932 , p_source_112 => l_array_source_112(Idx)
167933 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
167934 , p_source_121 => l_array_source_121(Idx)
167935 );
167936 If(l_balance_type_code = 'A') THEN
167937 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167938 END IF;
167939
167940 --
167941
167942
167943 --
167944 AcctLineType_184 (
167945 p_application_id => p_application_id
167946 ,p_event_id => l_event_id
167947 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167948 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167949 ,p_actual_flag => l_actual_flag
167950 ,p_balance_type_code => l_balance_type_code
167951 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167952
167953 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
167954 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
167955 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
167956 , p_source_30 => l_array_source_30(Idx)
167957 , p_source_49 => g_array_event(l_event_id).array_value_num('source_49')
167958 , p_source_53 => l_array_source_53(Idx)
167959 , p_source_55 => l_array_source_55(Idx)
167960 , p_source_80 => l_array_source_80(Idx)
167961 , p_source_80_meaning => l_array_source_80_meaning(Idx)
167962 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
167963 , p_source_86 => l_array_source_86(Idx)
167964 , p_source_88 => l_array_source_88(Idx)
167965 , p_source_91 => l_array_source_91(Idx)
167966 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
167967 , p_source_98 => l_array_source_98(Idx)
167968 , p_source_98_meaning => l_array_source_98_meaning(Idx)
167969 , p_source_99 => l_array_source_99(Idx)
167970 , p_source_100 => l_array_source_100(Idx)
167971 , p_source_101 => l_array_source_101(Idx)
167972 , p_source_102 => l_array_source_102(Idx)
167973 , p_source_103 => l_array_source_103(Idx)
167974 , p_source_104 => l_array_source_104(Idx)
167975 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
167976 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
167977 , p_source_112 => l_array_source_112(Idx)
167978 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
167979 , p_source_115 => l_array_source_115(Idx)
167980 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
167981 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
167982 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
167983 );
167984 If(l_balance_type_code = 'A') THEN
167985 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167986 END IF;
167987
167988 --
167989
167990
167991 --
167992 AcctLineType_224 (
167993 p_application_id => p_application_id
167994 ,p_event_id => l_event_id
167995 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167996 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167997 ,p_actual_flag => l_actual_flag
167998 ,p_balance_type_code => l_balance_type_code
168002 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
167999 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
168000
168001 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
168003 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
168004 , p_source_30 => l_array_source_30(Idx)
168005 , p_source_43 => l_array_source_43(Idx)
168006 , p_source_53 => l_array_source_53(Idx)
168007 , p_source_55 => l_array_source_55(Idx)
168008 , p_source_80 => l_array_source_80(Idx)
168009 , p_source_80_meaning => l_array_source_80_meaning(Idx)
168010 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
168011 , p_source_86 => l_array_source_86(Idx)
168012 , p_source_88 => l_array_source_88(Idx)
168013 , p_source_91 => l_array_source_91(Idx)
168014 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
168015 , p_source_98 => l_array_source_98(Idx)
168016 , p_source_98_meaning => l_array_source_98_meaning(Idx)
168017 , p_source_99 => l_array_source_99(Idx)
168018 , p_source_100 => l_array_source_100(Idx)
168019 , p_source_101 => l_array_source_101(Idx)
168020 , p_source_102 => l_array_source_102(Idx)
168021 , p_source_103 => l_array_source_103(Idx)
168022 , p_source_104 => l_array_source_104(Idx)
168023 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
168024 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
168025 , p_source_112 => l_array_source_112(Idx)
168026 , p_source_116 => l_array_source_116(Idx)
168027 , p_source_143 => l_array_source_143(Idx)
168028 , p_source_144 => l_array_source_144(Idx)
168029 , p_source_145 => l_array_source_145(Idx)
168030 , p_source_164 => l_array_source_164(Idx)
168031 , p_source_164_meaning => l_array_source_164_meaning(Idx)
168032 );
168033 If(l_balance_type_code = 'A') THEN
168034 l_actual_gain_loss_ref := l_gain_or_loss_ref;
168035 END IF;
168036
168037 --
168038
168039 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
168040 -- or secondary ledger that has different currency with primary
168041 -- or alc that is calculated by sla
168042 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
168043 (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'))
168044
168045 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
168046 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
168047 AND (l_actual_flag = 'A')) THEN
168048 XLA_AE_LINES_PKG.CreateGainOrLossLines(
168049 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
168050 ,p_application_id => p_application_id
168051 ,p_amb_context_code => 'DEFAULT'
168052 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
168053 ,p_event_class_code => C_EVENT_CLASS_CODE
168054 ,p_event_type_code => C_EVENT_TYPE_CODE
168055
168056 ,p_gain_ccid => -1
168057 ,p_loss_ccid => -1
168058
168059 ,p_actual_flag => l_actual_flag
168060 ,p_enc_flag => null
168061 ,p_actual_g_l_ref => l_actual_gain_loss_ref
168062 ,p_enc_g_l_ref => null
168063 );
168064 END IF;
168065 END IF;
168066 END IF;
168067
168068 ELSE
168069 --
168070 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
168071 --
168072 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
168073 trace
168074 (p_msg => 'Trancaction revesal option is Y'
168075 ,p_level => C_LEVEL_STATEMENT
168076 ,p_module => l_log_module);
168077 END IF;
168078 END IF;
168079
168080 END LOOP;
168081 l_result := XLA_AE_LINES_PKG.InsertLines ;
168082 end loop;
168083 close line_cur;
168084
168085
168086 --
168087 -- insert headers into xla_ae_headers_gt table
168088 --
168089 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
168090
168091 -- insert into errors table here.
168092
168093 END LOOP;
168094
168095 --
168096 -- 4865292
168097 --
168098 -- Compare g_hdr_extract_count with event count in
168099 -- CreateHeadersAndLines.
168100 --
168101 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
168102
168103 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
168104 trace (p_msg => '# rows extracted from header extract objects '
168105 || ' (running total): '
168106 || g_hdr_extract_count
168107 ,p_level => C_LEVEL_STATEMENT
168108 ,p_module => l_log_module);
168109 END IF;
168110
168111 CLOSE header_cur;
168112 --
168113
168114 --
168115 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
168116 trace
168117 (p_msg => 'END of EventClass_237'
168118 ,p_level => C_LEVEL_PROCEDURE
168119 ,p_module => l_log_module);
168120 END IF;
168121 --
168122 RETURN l_result;
168123 EXCEPTION
168124 WHEN xla_exceptions_pkg.application_exception THEN
168125
168126 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
168127
168128
168129 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
168130
168131 RAISE;
168132
168133 WHEN NO_DATA_FOUND THEN
168134
168135 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
168136 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
168137
168138 FOR header_record IN header_cur
168139 LOOP
168140 l_array_header_events(header_record.event_id) := header_record.event_id;
168141 END LOOP;
168142
168143 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
168147 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
168144 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
168145
168146 fnd_file.put_line(fnd_file.LOG, ' ');
168148 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
168149 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
168150
168151 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
168152 LOOP
168153 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
168154 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
168155 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
168156 END IF;
168157 END LOOP;
168158
168159 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
168160 fnd_file.put_line(fnd_file.LOG, ' ');
168161
168162
168163 xla_exceptions_pkg.raise_message
168164 (p_location => 'XLA_00200_AAD_S_000002_PKG.EventClass_237');
168165
168166
168167 WHEN OTHERS THEN
168168 xla_exceptions_pkg.raise_message
168169 (p_location => 'XLA_00200_AAD_S_000002_PKG.EventClass_237');
168170 END EventClass_237;
168171 --
168172
168173 ---------------------------------------
168174 --
168175 -- PRIVATE PROCEDURE
168176 -- insert_sources_238
168177 --
168178 ----------------------------------------
168179 --
168180 PROCEDURE insert_sources_238(
168181 p_target_ledger_id IN NUMBER
168182 , p_language IN VARCHAR2
168183 , p_sla_ledger_id IN NUMBER
168184 , p_pad_start_date IN DATE
168185 , p_pad_end_date IN DATE
168186 )
168187 IS
168188
168189 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'REFUNDS_ALL';
168190 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'REFUNDS';
168191 p_apps_owner VARCHAR2(30);
168192 l_log_module VARCHAR2(240);
168193 BEGIN
168194 IF g_log_enabled THEN
168195 l_log_module := C_DEFAULT_MODULE||'.insert_sources_238';
168196 END IF;
168197 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
168198
168199 trace
168200 (p_msg => 'BEGIN of insert_sources_238'
168201 ,p_level => C_LEVEL_PROCEDURE
168202 ,p_module => l_log_module);
168203
168204 END IF;
168205
168206 -- select APPS owner
168207 SELECT oracle_username
168208 INTO p_apps_owner
168209 FROM fnd_oracle_userid
168210 WHERE read_only_flag = 'U'
168211 ;
168212
168213 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
168214 trace
168215 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
168216 ' - p_language = '||p_language||
168217 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
168218 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
168219 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
168220 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
168221 ,p_level => C_LEVEL_STATEMENT
168222 ,p_module => l_log_module);
168223 END IF;
168224
168225
168226 --
168227 INSERT INTO xla_diag_sources --hdr2
168228 (
168229 event_id
168230 , ledger_id
168231 , sla_ledger_id
168232 , description_language
168233 , object_name
168234 , object_type_code
168235 , line_number
168236 , source_application_id
168237 , source_type_code
168238 , source_code
168239 , source_value
168240 , source_meaning
168241 , created_by
168242 , creation_date
168243 , last_update_date
168244 , last_updated_by
168245 , last_update_login
168246 , program_update_date
168247 , program_application_id
168248 , program_id
168249 , request_id
168250 )
168251 SELECT
168252 event_id
168253 , p_target_ledger_id
168254 , p_sla_ledger_id
168255 , p_language
168256 , object_name
168257 , object_type_code
168258 , line_number
168259 , source_application_id
168260 , source_type_code
168261 , source_code
168262 , SUBSTR(source_value ,1,1996)
168263 , SUBSTR(source_meaning ,1,200)
168264 , xla_environment_pkg.g_Usr_Id
168265 , TRUNC(SYSDATE)
168266 , TRUNC(SYSDATE)
168267 , xla_environment_pkg.g_Usr_Id
168268 , xla_environment_pkg.g_Login_Id
168269 , TRUNC(SYSDATE)
168270 , xla_environment_pkg.g_Prog_Appl_Id
168271 , xla_environment_pkg.g_Prog_Id
168272 , xla_environment_pkg.g_Req_Id
168273 FROM (
168274 SELECT xet.event_id event_id
168275 , 0 line_number
168276 , CASE r
168277 WHEN 1 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168278 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168279 WHEN 3 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168280 WHEN 4 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168281 WHEN 5 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168282 WHEN 6 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168283 WHEN 7 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
168284 WHEN 8 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168285 WHEN 9 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
168286 WHEN 10 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
168287 WHEN 11 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168288 WHEN 12 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168292 WHEN 16 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
168289 WHEN 13 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
168290 WHEN 14 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168291 WHEN 15 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
168293 WHEN 17 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
168294 WHEN 18 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
168295 WHEN 19 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168296 WHEN 20 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
168297 WHEN 21 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168298 WHEN 22 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168299 WHEN 23 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168300 WHEN 24 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168301 WHEN 25 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168302 WHEN 26 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168303 WHEN 27 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168304 WHEN 28 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168305 WHEN 29 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168306 WHEN 30 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168307 WHEN 31 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
168308
168309 ELSE null
168310 END object_name
168311 , CASE r
168312 WHEN 1 THEN 'HEADER'
168313 WHEN 2 THEN 'HEADER'
168314 WHEN 3 THEN 'HEADER'
168315 WHEN 4 THEN 'HEADER'
168316 WHEN 5 THEN 'HEADER'
168317 WHEN 6 THEN 'HEADER'
168318 WHEN 7 THEN 'HEADER'
168319 WHEN 8 THEN 'HEADER'
168320 WHEN 9 THEN 'HEADER'
168321 WHEN 10 THEN 'HEADER'
168322 WHEN 11 THEN 'HEADER'
168323 WHEN 12 THEN 'HEADER'
168324 WHEN 13 THEN 'HEADER'
168325 WHEN 14 THEN 'HEADER'
168326 WHEN 15 THEN 'HEADER'
168327 WHEN 16 THEN 'HEADER'
168328 WHEN 17 THEN 'HEADER'
168329 WHEN 18 THEN 'HEADER'
168330 WHEN 19 THEN 'HEADER'
168331 WHEN 20 THEN 'HEADER'
168332 WHEN 21 THEN 'HEADER'
168333 WHEN 22 THEN 'HEADER'
168334 WHEN 23 THEN 'HEADER'
168335 WHEN 24 THEN 'HEADER'
168336 WHEN 25 THEN 'HEADER'
168337 WHEN 26 THEN 'HEADER'
168338 WHEN 27 THEN 'HEADER'
168339 WHEN 28 THEN 'HEADER'
168340 WHEN 29 THEN 'HEADER'
168341 WHEN 30 THEN 'HEADER'
168342 WHEN 31 THEN 'HEADER'
168343
168344 ELSE null
168345 END object_type_code
168346 , CASE r
168347 WHEN 1 THEN '200'
168348 WHEN 2 THEN '200'
168349 WHEN 3 THEN '200'
168350 WHEN 4 THEN '200'
168351 WHEN 5 THEN '200'
168352 WHEN 6 THEN '200'
168353 WHEN 7 THEN '200'
168354 WHEN 8 THEN '200'
168355 WHEN 9 THEN '200'
168356 WHEN 10 THEN '200'
168357 WHEN 11 THEN '200'
168358 WHEN 12 THEN '200'
168359 WHEN 13 THEN '200'
168360 WHEN 14 THEN '200'
168361 WHEN 15 THEN '200'
168362 WHEN 16 THEN '200'
168363 WHEN 17 THEN '200'
168364 WHEN 18 THEN '200'
168365 WHEN 19 THEN '200'
168366 WHEN 20 THEN '200'
168367 WHEN 21 THEN '200'
168368 WHEN 22 THEN '200'
168369 WHEN 23 THEN '200'
168370 WHEN 24 THEN '200'
168371 WHEN 25 THEN '200'
168372 WHEN 26 THEN '200'
168373 WHEN 27 THEN '200'
168374 WHEN 28 THEN '200'
168375 WHEN 29 THEN '200'
168376 WHEN 30 THEN '200'
168377 WHEN 31 THEN '200'
168378
168379 ELSE null
168380 END source_application_id
168381 , 'S' source_type_code
168382 , CASE r
168383 WHEN 1 THEN 'DOC_SEQUENCE_NAME'
168384 WHEN 2 THEN 'AC_DOC_SEQUENCE_VALUE'
168385 WHEN 3 THEN 'PAYMENT_TRANSACTION_NUMBER'
168386 WHEN 4 THEN 'AC_CHECK_DATE'
168387 WHEN 5 THEN 'CBA_BANK_ACCOUNT_NAME'
168388 WHEN 6 THEN 'AC_CURRENCY_CODE'
168389 WHEN 7 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
168390 WHEN 8 THEN 'CGAC_AP_ASSET_CCID'
168391 WHEN 9 THEN 'FSP_DISC_TAKEN_CCID'
168392 WHEN 10 THEN 'ASP_DISCOUNT_DIST_METHOD'
168393 WHEN 11 THEN 'CGAC_CASH_CLEARING_CCID'
168394 WHEN 12 THEN 'CGAC_GAIN_CCID'
168395 WHEN 13 THEN 'ASP_GAIN_CCID'
168396 WHEN 14 THEN 'CGAC_LOSS_CCID'
168397 WHEN 15 THEN 'ASP_LOSS_CCID'
168398 WHEN 16 THEN 'ASP_DISC_TAKEN_CCID'
168399 WHEN 17 THEN 'ASP_AUTO_OFFSET_FLAG'
168400 WHEN 18 THEN 'ASP_ROUNDING_ERROR_CCID'
168401 WHEN 19 THEN 'THIRD_PARTY_TYPE'
168402 WHEN 20 THEN 'ASP_WHEN_TO_ACCOUNT_PMT'
168403 WHEN 21 THEN 'AC_VENDOR_ID'
168404 WHEN 22 THEN 'AC_VENDOR_SITE_ID'
168405 WHEN 23 THEN 'CBA_POOLED_BANK_ACOUNT_FLAG'
168406 WHEN 24 THEN 'AC_FUTURE_PAY_DUE_DATE'
168407 WHEN 25 THEN 'AC_EXCHANGE_DATE'
168408 WHEN 26 THEN 'AC_EXCHANGE_RATE'
168409 WHEN 27 THEN 'AC_EXCHANGE_RATE_TYPE'
168410 WHEN 28 THEN 'PAYMENT_TYPE'
168414
168411 WHEN 29 THEN 'AC_DOC_CATEGORY_CODE'
168412 WHEN 30 THEN 'PAYMENT_DOCUMENT_SEQUENCE_ID'
168413 WHEN 31 THEN 'TRANSAC_REVERSAL_FLAG'
168415 ELSE null
168416 END source_code
168417 , CASE r
168418 WHEN 1 THEN TO_CHAR(h2.DOC_SEQUENCE_NAME)
168419 WHEN 2 THEN TO_CHAR(h2.AC_DOC_SEQUENCE_VALUE)
168420 WHEN 3 THEN TO_CHAR(h2.PAYMENT_TRANSACTION_NUMBER)
168421 WHEN 4 THEN TO_CHAR(h2.AC_CHECK_DATE)
168422 WHEN 5 THEN TO_CHAR(h2.CBA_BANK_ACCOUNT_NAME)
168423 WHEN 6 THEN TO_CHAR(h2.AC_CURRENCY_CODE)
168424 WHEN 7 THEN TO_CHAR(h3.ASP_AUTOMATIC_OFFSETS_VALUE)
168425 WHEN 8 THEN TO_CHAR(h2.CGAC_AP_ASSET_CCID)
168426 WHEN 9 THEN TO_CHAR(h3.FSP_DISC_TAKEN_CCID)
168427 WHEN 10 THEN TO_CHAR(h3.ASP_DISCOUNT_DIST_METHOD)
168428 WHEN 11 THEN TO_CHAR(h2.CGAC_CASH_CLEARING_CCID)
168429 WHEN 12 THEN TO_CHAR(h2.CGAC_GAIN_CCID)
168430 WHEN 13 THEN TO_CHAR(h3.ASP_GAIN_CCID)
168431 WHEN 14 THEN TO_CHAR(h2.CGAC_LOSS_CCID)
168432 WHEN 15 THEN TO_CHAR(h3.ASP_LOSS_CCID)
168433 WHEN 16 THEN TO_CHAR(h3.ASP_DISC_TAKEN_CCID)
168434 WHEN 17 THEN TO_CHAR(h3.ASP_AUTO_OFFSET_FLAG)
168435 WHEN 18 THEN TO_CHAR(h3.ASP_ROUNDING_ERROR_CCID)
168436 WHEN 19 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
168437 WHEN 20 THEN TO_CHAR(h3.ASP_WHEN_TO_ACCOUNT_PMT)
168438 WHEN 21 THEN TO_CHAR(h2.AC_VENDOR_ID)
168439 WHEN 22 THEN TO_CHAR(h2.AC_VENDOR_SITE_ID)
168440 WHEN 23 THEN TO_CHAR(h2.CBA_POOLED_BANK_ACOUNT_FLAG)
168441 WHEN 24 THEN TO_CHAR(h2.AC_FUTURE_PAY_DUE_DATE)
168442 WHEN 25 THEN TO_CHAR(h2.AC_EXCHANGE_DATE)
168443 WHEN 26 THEN TO_CHAR(h2.AC_EXCHANGE_RATE)
168444 WHEN 27 THEN TO_CHAR(h2.AC_EXCHANGE_RATE_TYPE)
168445 WHEN 28 THEN TO_CHAR(h2.PAYMENT_TYPE)
168446 WHEN 29 THEN TO_CHAR(h2.AC_DOC_CATEGORY_CODE)
168447 WHEN 30 THEN TO_CHAR(h2.PAYMENT_DOCUMENT_SEQUENCE_ID)
168448 WHEN 31 THEN TO_CHAR(h2.TRANSAC_REVERSAL_FLAG)
168449
168450 ELSE null
168451 END source_value
168452 , CASE r
168453 WHEN 7 THEN fvl15.meaning
168454 WHEN 10 THEN fvl19.meaning
168455 WHEN 17 THEN fvl47.meaning
168456 WHEN 23 THEN fvl113.meaning
168457 WHEN 28 THEN fvl122.meaning
168458 WHEN 31 THEN fvl172.meaning
168459
168460 ELSE null
168461 END source_meaning
168462 FROM xla_events_gt xet
168463 , AP_PAYMENT_EXTRACT_HEADER_V h2
168464 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
168465 , fnd_lookup_values fvl15
168466 , fnd_lookup_values fvl19
168467 , fnd_lookup_values fvl47
168468 , fnd_lookup_values fvl113
168469 , fnd_lookup_values fvl122
168470 , fnd_lookup_values fvl172
168471 ,(select rownum r from all_objects where rownum <= 31 and owner = p_apps_owner)
168472 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
168473 AND xet.event_class_code = C_EVENT_CLASS_CODE
168474 AND h2.event_id = xet.event_id
168475 AND h3.asp_org_id = h2.ac_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
168476 AND fvl15.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
168477 AND fvl15.view_application_id(+) = 200
168478 AND fvl15.language(+) = USERENV('LANG')
168479 AND fvl19.lookup_type(+) = 'DISCOUNT_DIST_OPTIONS'
168480 AND fvl19.lookup_code(+) = h3.ASP_DISCOUNT_DIST_METHOD
168481 AND fvl19.view_application_id(+) = 200
168482 AND fvl19.language(+) = USERENV('LANG')
168483 AND fvl47.lookup_type(+) = 'YES_NO'
168484 AND fvl47.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
168485 AND fvl47.view_application_id(+) = 0
168486 AND fvl47.language(+) = USERENV('LANG')
168487 AND fvl113.lookup_type(+) = 'YES_NO'
168488 AND fvl113.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
168489 AND fvl113.view_application_id(+) = 0
168490 AND fvl113.language(+) = USERENV('LANG')
168491 AND fvl122.lookup_type(+) = 'PAYMENT TYPE'
168492 AND fvl122.lookup_code(+) = h2.PAYMENT_TYPE
168493 AND fvl122.view_application_id(+) = 200
168494 AND fvl122.language(+) = USERENV('LANG')
168495 AND fvl172.lookup_type(+) = 'YES_NO'
168496 AND fvl172.lookup_code(+) = h2.TRANSAC_REVERSAL_FLAG
168497 AND fvl172.view_application_id(+) = 0
168498 AND fvl172.language(+) = USERENV('LANG')
168499
168500 )
168501 ;
168502 --
168503 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
168504
168505 trace
168506 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
168507 ,p_level => C_LEVEL_STATEMENT
168508 ,p_module => l_log_module);
168509
168510 END IF;
168511 --
168512
168513
168514
168515 --
168516 INSERT INTO xla_diag_sources --line2
168517 (
168518 event_id
168519 , ledger_id
168520 , sla_ledger_id
168521 , description_language
168522 , object_name
168523 , object_type_code
168524 , line_number
168525 , source_application_id
168526 , source_type_code
168527 , source_code
168528 , source_value
168529 , source_meaning
168530 , created_by
168531 , creation_date
168532 , last_update_date
168533 , last_updated_by
168534 , last_update_login
168535 , program_update_date
168536 , program_application_id
168540 SELECT event_id
168537 , program_id
168538 , request_id
168539 )
168541 , p_target_ledger_id
168542 , p_sla_ledger_id
168543 , p_language
168544 , object_name
168545 , object_type_code
168546 , line_number
168547 , source_application_id
168548 , source_type_code
168549 , source_code
168550 , SUBSTR(source_value,1,1996)
168551 , SUBSTR(source_meaning ,1,200)
168552 , xla_environment_pkg.g_Usr_Id
168553 , TRUNC(SYSDATE)
168554 , TRUNC(SYSDATE)
168555 , xla_environment_pkg.g_Usr_Id
168556 , xla_environment_pkg.g_Login_Id
168557 , TRUNC(SYSDATE)
168558 , xla_environment_pkg.g_Prog_Appl_Id
168559 , xla_environment_pkg.g_Prog_Id
168560 , xla_environment_pkg.g_Req_Id
168561 FROM (
168562 SELECT xet.event_id event_id
168563 , l1.line_number line_number
168564 , CASE r
168565 WHEN 1 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168566 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168567 WHEN 3 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168568 WHEN 4 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168569 WHEN 5 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168570 WHEN 6 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168571 WHEN 7 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168572 WHEN 8 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168573 WHEN 9 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
168574 WHEN 10 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
168575 WHEN 11 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
168576 WHEN 12 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168577 WHEN 13 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168578 WHEN 14 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168579 WHEN 15 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168580 WHEN 16 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168581 WHEN 17 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168582 WHEN 18 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168583 WHEN 19 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168584 WHEN 20 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168585 WHEN 21 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168586 WHEN 22 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168587 WHEN 23 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168588 WHEN 24 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168589 WHEN 25 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168590 WHEN 26 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168591 WHEN 27 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
168592
168593 ELSE null
168594 END object_name
168595 , CASE r
168596 WHEN 1 THEN 'LINE'
168597 WHEN 2 THEN 'LINE'
168598 WHEN 3 THEN 'LINE'
168599 WHEN 4 THEN 'LINE'
168600 WHEN 5 THEN 'LINE'
168601 WHEN 6 THEN 'LINE'
168602 WHEN 7 THEN 'LINE'
168603 WHEN 8 THEN 'LINE'
168604 WHEN 9 THEN 'LINE'
168605 WHEN 10 THEN 'LINE'
168606 WHEN 11 THEN 'LINE'
168607 WHEN 12 THEN 'LINE'
168608 WHEN 13 THEN 'LINE'
168609 WHEN 14 THEN 'LINE'
168610 WHEN 15 THEN 'LINE'
168611 WHEN 16 THEN 'LINE'
168612 WHEN 17 THEN 'LINE'
168613 WHEN 18 THEN 'LINE'
168614 WHEN 19 THEN 'LINE'
168615 WHEN 20 THEN 'LINE'
168616 WHEN 21 THEN 'LINE'
168617 WHEN 22 THEN 'LINE'
168618 WHEN 23 THEN 'LINE'
168619 WHEN 24 THEN 'LINE'
168620 WHEN 25 THEN 'LINE'
168621 WHEN 26 THEN 'LINE'
168622 WHEN 27 THEN 'LINE'
168623
168624 ELSE null
168625 END object_type_code
168626 , CASE r
168627 WHEN 1 THEN '200'
168628 WHEN 2 THEN '200'
168629 WHEN 3 THEN '200'
168630 WHEN 4 THEN '200'
168631 WHEN 5 THEN '200'
168632 WHEN 6 THEN '200'
168633 WHEN 7 THEN '200'
168634 WHEN 8 THEN '200'
168635 WHEN 9 THEN '200'
168636 WHEN 10 THEN '200'
168637 WHEN 11 THEN '200'
168638 WHEN 12 THEN '200'
168639 WHEN 13 THEN '200'
168640 WHEN 14 THEN '200'
168641 WHEN 15 THEN '200'
168642 WHEN 16 THEN '200'
168643 WHEN 17 THEN '200'
168644 WHEN 18 THEN '200'
168645 WHEN 19 THEN '200'
168646 WHEN 20 THEN '200'
168647 WHEN 21 THEN '200'
168648 WHEN 22 THEN '200'
168649 WHEN 23 THEN '200'
168650 WHEN 24 THEN '200'
168651 WHEN 25 THEN '200'
168652 WHEN 26 THEN '200'
168653 WHEN 27 THEN '200'
168654
168655 ELSE null
168656 END source_application_id
168657 , 'S' source_type_code
168658 , CASE r
168659 WHEN 1 THEN 'AID_DIST_CCID'
168660 WHEN 2 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
168661 WHEN 3 THEN 'POD_CCID'
168662 WHEN 4 THEN 'PO_VARIANCE_ACCOUNT'
168663 WHEN 5 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
168664 WHEN 6 THEN 'DISTRIBUTION_LINK_TYPE'
168665 WHEN 7 THEN 'AI_INVOICE_CURRENCY_CODE'
168666 WHEN 8 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
168670 WHEN 12 THEN 'BUS_FLOW_AP_APP_ID'
168667 WHEN 9 THEN 'TAX_LINE_ID'
168668 WHEN 10 THEN 'REC_NREC_TAX_DIST_ID'
168669 WHEN 11 THEN 'SUMMARY_TAX_LINE_ID'
168671 WHEN 13 THEN 'BUS_FLOW_INV_DIST_TYPE'
168672 WHEN 14 THEN 'BUS_FLOW_INV_ENTITY_CODE'
168673 WHEN 15 THEN 'BUS_FLOW_INV_DIST_ID'
168674 WHEN 16 THEN 'BUS_FLOW_INV_ID'
168675 WHEN 17 THEN 'APHD_PAY_DIST_LOOKUP_CODE'
168676 WHEN 18 THEN 'APHD_AMOUNT'
168677 WHEN 19 THEN 'APHD_PAYMENT_HIST_DIST_ID'
168678 WHEN 20 THEN 'APHD_REV_PAY_HIST_DIST_ID'
168679 WHEN 21 THEN 'APHD_PAYMENT_BASE_AMT'
168680 WHEN 22 THEN 'APHD_INVOICE_BASE_AMT'
168681 WHEN 23 THEN 'INV_EXCHANGE_DATE'
168682 WHEN 24 THEN 'INV_EXCHANGE_RATE'
168683 WHEN 25 THEN 'INV_EXCHANGE_RATE_TYPE'
168684 WHEN 26 THEN 'INV_PMT_BASE_AMT_DIFF'
168685 WHEN 27 THEN 'INV_PMT_GAIN_LOSS_INDICATOR'
168686
168687 ELSE null
168688 END source_code
168689 , CASE r
168690 WHEN 1 THEN TO_CHAR(l1.AID_DIST_CCID)
168691 WHEN 2 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
168692 WHEN 3 THEN TO_CHAR(l1.POD_CCID)
168693 WHEN 4 THEN TO_CHAR(l1.PO_VARIANCE_ACCOUNT)
168694 WHEN 5 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
168695 WHEN 6 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
168696 WHEN 7 THEN TO_CHAR(l1.AI_INVOICE_CURRENCY_CODE)
168697 WHEN 8 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
168698 WHEN 9 THEN TO_CHAR(l4.TAX_LINE_ID)
168699 WHEN 10 THEN TO_CHAR(l5.REC_NREC_TAX_DIST_ID)
168700 WHEN 11 THEN TO_CHAR(l4.SUMMARY_TAX_LINE_ID)
168701 WHEN 12 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
168702 WHEN 13 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
168703 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
168704 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
168705 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
168706 WHEN 17 THEN TO_CHAR(l1.APHD_PAY_DIST_LOOKUP_CODE)
168707 WHEN 18 THEN TO_CHAR(l1.APHD_AMOUNT)
168708 WHEN 19 THEN TO_CHAR(l1.APHD_PAYMENT_HIST_DIST_ID)
168709 WHEN 20 THEN TO_CHAR(l1.APHD_REV_PAY_HIST_DIST_ID)
168710 WHEN 21 THEN TO_CHAR(l1.APHD_PAYMENT_BASE_AMT)
168711 WHEN 22 THEN TO_CHAR(l1.APHD_INVOICE_BASE_AMT)
168712 WHEN 23 THEN TO_CHAR(l1.INV_EXCHANGE_DATE)
168713 WHEN 24 THEN TO_CHAR(l1.INV_EXCHANGE_RATE)
168714 WHEN 25 THEN TO_CHAR(l1.INV_EXCHANGE_RATE_TYPE)
168715 WHEN 26 THEN TO_CHAR(l1.INV_PMT_BASE_AMT_DIFF)
168716 WHEN 27 THEN TO_CHAR(l1.INV_PMT_GAIN_LOSS_INDICATOR)
168717
168718 ELSE null
168719 END source_value
168720 , CASE r
168721 WHEN 2 THEN fvl33.meaning
168722 WHEN 8 THEN fvl80.meaning
168723 WHEN 17 THEN fvl98.meaning
168724
168725 ELSE null
168726 END source_meaning
168727 FROM xla_events_gt xet
168728 , AP_PAYMENT_EXTRACT_DETAILS_V l1
168729 , ZX_AP_DEF_TAX_EXTRACT_V l4
168730 , ZX_AP_TAX_JRNL_LINE_DESC_V l5
168731 , fnd_lookup_values fvl33
168732 , fnd_lookup_values fvl80
168733 , fnd_lookup_values fvl98
168734 , (select rownum r from all_objects where rownum <= 27 and owner = p_apps_owner)
168735 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
168736 AND xet.event_class_code = C_EVENT_CLASS_CODE
168737 AND l1.event_id = xet.event_id
168738 AND l1.aid_detail_tax_dist_id = l4.rec_nrec_tax_dist_id (+) AND l1.aid_detail_tax_dist_id = l5.rec_nrec_tax_dist_id (+) AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
168739 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
168740 AND fvl33.view_application_id(+) = 200
168741 AND fvl33.language(+) = USERENV('LANG')
168742 AND fvl80.lookup_type(+) = 'YES_NO'
168743 AND fvl80.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
168744 AND fvl80.view_application_id(+) = 0
168745 AND fvl80.language(+) = USERENV('LANG')
168746 AND fvl98.lookup_type(+) = 'PAY_DIST_TYPES'
168747 AND fvl98.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
168748 AND fvl98.view_application_id(+) = 200
168749 AND fvl98.language(+) = USERENV('LANG')
168750
168751 )
168752 ;
168753 --
168754 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
168755
168756 trace
168757 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
168758 ,p_level => C_LEVEL_STATEMENT
168759 ,p_module => l_log_module);
168760
168761 END IF;
168762
168763
168764 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
168765 trace
168766 (p_msg => 'END of insert_sources_238'
168767 ,p_level => C_LEVEL_PROCEDURE
168768 ,p_module => l_log_module);
168769 END IF;
168770 EXCEPTION
168771 WHEN xla_exceptions_pkg.application_exception THEN
168772 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
168773 trace
168774 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
168775 ,p_level => C_LEVEL_EXCEPTION
168776 ,p_module => l_log_module);
168777 END IF;
168778 RAISE;
168779 WHEN OTHERS THEN
168780 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
168781 trace
168782 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
168783 ,p_level => C_LEVEL_EXCEPTION
168787 (p_location => 'XLA_00200_AAD_S_000002_PKG.insert_sources_238');
168784 ,p_module => l_log_module);
168785 END IF;
168786 xla_exceptions_pkg.raise_message
168788 END insert_sources_238;
168789 --
168790
168791 ---------------------------------------
168792 --
168793 -- PRIVATE FUNCTION
168794 -- EventClass_238
168795 --
168796 ----------------------------------------
168797 --
168798 FUNCTION EventClass_238
168799 (p_application_id IN NUMBER
168800 ,p_base_ledger_id IN NUMBER
168801 ,p_target_ledger_id IN NUMBER
168802 ,p_language IN VARCHAR2
168803 ,p_currency_code IN VARCHAR2
168804 ,p_sla_ledger_id IN NUMBER
168805 ,p_pad_start_date IN DATE
168806 ,p_pad_end_date IN DATE
168807 ,p_primary_ledger_id IN NUMBER)
168808 RETURN BOOLEAN IS
168809 --
168810 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'REFUNDS_ALL';
168811 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'REFUNDS';
168812
168813 l_calculate_acctd_flag VARCHAR2(1) :='N';
168814 l_calculate_g_l_flag VARCHAR2(1) :='N';
168815 --
168816 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
168817 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
168818 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
168819 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
168820 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
168821 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
168822 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
168823 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
168824 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
168825 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
168826 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
168827 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
168828 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
168829 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
168830 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
168831 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
168832 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
168833 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
168834 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
168835 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
168836 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
168837 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
168838 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
168839 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
168840 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
168841 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
168842
168843 l_event_id NUMBER;
168844 l_previous_event_id NUMBER;
168845 l_first_event_id NUMBER;
168846 l_last_event_id NUMBER;
168847
168848 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
168849 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
168850 --
168851 --
168852 l_result BOOLEAN := TRUE;
168853 l_rows NUMBER := 1000;
168854 l_event_type_name VARCHAR2(80) := 'All';
168855 l_event_class_name VARCHAR2(80) := 'Refunds';
168856 l_description VARCHAR2(4000);
168857 l_transaction_reversal NUMBER;
168858 l_ae_header_id NUMBER;
168859 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
168860 l_log_module VARCHAR2(240);
168861 --
168862 l_acct_reversal_source VARCHAR2(30);
168863 l_trx_reversal_source VARCHAR2(30);
168864
168865 l_continue_with_lines BOOLEAN := TRUE;
168866 --
168867 l_acc_rev_gl_date_source DATE; -- 4262811
168868 --
168869 type t_array_event_id is table of number index by binary_integer;
168870
168871 l_rec_array_event t_rec_array_event;
168872 l_null_rec_array_event t_rec_array_event;
168873 l_array_ae_header_id xla_number_array_type;
168874 l_actual_flag VARCHAR2(1) := NULL;
168875 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
168876 l_balance_type_code VARCHAR2(1) :=NULL;
168877 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
168878
168879 --
168880 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
168881 --
168882
168883 TYPE t_array_source_6 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.DOC_SEQUENCE_NAME%TYPE INDEX BY BINARY_INTEGER;
168884 TYPE t_array_source_9 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
168885 TYPE t_array_source_10 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_TRANSACTION_NUMBER%TYPE INDEX BY BINARY_INTEGER;
168886 TYPE t_array_source_11 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CHECK_DATE%TYPE INDEX BY BINARY_INTEGER;
168887 TYPE t_array_source_12 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CBA_BANK_ACCOUNT_NAME%TYPE INDEX BY BINARY_INTEGER;
168888 TYPE t_array_source_13 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
168889 TYPE t_array_source_15 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
168890 TYPE t_array_source_17 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_AP_ASSET_CCID%TYPE INDEX BY BINARY_INTEGER;
168894 TYPE t_array_source_36 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
168891 TYPE t_array_source_18 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_DISC_TAKEN_CCID%TYPE INDEX BY BINARY_INTEGER;
168892 TYPE t_array_source_19 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_DISCOUNT_DIST_METHOD%TYPE INDEX BY BINARY_INTEGER;
168893 TYPE t_array_source_35 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_CASH_CLEARING_CCID%TYPE INDEX BY BINARY_INTEGER;
168895 TYPE t_array_source_37 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
168896 TYPE t_array_source_38 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
168897 TYPE t_array_source_39 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
168898 TYPE t_array_source_44 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_DISC_TAKEN_CCID%TYPE INDEX BY BINARY_INTEGER;
168899 TYPE t_array_source_47 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
168900 TYPE t_array_source_49 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_ROUNDING_ERROR_CCID%TYPE INDEX BY BINARY_INTEGER;
168901 TYPE t_array_source_83 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
168902 TYPE t_array_source_97 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_WHEN_TO_ACCOUNT_PMT%TYPE INDEX BY BINARY_INTEGER;
168903 TYPE t_array_source_110 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
168904 TYPE t_array_source_111 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
168905 TYPE t_array_source_113 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CBA_POOLED_BANK_ACOUNT_FLAG%TYPE INDEX BY BINARY_INTEGER;
168906 TYPE t_array_source_114 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_FUTURE_PAY_DUE_DATE%TYPE INDEX BY BINARY_INTEGER;
168907 TYPE t_array_source_117 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
168908 TYPE t_array_source_118 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
168909 TYPE t_array_source_119 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
168910 TYPE t_array_source_122 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_TYPE%TYPE INDEX BY BINARY_INTEGER;
168911 TYPE t_array_source_170 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_CATEGORY_CODE%TYPE INDEX BY BINARY_INTEGER;
168912 TYPE t_array_source_171 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_DOCUMENT_SEQUENCE_ID%TYPE INDEX BY BINARY_INTEGER;
168913 TYPE t_array_source_172 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.TRANSAC_REVERSAL_FLAG%TYPE INDEX BY BINARY_INTEGER;
168914
168915 TYPE t_array_source_30 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
168916 TYPE t_array_source_33 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
168917 TYPE t_array_source_45 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.POD_CCID%TYPE INDEX BY BINARY_INTEGER;
168918 TYPE t_array_source_46 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.PO_VARIANCE_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
168919 TYPE t_array_source_53 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
168920 TYPE t_array_source_55 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
168921 TYPE t_array_source_67 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
168922 TYPE t_array_source_80 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
168923 TYPE t_array_source_86 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
168924 TYPE t_array_source_87 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
168925 TYPE t_array_source_88 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
168926 TYPE t_array_source_91 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
168927 TYPE t_array_source_92 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
168928 TYPE t_array_source_93 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
168929 TYPE t_array_source_94 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
168930 TYPE t_array_source_95 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
168931 TYPE t_array_source_98 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAY_DIST_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
168932 TYPE t_array_source_99 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
168933 TYPE t_array_source_104 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
168934 TYPE t_array_source_112 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_REV_PAY_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
168935 TYPE t_array_source_115 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
168936 TYPE t_array_source_116 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_INVOICE_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
168937 TYPE t_array_source_143 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
168938 TYPE t_array_source_144 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
168939 TYPE t_array_source_145 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
168940 TYPE t_array_source_153 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_PMT_BASE_AMT_DIFF%TYPE INDEX BY BINARY_INTEGER;
168941 TYPE t_array_source_158 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_PMT_GAIN_LOSS_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
168942
168943 l_array_source_6 t_array_source_6;
168944 l_array_source_9 t_array_source_9;
168945 l_array_source_10 t_array_source_10;
168946 l_array_source_11 t_array_source_11;
168947 l_array_source_12 t_array_source_12;
168948 l_array_source_13 t_array_source_13;
168949 l_array_source_15 t_array_source_15;
168950 l_array_source_15_meaning t_array_lookup_meaning;
168951 l_array_source_17 t_array_source_17;
168952 l_array_source_18 t_array_source_18;
168956 l_array_source_36 t_array_source_36;
168953 l_array_source_19 t_array_source_19;
168954 l_array_source_19_meaning t_array_lookup_meaning;
168955 l_array_source_35 t_array_source_35;
168957 l_array_source_37 t_array_source_37;
168958 l_array_source_38 t_array_source_38;
168959 l_array_source_39 t_array_source_39;
168960 l_array_source_44 t_array_source_44;
168961 l_array_source_47 t_array_source_47;
168962 l_array_source_47_meaning t_array_lookup_meaning;
168963 l_array_source_49 t_array_source_49;
168964 l_array_source_83 t_array_source_83;
168965 l_array_source_97 t_array_source_97;
168966 l_array_source_110 t_array_source_110;
168967 l_array_source_111 t_array_source_111;
168968 l_array_source_113 t_array_source_113;
168969 l_array_source_113_meaning t_array_lookup_meaning;
168970 l_array_source_114 t_array_source_114;
168971 l_array_source_117 t_array_source_117;
168972 l_array_source_118 t_array_source_118;
168973 l_array_source_119 t_array_source_119;
168974 l_array_source_122 t_array_source_122;
168975 l_array_source_122_meaning t_array_lookup_meaning;
168976 l_array_source_170 t_array_source_170;
168977 l_array_source_171 t_array_source_171;
168978 l_array_source_172 t_array_source_172;
168979 l_array_source_172_meaning t_array_lookup_meaning;
168980
168981 l_array_source_30 t_array_source_30;
168982 l_array_source_33 t_array_source_33;
168983 l_array_source_33_meaning t_array_lookup_meaning;
168984 l_array_source_45 t_array_source_45;
168985 l_array_source_46 t_array_source_46;
168986 l_array_source_53 t_array_source_53;
168987 l_array_source_55 t_array_source_55;
168988 l_array_source_67 t_array_source_67;
168989 l_array_source_80 t_array_source_80;
168990 l_array_source_80_meaning t_array_lookup_meaning;
168991 l_array_source_86 t_array_source_86;
168992 l_array_source_87 t_array_source_87;
168993 l_array_source_88 t_array_source_88;
168994 l_array_source_91 t_array_source_91;
168995 l_array_source_92 t_array_source_92;
168996 l_array_source_93 t_array_source_93;
168997 l_array_source_94 t_array_source_94;
168998 l_array_source_95 t_array_source_95;
168999 l_array_source_98 t_array_source_98;
169000 l_array_source_98_meaning t_array_lookup_meaning;
169001 l_array_source_99 t_array_source_99;
169002 l_array_source_104 t_array_source_104;
169003 l_array_source_112 t_array_source_112;
169004 l_array_source_115 t_array_source_115;
169005 l_array_source_116 t_array_source_116;
169006 l_array_source_143 t_array_source_143;
169007 l_array_source_144 t_array_source_144;
169008 l_array_source_145 t_array_source_145;
169009 l_array_source_153 t_array_source_153;
169010 l_array_source_158 t_array_source_158;
169011
169012 --
169013 CURSOR header_cur
169014 IS
169015 SELECT /*+ leading(xet) cardinality(xet,1) */
169016 -- Event Class Code: REFUNDS
169017 xet.entity_id
169018 ,xet.legal_entity_id
169019 ,xet.entity_code
169020 ,xet.transaction_number
169021 ,xet.event_id
169022 ,xet.event_class_code
169023 ,xet.event_type_code
169024 ,xet.event_number
169025 ,xet.event_date
169026 ,xet.transaction_date
169027 ,xet.reference_num_1
169028 ,xet.reference_num_2
169029 ,xet.reference_num_3
169030 ,xet.reference_num_4
169031 ,xet.reference_char_1
169032 ,xet.reference_char_2
169033 ,xet.reference_char_3
169034 ,xet.reference_char_4
169035 ,xet.reference_date_1
169036 ,xet.reference_date_2
169037 ,xet.reference_date_3
169038 ,xet.reference_date_4
169039 ,xet.event_created_by
169040 ,xet.budgetary_control_flag
169041 , h2.DOC_SEQUENCE_NAME source_6
169042 , h2.AC_DOC_SEQUENCE_VALUE source_9
169043 , h2.PAYMENT_TRANSACTION_NUMBER source_10
169044 , h2.AC_CHECK_DATE source_11
169045 , h2.CBA_BANK_ACCOUNT_NAME source_12
169046 , h2.AC_CURRENCY_CODE source_13
169047 , h3.ASP_AUTOMATIC_OFFSETS_VALUE source_15
169048 , fvl15.meaning source_15_meaning
169049 , h2.CGAC_AP_ASSET_CCID source_17
169050 , h3.FSP_DISC_TAKEN_CCID source_18
169051 , h3.ASP_DISCOUNT_DIST_METHOD source_19
169052 , fvl19.meaning source_19_meaning
169053 , h2.CGAC_CASH_CLEARING_CCID source_35
169054 , h2.CGAC_GAIN_CCID source_36
169055 , h3.ASP_GAIN_CCID source_37
169056 , h2.CGAC_LOSS_CCID source_38
169057 , h3.ASP_LOSS_CCID source_39
169058 , h3.ASP_DISC_TAKEN_CCID source_44
169059 , h3.ASP_AUTO_OFFSET_FLAG source_47
169060 , fvl47.meaning source_47_meaning
169061 , h3.ASP_ROUNDING_ERROR_CCID source_49
169062 , h2.THIRD_PARTY_TYPE source_83
169063 , h3.ASP_WHEN_TO_ACCOUNT_PMT source_97
169064 , h2.AC_VENDOR_ID source_110
169065 , h2.AC_VENDOR_SITE_ID source_111
169066 , h2.CBA_POOLED_BANK_ACOUNT_FLAG source_113
169067 , fvl113.meaning source_113_meaning
169068 , h2.AC_FUTURE_PAY_DUE_DATE source_114
169069 , h2.AC_EXCHANGE_DATE source_117
169070 , h2.AC_EXCHANGE_RATE source_118
169071 , h2.AC_EXCHANGE_RATE_TYPE source_119
169072 , h2.PAYMENT_TYPE source_122
169073 , fvl122.meaning source_122_meaning
169074 , h2.AC_DOC_CATEGORY_CODE source_170
169075 , h2.PAYMENT_DOCUMENT_SEQUENCE_ID source_171
169076 , h2.TRANSAC_REVERSAL_FLAG source_172
169077 , fvl172.meaning source_172_meaning
169078 FROM xla_events_gt xet
169079 , AP_PAYMENT_EXTRACT_HEADER_V h2
169080 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
169081 , fnd_lookup_values fvl15
169082 , fnd_lookup_values fvl19
169083 , fnd_lookup_values fvl47
169084 , fnd_lookup_values fvl113
169085 , fnd_lookup_values fvl122
169089 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
169086 , fnd_lookup_values fvl172
169087 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
169088 and xet.event_class_code = C_EVENT_CLASS_CODE
169090 AND h3.asp_org_id = h2.ac_org_id AND fvl15.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
169091 AND fvl15.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
169092 AND fvl15.view_application_id(+) = 200
169093 AND fvl15.language(+) = USERENV('LANG')
169094 AND fvl19.lookup_type(+) = 'DISCOUNT_DIST_OPTIONS'
169095 AND fvl19.lookup_code(+) = h3.ASP_DISCOUNT_DIST_METHOD
169096 AND fvl19.view_application_id(+) = 200
169097 AND fvl19.language(+) = USERENV('LANG')
169098 AND fvl47.lookup_type(+) = 'YES_NO'
169099 AND fvl47.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
169100 AND fvl47.view_application_id(+) = 0
169101 AND fvl47.language(+) = USERENV('LANG')
169102 AND fvl113.lookup_type(+) = 'YES_NO'
169103 AND fvl113.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
169104 AND fvl113.view_application_id(+) = 0
169105 AND fvl113.language(+) = USERENV('LANG')
169106 AND fvl122.lookup_type(+) = 'PAYMENT TYPE'
169107 AND fvl122.lookup_code(+) = h2.PAYMENT_TYPE
169108 AND fvl122.view_application_id(+) = 200
169109 AND fvl122.language(+) = USERENV('LANG')
169110 AND fvl172.lookup_type(+) = 'YES_NO'
169111 AND fvl172.lookup_code(+) = h2.TRANSAC_REVERSAL_FLAG
169112 AND fvl172.view_application_id(+) = 0
169113 AND fvl172.language(+) = USERENV('LANG')
169114
169115 ORDER BY event_id
169116 ;
169117
169118
169119 --
169120 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
169121 IS
169122 SELECT /*+ leading(xet) cardinality(xet,1) */
169123 -- Event Class Code: REFUNDS
169124 xet.entity_id
169125 ,xet.legal_entity_id
169126 ,xet.entity_code
169127 ,xet.transaction_number
169128 ,xet.event_id
169129 ,xet.event_class_code
169130 ,xet.event_type_code
169131 ,xet.event_number
169132 ,xet.event_date
169133 ,xet.transaction_date
169134 ,xet.reference_num_1
169135 ,xet.reference_num_2
169136 ,xet.reference_num_3
169137 ,xet.reference_num_4
169138 ,xet.reference_char_1
169139 ,xet.reference_char_2
169140 ,xet.reference_char_3
169141 ,xet.reference_char_4
169142 ,xet.reference_date_1
169143 ,xet.reference_date_2
169144 ,xet.reference_date_3
169145 ,xet.reference_date_4
169146 ,xet.event_created_by
169147 ,xet.budgetary_control_flag
169148 , l1.LINE_NUMBER
169149 , l1.AID_DIST_CCID source_30
169150 , l1.AID_LINE_TYPE_LOOKUP_CODE source_33
169151 , fvl33.meaning source_33_meaning
169152 , l1.POD_CCID source_45
169153 , l1.PO_VARIANCE_ACCOUNT source_46
169154 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_53
169155 , l1.DISTRIBUTION_LINK_TYPE source_55
169156 , l1.AI_INVOICE_CURRENCY_CODE source_67
169157 , l1.OVERRIDE_ACCTD_AMT_FLAG source_80
169158 , fvl80.meaning source_80_meaning
169159 , l4.TAX_LINE_ID source_86
169160 , l5.REC_NREC_TAX_DIST_ID source_87
169161 , l4.SUMMARY_TAX_LINE_ID source_88
169162 , l1.BUS_FLOW_AP_APP_ID source_91
169163 , l1.BUS_FLOW_INV_DIST_TYPE source_92
169164 , l1.BUS_FLOW_INV_ENTITY_CODE source_93
169165 , l1.BUS_FLOW_INV_DIST_ID source_94
169166 , l1.BUS_FLOW_INV_ID source_95
169167 , l1.APHD_PAY_DIST_LOOKUP_CODE source_98
169168 , fvl98.meaning source_98_meaning
169169 , l1.APHD_AMOUNT source_99
169170 , l1.APHD_PAYMENT_HIST_DIST_ID source_104
169171 , l1.APHD_REV_PAY_HIST_DIST_ID source_112
169172 , l1.APHD_PAYMENT_BASE_AMT source_115
169173 , l1.APHD_INVOICE_BASE_AMT source_116
169174 , l1.INV_EXCHANGE_DATE source_143
169175 , l1.INV_EXCHANGE_RATE source_144
169176 , l1.INV_EXCHANGE_RATE_TYPE source_145
169177 , l1.INV_PMT_BASE_AMT_DIFF source_153
169178 , l1.INV_PMT_GAIN_LOSS_INDICATOR source_158
169179 FROM xla_events_gt xet
169180 , AP_PAYMENT_EXTRACT_DETAILS_V l1
169181 , ZX_AP_DEF_TAX_EXTRACT_V l4
169182 , ZX_AP_TAX_JRNL_LINE_DESC_V l5
169183 , fnd_lookup_values fvl33
169184 , fnd_lookup_values fvl80
169185 , fnd_lookup_values fvl98
169186 WHERE xet.event_id between x_first_event_id and x_last_event_id
169187 and xet.event_date between p_pad_start_date and p_pad_end_date
169188 and xet.event_class_code = C_EVENT_CLASS_CODE
169189 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
169190 AND l1.AID_DETAIL_TAX_DIST_ID = l4.REC_NREC_TAX_DIST_ID (+) AND l1.AID_DETAIL_TAX_DIST_ID = l5.REC_NREC_TAX_DIST_ID (+) AND fvl33.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
169191 AND fvl33.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
169192 AND fvl33.view_application_id(+) = 200
169193 AND fvl33.language(+) = USERENV('LANG')
169194 AND fvl80.lookup_type(+) = 'YES_NO'
169195 AND fvl80.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
169196 AND fvl80.view_application_id(+) = 0
169197 AND fvl80.language(+) = USERENV('LANG')
169198 AND fvl98.lookup_type(+) = 'PAY_DIST_TYPES'
169199 AND fvl98.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
169200 AND fvl98.view_application_id(+) = 200
169201 AND fvl98.language(+) = USERENV('LANG')
169202 ;
169203
169204 --
169205 BEGIN
169206 IF g_log_enabled THEN
169207 l_log_module := C_DEFAULT_MODULE||'.EventClass_238';
169208 END IF;
169209 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
169210 trace
169211 (p_msg => 'BEGIN of EventClass_238'
169212 ,p_level => C_LEVEL_PROCEDURE
169213 ,p_module => l_log_module);
169214 END IF;
169215
169216 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
169217 trace
169221 ' - p_language = '||p_language||
169218 (p_msg => 'p_application_id = '||p_application_id||
169219 ' - p_base_ledger_id = '||p_base_ledger_id||
169220 ' - p_target_ledger_id = '||p_target_ledger_id||
169222 ' - p_currency_code = '||p_currency_code||
169223 ' - p_sla_ledger_id = '||p_sla_ledger_id
169224 ,p_level => C_LEVEL_STATEMENT
169225 ,p_module => l_log_module);
169226 END IF;
169227 --
169228 -- initialze arrays
169229 --
169230 g_array_event.DELETE;
169231 l_rec_array_event := l_null_rec_array_event;
169232 --
169233 --------------------------------------
169234 -- 4262811 Initialze MPA Line Number
169235 --------------------------------------
169236 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
169237
169238 --
169239
169240 --
169241 OPEN header_cur;
169242 --
169243 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
169244 trace
169245 (p_msg => 'SQL - FETCH header_cur'
169246 ,p_level => C_LEVEL_STATEMENT
169247 ,p_module => l_log_module);
169248 END IF;
169249 --
169250 LOOP
169251 FETCH header_cur BULK COLLECT INTO
169252 l_array_entity_id
169253 , l_array_legal_entity_id
169254 , l_array_entity_code
169255 , l_array_transaction_num
169256 , l_array_event_id
169257 , l_array_class_code
169258 , l_array_event_type
169259 , l_array_event_number
169260 , l_array_event_date
169261 , l_array_transaction_date
169262 , l_array_reference_num_1
169263 , l_array_reference_num_2
169264 , l_array_reference_num_3
169265 , l_array_reference_num_4
169266 , l_array_reference_char_1
169267 , l_array_reference_char_2
169268 , l_array_reference_char_3
169269 , l_array_reference_char_4
169270 , l_array_reference_date_1
169271 , l_array_reference_date_2
169272 , l_array_reference_date_3
169273 , l_array_reference_date_4
169274 , l_array_event_created_by
169275 , l_array_budgetary_control_flag
169276 , l_array_source_6
169277 , l_array_source_9
169278 , l_array_source_10
169279 , l_array_source_11
169280 , l_array_source_12
169281 , l_array_source_13
169282 , l_array_source_15
169283 , l_array_source_15_meaning
169284 , l_array_source_17
169285 , l_array_source_18
169286 , l_array_source_19
169287 , l_array_source_19_meaning
169288 , l_array_source_35
169289 , l_array_source_36
169290 , l_array_source_37
169291 , l_array_source_38
169292 , l_array_source_39
169293 , l_array_source_44
169294 , l_array_source_47
169295 , l_array_source_47_meaning
169296 , l_array_source_49
169297 , l_array_source_83
169298 , l_array_source_97
169299 , l_array_source_110
169300 , l_array_source_111
169301 , l_array_source_113
169302 , l_array_source_113_meaning
169303 , l_array_source_114
169304 , l_array_source_117
169305 , l_array_source_118
169306 , l_array_source_119
169307 , l_array_source_122
169308 , l_array_source_122_meaning
169309 , l_array_source_170
169310 , l_array_source_171
169311 , l_array_source_172
169312 , l_array_source_172_meaning
169313 LIMIT l_rows;
169314 --
169315 IF (C_LEVEL_EVENT >= g_log_level) THEN
169316 trace
169317 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
169318 ,p_level => C_LEVEL_EVENT
169319 ,p_module => l_log_module);
169320 END IF;
169321 --
169322 EXIT WHEN l_array_entity_id.COUNT = 0;
169323
169324 -- initialize arrays
169325 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
169326 XLA_AE_LINES_PKG.g_rec_lines := NULL;
169327
169328 --
169329 -- Bug 4458708
169330 --
169331 XLA_AE_LINES_PKG.g_LineNumber := 0;
169332
169333
169334 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
169335 g_last_hdr_idx := l_array_event_id.LAST;
169336 --
169337 -- loop for the headers. Each iteration is for each header extract row
169338 -- fetched in header cursor
169339 --
169340 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
169341
169342 --
169343 -- set event info as cache for other routines to refer event attributes
169344 --
169345 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
169346 (p_application_id => p_application_id
169347 ,p_primary_ledger_id => p_primary_ledger_id
169348 ,p_base_ledger_id => p_base_ledger_id
169349 ,p_target_ledger_id => p_target_ledger_id
169350 ,p_entity_id => l_array_entity_id(hdr_idx)
169351 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
169352 ,p_entity_code => l_array_entity_code(hdr_idx)
169353 ,p_transaction_num => l_array_transaction_num(hdr_idx)
169354 ,p_event_id => l_array_event_id(hdr_idx)
169355 ,p_event_class_code => l_array_class_code(hdr_idx)
169356 ,p_event_type_code => l_array_event_type(hdr_idx)
169357 ,p_event_number => l_array_event_number(hdr_idx)
169358 ,p_event_date => l_array_event_date(hdr_idx)
169359 ,p_transaction_date => l_array_transaction_date(hdr_idx)
169360 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
169361 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
169362 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
169363 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
169364 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
169365 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
169369 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
169366 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
169367 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
169368 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
169370 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
169371 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
169372 ,p_event_created_by => l_array_event_created_by(hdr_idx)
169373 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
169374
169375 --
169376 -- set the status of entry to C_VALID (0)
169377 --
169378 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
169379
169380 --
169381 -- initialize a row for ae header
169382 --
169383 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
169384
169385 l_event_id := l_array_event_id(hdr_idx);
169386
169387 --
169388 -- storing the hdr_idx for event. May be used by line cursor.
169389 --
169390 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
169391
169392 --
169393 -- store sources from header extract. This can be improved to
169394 -- store only those sources from header extract that may be used in lines
169395 --
169396
169397 g_array_event(l_event_id).array_value_char('source_6') := l_array_source_6(hdr_idx);
169398 g_array_event(l_event_id).array_value_num('source_9') := l_array_source_9(hdr_idx);
169399 g_array_event(l_event_id).array_value_num('source_10') := l_array_source_10(hdr_idx);
169400 g_array_event(l_event_id).array_value_date('source_11') := l_array_source_11(hdr_idx);
169401 g_array_event(l_event_id).array_value_char('source_12') := l_array_source_12(hdr_idx);
169402 g_array_event(l_event_id).array_value_char('source_13') := l_array_source_13(hdr_idx);
169403 g_array_event(l_event_id).array_value_char('source_15') := l_array_source_15(hdr_idx);
169404 g_array_event(l_event_id).array_value_char('source_15_meaning') := l_array_source_15_meaning(hdr_idx);
169405 g_array_event(l_event_id).array_value_num('source_17') := l_array_source_17(hdr_idx);
169406 g_array_event(l_event_id).array_value_num('source_18') := l_array_source_18(hdr_idx);
169407 g_array_event(l_event_id).array_value_char('source_19') := l_array_source_19(hdr_idx);
169408 g_array_event(l_event_id).array_value_char('source_19_meaning') := l_array_source_19_meaning(hdr_idx);
169409 g_array_event(l_event_id).array_value_num('source_35') := l_array_source_35(hdr_idx);
169410 g_array_event(l_event_id).array_value_num('source_36') := l_array_source_36(hdr_idx);
169411 g_array_event(l_event_id).array_value_num('source_37') := l_array_source_37(hdr_idx);
169412 g_array_event(l_event_id).array_value_num('source_38') := l_array_source_38(hdr_idx);
169413 g_array_event(l_event_id).array_value_num('source_39') := l_array_source_39(hdr_idx);
169414 g_array_event(l_event_id).array_value_num('source_44') := l_array_source_44(hdr_idx);
169415 g_array_event(l_event_id).array_value_char('source_47') := l_array_source_47(hdr_idx);
169416 g_array_event(l_event_id).array_value_char('source_47_meaning') := l_array_source_47_meaning(hdr_idx);
169417 g_array_event(l_event_id).array_value_num('source_49') := l_array_source_49(hdr_idx);
169418 g_array_event(l_event_id).array_value_char('source_83') := l_array_source_83(hdr_idx);
169419 g_array_event(l_event_id).array_value_char('source_97') := l_array_source_97(hdr_idx);
169420 g_array_event(l_event_id).array_value_num('source_110') := l_array_source_110(hdr_idx);
169421 g_array_event(l_event_id).array_value_num('source_111') := l_array_source_111(hdr_idx);
169422 g_array_event(l_event_id).array_value_char('source_113') := l_array_source_113(hdr_idx);
169423 g_array_event(l_event_id).array_value_char('source_113_meaning') := l_array_source_113_meaning(hdr_idx);
169424 g_array_event(l_event_id).array_value_date('source_114') := l_array_source_114(hdr_idx);
169425 g_array_event(l_event_id).array_value_date('source_117') := l_array_source_117(hdr_idx);
169426 g_array_event(l_event_id).array_value_num('source_118') := l_array_source_118(hdr_idx);
169427 g_array_event(l_event_id).array_value_char('source_119') := l_array_source_119(hdr_idx);
169428 g_array_event(l_event_id).array_value_char('source_122') := l_array_source_122(hdr_idx);
169429 g_array_event(l_event_id).array_value_char('source_122_meaning') := l_array_source_122_meaning(hdr_idx);
169430 g_array_event(l_event_id).array_value_char('source_170') := l_array_source_170(hdr_idx);
169431 g_array_event(l_event_id).array_value_num('source_171') := l_array_source_171(hdr_idx);
169432 g_array_event(l_event_id).array_value_char('source_172') := l_array_source_172(hdr_idx);
169433 g_array_event(l_event_id).array_value_char('source_172_meaning') := l_array_source_172_meaning(hdr_idx);
169434
169435 --
169436 -- initilaize the status of ae headers for diffrent balance types
169437 -- the status is initialised to C_NOT_CREATED (2)
169438 --
169439 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
169440 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
169441 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
169442
169443 --
169444 -- call api to validate and store accounting attributes for header
169445 --
169446
169447 ------------------------------------------------------------
169448 -- Accrual Reversal : to get date for Standard Source (NONE)
169449 ------------------------------------------------------------
169450 l_acc_rev_gl_date_source := NULL;
169451
169452 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
169453 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_170');
169454 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
169455 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_171');
169456 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
169457 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_9');
169458 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
169459 l_rec_acct_attrs.array_date_value(4) :=
169463 , p_source_application_id => 602
169460 xla_ae_sources_pkg.GetSystemSourceDate(
169461 p_source_code => 'XLA_EVENT_DATE'
169462 , p_source_type_code => 'Y'
169464 );
169465 l_rec_acct_attrs.array_acct_attr_code(5) := 'TRX_ACCT_REVERSAL_OPTION';
169466 l_rec_acct_attrs.array_char_value(5) := g_array_event(l_event_id).array_value_char('source_172');
169467
169468
169469 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
169470
169471 XLA_AE_HEADER_PKG.SetJeCategoryName;
169472
169473 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
169474 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
169475 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
169476 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
169477 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
169478
169479
169480 --
169481 xla_ae_header_pkg.SetHdrDescription(
169482 p_description => Description_3 (
169483 p_application_id => p_application_id
169484 , p_source_6 => g_array_event(l_event_id).array_value_char('source_6')
169485 , p_source_9 => g_array_event(l_event_id).array_value_num('source_9')
169486 , p_source_10 => g_array_event(l_event_id).array_value_num('source_10')
169487 , p_source_11 => g_array_event(l_event_id).array_value_date('source_11')
169488 , p_source_12 => g_array_event(l_event_id).array_value_char('source_12')
169489 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
169490 )
169491 );
169492 --
169493
169494 -- No header level analytical criteria
169495
169496 --
169497 --accounting attribute enhancement, bug 3612931
169498 --
169499 l_trx_reversal_source := SUBSTR(g_array_event(l_event_id).array_value_char('source_172'), 1,30);
169500
169501 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
169502 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
169503
169504 xla_accounting_err_pkg.build_message
169505 (p_appli_s_name => 'XLA'
169506 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
169507 ,p_token_1 => 'ACCT_ATTR_NAME'
169508 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
169509 ,p_token_2 => 'PRODUCT_NAME'
169510 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
169511 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
169512 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
169513 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
169514
169515 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
169516 --
169517 -- following sets the accounting attributes needed to reverse
169518 -- accounting for a distributeion
169519 --
169520 xla_ae_lines_pkg.SetTrxReversalAttrs
169521 (p_event_id => l_event_id
169522 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
169523 ,p_trx_reversal_source => l_trx_reversal_source);
169524
169525 END IF;
169526
169527
169528 ----------------------------------------------------------------
169529 -- 4262811 - update the header statuses to invalid in need be
169530 ----------------------------------------------------------------
169531 --
169532 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
169533
169534
169535 -----------------------------------------------
169536 -- No accrual reversal for the event class/type
169537 -----------------------------------------------
169538 ----------------------------------------------------------------
169539
169540 --
169541 -- this ends the header loop iteration for one bulk fetch
169542 --
169543 END LOOP;
169544
169545 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
169546 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
169547
169548 --
169549 -- insert dummy rows into lines gt table that were created due to
169550 -- transaction reversals
169551 --
169552 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
169553 l_result := XLA_AE_LINES_PKG.InsertLines;
169554 END IF;
169555
169556 --
169557 -- reset the temp_line_num for each set of events fetched from header
169558 -- cursor rather than doing it for each new event in line cursor
169559 -- Bug 3939231
169560 --
169561 xla_ae_lines_pkg.g_temp_line_num := 0;
169562
169563
169564
169565 --
169566 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
169567 --
169568 --
169569 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
169570
169571 trace
169572 (p_msg => 'SQL - FETCH line_cur'
169573 ,p_level => C_LEVEL_STATEMENT
169574 ,p_module => l_log_module);
169575
169576 END IF;
169577 --
169578 --
169579 LOOP
169580 --
169581 FETCH line_cur BULK COLLECT INTO
169582 l_array_entity_id
169583 , l_array_legal_entity_id
169584 , l_array_entity_code
169585 , l_array_transaction_num
169586 , l_array_event_id
169587 , l_array_class_code
169588 , l_array_event_type
169589 , l_array_event_number
169590 , l_array_event_date
169591 , l_array_transaction_date
169592 , l_array_reference_num_1
169593 , l_array_reference_num_2
169594 , l_array_reference_num_3
169595 , l_array_reference_num_4
169596 , l_array_reference_char_1
169597 , l_array_reference_char_2
169598 , l_array_reference_char_3
169599 , l_array_reference_char_4
169600 , l_array_reference_date_1
169601 , l_array_reference_date_2
169605 , l_array_budgetary_control_flag
169602 , l_array_reference_date_3
169603 , l_array_reference_date_4
169604 , l_array_event_created_by
169606 , l_array_extract_line_num
169607 , l_array_source_30
169608 , l_array_source_33
169609 , l_array_source_33_meaning
169610 , l_array_source_45
169611 , l_array_source_46
169612 , l_array_source_53
169613 , l_array_source_55
169614 , l_array_source_67
169615 , l_array_source_80
169616 , l_array_source_80_meaning
169617 , l_array_source_86
169618 , l_array_source_87
169619 , l_array_source_88
169620 , l_array_source_91
169621 , l_array_source_92
169622 , l_array_source_93
169623 , l_array_source_94
169624 , l_array_source_95
169625 , l_array_source_98
169626 , l_array_source_98_meaning
169627 , l_array_source_99
169628 , l_array_source_104
169629 , l_array_source_112
169630 , l_array_source_115
169631 , l_array_source_116
169632 , l_array_source_143
169633 , l_array_source_144
169634 , l_array_source_145
169635 , l_array_source_153
169636 , l_array_source_158
169637 LIMIT l_rows;
169638
169639 --
169640 IF (C_LEVEL_EVENT >= g_log_level) THEN
169641 trace
169642 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
169643 ,p_level => C_LEVEL_EVENT
169644 ,p_module => l_log_module);
169645 END IF;
169646 --
169647 EXIT WHEN l_array_entity_id.count = 0;
169648
169649 XLA_AE_LINES_PKG.g_rec_lines := null;
169650
169651 --
169652 -- Bug 4458708
169653 --
169654 XLA_AE_LINES_PKG.g_LineNumber := 0;
169655 --
169656 --
169657
169658 FOR Idx IN 1..l_array_event_id.count LOOP
169659 --
169660 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
169661 --
169662 l_event_id := l_array_event_id(idx); -- 5648433
169663
169664 --
169665 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
169666 --
169667
169668 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
169669 (g_array_event(l_event_id).array_value_num('header_index'))
169670 ,'N'
169671 ) <> 'Y'
169672 THEN
169673 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
169674 trace
169675 (p_msg => 'Trancaction revesal option is not Y '
169676 ,p_level => C_LEVEL_STATEMENT
169677 ,p_module => l_log_module);
169678 END IF;
169679
169680 --
169681 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
169682 --
169683 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
169684 --
169685 -- set event info as cache for other routines to refer event attributes
169686 --
169687
169688 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
169689 l_previous_event_id := l_event_id;
169690
169691 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
169692 (p_application_id => p_application_id
169693 ,p_primary_ledger_id => p_primary_ledger_id
169694 ,p_base_ledger_id => p_base_ledger_id
169695 ,p_target_ledger_id => p_target_ledger_id
169696 ,p_entity_id => l_array_entity_id(Idx)
169697 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
169698 ,p_entity_code => l_array_entity_code(Idx)
169699 ,p_transaction_num => l_array_transaction_num(Idx)
169700 ,p_event_id => l_array_event_id(Idx)
169701 ,p_event_class_code => l_array_class_code(Idx)
169702 ,p_event_type_code => l_array_event_type(Idx)
169703 ,p_event_number => l_array_event_number(Idx)
169704 ,p_event_date => l_array_event_date(Idx)
169705 ,p_transaction_date => l_array_transaction_date(Idx)
169706 ,p_reference_num_1 => l_array_reference_num_1(Idx)
169707 ,p_reference_num_2 => l_array_reference_num_2(Idx)
169708 ,p_reference_num_3 => l_array_reference_num_3(Idx)
169709 ,p_reference_num_4 => l_array_reference_num_4(Idx)
169710 ,p_reference_char_1 => l_array_reference_char_1(Idx)
169711 ,p_reference_char_2 => l_array_reference_char_2(Idx)
169712 ,p_reference_char_3 => l_array_reference_char_3(Idx)
169713 ,p_reference_char_4 => l_array_reference_char_4(Idx)
169714 ,p_reference_date_1 => l_array_reference_date_1(Idx)
169715 ,p_reference_date_2 => l_array_reference_date_2(Idx)
169716 ,p_reference_date_3 => l_array_reference_date_3(Idx)
169717 ,p_reference_date_4 => l_array_reference_date_4(Idx)
169718 ,p_event_created_by => l_array_event_created_by(Idx)
169719 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
169720 --
169721 END IF;
169722
169723
169724
169725 --
169726 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
169727
169728 l_acct_reversal_source := SUBSTR(l_array_source_53(Idx), 1,30);
169729
169730 IF l_continue_with_lines THEN
169731 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
169732 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
169733
169734 xla_accounting_err_pkg.build_message
169735 (p_appli_s_name => 'XLA'
169736 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
169737 ,p_token_1 => 'LINE_NUMBER'
169738 ,p_value_1 => l_array_extract_line_num(Idx)
169739 ,p_token_2 => 'PRODUCT_NAME'
169743 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
169740 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
169741 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
169742 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
169744
169745 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
169746 --
169747 -- following sets the accounting attributes needed to reverse
169748 -- accounting for a distributeion
169749 --
169750
169751 --
169752 -- 5217187
169753 --
169754 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
169755 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
169756 g_array_event(l_event_id).array_value_num('header_index'));
169757 --
169758 --
169759
169760 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
169761 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_53(Idx);
169762 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
169763 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_104(Idx);
169764 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
169765 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_55(Idx);
169766 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'PARTY_TYPE';
169767 l_rec_rev_acct_attrs.array_char_value(5) := g_array_event(l_event_id).array_value_char('source_83');
169768 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'REVERSED_DISTRIBUTION_ID1';
169769 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_112(Idx);
169770 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'REVERSED_DISTRIBUTION_TYPE';
169771 l_rec_rev_acct_attrs.array_char_value(7) := l_array_source_55(Idx);
169772 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'TAX_LINE_REF_ID';
169773 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_86(Idx);
169774 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'TAX_REC_NREC_DIST_REF_ID';
169775 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_87(Idx);
169776 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'TAX_SUMMARY_LINE_REF_ID';
169777 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_88(Idx);
169778
169779
169780 xla_ae_lines_pkg.SetAcctReversalAttrs
169781 (p_event_id => l_event_id
169782 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
169783 ,p_calculate_acctd_flag => l_calculate_acctd_flag
169784 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
169785 END IF;
169786
169787 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
169788 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
169789
169790 --
169791 AcctLineType_79 (
169792 p_application_id => p_application_id
169793 ,p_event_id => l_event_id
169794 ,p_calculate_acctd_flag => l_calculate_acctd_flag
169795 ,p_calculate_g_l_flag => l_calculate_g_l_flag
169796 ,p_actual_flag => l_actual_flag
169797 ,p_balance_type_code => l_balance_type_code
169798 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
169799
169800 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
169801 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
169802 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
169803 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
169804 , p_source_53 => l_array_source_53(Idx)
169805 , p_source_55 => l_array_source_55(Idx)
169806 , p_source_80 => l_array_source_80(Idx)
169807 , p_source_80_meaning => l_array_source_80_meaning(Idx)
169808 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
169809 , p_source_86 => l_array_source_86(Idx)
169810 , p_source_87 => l_array_source_87(Idx)
169811 , p_source_88 => l_array_source_88(Idx)
169812 , p_source_91 => l_array_source_91(Idx)
169813 , p_source_92 => l_array_source_92(Idx)
169814 , p_source_93 => l_array_source_93(Idx)
169815 , p_source_94 => l_array_source_94(Idx)
169816 , p_source_95 => l_array_source_95(Idx)
169817 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
169818 , p_source_98 => l_array_source_98(Idx)
169819 , p_source_98_meaning => l_array_source_98_meaning(Idx)
169820 , p_source_99 => l_array_source_99(Idx)
169821 , p_source_104 => l_array_source_104(Idx)
169822 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
169823 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
169824 , p_source_112 => l_array_source_112(Idx)
169825 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
169826 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
169827 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
169828 , p_source_115 => l_array_source_115(Idx)
169829 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
169830 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
169831 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
169832 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
169833 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
169834 );
169835 If(l_balance_type_code = 'A') THEN
169836 l_actual_gain_loss_ref := l_gain_or_loss_ref;
169837 END IF;
169838
169839 --
169840
169841
169842 --
169843 AcctLineType_80 (
169844 p_application_id => p_application_id
169845 ,p_event_id => l_event_id
169846 ,p_calculate_acctd_flag => l_calculate_acctd_flag
169847 ,p_calculate_g_l_flag => l_calculate_g_l_flag
169848 ,p_actual_flag => l_actual_flag
169849 ,p_balance_type_code => l_balance_type_code
169850 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
169851
169855 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
169852 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
169853 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
169854 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
169856 , p_source_53 => l_array_source_53(Idx)
169857 , p_source_55 => l_array_source_55(Idx)
169858 , p_source_80 => l_array_source_80(Idx)
169859 , p_source_80_meaning => l_array_source_80_meaning(Idx)
169860 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
169861 , p_source_86 => l_array_source_86(Idx)
169862 , p_source_87 => l_array_source_87(Idx)
169863 , p_source_88 => l_array_source_88(Idx)
169864 , p_source_91 => l_array_source_91(Idx)
169865 , p_source_92 => l_array_source_92(Idx)
169866 , p_source_93 => l_array_source_93(Idx)
169867 , p_source_94 => l_array_source_94(Idx)
169868 , p_source_95 => l_array_source_95(Idx)
169869 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
169870 , p_source_98 => l_array_source_98(Idx)
169871 , p_source_98_meaning => l_array_source_98_meaning(Idx)
169872 , p_source_99 => l_array_source_99(Idx)
169873 , p_source_104 => l_array_source_104(Idx)
169874 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
169875 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
169876 , p_source_112 => l_array_source_112(Idx)
169877 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
169878 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
169879 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
169880 , p_source_115 => l_array_source_115(Idx)
169881 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
169882 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
169883 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
169884 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
169885 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
169886 );
169887 If(l_balance_type_code = 'A') THEN
169888 l_actual_gain_loss_ref := l_gain_or_loss_ref;
169889 END IF;
169890
169891 --
169892
169893
169894 --
169895 AcctLineType_81 (
169896 p_application_id => p_application_id
169897 ,p_event_id => l_event_id
169898 ,p_calculate_acctd_flag => l_calculate_acctd_flag
169899 ,p_calculate_g_l_flag => l_calculate_g_l_flag
169900 ,p_actual_flag => l_actual_flag
169901 ,p_balance_type_code => l_balance_type_code
169902 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
169903
169904 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
169905 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
169906 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
169907 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
169908 , p_source_53 => l_array_source_53(Idx)
169909 , p_source_55 => l_array_source_55(Idx)
169910 , p_source_80 => l_array_source_80(Idx)
169911 , p_source_80_meaning => l_array_source_80_meaning(Idx)
169912 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
169913 , p_source_86 => l_array_source_86(Idx)
169914 , p_source_87 => l_array_source_87(Idx)
169915 , p_source_88 => l_array_source_88(Idx)
169916 , p_source_91 => l_array_source_91(Idx)
169917 , p_source_92 => l_array_source_92(Idx)
169918 , p_source_93 => l_array_source_93(Idx)
169919 , p_source_94 => l_array_source_94(Idx)
169920 , p_source_95 => l_array_source_95(Idx)
169921 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
169922 , p_source_98 => l_array_source_98(Idx)
169923 , p_source_98_meaning => l_array_source_98_meaning(Idx)
169924 , p_source_99 => l_array_source_99(Idx)
169925 , p_source_104 => l_array_source_104(Idx)
169926 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
169927 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
169928 , p_source_112 => l_array_source_112(Idx)
169929 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
169930 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
169931 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
169932 , p_source_115 => l_array_source_115(Idx)
169933 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
169934 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
169935 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
169936 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
169937 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
169938 );
169939 If(l_balance_type_code = 'A') THEN
169940 l_actual_gain_loss_ref := l_gain_or_loss_ref;
169941 END IF;
169942
169943 --
169944
169945
169946 --
169947 AcctLineType_82 (
169948 p_application_id => p_application_id
169949 ,p_event_id => l_event_id
169950 ,p_calculate_acctd_flag => l_calculate_acctd_flag
169951 ,p_calculate_g_l_flag => l_calculate_g_l_flag
169952 ,p_actual_flag => l_actual_flag
169953 ,p_balance_type_code => l_balance_type_code
169954 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
169955
169956 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
169957 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
169958 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
169959 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
169960 , p_source_53 => l_array_source_53(Idx)
169961 , p_source_55 => l_array_source_55(Idx)
169962 , p_source_80 => l_array_source_80(Idx)
169963 , p_source_80_meaning => l_array_source_80_meaning(Idx)
169964 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
169968 , p_source_91 => l_array_source_91(Idx)
169965 , p_source_86 => l_array_source_86(Idx)
169966 , p_source_87 => l_array_source_87(Idx)
169967 , p_source_88 => l_array_source_88(Idx)
169969 , p_source_92 => l_array_source_92(Idx)
169970 , p_source_93 => l_array_source_93(Idx)
169971 , p_source_94 => l_array_source_94(Idx)
169972 , p_source_95 => l_array_source_95(Idx)
169973 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
169974 , p_source_98 => l_array_source_98(Idx)
169975 , p_source_98_meaning => l_array_source_98_meaning(Idx)
169976 , p_source_99 => l_array_source_99(Idx)
169977 , p_source_104 => l_array_source_104(Idx)
169978 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
169979 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
169980 , p_source_112 => l_array_source_112(Idx)
169981 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
169982 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
169983 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
169984 , p_source_116 => l_array_source_116(Idx)
169985 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
169986 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
169987 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
169988 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
169989 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
169990 );
169991 If(l_balance_type_code = 'A') THEN
169992 l_actual_gain_loss_ref := l_gain_or_loss_ref;
169993 END IF;
169994
169995 --
169996
169997
169998 --
169999 AcctLineType_83 (
170000 p_application_id => p_application_id
170001 ,p_event_id => l_event_id
170002 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170003 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170004 ,p_actual_flag => l_actual_flag
170005 ,p_balance_type_code => l_balance_type_code
170006 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170007
170008 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
170009 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
170010 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
170011 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
170012 , p_source_53 => l_array_source_53(Idx)
170013 , p_source_55 => l_array_source_55(Idx)
170014 , p_source_80 => l_array_source_80(Idx)
170015 , p_source_80_meaning => l_array_source_80_meaning(Idx)
170016 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
170017 , p_source_86 => l_array_source_86(Idx)
170018 , p_source_87 => l_array_source_87(Idx)
170019 , p_source_88 => l_array_source_88(Idx)
170020 , p_source_91 => l_array_source_91(Idx)
170021 , p_source_92 => l_array_source_92(Idx)
170022 , p_source_93 => l_array_source_93(Idx)
170023 , p_source_94 => l_array_source_94(Idx)
170024 , p_source_95 => l_array_source_95(Idx)
170025 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
170026 , p_source_98 => l_array_source_98(Idx)
170027 , p_source_98_meaning => l_array_source_98_meaning(Idx)
170028 , p_source_99 => l_array_source_99(Idx)
170029 , p_source_104 => l_array_source_104(Idx)
170030 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
170031 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
170032 , p_source_112 => l_array_source_112(Idx)
170033 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
170034 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
170035 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
170036 , p_source_116 => l_array_source_116(Idx)
170037 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
170038 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
170039 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
170040 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
170041 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
170042 );
170043 If(l_balance_type_code = 'A') THEN
170044 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170045 END IF;
170046
170047 --
170048
170049
170050 --
170051 AcctLineType_84 (
170052 p_application_id => p_application_id
170053 ,p_event_id => l_event_id
170054 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170055 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170056 ,p_actual_flag => l_actual_flag
170057 ,p_balance_type_code => l_balance_type_code
170058 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170059
170060 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
170061 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
170062 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
170063 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
170064 , p_source_53 => l_array_source_53(Idx)
170065 , p_source_55 => l_array_source_55(Idx)
170066 , p_source_80 => l_array_source_80(Idx)
170067 , p_source_80_meaning => l_array_source_80_meaning(Idx)
170068 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
170069 , p_source_86 => l_array_source_86(Idx)
170070 , p_source_87 => l_array_source_87(Idx)
170071 , p_source_88 => l_array_source_88(Idx)
170072 , p_source_91 => l_array_source_91(Idx)
170073 , p_source_92 => l_array_source_92(Idx)
170074 , p_source_93 => l_array_source_93(Idx)
170075 , p_source_94 => l_array_source_94(Idx)
170076 , p_source_95 => l_array_source_95(Idx)
170077 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
170078 , p_source_98 => l_array_source_98(Idx)
170079 , p_source_98_meaning => l_array_source_98_meaning(Idx)
170080 , p_source_99 => l_array_source_99(Idx)
170084 , p_source_112 => l_array_source_112(Idx)
170081 , p_source_104 => l_array_source_104(Idx)
170082 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
170083 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
170085 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
170086 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
170087 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
170088 , p_source_116 => l_array_source_116(Idx)
170089 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
170090 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
170091 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
170092 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
170093 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
170094 );
170095 If(l_balance_type_code = 'A') THEN
170096 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170097 END IF;
170098
170099 --
170100
170101
170102 --
170103 AcctLineType_91 (
170104 p_application_id => p_application_id
170105 ,p_event_id => l_event_id
170106 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170107 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170108 ,p_actual_flag => l_actual_flag
170109 ,p_balance_type_code => l_balance_type_code
170110 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170111
170112 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
170113 , p_source_17 => g_array_event(l_event_id).array_value_num('source_17')
170114 , p_source_47 => g_array_event(l_event_id).array_value_char('source_47')
170115 , p_source_47_meaning => g_array_event(l_event_id).array_value_char('source_47_meaning')
170116 , p_source_53 => l_array_source_53(Idx)
170117 , p_source_55 => l_array_source_55(Idx)
170118 , p_source_80 => l_array_source_80(Idx)
170119 , p_source_80_meaning => l_array_source_80_meaning(Idx)
170120 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
170121 , p_source_86 => l_array_source_86(Idx)
170122 , p_source_87 => l_array_source_87(Idx)
170123 , p_source_88 => l_array_source_88(Idx)
170124 , p_source_91 => l_array_source_91(Idx)
170125 , p_source_92 => l_array_source_92(Idx)
170126 , p_source_93 => l_array_source_93(Idx)
170127 , p_source_94 => l_array_source_94(Idx)
170128 , p_source_95 => l_array_source_95(Idx)
170129 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
170130 , p_source_98 => l_array_source_98(Idx)
170131 , p_source_98_meaning => l_array_source_98_meaning(Idx)
170132 , p_source_99 => l_array_source_99(Idx)
170133 , p_source_104 => l_array_source_104(Idx)
170134 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
170135 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
170136 , p_source_112 => l_array_source_112(Idx)
170137 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
170138 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
170139 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
170140 , p_source_115 => l_array_source_115(Idx)
170141 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
170142 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
170143 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
170144 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
170145 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
170146 );
170147 If(l_balance_type_code = 'A') THEN
170148 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170149 END IF;
170150
170151 --
170152
170153
170154 --
170155 AcctLineType_92 (
170156 p_application_id => p_application_id
170157 ,p_event_id => l_event_id
170158 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170159 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170160 ,p_actual_flag => l_actual_flag
170161 ,p_balance_type_code => l_balance_type_code
170162 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170163
170164 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
170165 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
170166 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
170167 , p_source_17 => g_array_event(l_event_id).array_value_num('source_17')
170168 , p_source_53 => l_array_source_53(Idx)
170169 , p_source_55 => l_array_source_55(Idx)
170170 , p_source_80 => l_array_source_80(Idx)
170171 , p_source_80_meaning => l_array_source_80_meaning(Idx)
170172 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
170173 , p_source_86 => l_array_source_86(Idx)
170174 , p_source_87 => l_array_source_87(Idx)
170175 , p_source_88 => l_array_source_88(Idx)
170176 , p_source_91 => l_array_source_91(Idx)
170177 , p_source_92 => l_array_source_92(Idx)
170178 , p_source_93 => l_array_source_93(Idx)
170179 , p_source_94 => l_array_source_94(Idx)
170180 , p_source_95 => l_array_source_95(Idx)
170181 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
170182 , p_source_98 => l_array_source_98(Idx)
170183 , p_source_98_meaning => l_array_source_98_meaning(Idx)
170184 , p_source_99 => l_array_source_99(Idx)
170185 , p_source_104 => l_array_source_104(Idx)
170186 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
170187 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
170188 , p_source_112 => l_array_source_112(Idx)
170189 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
170190 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
170191 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
170192 , p_source_115 => l_array_source_115(Idx)
170193 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
170197 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
170194 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
170195 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
170196 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
170198 );
170199 If(l_balance_type_code = 'A') THEN
170200 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170201 END IF;
170202
170203 --
170204
170205
170206 --
170207 AcctLineType_93 (
170208 p_application_id => p_application_id
170209 ,p_event_id => l_event_id
170210 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170211 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170212 ,p_actual_flag => l_actual_flag
170213 ,p_balance_type_code => l_balance_type_code
170214 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170215
170216 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
170217 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
170218 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
170219 , p_source_17 => g_array_event(l_event_id).array_value_num('source_17')
170220 , p_source_53 => l_array_source_53(Idx)
170221 , p_source_55 => l_array_source_55(Idx)
170222 , p_source_80 => l_array_source_80(Idx)
170223 , p_source_80_meaning => l_array_source_80_meaning(Idx)
170224 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
170225 , p_source_86 => l_array_source_86(Idx)
170226 , p_source_87 => l_array_source_87(Idx)
170227 , p_source_88 => l_array_source_88(Idx)
170228 , p_source_91 => l_array_source_91(Idx)
170229 , p_source_92 => l_array_source_92(Idx)
170230 , p_source_93 => l_array_source_93(Idx)
170231 , p_source_94 => l_array_source_94(Idx)
170232 , p_source_95 => l_array_source_95(Idx)
170233 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
170234 , p_source_98 => l_array_source_98(Idx)
170235 , p_source_98_meaning => l_array_source_98_meaning(Idx)
170236 , p_source_99 => l_array_source_99(Idx)
170237 , p_source_104 => l_array_source_104(Idx)
170238 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
170239 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
170240 , p_source_112 => l_array_source_112(Idx)
170241 , p_source_113 => g_array_event(l_event_id).array_value_char('source_113')
170242 , p_source_113_meaning => g_array_event(l_event_id).array_value_char('source_113_meaning')
170243 , p_source_114 => g_array_event(l_event_id).array_value_date('source_114')
170244 , p_source_115 => l_array_source_115(Idx)
170245 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
170246 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
170247 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
170248 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
170249 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
170250 );
170251 If(l_balance_type_code = 'A') THEN
170252 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170253 END IF;
170254
170255 --
170256
170257
170258 --
170259 AcctLineType_106 (
170260 p_application_id => p_application_id
170261 ,p_event_id => l_event_id
170262 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170263 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170264 ,p_actual_flag => l_actual_flag
170265 ,p_balance_type_code => l_balance_type_code
170266 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170267
170268 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
170269 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
170270 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
170271 , p_source_18 => g_array_event(l_event_id).array_value_num('source_18')
170272 , p_source_19 => g_array_event(l_event_id).array_value_char('source_19')
170273 , p_source_19_meaning => g_array_event(l_event_id).array_value_char('source_19_meaning')
170274 , p_source_30 => l_array_source_30(Idx)
170275 , p_source_33 => l_array_source_33(Idx)
170276 , p_source_33_meaning => l_array_source_33_meaning(Idx)
170277 , p_source_44 => g_array_event(l_event_id).array_value_num('source_44')
170278 , p_source_45 => l_array_source_45(Idx)
170279 , p_source_46 => l_array_source_46(Idx)
170280 , p_source_53 => l_array_source_53(Idx)
170281 , p_source_55 => l_array_source_55(Idx)
170282 , p_source_80 => l_array_source_80(Idx)
170283 , p_source_80_meaning => l_array_source_80_meaning(Idx)
170284 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
170285 , p_source_86 => l_array_source_86(Idx)
170286 , p_source_87 => l_array_source_87(Idx)
170287 , p_source_88 => l_array_source_88(Idx)
170288 , p_source_91 => l_array_source_91(Idx)
170289 , p_source_92 => l_array_source_92(Idx)
170290 , p_source_93 => l_array_source_93(Idx)
170291 , p_source_94 => l_array_source_94(Idx)
170292 , p_source_95 => l_array_source_95(Idx)
170293 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
170294 , p_source_98 => l_array_source_98(Idx)
170295 , p_source_98_meaning => l_array_source_98_meaning(Idx)
170296 , p_source_99 => l_array_source_99(Idx)
170297 , p_source_104 => l_array_source_104(Idx)
170298 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
170299 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
170300 , p_source_112 => l_array_source_112(Idx)
170301 , p_source_116 => l_array_source_116(Idx)
170302 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
170303 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
170304 , p_source_143 => l_array_source_143(Idx)
170305 , p_source_144 => l_array_source_144(Idx)
170306 , p_source_145 => l_array_source_145(Idx)
170307 );
170308 If(l_balance_type_code = 'A') THEN
170309 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170310 END IF;
170311
170315 --
170312 --
170313
170314
170316 AcctLineType_114 (
170317 p_application_id => p_application_id
170318 ,p_event_id => l_event_id
170319 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170320 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170321 ,p_actual_flag => l_actual_flag
170322 ,p_balance_type_code => l_balance_type_code
170323 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170324
170325 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
170326 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
170327 , p_source_30 => l_array_source_30(Idx)
170328 , p_source_49 => g_array_event(l_event_id).array_value_num('source_49')
170329 , p_source_53 => l_array_source_53(Idx)
170330 , p_source_55 => l_array_source_55(Idx)
170331 , p_source_67 => l_array_source_67(Idx)
170332 , p_source_80 => l_array_source_80(Idx)
170333 , p_source_80_meaning => l_array_source_80_meaning(Idx)
170334 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
170335 , p_source_86 => l_array_source_86(Idx)
170336 , p_source_87 => l_array_source_87(Idx)
170337 , p_source_88 => l_array_source_88(Idx)
170338 , p_source_91 => l_array_source_91(Idx)
170339 , p_source_92 => l_array_source_92(Idx)
170340 , p_source_93 => l_array_source_93(Idx)
170341 , p_source_94 => l_array_source_94(Idx)
170342 , p_source_95 => l_array_source_95(Idx)
170343 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
170344 , p_source_98 => l_array_source_98(Idx)
170345 , p_source_98_meaning => l_array_source_98_meaning(Idx)
170346 , p_source_99 => l_array_source_99(Idx)
170347 , p_source_104 => l_array_source_104(Idx)
170348 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
170349 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
170350 , p_source_112 => l_array_source_112(Idx)
170351 , p_source_116 => l_array_source_116(Idx)
170352 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
170353 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
170354 , p_source_143 => l_array_source_143(Idx)
170355 , p_source_144 => l_array_source_144(Idx)
170356 , p_source_145 => l_array_source_145(Idx)
170357 );
170358 If(l_balance_type_code = 'A') THEN
170359 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170360 END IF;
170361
170362 --
170363
170364
170365 --
170366 AcctLineType_129 (
170367 p_application_id => p_application_id
170368 ,p_event_id => l_event_id
170369 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170370 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170371 ,p_actual_flag => l_actual_flag
170372 ,p_balance_type_code => l_balance_type_code
170373 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170374
170375 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
170376 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
170377 , p_source_30 => l_array_source_30(Idx)
170378 , p_source_36 => g_array_event(l_event_id).array_value_num('source_36')
170379 , p_source_37 => g_array_event(l_event_id).array_value_num('source_37')
170380 , p_source_38 => g_array_event(l_event_id).array_value_num('source_38')
170381 , p_source_39 => g_array_event(l_event_id).array_value_num('source_39')
170382 , p_source_53 => l_array_source_53(Idx)
170383 , p_source_55 => l_array_source_55(Idx)
170384 , p_source_80 => l_array_source_80(Idx)
170385 , p_source_80_meaning => l_array_source_80_meaning(Idx)
170386 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
170387 , p_source_86 => l_array_source_86(Idx)
170388 , p_source_87 => l_array_source_87(Idx)
170389 , p_source_88 => l_array_source_88(Idx)
170390 , p_source_91 => l_array_source_91(Idx)
170391 , p_source_92 => l_array_source_92(Idx)
170392 , p_source_93 => l_array_source_93(Idx)
170393 , p_source_94 => l_array_source_94(Idx)
170394 , p_source_95 => l_array_source_95(Idx)
170395 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
170396 , p_source_98 => l_array_source_98(Idx)
170397 , p_source_98_meaning => l_array_source_98_meaning(Idx)
170398 , p_source_104 => l_array_source_104(Idx)
170399 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
170400 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
170401 , p_source_112 => l_array_source_112(Idx)
170402 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
170403 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
170404 , p_source_153 => l_array_source_153(Idx)
170405 );
170406 If(l_balance_type_code = 'A') THEN
170407 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170408 END IF;
170409
170410 --
170411
170412
170413 --
170414 AcctLineType_135 (
170415 p_application_id => p_application_id
170416 ,p_event_id => l_event_id
170417 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170418 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170419 ,p_actual_flag => l_actual_flag
170420 ,p_balance_type_code => l_balance_type_code
170421 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170422
170423 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
170424 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
170425 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
170426 , p_source_30 => l_array_source_30(Idx)
170427 , p_source_36 => g_array_event(l_event_id).array_value_num('source_36')
170428 , p_source_37 => g_array_event(l_event_id).array_value_num('source_37')
170429 , p_source_53 => l_array_source_53(Idx)
170430 , p_source_55 => l_array_source_55(Idx)
170431 , p_source_80 => l_array_source_80(Idx)
170432 , p_source_80_meaning => l_array_source_80_meaning(Idx)
170433 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
170434 , p_source_86 => l_array_source_86(Idx)
170435 , p_source_87 => l_array_source_87(Idx)
170439 , p_source_93 => l_array_source_93(Idx)
170436 , p_source_88 => l_array_source_88(Idx)
170437 , p_source_91 => l_array_source_91(Idx)
170438 , p_source_92 => l_array_source_92(Idx)
170440 , p_source_94 => l_array_source_94(Idx)
170441 , p_source_95 => l_array_source_95(Idx)
170442 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
170443 , p_source_98 => l_array_source_98(Idx)
170444 , p_source_98_meaning => l_array_source_98_meaning(Idx)
170445 , p_source_99 => l_array_source_99(Idx)
170446 , p_source_104 => l_array_source_104(Idx)
170447 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
170448 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
170449 , p_source_112 => l_array_source_112(Idx)
170450 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
170451 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
170452 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
170453 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
170454 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
170455 , p_source_153 => l_array_source_153(Idx)
170456 , p_source_158 => l_array_source_158(Idx)
170457 );
170458 If(l_balance_type_code = 'A') THEN
170459 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170460 END IF;
170461
170462 --
170463
170464
170465 --
170466 AcctLineType_162 (
170467 p_application_id => p_application_id
170468 ,p_event_id => l_event_id
170469 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170470 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170471 ,p_actual_flag => l_actual_flag
170472 ,p_balance_type_code => l_balance_type_code
170473 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170474
170475 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
170476 , p_source_53 => l_array_source_53(Idx)
170477 , p_source_55 => l_array_source_55(Idx)
170478 , p_source_80 => l_array_source_80(Idx)
170479 , p_source_80_meaning => l_array_source_80_meaning(Idx)
170480 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
170481 , p_source_86 => l_array_source_86(Idx)
170482 , p_source_87 => l_array_source_87(Idx)
170483 , p_source_88 => l_array_source_88(Idx)
170484 , p_source_91 => l_array_source_91(Idx)
170485 , p_source_92 => l_array_source_92(Idx)
170486 , p_source_93 => l_array_source_93(Idx)
170487 , p_source_94 => l_array_source_94(Idx)
170488 , p_source_95 => l_array_source_95(Idx)
170489 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
170490 , p_source_98 => l_array_source_98(Idx)
170491 , p_source_98_meaning => l_array_source_98_meaning(Idx)
170492 , p_source_99 => l_array_source_99(Idx)
170493 , p_source_104 => l_array_source_104(Idx)
170494 , p_source_112 => l_array_source_112(Idx)
170495 , p_source_116 => l_array_source_116(Idx)
170496 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
170497 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
170498 );
170499 If(l_balance_type_code = 'A') THEN
170500 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170501 END IF;
170502
170503 --
170504
170505
170506 --
170507 AcctLineType_169 (
170508 p_application_id => p_application_id
170509 ,p_event_id => l_event_id
170510 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170511 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170512 ,p_actual_flag => l_actual_flag
170513 ,p_balance_type_code => l_balance_type_code
170514 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170515
170516 , p_source_13 => g_array_event(l_event_id).array_value_char('source_13')
170517 , p_source_15 => g_array_event(l_event_id).array_value_char('source_15')
170518 , p_source_15_meaning => g_array_event(l_event_id).array_value_char('source_15_meaning')
170519 , p_source_30 => l_array_source_30(Idx)
170520 , p_source_38 => g_array_event(l_event_id).array_value_num('source_38')
170521 , p_source_39 => g_array_event(l_event_id).array_value_num('source_39')
170522 , p_source_53 => l_array_source_53(Idx)
170523 , p_source_55 => l_array_source_55(Idx)
170524 , p_source_80 => l_array_source_80(Idx)
170525 , p_source_80_meaning => l_array_source_80_meaning(Idx)
170526 , p_source_83 => g_array_event(l_event_id).array_value_char('source_83')
170527 , p_source_86 => l_array_source_86(Idx)
170528 , p_source_87 => l_array_source_87(Idx)
170529 , p_source_88 => l_array_source_88(Idx)
170530 , p_source_91 => l_array_source_91(Idx)
170531 , p_source_92 => l_array_source_92(Idx)
170532 , p_source_93 => l_array_source_93(Idx)
170533 , p_source_94 => l_array_source_94(Idx)
170534 , p_source_95 => l_array_source_95(Idx)
170535 , p_source_97 => g_array_event(l_event_id).array_value_char('source_97')
170536 , p_source_98 => l_array_source_98(Idx)
170537 , p_source_98_meaning => l_array_source_98_meaning(Idx)
170538 , p_source_99 => l_array_source_99(Idx)
170539 , p_source_104 => l_array_source_104(Idx)
170540 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
170541 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
170542 , p_source_112 => l_array_source_112(Idx)
170543 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
170544 , p_source_118 => g_array_event(l_event_id).array_value_num('source_118')
170545 , p_source_119 => g_array_event(l_event_id).array_value_char('source_119')
170546 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
170547 , p_source_122_meaning => g_array_event(l_event_id).array_value_char('source_122_meaning')
170548 , p_source_153 => l_array_source_153(Idx)
170549 , p_source_158 => l_array_source_158(Idx)
170550 );
170551 If(l_balance_type_code = 'A') THEN
170552 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170553 END IF;
170554
170555 --
170556
170557 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
170561 (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'))
170558 -- or secondary ledger that has different currency with primary
170559 -- or alc that is calculated by sla
170560 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
170562
170563 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
170564 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
170565 AND (l_actual_flag = 'A')) THEN
170566 XLA_AE_LINES_PKG.CreateGainOrLossLines(
170567 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
170568 ,p_application_id => p_application_id
170569 ,p_amb_context_code => 'DEFAULT'
170570 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
170571 ,p_event_class_code => C_EVENT_CLASS_CODE
170572 ,p_event_type_code => C_EVENT_TYPE_CODE
170573
170574 ,p_gain_ccid => -1
170575 ,p_loss_ccid => -1
170576
170577 ,p_actual_flag => l_actual_flag
170578 ,p_enc_flag => null
170579 ,p_actual_g_l_ref => l_actual_gain_loss_ref
170580 ,p_enc_g_l_ref => null
170581 );
170582 END IF;
170583 END IF;
170584 END IF;
170585
170586 ELSE
170587 --
170588 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
170589 --
170590 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170591 trace
170592 (p_msg => 'Trancaction revesal option is Y'
170593 ,p_level => C_LEVEL_STATEMENT
170594 ,p_module => l_log_module);
170595 END IF;
170596 END IF;
170597
170598 END LOOP;
170599 l_result := XLA_AE_LINES_PKG.InsertLines ;
170600 end loop;
170601 close line_cur;
170602
170603
170604 --
170605 -- insert headers into xla_ae_headers_gt table
170606 --
170607 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
170608
170609 -- insert into errors table here.
170610
170611 END LOOP;
170612
170613 --
170614 -- 4865292
170615 --
170616 -- Compare g_hdr_extract_count with event count in
170617 -- CreateHeadersAndLines.
170618 --
170619 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
170620
170621 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170622 trace (p_msg => '# rows extracted from header extract objects '
170623 || ' (running total): '
170624 || g_hdr_extract_count
170625 ,p_level => C_LEVEL_STATEMENT
170626 ,p_module => l_log_module);
170627 END IF;
170628
170629 CLOSE header_cur;
170630 --
170631
170632 --
170633 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
170634 trace
170635 (p_msg => 'END of EventClass_238'
170636 ,p_level => C_LEVEL_PROCEDURE
170637 ,p_module => l_log_module);
170638 END IF;
170639 --
170640 RETURN l_result;
170641 EXCEPTION
170642 WHEN xla_exceptions_pkg.application_exception THEN
170643
170644 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
170645
170646
170647 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
170648
170649 RAISE;
170650
170651 WHEN NO_DATA_FOUND THEN
170652
170653 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
170654 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
170655
170656 FOR header_record IN header_cur
170657 LOOP
170658 l_array_header_events(header_record.event_id) := header_record.event_id;
170659 END LOOP;
170660
170661 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
170662 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
170663
170664 fnd_file.put_line(fnd_file.LOG, ' ');
170665 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
170666 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
170667 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
170668
170669 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
170670 LOOP
170671 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
170672 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
170673 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
170674 END IF;
170675 END LOOP;
170676
170677 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
170678 fnd_file.put_line(fnd_file.LOG, ' ');
170679
170680
170681 xla_exceptions_pkg.raise_message
170682 (p_location => 'XLA_00200_AAD_S_000002_PKG.EventClass_238');
170683
170684
170685 WHEN OTHERS THEN
170686 xla_exceptions_pkg.raise_message
170687 (p_location => 'XLA_00200_AAD_S_000002_PKG.EventClass_238');
170688 END EventClass_238;
170689 --
170690
170691 --
170692 --+============================================+
170693 --| |
170694 --| PRIVATE FUNCTION |
170695 --| |
170696 --+============================================+
170697 --
170698 FUNCTION CreateHeadersAndLines
170699 (p_application_id IN NUMBER
170700 ,p_base_ledger_id IN NUMBER
170701 ,p_target_ledger_id IN NUMBER
170702 ,p_pad_start_date IN DATE
170703 ,p_pad_end_date IN DATE
170704 ,p_primary_ledger_id IN NUMBER)
170705 RETURN BOOLEAN IS
170709 l_language VARCHAR2(30);
170706 l_created BOOLEAN:=FALSE;
170707 l_event_id NUMBER;
170708 l_event_date DATE;
170710 l_currency_code VARCHAR2(30);
170711 l_sla_ledger_id NUMBER;
170712 l_log_module VARCHAR2(240);
170713
170714 BEGIN
170715 --
170716 IF g_log_enabled THEN
170717 l_log_module := C_DEFAULT_MODULE||'.CreateHeadersAndLines';
170718 END IF;
170719 --
170720 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
170721 trace
170722 (p_msg => 'BEGIN of CreateHeadersAndLines'
170723 ,p_level => C_LEVEL_PROCEDURE
170724 ,p_module => l_log_module);
170725 END IF;
170726
170727 l_language := xla_ae_journal_entry_pkg.g_cache_ledgers_info.description_language;
170728 l_currency_code := xla_ae_journal_entry_pkg.g_cache_ledgers_info.currency_code;
170729 l_sla_ledger_id := xla_ae_journal_entry_pkg.g_cache_ledgers_info.sla_ledger_id;
170730
170731 --
170732 -- initialize array of lines with NULL
170733 --
170734 xla_ae_lines_pkg.SetNullLine;
170735
170736 --
170737 -- initialize header extract count -- Bug 4865292
170738 --
170739 g_hdr_extract_count:= 0;
170740
170741
170742 l_created := EventClass_230(
170743 p_application_id => p_application_id
170744 , p_base_ledger_id => p_base_ledger_id
170745 , p_target_ledger_id => p_target_ledger_id
170746 , p_language => l_language
170747 , p_currency_code => l_currency_code
170748 , p_sla_ledger_id => l_sla_ledger_id
170749 , p_pad_start_date => p_pad_start_date
170750 , p_pad_end_date => p_pad_end_date
170751 , p_primary_ledger_id => p_primary_ledger_id
170752 );
170753
170754
170755
170756 IF ( g_diagnostics_mode ='Y' ) THEN
170757
170758 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170759 trace
170760 (p_msg => 'CALL Transaction Objects Diagnostics'
170761 ,p_level => C_LEVEL_STATEMENT
170762 ,p_module => l_log_module);
170763
170764 END IF;
170765
170766 insert_sources_230(
170767 p_target_ledger_id => p_target_ledger_id
170768 , p_language => l_language
170769 , p_sla_ledger_id => l_sla_ledger_id
170770 , p_pad_start_date => p_pad_start_date
170771 , p_pad_end_date => p_pad_end_date
170772 );
170773
170774 END IF;
170775
170776 l_created := EventClass_231(
170777 p_application_id => p_application_id
170778 , p_base_ledger_id => p_base_ledger_id
170779 , p_target_ledger_id => p_target_ledger_id
170780 , p_language => l_language
170781 , p_currency_code => l_currency_code
170782 , p_sla_ledger_id => l_sla_ledger_id
170783 , p_pad_start_date => p_pad_start_date
170784 , p_pad_end_date => p_pad_end_date
170785 , p_primary_ledger_id => p_primary_ledger_id
170786 );
170787
170788
170789
170790 IF ( g_diagnostics_mode ='Y' ) THEN
170791
170792 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170793 trace
170794 (p_msg => 'CALL Transaction Objects Diagnostics'
170795 ,p_level => C_LEVEL_STATEMENT
170796 ,p_module => l_log_module);
170797
170798 END IF;
170799
170800 insert_sources_231(
170801 p_target_ledger_id => p_target_ledger_id
170802 , p_language => l_language
170803 , p_sla_ledger_id => l_sla_ledger_id
170804 , p_pad_start_date => p_pad_start_date
170805 , p_pad_end_date => p_pad_end_date
170806 );
170807
170808 END IF;
170809
170810 l_created := EventClass_232(
170811 p_application_id => p_application_id
170812 , p_base_ledger_id => p_base_ledger_id
170813 , p_target_ledger_id => p_target_ledger_id
170814 , p_language => l_language
170815 , p_currency_code => l_currency_code
170816 , p_sla_ledger_id => l_sla_ledger_id
170817 , p_pad_start_date => p_pad_start_date
170818 , p_pad_end_date => p_pad_end_date
170819 , p_primary_ledger_id => p_primary_ledger_id
170820 );
170821
170822
170823
170824 IF ( g_diagnostics_mode ='Y' ) THEN
170825
170826 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170827 trace
170828 (p_msg => 'CALL Transaction Objects Diagnostics'
170829 ,p_level => C_LEVEL_STATEMENT
170830 ,p_module => l_log_module);
170831
170832 END IF;
170833
170834 insert_sources_232(
170835 p_target_ledger_id => p_target_ledger_id
170836 , p_language => l_language
170837 , p_sla_ledger_id => l_sla_ledger_id
170838 , p_pad_start_date => p_pad_start_date
170839 , p_pad_end_date => p_pad_end_date
170840 );
170841
170842 END IF;
170843
170844 l_created := EventClass_233(
170845 p_application_id => p_application_id
170846 , p_base_ledger_id => p_base_ledger_id
170847 , p_target_ledger_id => p_target_ledger_id
170848 , p_language => l_language
170849 , p_currency_code => l_currency_code
170850 , p_sla_ledger_id => l_sla_ledger_id
170851 , p_pad_start_date => p_pad_start_date
170852 , p_pad_end_date => p_pad_end_date
170853 , p_primary_ledger_id => p_primary_ledger_id
170854 );
170855
170856
170860 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170857
170858 IF ( g_diagnostics_mode ='Y' ) THEN
170859
170861 trace
170862 (p_msg => 'CALL Transaction Objects Diagnostics'
170863 ,p_level => C_LEVEL_STATEMENT
170864 ,p_module => l_log_module);
170865
170866 END IF;
170867
170868 insert_sources_233(
170869 p_target_ledger_id => p_target_ledger_id
170870 , p_language => l_language
170871 , p_sla_ledger_id => l_sla_ledger_id
170872 , p_pad_start_date => p_pad_start_date
170873 , p_pad_end_date => p_pad_end_date
170874 );
170875
170876 END IF;
170877
170878 l_created := EventClass_234(
170879 p_application_id => p_application_id
170880 , p_base_ledger_id => p_base_ledger_id
170881 , p_target_ledger_id => p_target_ledger_id
170882 , p_language => l_language
170883 , p_currency_code => l_currency_code
170884 , p_sla_ledger_id => l_sla_ledger_id
170885 , p_pad_start_date => p_pad_start_date
170886 , p_pad_end_date => p_pad_end_date
170887 , p_primary_ledger_id => p_primary_ledger_id
170888 );
170889
170890
170891
170892 IF ( g_diagnostics_mode ='Y' ) THEN
170893
170894 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170895 trace
170896 (p_msg => 'CALL Transaction Objects Diagnostics'
170897 ,p_level => C_LEVEL_STATEMENT
170898 ,p_module => l_log_module);
170899
170900 END IF;
170901
170902 insert_sources_234(
170903 p_target_ledger_id => p_target_ledger_id
170904 , p_language => l_language
170905 , p_sla_ledger_id => l_sla_ledger_id
170906 , p_pad_start_date => p_pad_start_date
170907 , p_pad_end_date => p_pad_end_date
170908 );
170909
170910 END IF;
170911
170912 l_created := EventClass_235(
170913 p_application_id => p_application_id
170914 , p_base_ledger_id => p_base_ledger_id
170915 , p_target_ledger_id => p_target_ledger_id
170916 , p_language => l_language
170917 , p_currency_code => l_currency_code
170918 , p_sla_ledger_id => l_sla_ledger_id
170919 , p_pad_start_date => p_pad_start_date
170920 , p_pad_end_date => p_pad_end_date
170921 , p_primary_ledger_id => p_primary_ledger_id
170922 );
170923
170924
170925
170926 IF ( g_diagnostics_mode ='Y' ) THEN
170927
170928 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170929 trace
170930 (p_msg => 'CALL Transaction Objects Diagnostics'
170931 ,p_level => C_LEVEL_STATEMENT
170932 ,p_module => l_log_module);
170933
170934 END IF;
170935
170936 insert_sources_235(
170937 p_target_ledger_id => p_target_ledger_id
170938 , p_language => l_language
170939 , p_sla_ledger_id => l_sla_ledger_id
170940 , p_pad_start_date => p_pad_start_date
170941 , p_pad_end_date => p_pad_end_date
170942 );
170943
170944 END IF;
170945
170946 l_created := EventClass_236(
170947 p_application_id => p_application_id
170948 , p_base_ledger_id => p_base_ledger_id
170949 , p_target_ledger_id => p_target_ledger_id
170950 , p_language => l_language
170951 , p_currency_code => l_currency_code
170952 , p_sla_ledger_id => l_sla_ledger_id
170953 , p_pad_start_date => p_pad_start_date
170954 , p_pad_end_date => p_pad_end_date
170955 , p_primary_ledger_id => p_primary_ledger_id
170956 );
170957
170958
170959
170960 IF ( g_diagnostics_mode ='Y' ) THEN
170961
170962 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170963 trace
170964 (p_msg => 'CALL Transaction Objects Diagnostics'
170965 ,p_level => C_LEVEL_STATEMENT
170966 ,p_module => l_log_module);
170967
170968 END IF;
170969
170970 insert_sources_236(
170971 p_target_ledger_id => p_target_ledger_id
170972 , p_language => l_language
170973 , p_sla_ledger_id => l_sla_ledger_id
170974 , p_pad_start_date => p_pad_start_date
170975 , p_pad_end_date => p_pad_end_date
170976 );
170977
170978 END IF;
170979
170980 l_created := EventClass_237(
170981 p_application_id => p_application_id
170982 , p_base_ledger_id => p_base_ledger_id
170983 , p_target_ledger_id => p_target_ledger_id
170984 , p_language => l_language
170985 , p_currency_code => l_currency_code
170986 , p_sla_ledger_id => l_sla_ledger_id
170987 , p_pad_start_date => p_pad_start_date
170988 , p_pad_end_date => p_pad_end_date
170989 , p_primary_ledger_id => p_primary_ledger_id
170990 );
170991
170992
170993
170994 IF ( g_diagnostics_mode ='Y' ) THEN
170995
170996 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170997 trace
170998 (p_msg => 'CALL Transaction Objects Diagnostics'
170999 ,p_level => C_LEVEL_STATEMENT
171000 ,p_module => l_log_module);
171001
171002 END IF;
171003
171004 insert_sources_237(
171008 , p_pad_start_date => p_pad_start_date
171005 p_target_ledger_id => p_target_ledger_id
171006 , p_language => l_language
171007 , p_sla_ledger_id => l_sla_ledger_id
171009 , p_pad_end_date => p_pad_end_date
171010 );
171011
171012 END IF;
171013
171014 l_created := EventClass_238(
171015 p_application_id => p_application_id
171016 , p_base_ledger_id => p_base_ledger_id
171017 , p_target_ledger_id => p_target_ledger_id
171018 , p_language => l_language
171019 , p_currency_code => l_currency_code
171020 , p_sla_ledger_id => l_sla_ledger_id
171021 , p_pad_start_date => p_pad_start_date
171022 , p_pad_end_date => p_pad_end_date
171023 , p_primary_ledger_id => p_primary_ledger_id
171024 );
171025
171026
171027
171028 IF ( g_diagnostics_mode ='Y' ) THEN
171029
171030 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
171031 trace
171032 (p_msg => 'CALL Transaction Objects Diagnostics'
171033 ,p_level => C_LEVEL_STATEMENT
171034 ,p_module => l_log_module);
171035
171036 END IF;
171037
171038 insert_sources_238(
171039 p_target_ledger_id => p_target_ledger_id
171040 , p_language => l_language
171041 , p_sla_ledger_id => l_sla_ledger_id
171042 , p_pad_start_date => p_pad_start_date
171043 , p_pad_end_date => p_pad_end_date
171044 );
171045
171046 END IF;
171047
171048
171049 --
171050 -- Bug 4865292
171051 -- When the number of events and that of header extract do not match,
171052 -- set the no header extract flag to indicate there are some issues
171053 -- in header extract.
171054 --
171055 -- Event count context is set in xla_accounting_pkg.unit_processor.
171056 -- Build_Message for this error is called in xla_accounting_pkg.post_accounting
171057 -- to report it as a general error.
171058 --
171059 IF xla_context_pkg.get_event_count_context <> g_hdr_extract_count
171060 AND xla_context_pkg.get_event_nohdr_context <> 'Y' THEN
171061
171062 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
171063 trace
171064 (p_msg => '# of extracted headers and events does not match'
171065 ,p_level => C_LEVEL_STATEMENT
171066 ,p_module => l_log_module);
171067
171068 trace
171069 (p_msg => '# of extracted headers: '
171070 ||g_hdr_extract_count
171071 ,p_level => C_LEVEL_STATEMENT
171072 ,p_module => l_log_module);
171073
171074 trace
171075 (p_msg => '# of events in xla_events_gt: '
171076 ||xla_context_pkg.get_event_count_context
171077 ,p_level => C_LEVEL_STATEMENT
171078 ,p_module => l_log_module);
171079
171080 trace
171081 (p_msg => 'Event No Header Extract Context: '
171082 ||xla_context_pkg.get_event_nohdr_context
171083 ,p_level => C_LEVEL_STATEMENT
171084 ,p_module => l_log_module);
171085
171086 END IF;
171087
171088
171089 xla_context_pkg.set_event_nohdr_context
171090 (p_nohdr_extract_flag => 'Y'
171091 ,p_client_id => sys_context('USERENV','CLIENT_IDENTIFIER'));
171092
171093 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
171094 trace
171095 (p_msg => 'No Header Extract Flag is set to Y'
171096 ,p_level => C_LEVEL_STATEMENT
171097 ,p_module => l_log_module);
171098 END IF;
171099
171100 END IF;
171101
171102 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
171103 trace
171104 (p_msg => 'END of CreateHeadersAndLines'
171105 ,p_level => C_LEVEL_PROCEDURE
171106 ,p_module => l_log_module);
171107 END IF;
171108
171109 RETURN l_created;
171110 EXCEPTION
171111 WHEN xla_exceptions_pkg.application_exception THEN
171112 RAISE;
171113 WHEN OTHERS THEN
171114 xla_exceptions_pkg.raise_message
171115 (p_location => 'XLA_00200_AAD_S_000002_PKG.CreateHeadersAndLines');
171116 END CreateHeadersAndLines;
171117 --
171118 --
171119
171120 --
171121 --+============================================+
171122 --| |
171123 --| PUBLIC FUNCTION |
171124 --| |
171125 --+============================================+
171126 --
171127 FUNCTION CreateJournalEntries
171128 (p_application_id IN NUMBER
171129 ,p_base_ledger_id IN NUMBER
171130 ,p_pad_start_date IN DATE
171131 ,p_pad_end_date IN DATE
171132 ,p_primary_ledger_id IN NUMBER)
171133 RETURN NUMBER IS
171134 l_log_module VARCHAR2(240);
171135 l_array_ledgers xla_accounting_cache_pkg.t_array_ledger_id;
171136 l_temp_result BOOLEAN;
171137 l_result NUMBER;
171138 BEGIN
171139 --
171140 IF g_log_enabled THEN
171141 l_log_module := C_DEFAULT_MODULE||'.CreateJournalEntries';
171142 END IF;
171143 --
171144 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
171145 trace
171146 (p_msg => 'BEGIN of CreateJournalEntries'||
171147 ' - p_base_ledger_id = '||TO_CHAR(p_base_ledger_id)
171148 ,p_level => C_LEVEL_PROCEDURE
171149 ,p_module => l_log_module);
171150
171151 END IF;
171152
171153 --
171154 g_diagnostics_mode:= xla_accounting_engine_pkg.g_diagnostics_mode;
171155
171159 ,p_level => C_LEVEL_STATEMENT
171156 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
171157 trace
171158 (p_msg => 'g_diagnostics_mode = '||g_diagnostics_mode
171160 ,p_module => l_log_module);
171161 END IF;
171162 --
171163 xla_ae_journal_entry_pkg.SetProductAcctDefinition
171164 (p_product_rule_code => 'ACCRUAL'
171165 ,p_product_rule_type_code => 'S'
171166 ,p_product_rule_version => ''
171167 ,p_product_rule_name => 'Accrual Basis'
171168 ,p_amb_context_code => 'DEFAULT'
171169 );
171170
171171 l_array_ledgers :=
171172 xla_ae_journal_entry_pkg.GetAlternateCurrencyLedger
171173 (p_base_ledger_id => p_base_ledger_id);
171174
171175 FOR Idx IN 1 .. l_array_ledgers.COUNT LOOP
171176 l_temp_result :=
171177 XLA_AE_JOURNAL_ENTRY_PKG.GetLedgersInfo
171178 (p_application_id => p_application_id
171179 ,p_base_ledger_id => p_base_ledger_id
171180 ,p_target_ledger_id => l_array_ledgers(Idx)
171181 ,p_primary_ledger_id => p_primary_ledger_id
171182 ,p_pad_start_date => p_pad_start_date
171183 ,p_pad_end_date => p_pad_end_date);
171184
171185 l_temp_result :=
171186 l_temp_result AND
171187 CreateHeadersAndLines
171188 (p_application_id => p_application_id
171189 ,p_base_ledger_id => p_base_ledger_id
171190 ,p_target_ledger_id => l_array_ledgers(Idx)
171191 ,p_pad_start_date => p_pad_start_date
171192 ,p_pad_end_date => p_pad_end_date
171193 ,p_primary_ledger_id => p_primary_ledger_id
171194 );
171195 END LOOP;
171196
171197
171198 IF (g_diagnostics_mode = 'Y' AND
171199 C_LEVEL_UNEXPECTED >= g_log_level AND
171200 xla_environment_pkg.g_Req_Id IS NOT NULL ) THEN
171201
171202 xla_accounting_dump_pkg.acctg_event_extract_log(
171203 p_application_id => p_application_id
171204 ,p_request_id => xla_environment_pkg.g_Req_Id
171205 );
171206
171207 END IF;
171208
171209 CASE l_temp_result
171210 WHEN TRUE THEN l_result := 0;
171211 ELSE l_result := 2;
171212 END CASE;
171213
171214 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
171215 trace
171216 (p_msg => 'return value. = '||TO_CHAR(l_result)
171217 ,p_level => C_LEVEL_PROCEDURE
171218 ,p_module => l_log_module);
171219 trace
171220 (p_msg => 'END of CreateJournalEntries '
171221 ,p_level => C_LEVEL_PROCEDURE
171222 ,p_module => l_log_module);
171223 END IF;
171224
171225 RETURN l_result;
171226 EXCEPTION
171227 WHEN xla_exceptions_pkg.application_exception THEN
171228 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
171229 trace
171230 (p_msg => 'ERROR. = '||sqlerrm
171231 ,p_level => C_LEVEL_PROCEDURE
171232 ,p_module => l_log_module);
171233 END IF;
171234 RAISE;
171235 WHEN OTHERS THEN
171236 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
171237 trace
171238 (p_msg => 'ERROR. = '||sqlerrm
171239 ,p_level => C_LEVEL_PROCEDURE
171240 ,p_module => l_log_module);
171241 END IF;
171242 xla_exceptions_pkg.raise_message
171243 (p_location => 'XLA_00200_AAD_S_000002_PKG.CreateJournalEntries');
171244 END CreateJournalEntries;
171245 --
171246 --=============================================================================
171247 --
171248 --
171249 --
171250 --
171251 --
171252 --
171253 --
171254 --
171255 --
171256 --
171257 --
171258 --
171259 --
171260 --
171261 --
171262 --
171263 --
171264 --
171265 --
171266 --
171267 --
171268 --
171269 --=============================================================================
171270 --=============================================================================
171271 -- *********** Initialization routine **********
171272 --=============================================================================
171273
171274 BEGIN
171275 g_log_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
171276 g_log_enabled := fnd_log.test
171277 (log_level => g_log_level
171278 ,module => C_DEFAULT_MODULE);
171279
171280 IF NOT g_log_enabled THEN
171281 g_log_level := C_LEVEL_LOG_DISABLED;
171282 END IF;
171283 --
171284 END XLA_00200_AAD_S_000002_PKG;
171285 --